Server Configuration

Preparing the Server for Releasing the Application

Overview

A server is a computer connected to a network that provides various functions in response to client requests. In order for a server to interact with a client, it needs to be connected to the network.

A server can act as a web server, application server, and a database server. The configuration of a web application that consist of these three is known as a Web 3-Tier Architecture.

Each server has the server software installed according to its role. Server software for web servers includes Apache and Nginx, among others. Similarly, there are Puma, Tomcat, etc., for application servers and MySQL, PostgreSQL, etc., for database servers. In a development environment, three server softwares may be installed on one computer, but in a production environment, it's common to have a separate computer for each.

Let's take a look at what happens on the server when a user accesses an application.
To start, we will talk about static pages such as the top page. In this case the web server receives the request and sends back a prepared HTML file as the response.
Next is dynamic pages. This is where the content displayed changes for each user, such as user information after log in. In this case the request is sent to the application server via the web server. The application server retrieves data from the database server as necessary, performs calculations, and sends back the results as the response via the web server.

Server Configuration

Learning Objectives

Let's learn to be able to determine the roles, specifications, ways, and means of the servers that are needed to release your application.

Web applications are generally operated on a web 3-tier architecture, but depending on the scale and purpose of the application, mail servers and proxy servers may also need to be added. Which computer to install the necessary software on is done according to the specifications and design of the overall system.

In order to determine the specifications of each server and the number of servers needed, it is necessary to estimate the number of users expected and the processing power required. It's also important to keep in mind the memory, CPU and storage that will be the basis for the basic specifications.

You need to have a good understanding of the role of each server and be able to implement the necessary server configuration to release your application.

Learn from Here

In order to build and configure a server, you need to understand how a computer works. In this section, let's learn how a computer works and get an idea of the whole picture before we start the actual work.

  • Understanding the Basics of Computer OS

    How Memory Is Managed

    How Processes Are Managed

    How Storage Is Managed

  • Configuration of Computer Hardware and How It Works

    Learn about Processors, including CPU/MPU/GPU, Operand, and Clocks

    Types and Characteristics of Memory, including RAM/ROM, and Cache

Recommended Materials

  1. Operating system - Wikipedia

Share what you learn today!