Cloud Computing

Cloud computing is the delivery of computing services — including servers, storage, databases, networking, software, analytics, and intelligence — over the Internet. The term "cloud" for the internet dates to the 1960s, when network diagrams represented the servers and networking infrastructure of the internet as a cloud shape.
Cloud

Cloud Services

Service Models

There are three main cloud computing service models:

  • Infrastructure as a Service (IaaS) — the basic building blocks: virtual machines, storage, networking. You build and run your own applications on top.
  • Platform as a Service (PaaS) — a platform to develop, deploy, and manage applications, without managing the infrastructure underneath.
  • Software as a Service (SaaS) — a ready-made application, hosted and maintained by the provider, usually billed as a subscription.

Benefits

  • Scalability — scale resources up or down to match demand, instead of over- or under-provisioning.
  • Reliability — providers run multiple data centers across regions.
  • Security — providers invest heavily in protecting their data centers and the data inside them.

Challenges

  • Security — provider safeguards reduce, but never eliminate, the risk of a breach.
  • Compliance — you still have to verify your own use meets every regulation that applies.
  • Vendor lock-in — deep reliance on one provider's specific services makes switching later expensive.

Cloud computing offers real benefits for software engineers — better scalability, reliability, security, and cost control for testing, deployment, backup and disaster recovery, and team collaboration — but it's worth weighing the challenges above before committing an architecture to one provider.

This page covers cloud computing as a concept. For the practical operations side — the major providers, data centers, and the roles that run a cloud platform day to day — see Cloud Operations. For how applications are actually packaged and run at scale in the cloud, see Containers and Virtualization (Docker and Kubernetes) in the TechOps roadmap.