Cloud Computing
Cloud Computing
Definition: Cloud computing refers to the delivery of computing services over the internet
("the cloud"). These services include storage, processing, and software applications.
Instead of owning and maintaining physical servers, users can access resources hosted in
remote data centers.
The term cloud refers to a network or the internet. It is a technology that uses remote
servers on the internet to store, manage, and access data online rather than local drives.
The data can be anything such as files, images, documents, audio, video, and more.
Key Characteristics:
On-demand Self-Service: Users can access resources as needed without human
interaction from the service provider.
Broad Network Access: Services are accessible over the network via various devices (e.g.,
laptops, smartphones, tablets).
Resource Pooling: Multiple users share the same resources dynamically allocated based
on demand.
Rapid Elasticity: Resources can be scaled up or down quickly, depending on user needs.
Cloud Computing 1
Phases :
Three phases of cloud computing planning:
Cloud Computing 2
Cloud Computing Architecture
Cloud computing architecture is a combination of service-oriented architecture and event-
driven architecture.
Front End
Back End
Front End
The front end is used by the client. It contains client-side interfaces and applications that are
required to access the cloud computing platforms. The front end includes web servers
(including Chrome, Firefox, internet explorer, etc.), thin & fat clients, tablets, and mobile
devices.
Back End
The back end is used by the service provider. It manages all the resources that are required to
provide cloud computing services. It includes a huge amount of data storage, security
mechanism, virtual machines, deploying models, servers, traffic control mechanisms, etc.
Cloud Computing 3
Cloud Computing and Grid Computing:
Cloud Computing 4
Remote servers handle all processing, storage, and software management, reducing hardware
and software requirements for users. This approach enables businesses to save money on
software licenses and hardware upgrades while providing employees seamless access to tools
and programs as needed.
Applications:
Types of Cloud:
Cloud Computing 5
Community
Parameter Public Cloud Private Cloud Hybrid Cloud Multi-Cloud
Cloud
A cloud
Combines A cloud
infrastructure Utilizes multiple
Accessible to public and infrastructure
operated solely cloud services
the general private clouds, shared by
for one from different
public through allowing data several
Definition organization, providers to
the internet on and organizations
offering meet various
a pay-per- applications to with similar
enhanced business
usage basis. be shared interests or
control and needs.
between them. needs.
security.
Integration of
Available to public and Accessible to a Utilization of
Dedicated to a
anyone with an private clouds, specific multiple cloud
Accessibility single
internet allowing the community of service
organization.
connection. use of both organizations. providers.
environments.
Varied;
Not shared; Shared among Shared among
Shared Shared among depends on the
dedicated community different cloud
Infrastructure multiple users. specific setup
infrastructure. members. providers.
and integration.
Cloud Computing 6
by a third-party private organizations in cloud
provider. components. the community environments.
or a third party.
Mixed; public
cloud can
Shared costs Variable
Pay-per-usage Infrastructure provide cost-
among depending on
model; costs investment effectiveness
community usage;
associated with required, for non-
Cost members, potential for
the actual generally sensitive
which can be increased costs
resources higher upfront workloads
more cost- due to multiple
used. costs. while keeping
efficient. subscriptions.
critical data on
private clouds.
Varied; security
Varies; public Enhanced
Higher control can depend on
Provider's cloud security for the
and enhanced the
responsibility; resources are community;
security configuration
Security generally lower less secure measures are
measures; and
than private than private tailored to
suitable for management of
cloud security. cloud ones for community
sensitive data. multiple
sensitive data. needs.
providers.
Varied;
Variable; organizations
High control; Customizable
Limited control depends on can choose
customizable to options
and organization’s optimal
meet specific available to
Customization customization; needs and services based
business needs meet unique
standardized configurations on their
and compliance community
offerings. across both requirements
requirements. needs.
environments. from different
providers.
- Lower
- Cost-effective
ownership - Higher - Offers the
due to shared - Avoids vendor
costs security and benefits of both
costs lock-in
- No privacy public and
- Better - Cost and
maintenance - Better private clouds
security than service
concerns performance - Cost
Advantages public clouds optimization
- Location and reliability optimization
-Collaboration - Access to
independence - Full control - Improved
opportunities specialized
- High over data disaster
- Community- services across
scalability - Customizable recovery
focused providers.
- Rapid solutions strategies
services
deployment
Cloud Computing 7
unexpected slower integration community compatibility
costs deployment costs members issues
- Shared
resource
limitations
This table brings forward all the critical information related to the various types of cloud
computing, allowing for an in-depth comparison and understanding of each model. Feel free to
format it as needed for your use!
Characteristics of IaaS
There are the following characteristics of IaaS -
Cloud Computing 8
Services are highly scalable
Example: DigitalOcean, Linode, Amazon Web Services (AWS), Microsoft Azure, Google
Compute Engine (GCE), Rackspace, and Cisco Metacloud.
Characteristics of PaaS
There are the following characteristics of PaaS -
Example: AWS Elastic Beanstalk, Windows Azure, Heroku, Force.com, Google App Engine,
Apache Stratos, Magento Commerce Cloud, and OpenShift.
Cloud Computing 9
Characteristics of SaaS
There are the following characteristics of SaaS -
Users are not responsible for hardware and software updates. Updates are applied
automatically.
Example: BigCommerce, Google Apps, Salesforce, Dropbox, ZenDesk, Cisco WebEx, ZenDesk,
Slack, and GoToMeeting
Basic resources like AWS, Microsoft Azure You manage the software and
IaaS
servers, storage (Cloud Servers) infrastructure
Platform to build and Google App Engine, Provider manages platform and
PaaS
deploy applications Heroku infrastructure
In other words, Virtualization is a technique, which allows to share a single physical instance of
a resource or an application among multiple customers and organizations. It does by assigning
a logical name to a physical storage and providing a pointer to that physical resource when
demanded.
Cloud Computing 10
Creation of a virtual machine over existing operating system and hardware is known as
Hardware Virtualization. A Virtual machine provides an environment that is logically separated
from the underlying hardware.
The machine on which the virtual machine is going to create is known as Host Machine and
that virtual machine is referred as a Guest Machine
Types of Virtualization:
1. Hardware Virtualization.
3. Server Virtualization.
4. Storage Virtualization.
1) Hardware Virtualization:
When the virtual machine software or virtual machine manager (VMM) is directly installed on
the hardware system is known as hardware virtualization.
The main job of hypervisor is to control and monitoring the processor, memory and other
hardware resources.
Key Role:
Virtualizes hardware for efficient resource utilization.
3) Server Virtualization:
When the virtual machine software or virtual machine manager (VMM) is directly installed on
the Server system is known as server virtualization.
Server Virtualization is the process of dividing a physical server into several virtual servers,
called virtual private servers. Each virtual private server can run independently.
Cloud Computing 11
Type 2 hypervisor ( also known as hosted or Embedded hypervisors)
The hypervisor is mainly used to perform various tasks such as allocate physical hardware
resources (CPU, RAM, etc.) to several smaller independent virtual machines, called "guest" on
the host machine.
In hypervisor-based virtualization, there are typically two layers:
1. The hypervisor layer (Type 1 or Type 2) which manages the virtual machines (VMs).
2. Full Virtualization
What It Is:
The hypervisor (software) creates a complete copy of hardware so that each virtual
machine (VM) thinks it has its own physical computer.
How It Works:
The guest OS does not know it’s virtualized. It runs as if it’s on real hardware without
needing any changes.
Advantages:
Disadvantages:
3. Para Virtualization
What It Is:
In this method, the guest OS is aware that it’s running in a virtual environment and
communicates directly with the hypervisor.
How It Works:
The guest OS is modified to interact with the hypervisor, skipping the need to simulate
hardware fully.
Advantages:
Disadvantages:
Example: Xen.
Cloud Computing 12
Key Differences in Table Form:
4) Storage Virtualization:
Storage virtualization is the process of grouping the physical storage from multiple network
storage devices so that it looks like a single storage device.
2. Microsoft Azure: Compatible with various systems, offering quick app management and
IaaS infrastructure across platforms.
3. Google Cloud Platform: High-performance services for big data and serverless computing,
supporting seamless migration.
4. IBM Cloud: Open-source platform with advanced AI tools, providing IaaS, PaaS, and SaaS
services.
5. VMware Cloud: Software-defined data center for hybrid cloud environments, ensuring
customer data protection.
7. Red Hat: Open standard virtualization focused on Linux, offering reliable, flexible storage
and performance.
Cloud Computing 13
8. DigitalOcean: Developer-friendly cloud provider for web app deployment, using KVM
hypervisor for efficient resource allocation.
9. Rackspace: Offers cloud hosting, backup, and storage services with efficient management
for private and public clouds.
10. Alibaba Cloud: Scalable data management services with a global presence, including e-
commerce supports.
Supercomputers, high-
Amazon Web Services (AWS),
Example performance computing systems,
Microsoft Azure, Google Cloud.
scientific research simulations.
Cloud Computing 14
Containerization
Containerization is a way of packaging an application and its dependencies (libraries, system
tools, configurations) into a container. A container is a lightweight, standalone, and executable
software package that includes everything needed to run a piece of software. The idea is to
ensure that the application runs consistently, no matter where it is deployed.
Key Concepts:
1. Isolation: Each container is isolated from others and the host system, so different
containers can run different versions of the same software without conflict.
2. Lightweight: Containers share the underlying operating system's kernel (the core part of
the OS) but run in isolated user spaces. This makes them much more efficient than
traditional virtual machines, which require a full OS for each instance.
3. Portability: Since containers include everything the application needs, they can be run
anywhere—on a developer's laptop, a testing server, or in the cloud—without modification.
4. Consistency: Containers ensure that an application behaves the same way across different
environments. This removes the "it works on my machine" problem where code runs fine
on a developer’s machine but not in production.
5. Version Control: You can easily update and manage versions of containers, making it
easier to manage changes to applications.
Container technologies:
Container Technology Description Use Case
Container Orchestration:
Definition: Container orchestration is the process of automating the management of
multiple containers at scale. It involves deploying, scaling, monitoring, and networking
containers across a cluster of machines.
Cloud Computing 15
Aspect Docker Kubernetes
Less portable, as they are tied to More portable, as they can run
Portability specific hypervisor and consistently across different
infrastructure. environments.
Cloud Computing 16
In summary, VMs are better for full isolation with separate OSs, while Containers are more
lightweight, faster, and ideal for modern, scalable applications.
Key Features:
Automated testing ensures new code doesn't break the existing system.
Benefits:
Example: Developers working on a feature branch frequently commit their changes to GitHub
or GitLab, and automated tests run every time new code is integrated to ensure it works with
the existing code.
Key Features:
Benefits:
Cloud Computing 17
Continuous feedback for product improvements.
CI/CD Pipeline
A CI/CD pipeline is a series of automated steps that take the code from development to
production. Common steps include:
Test: Automated tests verify the quality and correctness of the code.
Summary:
CI: Focuses on integrating and testing code frequently.
CI/CD together ensure faster, more reliable, and consistent software releases.
Cloud Computing 18