0% found this document useful (0 votes)
13 views

Cloud Computing

Uploaded by

vips0276
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

Cloud Computing

Uploaded by

vips0276
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

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.

Measured Service: Resource usage is monitored, controlled, and reported to provide


transparency for both the provider and consumer.

Cloud Computing 1
Phases :
Three phases of cloud computing planning:

Phase Description Steps

- Cloud Computing Value


Proposition: Analyze
requirements like IT management,
Analyzing the customer’s needs cost reduction
1. Strategy Phase and potential problems to create -
a value proposition and strategy. Cloud Computing Strategy
Planning: Develop a strategy
document addressing customer
challenges.

Evaluating potential risks and - Develop business plan


developing a comprehensive plan - Design IT architecture
2. Planning Phase
to ensure cloud computing meets - Define QoS and transformation
customer expectations. plan.

- Picking a Cloud Provider:


Based on SLA (Service Level
Selecting the cloud provider and
Agreement).
3. Deployment Phase ensuring proper maintenance and
-
service delivery.
Maintenance & Service: Ensure
high QoS and technical support.

Cloud Computing 2
Cloud Computing Architecture
Cloud computing architecture is a combination of service-oriented architecture and event-
driven architecture.

Cloud computing architecture is divided into the following two parts -

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.

Difference between Cloud Computing and Grid Computing

Cloud Computing 3
Cloud Computing and Grid Computing:

Feature Cloud Computing Grid Computing

On-demand access to shared Distributed computing using


Definition resources (e.g., servers, storage) multiple computers to solve a
over the internet. single problem.

General-purpose computing and Solving complex computational


Purpose resource provisioning for tasks by dividing them across
businesses and individuals. systems.

Centralized; resources are


Decentralized; resources are
Resource Sharing managed by a single provider
contributed by multiple systems.
(e.g., AWS, Azure).

Highly scalable with automated Limited scalability, depending on


Scalability
scaling based on demand. available systems in the grid.

Accessible via the internet on Requires participation in a grid


Access
demand. network and specific setups.

Pay-as-you-go; charges based No direct cost; relies on shared


Cost
on usage. resources of contributors.

Built-in redundancy and failover Depends on the reliability of


Fault Tolerance
mechanisms. individual systems in the grid.

Managed by a central authority No central authority; distributed


Management
(cloud provider). management.

Hosting websites, data storage, Scientific research, data analysis,


Use Cases
application development, etc. and simulations.

AWS, Google Cloud, Microsoft SETI@Home, Folding@Home,


Examples
Azure. CERN Grid.

Working of Cloud Computing


Cloud computing shifts the workload from local computers to remote servers. Instead of
running heavy applications on personal devices, users access them through the internet using
simple interfaces like web browsers.

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.

It’s a scalable, efficient, and cost-effective solution that simplifies IT infrastructure


management.

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.

VMware Amazon Web


Google
Amazon EC2, vSphere, Services
Application
Google App OpenStack, Health Care (AWS),
Suite (Gmail,
Examples Engine, Microsoft Community Microsoft
Google Drive),
Microsoft Azure Stack, Cloud Azure, Google
Microsoft
Azure IBM Cloud Cloud Platform
Office 365
Private (GCP)

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.

Highly scalable; Scalable within Scalable within


Scalable within Scalable using
users can the resources
the resources from
Scalability easily adjust community’s available
organization’s both public and
resources as shared across multiple
resources. private clouds.
per demand. resources. providers.

Management Managed by Managed either Requires Owned, Requires


the Cloud internally by management of managed, and management
Service the both public and operated by across multiple
Provider (CSP). organization or one or more

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

Disadvantages - Less secure - Higher costs - Complexity in - Not suitable - Increased


due to shared and managing for all management
resources maintenance multiple organizations complexity
- Dependent on - Requires environments - Limited - Potentially
the internet skilled - Dependence scalability higher costs
- Compliance personnel on service options due to multiple
challenges - Limited provider - Potential subscriptions
- Potential scalability reliability conflicts - Integration
- Potentially - Higher among challenges and

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!

Cloud Service Models:

Infrastructure as a Service (IaaS):


IaaS is also known as Hardware as a Service (HaaS). It is a computing infrastructure managed
over the internet. The main advantage of using IaaS is that it helps users to avoid the cost and
complexity of purchasing and managing the physical servers.

Characteristics of IaaS
There are the following characteristics of IaaS -

Resources are available as a service

Cloud Computing 8
Services are highly scalable

Dynamic and flexible

GUI and API-based access

Automated administrative tasks

Example: DigitalOcean, Linode, Amazon Web Services (AWS), Microsoft Azure, Google
Compute Engine (GCE), Rackspace, and Cisco Metacloud.

