March 2006, Amazon headquarters.
An online bookstore was launching a strange service: renting computing power.
You could rent virtual servers by the hour, storage by the GB, databases by request count.
No need to buy hardware, build data centers, or hire operations engineers. Just a credit card, and you could get computing resources in minutes.
This service was called Amazon Web Services (AWS).
At the time, no one realized this would change the IT industry. Amazon was an e-commerce company—why sell computing power?
But AWS became Amazon’s most profitable business and pioneered the cloud computing era.
Amazon’s Dilemma#
To understand AWS, first understand Amazon’s dilemma.
In the early 2000s, Amazon was the largest e-commerce site. Every Christmas shopping season, traffic spiked and servers couldn’t keep up.
Amazon bought lots of servers to handle peak loads. But after the peak, servers sat idle—a huge waste.
Amazon’s engineers thought: Could we rent out this idle computing capacity?
Another problem: Amazon’s internal teams had low development efficiency. Each team had to build its own infrastructure, reinventing the wheel.
Amazon decided: Standardize infrastructure and turn it into services. Teams could quickly get the resources they needed without building from scratch.
This internal project later became AWS.
The Birth of AWS#
In 2006, AWS was officially launched with initially only two services:
S3 (Simple Storage Service): Object storage service. Store files on Amazon’s servers, pay by GB.
EC2 (Elastic Compute Cloud): Virtual servers. Rent computing power by the hour, create and destroy at any time.
These two services seemed simple but changed the game:
Before: Buy servers, wait for delivery, install and configure, maintain and upgrade. Cycle of weeks to months, cost of thousands to tens of thousands of dollars.
Now: Click a few times, get a server in minutes. Release when done, pay only for time used.
This let startups launch quickly and enterprises scale elastically.
Three Layers of Cloud Computing#
Cloud computing is divided into three layers:
IaaS (Infrastructure as a Service) Provides virtual servers, storage, and networking. Users install software and configure environments themselves. AWS EC2 and Google Compute Engine are examples.
PaaS (Platform as a Service) Provides a running platform; users only need to deploy code. Heroku and Google App Engine are examples.
SaaS (Software as a Service) Directly provides software; users use it through a browser. Gmail, Salesforce, and Dropbox are examples.
AWS started as IaaS and later expanded to PaaS and SaaS.
The Spread of Cloud Computing#
After AWS launched, other companies followed:
- Microsoft Azure (2010): Microsoft’s cloud platform, deeply integrated with Windows ecosystem
- Google Cloud Platform (2011): Google’s cloud platform, excelling at data analytics and AI
- Alibaba Cloud (2009): China’s largest cloud service provider
- Tencent Cloud, Huawei Cloud: Other major Chinese cloud providers
Cloud computing became mainstream in the IT industry. More and more companies shut down their own data centers and migrated to the cloud.
Startups: No need to buy servers, lowering startup costs. Dropbox, Airbnb, and Netflix all started on AWS.
Enterprises: Elastic scaling, pay as you go. Netflix migrated all infrastructure to AWS, shutting down its own data centers.
Government agencies: Lower costs, improved efficiency. The U.S. Central Intelligence Agency uses AWS.
Advantages of Cloud Computing#
Why has cloud computing succeeded?
Elastic scaling: Automatically add servers during traffic peaks, reduce during troughs. No need to reserve resources for peaks.
Pay as you go: Only pay for resources actually used, no need to buy in advance. Reduces capital pressure.
Global deployment: Cloud providers have data centers around the world. Applications can be deployed closest to users, reducing latency.
High availability: Cloud providers offer redundancy and backup. Single server failure doesn’t affect service.
Focus on core business: No need to manage infrastructure, can focus on business logic.
Cloud Native#
As cloud computing spread, Cloud Native became a new development paradigm.
Cloud Native includes:
Containers: Package applications and dependencies so they can run in any environment. Docker is the representative.
Orchestration: Manage large numbers of containers. Kubernetes is the representative.
Microservices: Break applications into small services, developed and deployed independently.
DevOps: Merge development and operations, continuous integration and deployment.
Cloud Native makes applications naturally suited for cloud environments, fully utilizing cloud’s elastic and distributed characteristics.
AWS’s Success#
AWS became Amazon’s most profitable business.
In 2023, AWS revenue was $80 billion with operating profit of $24 billion. AWS contributed most of Amazon’s profit.
AWS has over 200 services covering computing, storage, databases, networking, AI, IoT, and many other areas.
AWS holds about 32% of the cloud market, far ahead of competitors.
Challenges of Cloud Computing#
Cloud computing also brings challenges:
Cost control: Cloud services are convenient but easy to overspend. Many companies find cloud bills much higher than expected.
Security and compliance: Data is stored on cloud providers’ servers; security and privacy are concerns.
Lock-in: Using one cloud provider’s services makes migrating to another very difficult.
Complexity: Many types of cloud services, steep learning curve.
Next Step: Mobile Internet#
Cloud computing changed the backend, but the frontend was also changing.
In 2007, the iPhone was released, and smartphones became mainstream. The mobile internet era began.
Tomorrow, we’ll discuss the mobile internet story.
Today’s Key Concepts#
Cloud Computing Providing computing resources and services over the internet. Users don’t need to buy and maintain hardware; they rent computing power, storage, networking, and other resources on demand. AWS, Azure, and Google Cloud are major cloud providers.
IaaS/PaaS/SaaS Three layers of cloud computing service models. IaaS provides infrastructure (servers, storage), PaaS provides running platforms, SaaS provides complete software. The higher the layer, the less users need to manage.
Cloud Native Application development designed for cloud environments. Uses containers, microservices, DevOps, and other technologies to fully utilize cloud’s elastic and distributed characteristics. Kubernetes is core cloud-native technology.
Discussion Questions#
- Cloud computing lets startups launch without buying servers, lowering the barrier to entrepreneurship. What impact do you think this has on innovation?
- Cloud computing is convenient but brings cost control, security, and lock-in issues. Do you think these problems can be solved?
Tomorrow’s Preview: Mobile Internet—how did the iPhone redefine the phone and open a new era?
