Part 1: Cloud Computing

2 mins

Why Cloud Computing?

With increasing demands in computations (i.e., high number of CPUs) or data (i.e., high memory), it can be worthwhile to move your computations and data preparation pipelines to the cloud. Cloud providers offer virtual machines (VM) for rent that you configure to your own needs. For example, if you ran out of RAM on your local machine due to complex computational tasks, you can launch a VM instance with a high amount of memory to execute the computations in the cloud. This not only speeds up computations, but also minimizes errors (e.g., avoid computer restart) and interference from others.

In this tutorial we outline how to launch, monitor, and terminate virtual instances on Amazon Web Services (AWS).

Comparison Cloud Providers

The three biggest cloud VM infrastructure providers are: Amazon Elastic Cloud 2 (EC2), Google Compute Engine (EC), and Microsoft Azure Virtual Machines (VM). VM instances can be perceived as real computers with CPU, memory, network, storage configurations, and an operation system (also known as image). The table below indicates the differences between the three providers.

Amazon EC2Google CEAzure VM
CPUs1-401-321-32
RAM memory0.5 - 244 GB0.6 - 208 GB0.75 - 448 GB
Temporary storage limit48 TB3 TB4 TB
Number of image templates391840
Free credits students$200$300$100
Creditcard requiredNoYesNo

We choose for AWS EC2 here because of its "always free" tier of the most basic VMs, ease of use, and the educational programme they have in place (AWS Educate) that allows educators to create classes, allocate credits to students, and invite them to sign up without a credit card.