DevOps Pre-Requisite Course

Web Server

Introduction

In this article, we explore the fundamentals of servers and why understanding them is crucial in today’s cloud-driven environment. According to the IDC cloud computing survey, websites and web applications are the most common types of applications being migrated to the cloud. This trend creates significant market opportunities and drives a high demand for professionals skilled in cloud and DevOps practices. Many courses in cloud computing and DevOps use web servers as prime examples to show how to modernize, containerize, and host applications across various cloud platforms. Hence, a solid grasp of how websites and web servers operate is essential.

We begin by reviewing foundational concepts, including the client-server model and various server types, and then we’ll take a closer look at some of the most widely used web and database servers.

Different programming languages offer unique strengths that influence how applications are built:

  • Java powers many popular desktop applications, including chat apps and integrated development environments.
  • NodeJS excels in creating web applications that require high concurrent I/O due to its non-blocking architecture.
  • Python is favored in analytics and data processing.

Applications are generally classified as either standalone or client-server models. For example, a simple calculator that processes mathematical operations is a standalone application because all logic is contained within the program. On the other hand, an application like Slack uses a client-server model; the local client communicates with a server to send and receive messages.

The image is a chart from the 2018 IDG Cloud Computing Survey showing organizations' plans for migrating various applications to the cloud, with percentages indicating different stages of migration.

Let’s examine the client-server model in more detail. In our chat application example, a dedicated chat server receives messages from various users and routes them appropriately. This model supports multiple clients—accessed via web browsers, desktop applications, or mobile devices—allowing thousands of users to interact with the server concurrently.

The image illustrates a client-server model with web, desktop, and mobile clients connecting to a chat server.

Types of Servers

Understanding the various server types is key to grasping modern infrastructure:

  • Web Servers: Host static content such as HTML, CSS, JavaScript files, images, and videos.
  • Application Servers: Execute backend business logic, such as processing orders, handling payments, and interacting with databases.
  • Database Servers: Run database systems like MySQL, PostgreSQL, or MongoDB.
  • Email Servers: Handle the transmission and receipt of emails.
  • Backup Servers: Perform routine backups to secure critical data.

A crucial function of all these servers is the ability to listen on a specific port for incoming requests. This listening behavior distinguishes a server from a typical machine. In fact, any device—from a laptop to a Raspberry Pi—can act as a server if it runs the appropriate software. Today, even many IoT devices run lightweight servers on extremely compact hardware.

Key Insight

The role of a server is determined by the software and services it runs, not by its physical size or form.

The image shows a diagram of different server types: Chat, Web, Application, DB, Email, and Backup, alongside a hand holding a small circuit board.

Focus: Web and Application Servers

In this article, we focus primarily on web and application servers:

  • Web Servers: Manage and deliver web content—HTML, JavaScript, CSS, images, and videos—to end users.
  • Application Servers: Handle backend processes such as processing transactions, managing database interactions, and executing business logic.

For instance, in an e-commerce application, the web server takes charge of the user interface, while the application server processes orders, handles payments, and manages shipping details. In smaller applications, web and application logic often coexist on a single server. However, larger systems distribute these responsibilities across multiple servers to handle increased traffic and complexity.

In the upcoming sections, we will delve into web frameworks and explore some of the most popular web server technologies, demonstrating how to deploy applications effectively on these platforms.

Up Next

Discover innovative web frameworks and deployment strategies to empower your applications and optimize cloud performance.

Watch Video

Watch video content

Previous
GIT Remote Repositories