Chapter 1 Introduction To Cloud Computing
Chapter 1 Introduction To Cloud Computing
Introduction to Cloud
Computing
What Does Computing Mean?
• Computingi the o using comput
technologys to completef a given
process er goal-
oriented task. Computing may
encompass the design and
development of software and
hardware systems for a broad range
of purposes – often structuring,
processing
of scientificand managing
studies, makinganyintellige
kind of
information
systems, – creating
to aid in the pursuitnt
and
media for entertainment and differe
communication. and nt
Computing Generations
1. Mainframe Computing 4. Internet Computing
PC Server
Terminal Internet
Server
Mainframe
2. PC Computing 5. Grid Computing
PC PC Grid
PC
3. Network Computing 6. Cloud Computing
Cloud
PC Server PC
Server
Types of Computing
Distributed Computing
Distributed Computing takes place when multiple
computers and devices connect using a common
network but are separated physically. As a result, a
single task is performed by
various functional units of different and
distributed nodes and units.
Simultaneously, different programs of an application
run on separate nodes. Therefore, communication
takes place
between different nodes of a system over the
network to execute the task
• Grid Computing
• Grid Computing is a process where computers and
devices from various locations work on a single
problem. Further, in this system clusters jointly
execute given tasks. As a result, it applies resources
from multiple computers and nodes.
• Therefore, it is a type of computing environment
that utilizes several and scattered resources. Hence,
these resources provide a functioning environment
for executing a single task.
• Cluster Computing
• In this type of computing environment,
clusters execute tasks. Cluster Computing
allows clusters to work as a set of loosely
or tightly connected computers.
• Consequently, it is viewed as a single
system and executes tasks parallelly.
Hence, it is also similar to a parallel type of
computing environment.
Utility computing
• Utility computing is a service provisioning model that
offers computing resources such as hardware,
software, and network bandwidth to clients as and
when they require them on an on-demand basis. The
service provider charges only as per the consumption
of the services, rather than a fixed charge or a flat
rate.
• Utility computing is a subset of cloud computing,
allowing users to scale up and down based on their
needs. Clients, users, or businesses acquire
amenities such as data storage space, computing
capabilities, applications services, virtual servers, or
even hardware rentals such as CPUs, monitors, and
input devices.
•
Mainframe Vs. Cloud Computing
• Cloud is a return to mainframe computing
• Mainframe
– Offers finite computing power
– Dummy terminals as user interface devices
• Cloud
– Provides almost infinite power and capacity
– PCs can provide local computing and cashing
History of Internet Revolution
• Internet gone through
four revolutions. Resource Elastic Applications
SERVICES
STORAGE COMPUT
(DATABASE) E
FRVFRÿ
Cloud Computing Definition
• Cloud Computing is a delivery model for providing on-
demand IT infrastructure and services over the
internet.
Resource pooling
Rapid elasticity or
expansion
Measured service
• On-demand self service: A consumer can request and
receive access to a services offering without
administrator to full fill the request manually.
• Broad network access: the servers can access from any
location using any type of device-anywhere access
and anytime.
• Resource Pooling: Resource can be storage, memory,
network bandwidth, virtual machine etc. which can be
consumed by the cloud user. Resource pooling means
multiple customers are services from the same physical
resources.
• Measured Services: Pay according to services you use.
• Rapid elasticity and stability: one of the great
thing about cloud computing is ability to quickly
provision resources in the cloud as organization
need them and to remove them quickly when
they don’t need.
• Maintenance
Maintenance of cloud computing applications is
easier, since they do not need to be installed on
each user's computer and can be accessed from
different places. So, it reduces the cost also
• Security: Copy of our data on various servers that
is if one fails, data is safe on other .
Advantages of Cloud Computing
1) Back-up and restore data
Once the data is stored in the cloud, it is easier to get
back-up and restore that data using the cloud.
2) Improved collaboration
Cloud applications improve collaboration by allowing
groups of people to quickly and easily share
information in the cloud via shared storage.
3) Excellent accessibility
Cloud allows us to quickly and easily access store
information anywhere, anytime in the whole world,
using an internet connection. An internet cloud
infrastructure increases organization productivity
and efficiency by ensuring that our data is always
accessible.
4) Low maintenance cost
Cloud computing reduces both hardware and
software maintenance costs for organizations.
5) Mobility
Cloud computing allows us to easily access all
cloud data via mobile.
6) IServices in the pay-per-use model
Cloud computing offers Application Programming
Interfaces (APIs) to the users for access services
on the cloud and pays the charges as per the
usage of service.
7) Unlimited storage capacity
Cloud offers us a huge amount of storing capacity
for storing our important data such as
documents, images, audio, video, etc. in one
place.
8) Data security
Data security is one of the biggest advantages of
cloud computing. Cloud offers many advanced
features related to security and ensures that data
is securely stored and handled.
Disadvantages of Cloud Computing
1) Internet Connectivity:
If you do not have good internet connectivity, you
cannot access these data. However, we have no
any other way to access data from the cloud.
2) Vendor lock-in
Vendor lock-in is the biggest disadvantage of cloud
computing. Organizations may face problems when
transferring their services from one vendor to
another. As different vendors provide different
platforms, that can cause difficulty moving from
one cloud to another.
3) Limited Control
As we know, cloud infrastructure is completely
owned, managed, and monitored by the service
provider, so the cloud users have less control over
the function and execution of services within a
cloud infrastructure.
4) Security
Although cloud service providers implement the best
security standards to store important information.
But, before adopting cloud technology, you should
be aware that you will be sending all your
organization's sensitive information to a third party,
i.e., a cloud computing service provider. While
sending the data on the cloud, there may be a
chance that your organization's information is
hacked by Hackers.
Challenges of Cloud Computing
• Data Lock In: of large volume of data from
one platform to another.
• Data segregation: Isolation of data of each
user.
• Scaling Resources: Sudden Demand of increased
resources may arise.
• Location of data: Geographically stored (Each
country has its own rule)
• Deletion of data: user demand
completes removal of data.
• Recovery and back up:
What is cloud infrastructure?
Cloud infrastructure consists of all of the hardware
and software elements needed for cloud
computing, including:
• Compute (server)
• Networking
• Storage
• Virtualization resources
What is cloud infrastructure management?
• Cloud infrastructure management comprises the processes and
tools needed to effectively allocate and deliver key resources
when and where they are required. The UI, or dashboard, is
a good example of such a tool; it acts as a control panel for
provisioning, configuring and managing cloud
infrastructure. Cloud infrastructure management is useful
in delivering cloud services to both:
• Internal users, such as developers or any other roles
that consume cloud resources.
• External users, such as customers and business
partners.
The Growth of Cloud Computing
How Cloud Computing Works
Database
(Storage) Computer Network
Control
Node
Client
Computer
Application
Servers
SaaS
PaaS IaaS
Cloud Computing
Software as a
Private
Service
Platform as a
Community
Service
Infrastructure as
Public
a Service
Hybrid
Cloud Service Models
– Infrastructure as a Service (IaaS)
• Users acquire processing power, memory, storage etc from cloud
providers .
• These resources are used to deploy and run applications.
– Platform as a Service (PaaS)
• Users can develop their applications using set of tools and
programming languages provided by Cloud service provider
• It allows to focus on developing applications and not to worry
about the underlying infrastructure
– Software as a Service (SaaS)
• Simply make use of web-browser to access software from the
cloud.
• User do not have control to access underlying infrastructure which
is used to host the software
Cloud Service Models
Cloud Computing Services
Who Uses It What Services Why use it?
are available
Business Users E-Mail, Office To complete
Automation, CRM, business tasks
Software as a Service Website Testing,
(SaaS) Wiki, Blog, Virtual
Desktop …
End User
Software as a Service
(SaaS)
Platform as a Service
(Paas)
Infrastructure as a
Service (IaaS)
Some Commercial Clouds
• Windows Azure (PaaS)
– Hosting service for .NET applications and SQL
databases
• Google AppEngine (PaaS)
– Automatic scaling and reliability at the price of a
highly constrained application structure
(3-tier Web application)
• Amazon Web Services (IaaS)
– Includes Scalable Storage Service (S3), Elastic
Computing Cloud (EC2), Elastic Block
Store (EBS)
– Comes with many secondary tools: e-
commerce,
Content-Distribution Network (CDN), etc.
Cloud-based Storage
• An IaaS where the only resource being
managed is the storage space.
• Amazon S3, CloudDIP and Dropbox
– Used to facilitate collaboration between
students
– Allow working together on the same
document.
• BEST IAAS PROVIDERS
• 1. Amazon Web Services
• 2. Microsoft Azure
• 4. Google Cloud
• 4. IBM Cloud
• 5. Oracle Cloud
• 6. Rackspace Cloud
• BEST PAAS PROVIDERS
• Amazon Web Services (AWS) Elastic Beanstalk
• Oracle Cloud Platform (OCP)
• Google App Engine
• Microsoft Azure
• Salesforce aPaaS
• Red Hat OpenShift PaaS
• IBM Cloud Platform
• SAP Cloud Platform
• Engine Yard:
• BEST SAAS PROVIDERS
1. Salesforce.com
2. Microsoft Office 365
3. Box
4. Google Apps
5. Amazon Web Services
6. Concur
7. Zendesk
8. DocuSign
9. Dropbox
10. Slack
Hybrid
Public Private
Community
Cloud Computing
DEPLOYMENT MODELS
Public Cloud
• Service providers offer their resources as services
to general public.
• Offers key benefits to service providers,
including:
– No initial capital investment on infrastructure, and
– shifting of risks to infrastructure providers.
• However, public clouds lack fine-grained control
over data, network and security settings, which
hampers their effectiveness in many business
scenarios.
Private (Internal) Cloud
• Designed for exclusive use by a single
organization.
• May be built and managed by the organization
or by external providers.
• Offers the highest degree of control over
performance, reliability and security.
• However, similar to traditional server farms
and do not provide benefits such as no up-
front capital costs.
Hybrid Cloud
• A combination of public and private cloud models.
• Offers more flexibility than both public and private.
• Part of the service infrastructure runs in private clouds
while the remaining part runs in public clouds.
• Provides better control and security over application
data compared to public clouds, while still providing
on-demand service expansion.
• Requires carefully determining the best split between
public and private cloud components.
Community Cloud
• Shared by several organizations and supports
a specific community having shared concerns
– e.g. mission, security requirements, policy, etc.
• Managed by the organizations or a third party
and may exist on-premises or off-premises.
Cloud-Enabling Technology:
• 1. Broadband networks and internet architecture
• 2. Data center technology
• 3. Virtualization technology
• 4. Multitenant technology
• 1. Broadband networks & Internet architecture
• All clouds must be connected to a network
• Internet’s largest backbone networks, established and
deployed by ISPs, are interconnected by core
routers ISP: internet service provider
2. Data Center Technology
• A data center is a facility used to house
computer systems and associated components,
such as telecommunications and storage
systems
Virtualization
Standardization and Modularity
Automation
Remote Operation and
Management
3. Virtualization technology
Virtualization is a process of converting a physical IT
resource into a virtual IT resource . Server
Virtual server ↔ virtual machine
Storage
Network
Power
Multitenant Technology
• A multi-tenant cloud is a cloud computing architecture
that allows customers to share computing resources
in a public or private cloud. Each tenant's data is
isolated and remains invisible to other tenants.
• In multi-tenant software architecture—also
called software multitenancy—a single instance
of a software application (and its underlying
database and hardware) serves multiple tenants
(or user accounts). A tenant can be an individual
user, but more frequently, it’s a group of users.
• Multitenant applications ensure that tenants do not
have access to data and configuration information that
is not their own. Tenants can individually customize
features of the application, such as:
• User Interface – Tenants can define a specialized “look
and feel” for their application interface.
• Business Process – Tenants can customize the rules,
logic, and workflows of the business processes that are
implemented in the application.
• Data Model – Tenants can extend the data schema of
the application to include, exclude, or rename fields in
the application data structures.
• Access Control – Tenants can independently control the
access rights for users and groups.
• Common characteristics of multitenant applications include:
• Usage Isolation – The usage behavior of one tenant does not affect
the application availability and performance of other tenants.
• Data Security – Tenants cannot access data that belongs to other
tenants.
• Recovery – Backup and restore procedures are separately
executed
for the data of each tenant.
• Application Upgrade – Tenants are not negatively affected by the
synchronous upgrading of shared software artifacts.
• Scalability – The application can scale to accommodate increases in
usage by existing tenants and/or increases in the number of
tenants.
• Metered Usage – Tenants are charged only for the application
processing and features that are actually consumed.
• Data Tier Isolation – Tenants can have individual databases, tables,
and/or schemas isolated from other tenants. Alternatively,
databases, tables, and/or schemas can be designed to be
intentionally shared by tenants.
Organlza1l0n A
clou cloud
d
ho •1ing