Software Development  ·  Level 6
Web Application Development
Chapter 5: To host web application
📚 6 Topics
⚑ What you will be able to do

By the end of this chapter, you will be able to:

  • Identify a suitable web hosting service provider based on the specific job requirements.
  • Acquire and configure a domain correctly by following the required procedures.
  • Configure the web server properly using the correct procedures.
  • Deploy the web application accurately using deployment tools and following the required steps.
  • Implement effective web security measures by following the correct procedures.
  • Maintain and monitor the web application consistently to ensure smooth operation.

These skills will empower you to confidently host and manage web applications, a crucial ability in today’s digital world.

Compiled by: John Okoth

Web application hosting is a critical phase in software development that determines how a developed web application becomes accessible to users on the internet. For software developers in Kenya, understanding web hosting concepts is essential to ensure their applications perform reliably, securely, and cost-effectively within the local technological infrastructure and business environment. Hosting choices influence user experience, application scalability, and maintenance overhead, all of which affect the success of digital solutions deployed for Kenyan businesses, government services, and other sectors. This chapter explores foundational web hosting concepts, various hosting types, and key factors to consider when selecting a hosting service.

5.1 Web hosting concepts

Web hosting forms the backbone of making web applications available online. It involves providing the necessary infrastructure and services to store, manage, and deliver web content to users over the internet. In Kenya, where internet penetration has grown rapidly, hosting solutions must accommodate diverse user needs, ranging from small startups to large enterprises requiring high availability and security.

5.1.1 Definition of web hosting

Web hosting is the service that allows organizations and individuals to publish their web applications or websites on the internet so that users can access them via browsers or mobile apps. It involves leasing or owning server space, bandwidth, and associated technologies to store files, databases, and application logic.

Components of Web Hosting

  • Server Infrastructure: Physical or virtual machines that store web files and run application processes. For example, a Nairobi-based fintech startup might use servers to host their online loan application system.
  • Internet Connectivity: Reliable bandwidth and network connections ensure users across Kenya, including rural areas, access the application without delay.
  • Storage Systems: These hold the application data, including HTML, CSS, JavaScript files, databases, and media content.
  • Control Panel and Management Tools: Interfaces like cPanel or Plesk that allow developers or administrators to manage the hosting environment.
  • Security Features: Firewalls, SSL certificates, and malware protection that safeguard hosted applications from cyber threats.

Purpose of Web Hosting

  • Accessibility: Ensures that web applications are reachable 24/7 by users anywhere.
  • Performance: Provides fast loading times and responsiveness essential for user satisfaction.
  • Scalability: Accommodates growth in user traffic and data without service interruption.
  • Reliability: Minimizes downtime through redundant systems and backups.
  • Support and Maintenance: Offers technical assistance and updates to keep the hosting environment stable.

5.1.2 Types of web hosting

Kenyan software developers must choose hosting types that align with their application’s requirements, budget, and expected traffic. Hosting types differ in resource allocation, management complexity, and cost.

Shared Hosting

Shared hosting involves multiple websites or applications residing on a single physical server, sharing its resources such as CPU, RAM, and bandwidth. This option is cost-effective, making it suitable for small projects, personal websites, or startups with limited budgets. However, performance can be affected if other hosted sites consume excessive resources.

Virtual Private Server (VPS) Hosting

VPS hosting partitions a physical server into multiple virtual servers, each with dedicated resources. This offers better performance, security, and control compared to shared hosting. VPS is ideal for medium-sized applications such as an online booking system for a hotel chain operating in Mombasa, where moderate traffic and customization are necessary.

Dedicated Hosting

In dedicated hosting, an entire physical server is allocated to a single client. This provides full control over server configurations, maximum performance, and enhanced security. Enterprises such as a county government’s online services platform may require dedicated hosting to handle sensitive data and high user volumes.

Cloud Hosting

Cloud hosting distributes web application resources across multiple servers in a cloud environment. It offers high scalability, flexibility, and fault tolerance. Kenyan e-commerce platforms experiencing fluctuating traffic benefit from cloud hosting as it can dynamically allocate resources based on demand.

