Web Development Foundations C779 – Unit 11 – Web Servers – Introduction

Web Servers – Introduction

unlabelled image

This final module covers web servers and outsourcing. A key business decision includes the location and servicing of a website. Websites reside on web servers and understanding the components and options available for web servers makes business sense. Finally, this module covers considerations for insourcing and outsourcing of related web services.

This module will cover the following topics:

  • web server basics 
  • virtualization
  • outsourcing issues

By the end of this module, you should be able to answer the following questions:

  • What is a web server?
  • What is cloud computing?
  • What is virtualization and how is it used for web servers?
  • What are the different levels of outsourcing, and when is each level appropriate?

Web Server Basics

Learning Objectives

  • Analyze the advantages and disadvantages of running your own web server versus using a service provider.

Now that you have gained a foundation in the phases and core design standards of web development, it is important to learn about the enabling technologies that support web-based activities. One such activity is the manner in which the World Wide Web follows specific internet protocols, where web page information is stored on a server that delivers data to the end-user (client) machine. This storage solution is provided by a web server, a machine that provides, stores, and processes all information that will be rendered by the end user’s browser. Review the graphic for further representation of the web server concept.Bi-directional arrow demonstrating a user interacting with browser. Bi-directional arrow demonstrating a browser interacting with a web server through HTTP/HTTPS connection. Bi-directional arrow demonstrating a web server interacting with an application server through a plug-in. Bi-directional arrow demonstrating an application server interacting with a database.“Web Server” © WGU 2020

Web Servers Explained

For the HTTP protocol, the web server stores the web page data, including the HTML/CSS/JS files and all other information (images, text, videos, etc.), that are rendered by the browser. The following steps describe how a typical web page is displayed:

  1. A request is made when an internet address is clicked.
  2. The page and its files are downloaded.
  3. The web browser uses the page resources to build the page.
  4. The page is then displayed to the user. (Sexton, 2015)

The web server graphic provides some visual context on how the end-user actions trigger interactivity between a variety of interconnected pieces. Now consider the following expanded explanation of this process. The end-user device is often referred to as the client machine. On the end-user device, the browser will render HTML/CSS elements and execute JS commands. The server machine, described earlier in this lesson as the web server, runs web services that respond to client requests, such as providing the HTML/CSS/JS files through the internet connection and providing access to the database management system. It is during the deployment phase of the web page development process that the web server machine has to be configured in order to provide the WWW service, as well as integrate with other application services such as the database. It is important to remember that the mandatory service in a web server is the WWW service, and the other services, if needed, may be configured either on the same machine or onto another.

Web Server Terminology

According to the specific service provided by the web server, there are a variety of web server types. Review the terms provided below for specific definitions of each type.

Server TypeCharacteristics
Domain Name SystemTranslates domain names into numerical addresses, making it possible for a user to access a website by typing the domain name rather than the website’s actual address
WWW server (web server)Delivers HTML/CSS/JS files to the requesting user
Database serverUsed for the storage and retrieval of data; delivers structured DBMS and unstructured data (files)A database server is not required for every website created
Application serverRuns specific programs and delivers output. An application server is not required for every website created.

Cloud Computing and Hosting

As a side note, you may also be familiar with the more common current terminology of cloud computing.  The overall domain of cloud computing in many ways overlaps the web server definitions provided above, since cloud services are web-based services that are provided by a pool of servers and services that are masked from the end user by a single point of access, i.e., a single URL.

A website and all associated pages and files must be stored in a centralized location that is connected to the internet. This storage process, sometimes referred to as web hosting, is the manner in which files that comprise a website (i.e. code, images, etc.) are stored on a web server that is managed by a hosting provider. The amount of space allocated on a server to a website depends on the type of hosting. They are differentiated by the kind of technology used for the server, the level of management provided, and the additional services offered (NameCheap, n.d.).

Read “What is a Web Server?” (opens new tab) from MDN Web Docs.

This article explains how web servers work, and why they are important.

As you read, consider the following questions:

  • What is the difference between a static and a dynamic web server?
    • static means that it is served as is and dynamic means it is processing creating data on the fly
  • What is the 404 error and when is it delivered?
    • it is when a html request doesn’t match up and isn’t found on the server

Watch “Working with Clients and Servers” (opens new tab) in the course Web Technology Fundamentals from LinkedIn Learning.

This video teach you about how web servers support the deployment and functionality of a web page.

As you watch, consider the following questions:

  • How does a web server support a user after they enter a URL into a browser?
    • passed onto DNS and translated to an IP address – then the IP locates the server and requests content – then sends the data etc.
  • How do web applications support dynamic web servers?
    • dynamic .net php or ruby – server needs to process the request and then the data is rendered. used on a live tickets website for airfare

