Chapter 6: Platform as a Service Flashcards
What are the three PaaS Value Propositions?
- Maintenance
- Hardware maintenance
- OS patches
- Middleware updates - Availability
- Application/service will be available despite maintenance/outages - Scalability
- Application/service will scale to thousands of concurrent users
What is the COST of Scalability?
COST: Configuration that Outperforms a Single Thread
-> When to use scalable systems is an important decision
(Flink quickly outperforms the local implementations)
PaaS vs. IaaS
● PaaS offers higher abstraction level compared to IaaS
■ Less development/maintenance effort
■ Less flexibility, high provider dependence
PaaS Abstraction Levels.
■ Execution environments (like on Heroku)
■ Databases
■ Distributed processing
■ Domain-specific workbenches (like SageMaker)
■ Complete services (like Rekognition)*
Explain Serverless Computing.
Serverless computing is a cloud execution model. The provider runs the server-side and dynamically manages
the resources. Enabled by high-level PaaS offerings.
Explain BaaS.
■ Backend as a Service
♦ Use cloud database, authentication, etc. as backend to a rich client app
♦ Often used for mobile apps
Explain FaaS.
■ Function as a Service
● Motivation: Run backend code without managing server resources and/or long-running applications
● Architecture: Stateless, ephemeral, event-triggered
● Automatic horizontal scaling
When does Serverless Computing makes sense?
■ Platform services that don’t live long
■ Platform services where you don’t think about scaling
Name an implication of Serverless Architecture.
Less Ops to worry about at the expense of flexibility.
What are the pros and cons of Serverless Architecture?
● Good:
■ Less application code, reduced development effort
■ Possibly less costs
■ Cloud operator probably better at implementing default
tasks than application developer
● Bad:
■ Monitoring becomes more complex
■ Security needs to be handled at all the services
■ Additional complexity through managing the different cloud services
Summary PaaS/FaaS.
● Managed platforms allow developers to focus more on their applications and less on operations
■ PaaS: in addition to the infrastructure, the entire runtime is managed as well, yet users typically still allocate and scale resources
■ FaaS: users only write and upload their functions, provider manages allocation and scaling of resources