L6a - Cloud as Service Flashcards
On-premise to cloud. List all approaches in order.
- Traditional on-premise
- Colocation
- Hosting
- Infrastructure as service
- Platform as service
- Software as service
- Serverless
What is Iaas?
renting a computer
What are the different options for IaaS?
- renting a VM (actual node is shared)
- dedicated server (virtualised but not shared)
- bare metal
Who is IaaS good for?
useful to those who need access to computers but can/want to build the rest of the stack themselves
List 4 drawbacks of virtualisation (shared setting) ?
- Performance overheads
- Performance isolation
- Shared environments complicate licensing
- Shared environment may create legal issues
Explain PaaS.
You are only responsible for the data and the application.
You get the computers and the middleware, you build
the application.
In Platform as a Service, what is “rented” is not just an instance but the whole software and hardware infrastructure needed to run an application. (including OS).
The user still puts the application together using the services provided but PaaS reduces the amount of code to produce and takes advantage of the cloud features.
Why does PaaS make sense? / Why is it possible?
Some apps use the same subset of features.
Explain SaaS.
You get the application provided by the cloud, you provide the data to populate it.
e.g. Microsoft Office 365, gmail, Dropbox
e.g. Snowflake for enterprises (data analytics)
Explain FaaS.
FaaS (Function as a Service) allows to encapsulate a small application into a function (e.g., a container image) and then the cloud takes over all tasks related to executing it.
List 4 properties of FaaS.
- no reservation of VM or provisioning of instances
- automatic scalability
- automatic triggering
- charged by the millisecond
What are the advantages of FaaS?
- for very short tasks executed rarely, much cheaper (not true for longer tasks, serverless more expensive per hour than VM instances)
- functions can be started very quickly and automatically (VM instances can take a long time to start and be ready to process data)
- elasticity is automatic (if more functions are needed, the cloud just spawns more)
- no need to set up complicated system
- automatically coupled to events
What are the drawbacks of FaaS?
- stateless
- short lived
- no communication across functions
extra: data processing is not good for serverless
What is the reasoning behind serverless?
remove the need to deploy a complex infrastructure for every job, automate deployment and execution
What does serverless run on?
small footprint VMs/containers
How does serverless work, step by step.
- User provides code for a “function” and selects a size (typically in amount of memory, which maps to a number of virtual CPUs)
- The function is registered in the system (an image created and stored)
- The user invokes a function, or it is triggered by an event
- The serverless platform allocates a micro-VM, loads the image, and starts the function
- The platform takes care of scaling it up (call more instances of the function) and tear it down when done