Virtualization

Learning Objectives

  • Analyze the advantages and disadvantages of running your own web server versus using a service provider.

As you have learned, web hosting is how files that make up a website are stored on a web server, which is managed by a hosting provider. But this elicits a question: if a hosting provider needs to host thousands of websites, does that require thousands of physical web servers? The answer is no, because hosting providers, and other organizations as well, implement a technology called server virtualization.

Physical servers are complex devices that take up a lot of space and are expensive to purchase and maintain. Historically, traditional server hardware was designed and purchased to host a single application or service. This single instance of an application or service (like a web server) can make physical servers inefficient in a business environment. If a server had excess capabilities (e.g., available processing cycles or available memory), these excesses were wasted in a single-use server configuration. Therefore, rather than purchasing dedicated server resources, it makes better financial sense to allocate those expensive server resources, such as the central processing unit (CPU), memory, and hard drives, across multiple server instances. These multiple server instances are called virtual servers. In essence, server virtualization is the process of allocating physical server resources across software-based server resources.  

Virtualization accomplishes this allocation of resources by using specialized software called a hypervisor. A hypervisor “abstracts the underlying hardware from all the software that runs above” (Bigelow n.d.), meaning that the hypervisor acts as a mechanism that exists between the virtual machine (which runs as a software instance) and the physical hardware resources. This allows the hypervisor to run multiple virtual machine instances, and to have those virtual machines all access the same pool of physical server resources. 

But what are virtual machines? Virtual machines are software-based server instances. The virtual server itself behaves just like its physical counterpart, meaning the virtual server runs an operating system (Like Windows or Linux) and performs certain tasks (like running as a web server). Consider server virtualization as different layers. The foundational layer is the physical server, which is comprised of hardware, including the CPU, memory, hard drives, etc. On top of the physical hardware resides the hypervisor, which is the virtualization software. Virtual servers are then built using the hypervisor software. Each virtual server acts as its own entity, meaning the virtual server has its own operating system, and runs its own set of applications (like web server services). In a virtualization environment like this, each virtual server runs independently, and is not aware of other virtual servers running on the same hardware.A physical server running virtualization software, called a hypervisor. On top of the hypervisor runs three virtual servers, each acting as a web server.Server Virtualization © WGU 2021

Why Server Virtualization

Ultimately, data centers (which can host thousands of servers) are driven by cost. It is simply too expensive to run and maintain multiple single-server instances in a data center. Rather, it makes economic sense to utilize the full resources available for a given physical server instance. A website host can run multiple websites across a single physical server, rather than needing a physical server for each website. In fact, each virtual server can include multiple customers hosted on each virtual web server. This reduces the hosting providers’ costs, which ultimately translates to lower hosting expenses for the website owner. Ultimately, the ability to better utilize physical server resources allows for greater scale in web server deployments.  


Outsourcing Issues

Learning Objectives

  • Analyze the advantages and disadvantages of running your own web server versus using a service provider.

When setting up a web server, it is important to consider how additional, external provider services may be needed to support website functionality. This section will review the varying levels of using a service provider, as well as some of the considerations that can influence this decision.

Levels of Outsourcing

You will need an internet service provider, or ISP, and a name server or DNS. The first will provide you with a connection to the internet, while the latter will furnish your content with an internet address so the content can be referenced or located by the user. Some ISPs also have the capability to provide domain registration as well as DNS. 

The levels of outsourcing are described as follows:

Outsourcing LevelInternal ServicesProvider Services
Fully in-housePlanning websiteDesigning website (code + media objects)Implementing websiteTesting websiteDeploying websiteWebsite maintenanceInternet service provider (ISP)Name server (DNS)
Web service hostingPlanning websiteDesigning website (code + media objects)Implementing websiteTesting websiteDeploying website (shared)Storage of web page filesStorage of data filesWebsite maintenanceInternet service provider (ISP)Name server (DNS)Deploying website (shared)Server-side applicationsDatabase service
Website hostingPlanning websiteDesigning website (code + media objects)Implementing websiteTesting websiteWebsite maintenanceInternet service provider (ISP)Name server (DNS)Deploying websiteStorage of web page filesStorage of data filesServer-side applicationsDatabase service
Fully outsourcedPlanning websiteDesigning website (code + media objects)Internet service provider (ISP)Name server (DNS)Physical web serverDeploying websiteStorage of web page filesStorage of data filesServer-side applicationsDatabase serviceImplementing websiteTesting websiteWebsite maintenanceWebsite support

Selecting a Provider

The pros and cons of each of those options concern:

  • cost: pricing for services
  • degree of Control: ability to view data and make adjustments
  • security: ensuring the safe storage of all content and data
  • reliability: consistent functioning of all web page assets and server-side technologies
  • support: assistance for end users as needed

