Migrating to AWS
Introduction to Cloud Computing
What Is Cloud Computing?
Not too long ago, if a company wanted to build an application, it had to buy and set up its own physical servers. This was expensive, slow, and required a lot of space and maintenance. Cloud computing changed all of that.
Cloud computing is the delivery of computing services—servers, storage, databases, networking, software, analytics, and intelligence—over the internet (“the cloud”).
Instead of owning your own computing infrastructure, you can access these services from a cloud provider like Amazon Web Services (AWS), Google Cloud, or Microsoft Azure. Think of it like electricity. You don't build your own power plant; you just plug into the grid and pay for what you use.
This model has a few key characteristics:
- On-demand self-service: You can spin up computing resources whenever you need them, without having to talk to a human.
- Broad network access: You can access services from anywhere over the internet, using a phone, laptop, or tablet.
- Resource pooling: The provider's resources are shared among many customers, a model known as multi-tenancy.
- Rapid elasticity: You can quickly scale your resources up or down to match demand.
- Measured service: You only pay for what you actually use, just like a utility bill.
The Three Service Models
Cloud services are typically offered in three main models. Each one represents a different level of abstraction, where the cloud provider manages more of the underlying technology stack, letting you focus on what matters most to your business. A good way to understand them is the "pizza as a service" analogy.
On-Premises (Traditional): You make everything from scratch. You buy the flour, tomatoes, and cheese. You provide the oven, the electricity, and the table. You have total control, but it's a lot of work.
IaaS
noun
Infrastructure as a Service. The cloud provider gives you the fundamental building blocks of computing: servers, storage, and networking. It's like a take-and-bake pizza. You get the pre-made dough, sauce, and toppings, but you use your own oven to cook it.
With IaaS, you rent IT infrastructure. You still manage the operating system, applications, and data, but you don't have to worry about the physical data centers or servers.
PaaS
noun
Platform as a Service. This model provides a platform where you can develop, run, and manage applications without the complexity of building and maintaining the infrastructure. Think of it as pizza delivery. The pizza arrives cooked, but you provide the plates and drinks.
PaaS is for developers. It handles the servers, storage, and networking, plus the operating system and development tools, so you can focus solely on building your application.
SaaS
noun
Software as a Service. This is a ready-to-use software solution that you access over the web. It's like dining out at a pizza restaurant. Everything is taken care of for you; you just show up and eat.
With SaaS, the provider manages everything, including the software itself. You just subscribe to the service and use it.
| Service Model | You Manage | Provider Manages |
|---|---|---|
| IaaS | Applications, Data, Runtime, Middleware, OS | Virtualization, Servers, Storage, Networking |
| PaaS | Applications, Data | Runtime, Middleware, OS, Virtualization, Servers, Storage, Networking |
| SaaS | Nothing | Everything |
Why Use the Cloud?
Adopting cloud computing offers significant advantages over traditional, on-premises infrastructure. The benefits are why companies of all sizes are making the switch.
Cost Efficiency: Instead of making huge capital investments in hardware, you shift to a variable expense. You only pay for the resources you consume. This pay-as-you-go model eliminates waste and lowers costs.
Scalability and Flexibility: Need more computing power for a big product launch? You can get it in minutes. When traffic dies down, you can scale back down just as easily. This elasticity means you always have the right amount of resources without overpaying.
Speed and Agility: The cloud allows you to innovate faster. You can spin up the infrastructure for a new project in minutes instead of weeks or months. This lets your teams experiment and deliver value to customers more quickly.
Global Reach: With a few clicks, you can deploy your application in multiple geographic regions around the world. This means lower latency and a better experience for your users, no matter where they are.
The Major Players
While there are many cloud providers, the market is dominated by three main companies.
Amazon Web Services (AWS): The pioneer and current market leader. Launched in 2006, AWS offers an extensive and mature portfolio of services, from basic computing and storage to advanced machine learning and IoT.
Microsoft Azure: Microsoft's cloud platform is the second-largest player. It has strong integration with its enterprise software products, making it a popular choice for large companies already using Microsoft tools.
Google Cloud Platform (GCP): While third in market share, GCP is a strong competitor, known for its expertise in areas like big data, analytics, machine learning, and containerization with Kubernetes.
This course will focus on AWS, giving you a solid foundation in the most widely used cloud platform in the world.
Now that you have a grasp of what the cloud is, let's test your knowledge.
Which of the following best describes the 'rapid elasticity' characteristic of cloud computing?
A software development team wants to build and deploy an application without managing the underlying servers, networking, or operating system. Which cloud service model is the best fit for their needs?
Understanding these core concepts is the first step. You now know what the cloud is, how it's structured, and why it's so powerful.