5.1.3 Factors to consider when selecting a host

Choosing the right hosting provider is crucial for the stability and success of web applications. Kenyan developers must evaluate several factors to ensure their hosting solution aligns with technical and business needs.

Reliability and Uptime Guarantees

  • Service Availability: Hosting providers should offer at least 99.9% uptime to minimize application downtime that can affect user trust and revenue.
  • Redundancy: Data centers with backup power and network paths reduce the risk of outages.

Performance and Speed

  • Server Location: Hosting servers geographically closer to the target user base, such as in Nairobi or regional data centers, reduces latency and improves loading times.
  • Resource Allocation: Adequate CPU, RAM, and bandwidth ensure smooth application operation during peak usage.

Security Measures

  • SSL Certificates: Essential for encrypting data transmitted between users and the application.
  • Firewalls and DDoS Protection: Protect against cyberattacks common in online financial and government services.
  • Data Backup and Recovery: Regular backups prevent data loss in case of hardware failure or security breaches.

Scalability and Flexibility

  • Resource Scaling: Ability to increase or decrease server resources quickly as application demand changes.
  • Support for Technologies: Compatibility with programming languages, databases, and frameworks used in development.

Cost and Support Services

  • Pricing Models: Transparent pricing with no hidden fees is vital, especially for startups and SMEs.
  • Customer Support: Access to 24/7 technical support via multiple channels ensures quick resolution of hosting issues.

Practice Questions

  1. Explain the role of server infrastructure in web hosting and how it impacts the accessibility of web applications. (6 marks)
  2. Compare and contrast shared hosting and dedicated hosting, focusing on their suitability for different types of web applications in Kenya. (8 marks)
  3. Identify and discuss five critical factors to consider when selecting a web hosting provider for a county government portal. (10 marks)
The rest of this chapter
🔒

Create a free account to open more of this chapter.

Free: practical guides, quick cards, workplace scenarios and more.

Create a free account
🔒5.2 Domain name registration

Domain name registration is a fundamental step for software developers and businesses in Kenya seeking to establish a credible online presence. A domain name acts as the address of a web application on the internet, making it accessible to users. Understanding…

🔒5.3 Server environment setup

Setting up a reliable and secure server environment is fundamental for hosting web applications in Kenya’s growing digital economy. Software developers must prepare the hosting infrastructure to support scalability, security, and performance, especially when s…

🔒5.4 Uploading website files

Uploading website files is a crucial step in deploying web applications, especially for software developers working in Kenya’s dynamic digital economy. Once a web application is developed locally, transferring the files to a remote server makes the application…

🔒5.5 Website configuration

Website configuration is a critical phase in deploying web applications, especially in Kenya's dynamic software development landscape. Proper configuration ensures that applications run efficiently, securely, and are accessible to intended users. This involves…

🔒5.6 Website Monitoring

Website monitoring is a critical aspect of managing web applications to ensure continuous availability, optimal performance, and security. For software developers in Kenya, especially those deploying applications for sectors such as banking, government service…

Chapter Summary

This chapter explored the essential concepts of web hosting, defining it as the service that makes websites accessible on the internet and detailing various types such as shared hosting, virtual private servers, dedicated hosting, and cloud hosting. It examined critical factors to consider when choosing a hosting service to ensure reliability and performance. The discussion then moved to domain names, explaining their purpose, the registration process, and the significance of different domain extensions. Setting up the server environment was covered, including configuring the hosting setup, installing web servers, and establishing databases necessary for dynamic web applications. The chapter also addressed methods for uploading website files, highlighting the use of FTP clients and the process of connecting files to the server. Website configuration topics included setting up virtual hosts, implementing security protocols like SSL/TLS, and managing firewall and access controls to protect the site. Finally, the chapter emphasized the importance of website monitoring through various tools and performance metrics to maintain optimal functionality and user experience.

Self-Assessment

