Summary: https://www.udemy.com/course/aws-certified-cloud-practitioner-new/learn/lecture/20260646
Serverless Compute
Ref: https://www.udemy.com/course/aws-certified-cloud-practitioner-new/learn/lecture/20056030
- 🔧 Serverless = run code/software without managing servers
- Serverless services spin infrastructure in the background to execute code, then tear infrastructure down when done
- 👍 Less admin overhead for developers
- Developers define code via serverless functions (but don't configure servers)
- Pay-per-use billing: you pay for resources/capacity consumed while running your code, but you don't pay ongoing fees for running servers or infrastructure
- Really good pricing model for unpredictable/intermittent workloads!
- Lots of AWS services are either serverless or offer a serverless option
Typical AWS serverless architecture for custom compute
Ref: https://www.udemy.com/course/aws-certified-cloud-practitioner-new/learn/lecture/20056024
- AWS Lambda: FaaS (Function-as-a-Service)
- Refresher: AWS Lambda 101
- Short, on-demand, scalable, and cheap code execution
- Amazon API Gateway (APIGW): launch & manage APIs (Application Programming Interfaces)
- Support for RESTful APIs and WebSocket APIs
- Can expose Lambda functions via HTTP API
- Event-Driven Architecture (EDA): trigger actions (e.g. actions defined in Lambda functions) when certain events happen (e.g. uploads to S3, certain time of day defined by CRON…)
- Typical services involved: Lambda, APIGW, S3, EventBridge, DynamoDB…
- Example: serverless thumbnail creation
- Example: serverless CRON job (executes every hour)
Containerized Compute
Ref: https://www.udemy.com/course/aws-certified-cloud-practitioner-new/learn/lecture/20056040
- 🔧 A SW app can be packaged together with its runtime environment (RTE) → Container
- Containers are portable and lightweight
- Containers can run on any machine, on any OS → predictable behavior
- Containers can scale easily, easier than virtual machines/servers