Chapter 1 Introduction To Cloud Computing
Chapter 1 Introduction To Cloud Computing
Introduction to Cloud
Computing
What Does Computing Mean?
• Computing is the process of using computer
technology to complete a given goal-oriented
task. Computing may encompass the design
and development of software and hardware
systems for a broad range of purposes –
often structuring, processing and managing
any kind of information – to aid in the pursuit
of scientific studies, making intelligent
systems, and creating and using different
media for entertainment and communication.
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 COMPUTE
(DATABASE)
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
Software as a Service Automation, CRM, business tasks
(SaaS) Website Testing,
Wiki, Blog, Virtual
Desktop …
Developers and Service and Create or deploy
Deployers application test, applications and
Platform as a Service
(PaaS) development, services for users
integration and
deployment
System Virtual machines, Create platforms
Managers operating systems, for service and
Infrastructure as a message queues, application test,
Service (IaaS) networks, storage, development,
CPU, memory, integration and
backup services deployment
Cloud Computing Layers
Resources Managed at each layer
End User
Service Provider (SaaS)
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
cloud cloud
ho •1ing