Cloud Computing 101
Cloud Computing 101
Computing
By: Ahmad Shata
Syllabus
Virtualization
What is Cloud History and
vs
Computing? Cloud
Containerizati
Evolution
on
On-premise Vs Cloud
• location
• Control
• Security
• Compliance
• Cost
• Time To Market
(TTM)
Cloud computing is the on-demand delivery of IT resources over the
Internet with pay-as-you-go pricing. Instead of buying, owning, and
maintaining physical data centers and servers, you can access
technology services, such as computing power, storage, and databases,
on an as-needed basis from a cloud service provider.
What is Cloud Computing?
On-premise Vs Cloud
Key Differences of On-Premise vs. Cloud
Deployment (Location)
On-premise Vs Cloud
Key Differences of On-Premise vs. Cloud
Control
On-premise Vs Cloud
Key Differences of On-Premise vs. Cloud
Security
On Premises: Companies that have extra sensitive information, such as
government and banking industries must have a certain level of security
and privacy that an on-premises environment provides. Despite the
promise of the cloud, security is the primary concern for many
industries, so an on-premises environment, despite some of its
drawbacks and price tag, make more sense.
On-premise Vs Cloud
Key Differences of On-Premise vs. Cloud
Compliance
On Premises: Many companies operate under some form of regulatory
control, regardless of the industry. Perhaps the most common one is the
Health Insurance Portability and Accountability Act (HIPAA) for private
health information, and other government and industry regulations. For
companies that are subject to such regulations, they must remain
compliant and know where their data is all the time.
On-premise Vs Cloud
Key Differences of On-Premise vs. Cloud
Time To Market (TTM)
On Premises:
• Procurement Delays
• Setup and Configuration
• Geographic Limitations
• Upfront Payment
Cloud:
• No Hardware Procurement Delays
• Pre-configured Services
• Global Reach
• Pay-as-You-Go Model
Advantages
Cloud computing gives your business more flexibility. You can quickly scale
resources and storage up to meet business demands without having to
invest in physical infrastructure.
Cost savings
Whatever cloud service model you choose, you only pay for the resources
you actually use. This helps you avoid overbuilding and overprovisioning
your data center and gives your IT teams back valuable time to focus on
more strategic work.
Better collaboration
Cloud storage enables you to make data available anywhere you are,
anytime you need it. Instead of being tied to a location or specific device,
people can access data from anywhere in the world from any device—as
long as they have an internet connection.
Advantages
Advanced security
Reputable cloud providers also hire top security experts and employ the
most advanced solutions, providing more robust protection.
Cloud providers offer backup and disaster recovery features. Storing data
in the cloud rather than locally can help prevent data loss in the event of
an emergency, such as hardware malfunction, malicious threats, or even
simple user error.
Disadvantages
Internet Dependency
Concerns about data security and privacy arise when sensitive data is
stored on the cloud. Businesses must have faith in the cloud service
provider's security procedures, data encryption, access controls, and
regulatory compliance. Unauthorized access to data or data breaches can
Disadvantages
Hypervisor
Type 1 Hypervisor
Most common in enterprise data centers, a type 1
hypervisor replaces the host’s operating system and lies
right on top of the hardware. For this reason, type 1
hypervisors are also called bare metal hypervisors or
embedded hypervisors.
Type 2 Hypervisors
A type 2 hypervisor is hosted, running as software on
the O/S, which in turn runs on the physical hardware.
This form of hypervisor is typically used to run
multiple operating systems on one personal
computer, such as to enable the user to boot into
either Windows or Linux.
With virtualization, you could split one of the servers into two virtual machines
and cut your maintenance costs by 33%. This means one server could handle
email and web traffic, another could host all business applications, and the
third could be retired to save costs or repurposed for some other IT service.
Containerization
Docker
Docker is an open-source framework that enables
developers to build, deploy, run, update and manage
containers.
Docker utilizes LXC (Linux Containers) which refers to capabilities of the Linux
kernel (specifically namespaces and control groups) which allow sandboxing
processes from one another and controlling their resource allocations.
On top of this low-level foundation of kernel features, Docker offers a high-
level tool with several powerful functionalities.
Namespace gives the isolation for the container with the underline host.
Cgroups gives the ability to allocate resources to the containers.
1. Docker Engine: The core component of Docker that enables container
management. It includes the Docker daemon (dockerd), which runs as a
background service, and the Docker CLI (docker), which provides a command-
line interface for interacting with Docker.
4. Docker Registry: A repository that stores Docker images. Docker Hub is the
default public registry that allows developers to access and share images.
Virtualization vs Containerization
Virtualization vs Containerization
1. Resource Overhead
When comparing containerization vs virtualization in terms of resource
overhead, containerization is the clear winner. Because containers share
the host system’s operating system, and do not need to run a full operating
system, they are significantly more lightweight and consume fewer
resources. Virtual machines, on the other hand, each require their own OS,
which increases the overhead, especially when many VMs are running on
the same host system.
2. Startup Time
In general, containers start up more quickly than VMs, because they don’t
have to start up an entire operating system. Virtual machines take much
longer to boot up. This means containers are more flexible and can be torn
down and restarted whenever needed, supporting immutability, which
means that a resource never changes after being deployed.
Virtualization vs Containerization
3. Portability
Both containers and virtual machines offer a high degree of portability.
However, containers have a slight edge because they package the
application and all of its dependencies together into a single unit, which
can be run on any system that supports the container platform. Virtual
machines, while also portable, are more dependent on the underlying
hardware.
4. Security Isolation
In terms of security isolation, virtual machines have the advantage.
Because each VM is completely isolated from the host system and other
VMs, a security breach in one VM typically does not affect the others
(although it is possible to compromise the hypervisor and take control of all
VMs on the device). Containers, while isolated from each other, still share
the host system’s OS, so a breach in one container could possibly leak to
Virtualization vs Containerization
• Public Cloud
• Private Cloud
• Hybrid Cloud
• Multi-Cloud
Deployment Models
Public Cloud Model
Public cloud is a commonly adopted cloud model, where the cloud services provider owns the
infrastructure and openly provides access to it for the public to consume.
As the service provider owns the hardware and supporting networking infrastructure, it is under the
service provider’s full control. The service provider is responsible for the physical security,
maintenance, and management of the data center where the infrastructure resides. The underlying
infrastructure is, therefore, outside of the customer’s control and also away from the customer’s
physical location.
Examples: Microsoft Azure, Amazon AWS, Google Cloud, Oracle Cloud.
A private cloud can be thought of as an environment that is fully owned and managed by a
single tenant. This option is usually chosen to alleviate any data security concerns that might exist
with the public cloud offering. Any strict cloud governance requirements can also be more easily
adhered to, and the private cloud can be more easily customized.
Full control of the hardware can lead to higher performance. A customer will typically run a private
cloud within their own building (on-premises) or purchase rack space in a data center in which to
host their infrastructure.
However, the responsibility to manage the infrastructure also falls to the customer, creating a need
for more staff with wider skills and increasing costs.
Examples: On-premises data centers using OpenStack or VMware.
The hybrid model combines both public and private cloud deployment models giving a single
cloud infrastructure that is aimed at increasing flexibility and deployment options for the business.
For example, applications with strict governance and data security requirements may be hosted in
the business private cloud, whereas applications without these concerns, which need to be scaled on
demand, could be hosted in the public cloud.
Examples: Using a private cloud for sensitive data and a public cloud for other operations.
What It Offers:
Virtualized computing resources like virtual machines (VMs), storage, and
networks.
Users control the operating system and applications.
Features:
Full control over the operating system and runtime.
Ideal for businesses needing customizable environments.
Requires technical expertise to manage.
Examples:
AWS EC2 (Elastic Compute Cloud)
Google Compute Engine
Azure Virtual Machines
Use Cases:
Hosting a website or application with custom configurations.
Service Models
Platform as a Service (PaaS)
What It Offers:
A complete development and deployment environment, abstracting
infrastructure complexities.
Provides tools, libraries, and frameworks for developers..
Features:
Developers focus only on coding and deploying applications.
Middleware and runtime are preconfigured.
Lower operational overhead compared to IaaS.
Examples:
AWS Elastic Beanstalk
Google App Engine
Microsoft Azure App Service.
Use Cases:
Developing mobile apps quickly.
Service Models
Software as a Service (SaaS)
What It Offers:
Ready-to-use software applications accessible over the internet.
No installation or management of underlying infrastructure.
Features:
Fully managed by the service provider.
Accessible through web browsers or lightweight client software.
Subscription-based pricing models.
Examples:
Google Workspace (formerly G Suite): Gmail, Google Docs, Sheets, etc.
Microsoft Office 365: Cloud-based Word, Excel, PowerPoint.
Use Cases:
Collaborative work (e.g., Google Docs).
Communication (e.g., Zoom, Slack).
Service Models
A simple analogy to help remember the difference between IaaS, PaaS, SaaS, and
serverless is to think of the models like eating a cake. You could make your own from
scratch (on-premises data center), where you buy all the basic ingredients to make
everything like the flour and milk.
However, most of us generally don’t have enough time or don’t want to spend so much
time and effort to eat a cake.
IaaS: Buying pre-packed ingredients like fresh milk and flour made by someone else that
you use to cook at home.
PaaS: Order takeout or delivery where your cake is prepared for you and you don’t have
to worry about the ingredients or how you’ll bake it, but you have to worry about the final
look of the cake in terms of garnishing and customizing the final look,
SaaS: Call ahead to the bakery and order the exact cake you want. They prepare
everything ahead of time for you so that all you have to do is show up and eat.
On-premise IaaS PaaS SaaS
You manage
CSP manages
Middleware
Middleware is software that acts as a bridge between different applications, systems, or
components. It enables communication, data exchange, and functionality between separate or
incompatible systems.
Role of Middleware
Middleware typically sits between the operating system and the application. It provides services
such as messaging, authentication, and database access that are not provided by the operating
system itself.
Examples of Middleware
1.Database Middleware:
1. Connects applications to databases.
2. Example: JDBC (Java Database Connectivity) for Java applications to interact with databases
like MySQL or PostgreSQL.
2.Message-Oriented Middleware (MOM):
1. Enables asynchronous communication between distributed systems.
2. Example: Apache Kafka, RabbitMQ.
3.API Gateways:
1. Manage API requests and responses in a scalable and secure manner.
2. Example: AWS API Gateway.
4.Web Servers:
1. Act as middleware between client-side requests (via browsers) and the backend.
Cloud Service Providers (CSPs)
Microsoft
Google Cloud Platform Azure
AWS
AWS Infrastructure
AWS Regions
Examples of Regions:
• us-east-1 (North Virginia, USA)
• eu-west-1 (Ireland)
AWS Infrastructure
Availability Zones (AZs)
An Availability Zone is a distinct physical location
within a region. Each AZ has its own power, cooling,
and networking to ensure independence. Each
region has at least 2 AZs