Chapter 0: Introduction to Cloud Computing
Mohamad's interest is in Programming (Mobile, Web, Database and Machine Learning). He is studying at the Center For Artificial Intelligence Technology (CAIT), Universiti Kebangsaan Malaysia (UKM).
0.1 What is Cloud Computing?
Cloud computing is a model for delivering information technology services over the internet on a pay-as-you-go basis. Instead of owning and maintaining physical infrastructure—such as servers, storage devices, and networking equipment—organizations can access these resources remotely via cloud providers.
The National Institute of Standards and Technology (NIST) defines cloud computing as "a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of configurable computing resources." These resources include networks, servers, storage, applications, and services that can be rapidly provisioned and released with minimal management effort.
Cloud computing enables businesses to scale resources elastically, improve operational efficiency, reduce capital expenditure (CAPEX), and accelerate innovation.
Characteristics of Cloud Computing
The fundamental characteristics of cloud computing include:
On-demand self-service: Users can automatically provision computing capabilities without human interaction with the service provider.
Broad network access: Resources are accessible over the network and can be accessed using standard mechanisms by heterogeneous platforms (e.g., mobile phones, tablets, laptops).
Resource pooling: Computing resources are pooled to serve multiple consumers using a multi-tenant model.
Rapid elasticity: Capabilities can be elastically provisioned and released to scale rapidly outward and inward commensurate with demand.
Measured service: Resource usage is monitored, controlled, and reported, providing transparency for both the provider and the consumer.
Analogy: Utility Computing
Cloud computing is often compared to public utilities such as electricity. Rather than investing in generators and infrastructure, consumers pay for the electricity they use. Similarly, cloud computing allows organizations to consume computing power as a service, scaling their usage up or down as needed and paying only for what they consume.
0.2 Cloud Service Models
Cloud computing services are typically categorized into three primary service models:
Infrastructure as a Service (IaaS)
IaaS provides virtualized computing resources over the internet. This includes servers, storage, and networking hardware. Users retain control over operating systems and applications while the provider manages the underlying infrastructure.
Examples:
Amazon EC2 (Elastic Compute Cloud)
Microsoft Azure Virtual Machines
Google Compute Engine
Use case: Ideal for developers who need flexibility and control over the computing environment.
Platform as a Service (PaaS)
PaaS offers a platform that includes operating systems, development tools, database management, and other services that allow users to develop and deploy applications without managing the underlying infrastructure.
Examples:
AWS Elastic Beanstalk
Microsoft Azure App Services
Google App Engine
Use case: Suitable for application developers who want to focus on coding and business logic without managing the infrastructure.
Software as a Service (SaaS)
SaaS delivers software applications over the internet on a subscription basis. The cloud provider manages all aspects of the infrastructure, including data, runtime, middleware, and application updates.
Examples:
Gmail
Microsoft 365
Salesforce
Use case: Best for end-users who need ready-to-use applications without installation or maintenance.
Visual Representation
A layered diagram with three horizontal tiers labeled IaaS, PaaS, and SaaS, showing the level of user and provider responsibility for each layer of the stack (applications, data, runtime, OS, virtualization, servers, storage, networking).
0.3 Cloud Deployment Models
Cloud deployment refers to the environment in which the cloud services are hosted and delivered. The three primary deployment models are:
Public Cloud
In a public cloud model, computing resources are owned and operated by a third-party cloud service provider and delivered over the internet. Resources are shared among multiple tenants (i.e., customers).
Examples: AWS, Microsoft Azure, Google Cloud Platform
Advantages:
Cost efficiency due to shared infrastructure
High scalability and flexibility
No maintenance responsibilities for the customer
Consideration: Data residency and compliance concerns in regulated industries
Private Cloud
A private cloud is used exclusively by a single organization. It may be hosted on-premises or by a third party. Unlike the public cloud, it offers more control and customization over security and governance.
Advantages:
Enhanced security and privacy
Greater control over infrastructure
Better compliance alignment
Consideration: Higher upfront and operational costs
Hybrid Cloud
Hybrid cloud combines public and private clouds, allowing data and applications to move between them for greater flexibility and optimized deployment.
Advantages:
Balances cost-efficiency and control
Facilitates gradual migration to the cloud
Enables use of cloud bursting (expanding workloads into the public cloud during peak demand)
Visual Representation
A Venn diagram or three-pane comparison illustrating the relationships and differences between public, private, and hybrid cloud environments.
0.4 Overview of Major Cloud Providers
The cloud computing landscape is dominated by three major providers:
Amazon Web Services (AWS)
Launched in 2006, AWS is the most comprehensive and widely adopted cloud platform. It offers over 200 fully featured services across global data centers, including compute, storage, database, machine learning, and security services.
Strengths:
Broad service portfolio
Maturity and market leadership
Extensive documentation and certification paths
Microsoft Azure
Azure is deeply integrated with Microsoft's ecosystem, making it a preferred choice for enterprises that rely on Microsoft technologies like Windows Server, Active Directory, and Office 365.
Strengths:
Enterprise-grade support
Seamless integration with Microsoft software
Strong presence in hybrid cloud solutions
Google Cloud Platform (GCP)
GCP is known for its leadership in data analytics, artificial intelligence, and containerization technologies. It powers products such as Google Search and YouTube and offers services like BigQuery and TensorFlow.
Strengths:
Advanced data processing and AI capabilities
Competitive pricing
Developer-friendly tools
Comparative Table (Suggested)
| Feature | AWS | Microsoft Azure | Google Cloud Platform |
| Market Share | Largest | Second largest | Third largest |
| Year Launched | 2006 | 2010 | 2008 |
| Key Strengths | Ecosystem breadth, scalability | Microsoft integration | AI/ML, big data analytics |
| Notable Services | EC2, S3, Lambda | Azure Functions, Blob Storage | BigQuery, Kubernetes Engine |
| Global Regions | 32+ regions, 100+ AZs | 60+ regions | 40+ regions |
0.5 Comparing the Providers
While AWS, Azure, and GCP all offer similar core functionalities—such as virtual machines, object storage, and managed databases—they each have unique features, pricing structures, and target audiences.
AWS is widely regarded for its breadth and depth of services, making it ideal for businesses seeking the most comprehensive platform. Azure is often chosen by organizations already invested in Microsoft software. GCP appeals to those requiring strong AI and data analytics capabilities.
Factors to Consider When Choosing a Provider:
Existing technology stack
Compliance and data sovereignty needs
Budget constraints
Performance and latency requirements
Long-term support and ecosystem
0.6 Why Choose AWS?
There are several reasons why AWS remains a preferred choice for individuals and organizations seeking to adopt cloud computing:
Global Reach: AWS has the most extensive global infrastructure, enabling low-latency performance and high availability worldwide.
Innovation and Service Breadth: With continuous development and deployment of new services, AWS stays at the forefront of cloud technology.
Certifications and Learning Resources: AWS offers a structured certification path (including the Cloud Practitioner), extensive learning content, hands-on labs, and community support.
Enterprise and Startup Friendly: Whether you are building a startup application or managing enterprise-grade workloads, AWS provides solutions to match varying requirements.
Summary
This chapter has introduced the foundational concepts of cloud computing, described the service and deployment models, and compared the three major cloud service providers. Understanding these core principles is essential before diving into AWS-specific services and preparing for the AWS Certified Cloud Practitioner (CLF-C02) exam.
In the next chapter, we will explore AWS-specific cloud concepts, including the benefits of adopting AWS, cloud design principles, and the foundational knowledge needed to navigate the AWS ecosystem effectively.