🗓️ Week 03 - Part I
The Cloud

DS105 Data for Data Science 🖥️ 🤹

10/11/22

What is the cloud?

Definitions

How the three main providers define cloud computing:

Amazon Web Services

Google Cloud

Microsoft Azure

“Cloud computing is the on-demand delivery of IT resources over the Internet with pay-as-you-go pricing.” (Source)

“Cloud computing is the on-demand availability of computing resources as services over the internet.” (Source)

“Simply put, cloud computing is the delivery of computing services […] over the Internet (‘the cloud’) to offer faster innovation, flexible resources, and economies of scale.” (Source)

Definitions (cont.)

That is:

  • An organisation does not need to build and maintain an infrastructure of computer servers
    • maintain is truly a key word here
    • You need specialised workforce to mitigate problems and keep services up
    • 🤔 Think about it:
      • what if a CPU fails?
      • hat if a hard drive becomes corrupted?
      • how often should you backup data? where should you keep it?
  • Instead, CPU processing, data storage and access is delegated to a set of computers somewhere else
  • Users, and organisations, only pay for what they use.

Are you a cloud user?

  • Time for a Slack poll.
  • Head to #week03 channel to interact with the live poll during the lecture.

What is in the cloud?

Google Cloud services

What about AWS?

Azure services

Cloud computing models

We can think of these services in the following categories:

  • Software as a Service (SaaS)
  • Infrastructure as a Service (IaaS)
  • Platform as a Service (PaaS)

Let’s go through each one of those.

Software as a Service (SaaS)

SaaS

  • Software that you interact with but runs elsewhere, not in your machine.
  • To name a few examples:
  • File storage:
    • Dropbox
    • Google Drive
    • One Drive
    • Sharepoint
  • Web apps:
    • Google Suite
    • Google Docs
    • Outlook Web
    • Office 365

Infrastructure as a Service (IaaS)

IaaS

  • Direct access to virtual machines and data storage.
  • Instead of buying computers for yourself/your organisation, you rent it.
    • You do not pay, or you pay very little, when your cloud machines are off.
  • Use cases: web site hosting, Big Data analysis, run simulations.
  • Complete flexibility: you install and run whatever you want in those computers.
    • Terms & Conditions apply, obviously.

For example, cryptomining is against the T&Cs. (Source)

IaaS | Examples

  • AWS
    • EC2 (Amazon Elastic Compute Cloud)*
    • S3 (Amazon Simple Storage Service)
  • Google Cloud
    • Compute
    • Storage
  • Azure
    • Compute
    • Storage
    • Windows Server
    • Linux on Azure

IaaS | Examples

  • AWS
    • EC2 \(\rightarrow\) Virtual Machine
    • S3
  • Google Cloud
    • Compute \(\rightarrow\) Virtual Machine
    • Storage
  • Azure
    • Compute \(\rightarrow\) Virtual Machine
    • Storage
    • Windows Server
    • Linux on Azure

Before I do a demonstration…


I need to tell you a tiny bit about security and cryptography, as these things are important when connecting to a remote machine.

SSH

  • To ensure your connection to the cloud is secure, we often need to perform authentication.
  • SSH, which stands for Secure SHell Protocol is a bit of software that comes pre-installed in most UNIX-like systems (macOS and Linux).
  • SSH takes care of authenticating your connection to the server, ensuring the security and privacy of that connection.

Note

You will use SSH to authenticate to the cloud this week!

SSH keys

  • Central to SSH is the idea of public and private keys
  • You might need to use SSH keys when connecting to:
    • a virtual machine in another computer (or in the cloud)
    • an API to download data
    • an online service like Github, a platform for sharing code (mostly open source)

Important

We will save you the burden of using them this week but SSH keys will make an important comeback on Week 05 lab!

Live Demo | Compute


  • I will share my screen and show you how to setup an account and create a Compute instance

After the ☕ break:

  • Demos of storage services (still IaaS)
  • Demos of PaaS (AWS Athena/GCloud BigQuery)
  • Tips for the lab

IaaS | Examples

  • AWS
    • EC2
    • S3 \(\rightarrow\) Data Storage
  • Google Cloud
    • Compute
    • Storage \(\rightarrow\) Data Storage
  • Azure
    • Compute
    • Storage \(\rightarrow\) Data Storage
    • Windows Server
    • Linux on Azure