In addition, you may need to further consider the physical aspects of server hosting locations; as is the case with colocation, a server provider might also allot space for equipment. What this means is that the organization would purchase all the necessary hardware (e.g., servers, networking equipment) to configure that hardware, and then ship that hardware to the service provider to incorporate into the provider’s data center.

In order to properly evaluate your outsourcing needs, it is worth it to evaluate the complexity of your website and the ability of your organization to handle its complexity. For example, if your website does not require any form of server-side application, and it has a fixed internet address, the fully in-house option may provide the best solution because it is low cost, provides complete control over the content, has a low security risk, and minimal reliability issues. However, if your website uses a large database and your organization has low computational infrastructure, it may be wiser to select website hosting to avoid the costs related to building your own infrastructure.

Read section “PHP and web hosting” (opens new tab) of Chapter 5 in Practical Web Development.

This section teaches you about web hosting, domain names, and server-side setup. 

As you read, consider the following questions:

  • What are some services offered by web hosting companies?
    • php, mysqlserver, and phpmyadmin
  • What is FTP?
    • file transfer protocol

Read “Outsourcing Web Hosting Support: 6 Reasons Why It Makes Sense” (opens new tab) from Arress Support.

This article provides important factors to consider in the web outsourcing decision-making process.

As you read, consider the following questions:

  • Why is website support an important issue when deciding to outsource or not?
    • because if something happens, clients need to be assited at all times
  • In this context, what is business continuity?
    • always having a running website

Web Servers – Summary

unlabelled image

During this module, you were introduced to the server technologies that support website functionality and performance. You explored the terminology describing different types of web servers, as well as the storage solutions offered within the context of cloud computing and hosting services. Next, you read about virtualization and how virtual servers reduce costs for web servers by spreading the high cost of server hardware across multiple software-based virtual machines. Finally, you read about the key considerations when finalizing a decision to outsource specific web hosting capabilities, as well as the expected service levels for each type of outsourcing.

During this module you learned the following:

  • Web servers provide, store, and process all information that will be rendered on the end user’s browser.
  • You reviewed web server terminology.
  • Cloud computing refers to applications and services offered over the internet. 
  • Virtual machines are software-based server instances. 
  • There are four levels of outsourcing:
    • fully in-house
    • web service hosting 
    • website hosting 
    • fully outsourced 

Unit 2: Summary

unlabelled image

In this unit, you expanded your technical skills while exploring topics that directly impact the key decisions associated with website development. Successful web development includes a mastery of coding skills but it also includes the:

  • usage of project management techniques
  • consideration of legal and copyright issues
  • selection of appropriate back-end enabling technology
  • development of effective multimedia file types
  • design of an optimal front-end user experience
  • identification of hosting needs and responsibilities

These topics influence the web development process in significant ways. As you combine technical coding with an understanding of the contextual factors within your organization, your web development skills will lead you toward more comprehensive, business-related decisions.

Appendix A – Module Resource Library

The resources in this library are organized by module and section.

Module 1: Website Fundamentals

Module 2: Hypertext Markup Language (HTML)

Module 3: Cascading Style Sheets (CSS)

Module 4: User Input

Module 5: Extending HTML5

Module 6: Importing Media

Module 7: Industry Standards & Best Practices

Module 8: Stages of Website Development

Module 9: Website Performance

Module 10: Technology & Strategies

Module 11: Web Servers

Appendix B – HTML Tags

<!--comment
<!DOCTYPE>defines document type
<a>hyperlink
<aside>content aside from the page content
<audio>embedded sound content
<b>bold text
<body>web page body text
<canvas>draw graphics using JavaScript
<caption>table caption
<div>section in document
<dl>description list
<dt>term or name in description list
<em>emphasized text
<footer>document or section footer
<form>HTML form for user input
<h1><h2><h3><h4><h5><h6>HTML headings
<head>information for the web page
<html>root of HTML document
<iframe>inline frame
<img>image
<li>list item
<main>main document content
<meta>metadata about an HTML document
<ol>ordered list
<p>paragraph
<pre>preformatted text
<script>client-side script
<section>section in document
<span>section in document
<strong>important text
<style>style information
<svg>SVG graphics
<table>defines table
<tbody>body content in a table
<td>cell in a table
<textarea>multiline input control
<tfoot>table footer
<th>header cell in table 
<thead>header content in a table
<title>web page title
<tr>row in table
<ul>unordered list
<var>variable
<video>embedded video content

For more information about these tags, as well as a list of more HTML tags, refer to the HTML Element Reference document. 


Leave a Reply

Your email address will not be published. Required fields are marked *