Lab 1: Overview

Cloud computing is a way of accessing computing power using the internet and virtualization technology. We will set up a VPS to host cloud-based applications. First of all, we need to choose a hosting provider. There are two general categories of providers, which are cloud hosting and VPS hosting.

  1. Cloud hosting service providers offer comprehensive cloud-based services to assist developers and companies. These providers might use a wide range of distributed technologies to support the clients, such as multiple data centers, provide automatic scaling, failover, load balancing and automatic backup of data. Examples of providers are Amazon AWS, Microsoft Azure and Google Cloud.

  2. VPS hosting provides subscriptions to virtual private servers (VPSs). The VPS vendors provide the physical infrastructure and allocate a certain amount for you to use. For example, someone might subscribe to a VPS that has 2GB of RAM, 20GB of SSD storage, and a single CPU core. The client must then configure the VPS to suit their needs. They are responsible for the security of the VPS and providing backup of data.

This course will use VPS hosting. We recommend getting a VPS from Time4VPS or OVH for learning about cloud computing. In general, the cost of VPS hosting for light use is cheaper than using a cloud hosting company if you don’t need the extra services or extra computing power, such as automatic scaling. For example, Google Cloud costs around 15 USD per month, and Amazon AWS is approximately 20 USD for similar VPS specifications as VPS SSD 1 from OVH for 3.35 USD per month or VPS Linux 2 from Time4VPS for 4.99 EUR per month with the Fast SSD storage option. The benefit of cloud hosting comes from the extra services they offer.

Note

Update on OVH (September 2019): OVH VPSs feel sluggish

  • OVH is overselling the CPU cores, or they severely limit the processing power even though the specs reads the same. They list the CPU From 2 GHz, not having a 2 GHz CPU.

  • A quick single-core CPU test, which included disk activity, on Time4PVS and OVH resulted in OVH being almost 50% percent slower.

Goals for Lab 1

The VPS hosting company provides us with a Linux distribution using the default configurations. We need to set it up to meet our needs and enable some essential security features. During this lab, you will:

  1. Install an SSH client or terminal emulator to access the Linux shell

  2. Set up your VPS using Ubuntu 18.04

  3. Apply essential configurations, such as applying updates and enabling the firewall.

  4. Install Docker to run applications in containers.

  5. Install Nginx to use as our web server and reverse proxy.

  6. Configure Nginx to serve local PHP files.

  7. Use HTTPS to secure your webpages by obtaining an SSL certificate through Let’s Encrypt.

Optional configurations

  1. Install a web admin panel called Webmin.

  2. Add security to your VPS by changing the SSH port.