Skip to content
X

Introduction to Cloud Computing

Almost every modern application runs on “the cloud” — but the term is vague. This page gives a clear definition, explains the three cloud service models, and points to beginner-friendly services that can be used immediately.

Target reader: Beginners who have heard about cloud computing but want a clear explanation. Estimated time: 15 min read Prerequisites: Servers and Clients (recommended)

Cloud computing means accessing computing resources — servers, storage, databases, networking — over the Internet, on demand, from a provider that manages the physical hardware.

The alternative is on-premises (on-prem): buying and managing physical servers in a company’s own building or data center.

AspectOn-PremisesCloud
HardwarePurchased, owned, maintained by the companyOwned and maintained by the cloud provider
Upfront costHigh (buy servers before using them)None (pay for what is used)
ScalingRequires ordering, shipping, installing new hardwareProvisioning new capacity takes seconds via a dashboard or API
Geographic reachLimited to owned locationsProviders have data centers on every continent
ResponsibilityCompany manages hardware failures, power, coolingProvider handles the physical layer

The shift to cloud computing has made it possible for a developer to launch a globally distributed application in an afternoon, without purchasing a single physical server.

No upfront cost: Instead of spending money on hardware before a project proves itself, resources are rented by the hour or by usage. Early-stage projects can run cheaply and scale up only when needed.

Elasticity: Traffic spikes (a product launch, a news event) can be handled by provisioning more capacity on demand. When the spike passes, the extra capacity is released and billing stops.

Global distribution: Providers have data centers in regions around the world. Deploying an application close to users reduces latency. A startup in Tokyo can serve users in New York from a nearby data center without owning hardware there.

Managed services: Rather than installing and maintaining PostgreSQL on a virtual machine, a developer can use a managed database service. The provider handles updates, backups, and failover. This frees engineering time for product work.

Cloud services are grouped into three models that differ in how much the provider manages versus how much the customer manages.

A pizza analogy makes the distinction concrete:

                    Make it yourself   |  Buy the dough  |  Order delivery
                    (On-Premises)      |  (IaaS)         |  (PaaS / SaaS)
                                       |                 |
You manage:         Everything         |  App + Data     |  App only / Nothing
Provider manages:   Nothing            |  Hardware + OS  |  Hardware + OS + Runtime

The provider supplies virtual machines, networking, and storage. The customer installs the operating system, runtime, and application.

  • What the customer manages: Operating system, runtime, middleware, application code, data
  • What the provider manages: Physical hardware, virtualization, networking infrastructure
  • Examples: AWS EC2, Google Compute Engine, Azure Virtual Machines
  • Analogy: Renting a kitchen with equipment, but buying and cooking the ingredients

IaaS offers the most control and flexibility, but requires the most operational expertise.

The provider manages the infrastructure and the runtime environment. The customer deploys application code.

  • What the customer manages: Application code and data
  • What the provider manages: Everything below the application layer (OS, runtime, scaling)
  • Examples: Heroku, Google App Engine, AWS Elastic Beanstalk, Vercel, Netlify
  • Analogy: Buying pizza dough — the base is provided, but the toppings are up to the customer

PaaS is where most web developers start. A git push is often all that is needed to deploy.

The provider delivers a fully working application over the Internet. The customer uses it directly, with no deployment work.

  • What the customer manages: Their own data within the application
  • What the provider manages: Everything, including the application itself
  • Examples: Gmail, Slack, Notion, Figma, GitHub
  • Analogy: Ordering pizza delivery — the whole pizza arrives ready to eat

SaaS requires no technical setup. As a developer, SaaS is what most of the daily tools are.

             Customer Responsibility
             High ─────────────────────────── Low
             |                                  |
         On-Prem    IaaS        PaaS       SaaS
             |        |           |           |
         Full        App +     App code    Just
         control     OS +      only        use it
                     Runtime
ProviderStrengthsNotable services
AWS (Amazon Web Services)Largest market share; widest service catalogEC2, S3, Lambda, RDS, CloudFront
GCP (Google Cloud Platform)Strong in data/ML; Kubernetes originated hereCompute Engine, BigQuery, Vertex AI, GKE
Azure (Microsoft)Deep enterprise and Microsoft ecosystem integrationAzure VMs, Azure SQL, Azure AI services
VercelDeployment of frontend apps and serverless functionsNext.js hosting, Edge Functions, Analytics
NetlifyStatic site and JAMstack deploymentNetlify Functions, Forms, Identity
SupabaseOpen-source Firebase alternative; PostgreSQL-backedDatabase, Auth, Storage, Realtime
CloudflareCDN, DNS, edge computing, DDoS protectionWorkers, Pages, R2, KV

AWS, GCP, and Azure are the three hyperscale providers. Vercel, Supabase, and Netlify are developer-focused platforms that make deployment and backend services accessible with minimal configuration.

For learning and small projects, these services have free tiers and require no credit card or infrastructure knowledge:

ServiceWhat to use it for
VercelDeploying a frontend app (React, Next.js, Astro)
NetlifyStatic site deployment with form handling
SupabasePostgreSQL database + authentication + file storage
RailwayDeploy a backend service or database with one click
Cloudflare PagesFast static site hosting with global edge distribution

A common beginner stack: build a frontend with Astro or Next.js, deploy it to Vercel, and use Supabase for the database. All three have free tiers sufficient for learning and small production projects.

  • Cloud computing means renting computing resources over the Internet instead of owning hardware.
  • Benefits include no upfront cost, elastic scaling, global reach, and managed services.
  • IaaS provides raw infrastructure (VMs); the customer manages everything above hardware.
  • PaaS provides the runtime platform; the customer manages only application code.
  • SaaS is a fully managed application; the customer only uses it.
  • For beginners, Vercel, Supabase, and Netlify are the most accessible starting points.

Q: Do I need a cloud account to learn web development?

A: Not immediately. Local development (running everything on a laptop) is sufficient for learning and prototyping. Cloud services become relevant when deploying an application for others to access, or when needing a database that persists between sessions.

Q: Which cloud provider should I learn first?

A: For frontend and full-stack development, Vercel and Supabase are the most beginner-friendly. For learning cloud infrastructure concepts more broadly, AWS has the widest documentation and tutorials, and free-tier offerings are sufficient for experimentation.

Q: What is serverless?

A: Serverless is a deployment model where the provider runs application code in response to events, automatically scales, and charges only for actual execution time. There are still servers — the developer just does not manage them. Vercel Functions, AWS Lambda, and Cloudflare Workers are serverless platforms. Serverless is a subcategory of PaaS.

Q: Is the cloud always cheaper than on-premises?

A: Not at scale. For large organizations with predictable, sustained workloads, owning hardware can be cheaper than renting. The cloud’s cost advantage is strongest for variable workloads, early-stage projects, and teams that want to avoid infrastructure operations. This is why large companies often use a mix of both.


Next steps: Engineering section — terminal, Git, and development environments

Link to this page (Japanese): クラウドコンピューティング入門