Learn how to build, test, deploy, and maintain robust software systems.
Deployment is the process of taking your software from a development environment and putting it somewhere real users can reach it. Hosting provides the compute, networking, and storage that make that possible, and a good deployment also sets up DNS, HTTPS, configuration, logging, monitoring, and a recovery plan. This lesson covers the cloud service models (IaaS, PaaS, SaaS), how DNS and HTTPS turn a name into a secure, reachable service, and what a production checklist looks like. The examples mention Vercel and Render as platforms, but the concepts apply to any hosting provider.
When software goes to production, it becomes publicly reachable, so configuration, security, and reliability start to matter in new ways.
| Model | You manage | Provider manages | Example |
|---|---|---|---|
| IaaS | VMs, OS, runtime, app | Physical hardware | AWS EC2 |
| PaaS | Your app and data | Runtime, scaling, OS | Heroku, Render |
| SaaS | Your account and data | Everything | Gmail, Slack |
| Record | Meaning |
|---|---|
| A | Maps a name to an IPv4 address |
| AAAA | Maps a name to an IPv6 address |
| CNAME | Alias one name to another |
HTTPS encrypts traffic between the browser and the server using TLS. A certificate proves the server’s identity and enables that encryption, which is why production sites should always use HTTPS.
Production needs its own configuration and secrets, separate from development. Pass them through environment variables or a secret manager, never hardcoded.
| Vertical scaling | Horizontal scaling | |
|---|---|---|
| How | Bigger machine | More machines |
| Limit | Hits a hardware ceiling | Needs load balancing and stateless design |
| Use | Simple early growth | Large or elastic workloads |
As covered in CI/CD, rolling, blue/green, and canary deployments let you release with lower risk and a clear rollback path.
Frontend and backend hosted separately, talking over HTTPS.
(one production system across two hosts)