Platform as a Service (PaaS)


PaaS cloud computing platform is created for the programmer to develop, test, run, and
manage the applications.

Characteristics of PaaS
There are the following characteristics of PaaS -

Accessible to various users via the same development application.

Integrates with web services and databases.

Builds on virtualization technology, so resources can easily be scaled up or down as per


the organization's need.

Support multiple languages and frameworks.

Provides an ability to "Auto-scale".

Example: AWS Elastic Beanstalk, Windows Azure, Heroku, Force.com, Google App Engine,
Apache Stratos, Magento Commerce Cloud, and OpenShift.

Software as a Service (SaaS)


SaaS is also known as "on-demand software". It is a software in which the applications are
hosted by a cloud service provider. Users can access these applications with the help of
internet connection and web browser.

Cloud Computing 9
Characteristics of SaaS
There are the following characteristics of SaaS -

Managed from a central location

Hosted on a remote server

Accessible over the internet

Users are not responsible for hardware and software updates. Updates are applied
automatically.

The services are purchased on the pay-as-per-use basis

Example: BigCommerce, Google Apps, Salesforce, Dropbox, ZenDesk, Cisco WebEx, ZenDesk,
Slack, and GoToMeeting

Service Model What It Provides Real-life Example Who Manages What

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

Provider manages everything


Gmail, Office 365,
SaaS Fully managed software (software, updates,
Netflix
infrastructure)

Virtualization in Cloud Computing


Virtualization is the "creation of a virtual (rather than actual) version of something, such as a
server, a desktop, a storage device, an operating system or network resources".

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.

What is the concept behind the Virtualization?

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.

2. Operating system 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.

Virtualization means abstraction. Hardware virtualization is accomplished by abstracting the


physical hardware layer by use of a hypervisor or VMM (Virtual Machine Monitor).

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.

Enables creation, management, and isolation of VMs.

2) Operating System Virtualization:


When the virtual machine software or virtual machine manager (VMM) is installed on the Host
operating system instead of directly on the hardware system is known as operating system
virtualization.

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.

Types of Server Virtualization


1. Hypervisor
In the Server Virtualization, Hypervisor plays an important role. It is a layer between
the operating system (OS) and hardware. There are two types of hypervisors.

Type 1 hypervisor ( also known as bare metal or native hypervisors)

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. The guest operating systems running inside the 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:

Compatible with any OS.

Easy to use and set up.

Disadvantages:

Slower because the hypervisor has to simulate everything.

Uses more resources.

Example: VMware Workstation, Microsoft Hyper-V.

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:

Faster performance because it reduces unnecessary work.

Uses fewer resources.

Disadvantages:

Only works with modified operating systems.

Not compatible with every OS.

Example: Xen.

Cloud Computing 12
Key Differences in Table Form:

Aspect Full Virtualization Para Virtualization

Guest OS Modification Not required Required

Slower due to hardware Faster due to direct


Performance
simulation communication

Compatibility Compatible with unmodified OS Limited to modified OS only

Overhead Higher overhead Lower overhead

VMware Workstation, Microsoft


Examples Xen
Hyper-V

Uses of Server Virtualization


A list of uses of server virtualization is given below -

Server Virtualization is used in the testing and development environment.

It improves the availability of servers.

It allows organizations to make efficient use of resources.

It reduces redundancy without purchasing additional hardware components.

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.

Storage virtualization is also implemented by using software applications.

Cloud Service Providers Overview:


1. Amazon Web Services (AWS): Scalable, cost-effective cloud services including
computing, database storage, and security features.

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.

6. Oracle Cloud: Comprehensive tools for application management, supporting multiple


programming languages with strong integration.

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.

Distributed Parallel Computing and Cloud


Computing:
Aspect Distributed Parallel Computing Cloud Computing

A model that delivers computing


A computing model where
services (storage, processing,
multiple processors work
Definition networking) over the internet,
simultaneously on separate tasks
providing on-demand access to
to solve a problem faster.
resources.

Providing scalable, on-demand


Speeding up computations by
access to computing resources
Primary Focus dividing tasks and executing them
(e.g., virtual machines,
in parallel.
databases).

Resources are managed by the


Typically requires custom cloud service provider (e.g.,
Resource Management software to manage distributed AWS, Azure), and users are
systems and their communication. abstracted from the underlying
infrastructure.

Supercomputers, high-
Amazon Web Services (AWS),
Example performance computing systems,
Microsoft Azure, Google Cloud.
scientific research simulations.

Less flexible, as it is generally Highly flexible, with a wide range


Flexibility designed for specific tasks and of services for different use
setups. cases (e.g., IaaS, PaaS, SaaS).

