Ref: https://learn.cantrill.io/courses/2022818/lectures/45718075
Infra Stack (or App Stack)
- Infrastructure layers when deploying a software application:
- Application
- Data (DB…)
- Runtime (RTE, libraries…)
- Container (Docker…)
- OS (Linux, Windows, MacOS…)
- Virtualization
- Server
- Infrastructure (server racks, network routers…)
- Facilities (building, electricity, real estate, security staff…)
- 🔧 Unit of consumption = what the customer pays for and consumes
- Everything below the unit of consumption in the Infra Stack is managed by the vendor
- The unit of consumption itself and everything above in the Infra Stack is managed by the customer
- Each service model differs in its unit of consumption
- On-premises → Customers pay for everything in the Infra Stack
- 👎 Expensive, has risks
- 👍 Highest ownership → very flexible
- Data Center (DC) hosted → Customers pay for using facilities (fully or partially), and take care of everything else
- Popular before cloud computing
Popular Cloud Service Models
IaaS (Infrastructure-as-a-Service)
- 🔧 Unit of consumption: OS
- Generally, IaaS provides virtual servers/machines (VMs)
- Pricing: generally pay-as-you-go
- Pay a fee per second/min/hour of VM use
- No costs when not using the VM
- Lose a bit on flexibility, but gain a lot in cost & risk reductions
- One of the most popular cloud services
- e.g. Amazon EC2
PaaS (Platform-as-a-Service)
- 🔧 Unit of consumption: Runtime Environment (RTE)