Lec 2: AWS Intro Flashcards
What is the core technique of cloud computing?
Virtualization
What if the machine needs to be shut down for maintenance?
Virtual machine live migration: Alice can migrate the running VMs to different physical machines without interrupting any customers.
What should Alice do?
Suppose Alice has a machine with 16 CPUs and 64 GB of memory. There are three customers:
Bob wants a machine with 8 CPUs and 32 GB of memory
Charlie wants a machine with 8 CPUs and 32 GB of memory
Daniel wants a machine with 4 CPUs and 8 GB of memory
Virtualization: Alice installs a virtual machine monitor (VMM) and provides each customer with a guest OS/virtual machine (VM) and the requested resources as vCPUs and guest physical memory.
Ex: Bob will be assigned with 8 vCPUs and 32GB of guest physical memory
Can customers access other customers data?
No because of VM isolation: One customer cannot access data of another customer
How is virtualization implemented?
-VMM (“Hypervisor”) has translation tables that map virtual (guest) memory to physical memory
Example:
VM 1 accesses memory cell #0; VMM maps this to memory cell #0
VM 2 accesses memory cell #0; VMM maps this to memory cell #300.
-VMs also time-share CPUs (a time-multiplexed manner)
Time-multiplex does not work for memory. Why?
-Memory cannot be overlapped
-Other users are not supposed to access other memory spaces
What if Alice serves more customers?
-Existing customers will be allocated less shares, thus performance will be affected
Benefits of virtualization
Flexible to cloud providers, who
-can generate VMs with different resource capabilities
-can migrate VMs if necessary (e.g., for maintenance)
-can increase load by overcommitting resources
Secure to VMs
-One VM cannot access another without permission
Convenient to customers
- Complete control over the virtual ‘hardware’ (can install their own operating systems, applications, …)
But there might be performance impacts
-Load changes in one VM may affect the performance of another VM on the same physical machine (e.g., Bob is allowed to increase his vCPUs from 8 to 16.)
Amazon: the pioneer (Timeline)
Jul 2002
Amazon Web Services launched
Mar 2006
Amazon S3 (Simple Storage Service) launched
-Proposed the ‘pay-per-use’ business model, which is now the standard in cloud computing
Aug 2006
Amazon EC2 (Elastic Compute Cloud) launched
Nov 2009
Microsoft Azure Beta launched
-Microsoft’s online services are gradually transitioning to Azure
Dec 2013
Google Compute Engine launched
What services does a cloud provide? (3 common types)
Software as a service (SaaS)
SaaS delivers fully functional software on a subscription basis.
Platform as a service (PaaS)
PaaS provides a platform and pre-configured environment for users to develop their software.
Infrastructure as a service (IaaS)
IaaS offers basic computing resources such as virtual machines, storage, and network bandwidth.
Other XaaS: anything as a service (less common)
-Desktop as a service (DaaS)
-Network as a service (NaaS)
What is SaaS? Give an example.
SaaS: Cloud provides an entire application
Email, Drive, Doc, Slides,…
Example: Google Workspace
What is PaaS? Give an example.
PaaS: Cloud provides middleware
Common Language Runtime environment
Example: Heroku
What is IaaS? Give an example.
IaaS: Cloud provides hardware resources
Virtual Machines, Virtual Memory, Virtual Disk,…
Examples: AWS Elastic Compute Cloud (EC2)
Types of cloud in terms of target customers
Public cloud: open to general public.
Example: AWS, Microsoft Azure, Google Compute Engine
Community cloud: shared by multiple organizations with common interests and requirements.
Example: Healthcare Sectors
Private cloud: exclusively used by a single organization.
Example: Google’s internal datacenter
What is XaaS cloud computing? Describe the different categories of XaaS cloud computing can provide and specific examples of each service.
Cloud computing offers a range of services, referred to as “XaaS,” which stands for “Anything as a Service.”
-Infrastructure as a Service that provides virtualized computing resources. An example is AWS EC2.
-Platform as a Service that provides a runtime environment for developers to build, deploy, and manage applications. An examples is Google App Engine or Heroku.
-Software as a Service that delivers fully functional software applications. An example is Microsoft 365 office or Google workplace.