Can scale horizontally by adding


Easily scalable, often with just a
more machines to the distributed
Scalability few clicks, to handle increasing
system, but often requires
workloads.
complex configuration.

Web hosting, data storage,


Scientific computing, simulations,
Use Case application hosting, disaster
AI, and big data processing.
recovery.

High complexity due to the Low complexity, as cloud


Management Complexity coordination required between providers handle infrastructure
distributed nodes. and maintenance.

In short, Distributed Parallel Computing is focused on dividing computational tasks across


multiple machines to increase speed, while Cloud Computing offers a broad range of
computing resources over the internet, providing flexibility, scalability, and ease of use for
various applications.

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

Popular platform for building and Application containers,


Docker
managing containers. microservices.

Open-source platform for


Large-scale container
Kubernetes automating container
orchestration.
orchestration.

Enterprise container platform Enterprise container


OpenShift
based on Kubernetes. orchestration and deployment.

Managed container service by


Amazon ECS Container orchestration on AWS.
AWS.

Daemonless container Rootless containers, enhanced


Podman
management tool. security.

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.

Docker and Kubernetes:

Cloud Computing 15
Aspect Docker Kubernetes

Orchestration system for


Platform for creating and running
Definition managing containerized
containers.
applications.

Build, package, and run Manage and scale containers


Purpose
containers. across clusters.

Automate container deployment,


Main Function Run individual containers.
scaling, and management.

Running containers on a single Orchestrating containers across


Use Case
machine. multiple machines.

Multiple containers across


Scope Individual containers.
clusters.

Automatic scaling of containers


Scaling Manual scaling on a single host.
across nodes.

Docker: Focuses on creating and running containers.

Kubernetes: Focuses on orchestrating containers at scale across multiple machines.

Virtual Machines (VMs) and Containers:


Aspect Virtual Machines (VMs) Containers

Lightweight packages that bundle


Fully isolated instances that run
an application and its
Definition an operating system on a
dependencies, sharing the host
hypervisor.
OS kernel.

Lower, as containers share the


Higher, as each VM includes a full
Resource Overhead host OS kernel and only package
operating system.
the application.

Stronger isolation due to separate Weaker isolation, as containers


Isolation
OS environments. share the same OS kernel.

Slower due to the overhead of Faster, as containers are more


Performance
running a full OS in each VM. lightweight and start quickly.

Suitable for running applications


Ideal for microservices, cloud-
Use Case requiring full isolation or different
native apps, and rapid scaling.
OSs.

Containers are easier to deploy


VMs require hypervisor and and manage, often with
Management
additional management tools. orchestration tools like
Kubernetes.

Less portable, as they are tied to More portable, as they can run
Portability specific hypervisor and consistently across different
infrastructure. environments.

VMware, Microsoft Hyper-V,


Example Docker, Kubernetes, OpenShift.
Oracle VirtualBox.

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.

Continuous Integration (CI) and Continuous


Delivery (CD)
They are practices that help automate and streamline the software development process,
aiming for faster and more reliable software delivery. Here's a breakdown:

1. Continuous Integration (CI)


Definition: CI involves automatically integrating code changes into a shared repository
multiple times a day. Every change is automatically tested to ensure it doesn't break the
application.

Key Features:

Developers commit code frequently (multiple times a day).

Automated testing ensures new code doesn't break the existing system.

Helps identify bugs early in the development process.

Benefits:

Faster detection of errors.

Reduced integration issues.

Better collaboration among developers.

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.

2. Continuous Delivery (CD)


Definition: CD extends CI by automating the release process, ensuring that code is always
in a deployable state. Every change that passes automated tests is automatically prepared
for production deployment.

Key Features:

Code is automatically deployed to a staging environment or production after passing


tests.

The process ensures code is always ready to be released at any time.

Often includes automated performance and security testing.

Benefits:

Faster delivery of new features to users.

Higher reliability with fewer manual interventions.

Cloud Computing 17
Continuous feedback for product improvements.

Example: After successful integration in CI, the application is automatically deployed to a


staging server where further tests (e.g., performance, security) are run before production
deployment.

CI/CD Pipeline
A CI/CD pipeline is a series of automated steps that take the code from development to
production. Common steps include:

Code Commit: Developers push code changes to a version control system.

Build: The code is compiled and packaged.

Test: Automated tests verify the quality and correctness of the code.

Deploy: The code is deployed to a staging or production environment.

Summary:
CI: Focuses on integrating and testing code frequently.

CD: Focuses on automatically delivering code to staging or production after testing.

CI/CD together ensure faster, more reliable, and consistent software releases.

Cloud Computing 18

You might also like