What are the basics of cloud deployment?
The main cloud service models
Infrastructure as a service (IaaS) gives you virtual machines and networks that you manage yourself. Platform as a service (PaaS) handles more of the operating system and runtime, so you mostly deploy code. Serverless services run functions on demand without you managing servers at all.
Software as a service (SaaS) is a fully managed end-user product, so it is not something most teams deploy. Choosing the model depends on how much control and maintenance you want to handle.
- IaaS: most control, most maintenance
- PaaS: code-focused, less server work
- Serverless: pay per run, least server work
- Containers: portable, a flexible middle ground
A typical cloud deployment flow
Most deployments start with an automated build that produces an artifact, such as a container image. That artifact is pushed to a registry, then deployed to compute in the cloud. A load balancer routes traffic to healthy instances.
Configuration and secrets should live outside the image and be injected at runtime. Permissions should be limited with roles, so each service can access only what it needs.
Cost and planning basics
Cloud pricing is usage-based and changes over time, so exact costs depend on region, instance type, data transfer and traffic. Free tiers exist, but their limits and terms change, so check each provider's pricing page before committing.
Set budgets and alerts early. Many surprise bills come from forgotten resources, such as unused disks or test environments left running.
Common mistakes
- Choosing a large virtual machine when a managed platform would be simpler and cheaper for the workload.
- Hard-coding passwords or API keys into the deployed code.