🔒 PDFDownload this self-assessment, with answers

A. Written Assessment

  1. What is web hosting and why is it essential for web applications? (3 marks)
  2. Identify and briefly describe four common types of web hosting. (8 marks)
🔒20 more in this section.

Chapter Examination Questions

🔒 PDFDownload these examination questions, with worked answers

SECTION A (40 Marks) - Answer ALL Questions

  1. Define web hosting and explain its importance for software developers creating web applications in Kenya. (4 marks)
  2. Differentiate between shared hosting and virtual private server (VPS) hosting, citing one advantage of each. (4 marks)
🔒18 more in this section.

Chapter Practical Activities

Practical 1: Explain and Demonstrate Web Hosting Types

Software Development · Level 6
Web Application Development
PRACTICAL ASSESSMENT
TIME: 4 HOURS
⬇ PDFCandidate Instructions (Candidate Tool)

Type: Individual

INSTRUCTIONS TO CANDIDATE:
1.  You are required to perform the following task:
i.  Explain and demonstrate shared, VPS, dedicated, and cloud hosting by setting up example accounts and environments with screenshots and brief descriptions.
2.  You have been provided with the following resources for the practical task:
Tools & EquipmentMaterials
Computer with internet access and browserAccess to free/shared web hosting service
Text editorAccess to VPS hosting trial
Access to dedicated hosting simulation
Access to cloud hosting platform
⬇ PDFResources Required (Cutting List)
S/NItemQuantity
1Computer with internet access and browser1 Pc per Candidate
2Text editor (e.g. Notepad++, VS Code)1 Pc per Candidate
3Access to free/shared web hosting service (e.g. 000webhost)1 account per Candidate
4Access to VPS hosting trial (e.g. DigitalOcean, AWS free tier)1 account per Candidate
5Access to dedicated hosting trial or simulation environment1 simulated environment per Candidate
6Access to cloud hosting platform (e.g. Google Cloud, Azure free tier)1 account per Candidate
⬇ PDFAssessor Guide
Items to be EvaluatedMarks AvailableMarks ObtainedComments
TASK 1: Explanation of Web Hosting Types
Candidate explains the concept of web hosting clearly
(Award 2 marks for clear and accurate explanation)
2
Candidate defines shared hosting correctly
(Award 1 mark for correct definition)
1
Candidate defines VPS hosting correctly
(Award 1 mark for correct definition)
1
Candidate defines dedicated hosting correctly
(Award 1 mark for correct definition)
1
Candidate defines cloud hosting correctly
(Award 1 mark for correct definition)
1
Sub-Total6
TASK 2: Demonstration of Hosting Types
Candidate creates example shared hosting account and takes screenshot
(Award 2 marks for valid account setup and screenshot)
2
Candidate creates example VPS hosting account and takes screenshot
(Award 2 marks for valid account setup and screenshot)
2
Candidate demonstrates dedicated hosting environment or simulation with screenshot
(Award 2 marks for demonstration and screenshot)
2
Candidate creates example cloud hosting account and takes screenshot
(Award 2 marks for valid account setup and screenshot)
2
Candidate writes brief description of each hosting type demonstration
(Award 2 marks for clear, concise descriptions)
2
Sub-Total10
PRODUCT CHECKLIST
All screenshots are clear, correctly named, and saved in a single folder
(Award 3 marks if all screenshots are present, clear, and organized)
3
Descriptions correspond correctly to each hosting type demonstration
(Award 3 marks if descriptions match screenshots and are accurate)
3
Sub-Total6
GRAND TOTAL22
ASSESSMENT OUTCOME:   ☐ Competent    ☐ Not Yet Competent (competent if at least 50%)

Practical 2: Evaluate and Select Suitable Web Hosting Plan Based on Client Requirements

Software Development · Level 6
Web Application Development
PRACTICAL ASSESSMENT
TIME: 4 HOURS
⬇ PDFCandidate Instructions (Candidate Tool)

Type: Individual

