*****************
Lab 1: Overview
*****************
.. contents:: Table of Contents
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 data backup.
This course will use VPS hosting. We recommend getting a VPS from
Time4VPS or OVH for learning about cloud computing. In general, 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 VALUE from OVH| for 6 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 (Amazon AWS,
Microsoft Azure and Google Cloud), comes from the extra services they offer.
.. |cloud hosting and VPS hosting| raw:: html
cloud hosting and VPS hosting
.. |VPS VALUE from OVH| raw:: html
VPS VALUE from OVH
.. |VPS Linux 2 from Time4VPS| raw:: html
VPS Linux 2 from Time4VPS
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:
#. Install an SSH client or terminal emulator to access the Linux shell
#. Set up your VPS using Ubuntu 18.04
#. Apply essential configurations, such as applying updates and enabling
the firewall.
#. Install Docker to run applications in containers.
#. Install Nginx to use as our web server and reverse proxy.
#. Configure Nginx to serve local PHP files.
#. Use HTTPS to secure your webpages by obtaining an SSL certificate through
Let's Encrypt.
Optional configurations
========================
#. Install a web admin panel called Webmin.
#. Add security to your VPS by changing the SSH port.