INSTRUCTIONS TO CANDIDATE:
1.  You are required to perform the following task:
i.  Select and justify a web hosting plan suitable for an e-commerce website requiring 99.9% uptime, 50 GB storage, and SSL support.
2.  You have been provided with the following resources for the practical task:
Tools & EquipmentMaterials
Computer with internet access and browserClient hosting requirements document
Access to web hosting comparison websitesNote-taking materials (notebook and pen)
⬇ PDFResources Required (Cutting List)
S/NItemQuantity
1Computer with internet access and browser1 Pc per Candidate
2Access to web hosting comparison websites1 Pc per Candidate
3Client hosting requirements document1 Pc per Candidate
4Note-taking materials (notebook and pen)1 Pc per Candidate
⬇ PDFAssessor Guide
Items to be EvaluatedMarks AvailableMarks ObtainedComments
TASK 1: Analyze Client Requirements
Reads and understands the client hosting requirements document
(Award 2 marks for correctly identifying all key requirements)
2
Lists critical factors such as uptime, storage, bandwidth, security, and support
(Award 3 marks for listing at least five relevant hosting factors)
3
Sub-Total5
TASK 2: Research Web Hosting Plans
Accesses at least three different web hosting service providers
(Award 2 marks for researching minimum three providers)
2
Compares plans based on cost, storage, bandwidth, uptime, SSL, and customer reviews
(Award 4 marks for detailed and relevant comparison)
4
Shortlists hosting plans that meet or exceed client requirements
(Award 3 marks for correctly shortlisting suitable plans)
3
Sub-Total9
TASK 3: Select and Justify Hosting Plan
Selects the most appropriate hosting plan based on analysis
(Award 3 marks for selecting the best-fitting plan)
3
Provides clear justification referencing client needs and hosting features
(Award 5 marks for coherent and relevant justification)
5
Sub-Total8
PRODUCT CHECKLIST
Final documented selection of hosting plan with clear justification and matching client needs
(Award 8 marks for complete, accurate, and well-presented documentation)
8
Sub-Total8
GRAND TOTAL30
ASSESSMENT OUTCOME:   ☐ Competent    ☐ Not Yet Competent (competent if at least 50%)
🔒

Free: practical guides, quick cards, workplace scenarios and more.

Create a free account
🔒Register a domain name through a domain registrarPractical 3
🔒Set up and configure a web server environment for hostingPractical 4
🔒Install and configure Apache web server for hosting web pagesPractical 5
🔒Set up and configure MySQL database for web applicationPractical 6
🔒Upload Website Files Using FTP ClientPractical 7
🔒Connect Website Files to Server EnvironmentPractical 8
🔒Configure Website Settings for a Hosted Web ApplicationPractical 9
🔒Configure Apache Virtual Hosts to Host Two Websites on a Single ServerPractical 10
🔒Implement SSL/TLS Security to Host a Web ApplicationPractical 11
🔒Configure firewall rules and access control for a web serverPractical 12
🔒Monitor Website Performance Using Monitoring ToolsPractical 13
🔒Configure DNS Settings for a Registered DomainPractical 14
🔒Demonstrate Secure File Transfer of Website Files Using SFTP or SCPPractical 15
Flashcards 20 cards Study deck ▾
Question
1

↻ Tap card to reveal answer
🔒

18 more in this section.

Create a free account
Test Yourself 17 questions Start quiz ▾
0%
0 / 2
🔒

15 more in this section.

Create a free account
Am I competent?

At the start of this chapter we promised you would be able to:

  • Identify a suitable web hosting service provider based on the specific job requirements.
  • Acquire and configure a domain correctly by following the required procedures.
  • Configure the web server properly using the correct procedures.
  • Deploy the web application accurately using deployment tools and following the required steps.
  • Implement effective web security measures by following the correct procedures.
  • Maintain and monitor the web application consistently to ensure smooth operation.

Tick each one you can genuinely do.

So, are you there yet?

You're competent when you can confidently do 50% or more of what this chapter promised.

Sign in to record how you're doing.