Cloud Computing
Lecturer Dr. Mohammed Ameen Rajeh
Contents
➢Introduction
➢What is Cloud Computing?
➢Characteristics of cloud computing
➢Advantages and risks of Cloud Computing
➢Cloud Architectures and Functionality
➢Cloud deployment models
➢Cloud Service models
What is cloud computing?
➢“a style of computing in which massively scalable IT-related capabilities
are provided “as a service” using Internet technologies to multiple
external customers”
(Gartner 2008b)
➢“ Large-scale distributed computing paradigm that is driven by
economies of scale, in which a pool of abstracted, virtualized,
dynamically-scalable, managed computing power, storage, platforms,
and services are delivered on demand to external customers over the
Internet.”
Foster et al. (2008)
What is cloud computing?
➢Cloud computing is Internet-based computing, whereby shared
resources, software, and information are provided to computers and
other devices on demand, like the electricity grid.
Wikipedia
➢A Cloud is a type of parallel and distributed system consisting of a
collection of interconnected and virtualized computers that are
dynamically provisioned and presented as one or more unified
computing resources based on service-level agreements established
through negotiation between the service provider and consumers.
Buyya
What is cloud computing?
“Clouds are a large pool of easily usable and accessible virtualized
resources (such as hardware, development platforms and/or services).
These resources can be dynamically reconfigured to adjust to a variable
load (scale), allowing also for an optimum resource utilization. This pool
of resources is typically exploited by a pay-per-use model in which
guarantees are offered by the Infrastructure Provider by means of
customized SLAs.”
Vaquero et al. (2008)
Motivation for cloud
computing
➢Cost
➢Availability
➢Reliability
Essential Characteristics of Cloud
Computing
Essential Characteristics of
Cloud Computing
➢On-demand self-services:
➢ The Cloud computing services does not require any human administrators, user themselves are
able to provision, monitor and manage computing resources as needed.
➢Broad network access:
➢ The Computing services are generally provided over standard networks and heterogeneous
devices.
➢Rapid elasticity:
➢ The Computing services should have IT resources that are able to scale out and in quickly and on as
needed basis. Whenever the user require services it is provided to him and it is scale out as soon
as its requirement gets over.
➢Resource pooling:
➢ The IT resource (e.g., networks, servers, storage, applications, and services) present are shared
across multiple applications and occupant in an uncommitted manner. Multiple clients are
provided service from a same physical resource.
➢Measured service:
➢ The resource utilization is tracked for each application and occupant, it will provide both the user
and the resource provider with an account of what has been used. This is done for various reasons
like monitoring billing and effective use of resource
Massive scale
Availability Homogeneity
Common
characteristics
Advanced Geographic
Security Distribution
Service
oriented
Common characteristics of
Cloud Computing
➢Massive scale
➢Homogeneity
➢Geographic Distribution
➢Service oriented (Pay as you go)
➢Advanced Security
➢Availability
Economical
Proper
Security Reliability
Cloud
Advantages
Data Manageability
Centralization
Cloud Advantages
➢Economical
➢ Save the cost of the infrastructure
➢ Remove the administrative and operational costs.
➢ Minimize maintenance and licensing software
➢Reliability
➢ Secure data storage
➢ Several copies of the data are made.
➢ Redundant IT resources.
➢Manageability
➢ The only thing, which the user has to manage is a device and an internet connection
➢Data Centralization
➢ The data stored in one location so that it can be accessed from different remote places
➢Proper Security
➢ The service vendors select the highest level of security of the data. For which a user can set
a proper audition, passwords, and encryption
Cloud cost Model
Security &
privacy
incomplete
Lock-in
data deletion
Risks
Internet Isolation
access Failure
Risks
➢Security & privacy :
◦ Data management and infrastructure management in cloud is provided by third-
party
➢Lock-in
◦ It is very difficult for the customers to switch from one Cloud Service Provider
(CSP) to another.
➢Isolation Failure
◦ This risk involves the failure of isolation mechanism that separates storage,
memory, routing between the different Tenants
➢. Internet access:
◦ no Internet access means no Cloud access
➢Insecure or incomplete data deletion
◦ It is possible that the data requested for deletion may not get deleted. It happens
either because extra copies of data are stored but are not available or disk
destroyed also stores data from other tenants.
Technology Convergence
Architecture
❑ Front End
❑The client interfaces which help to
access the cloud computing
❑Example- Browser or an app
created by the company itself.
❑Back End
❑Services
❑Management
❑Infrastructure
Cloud Architecture
➢Layer 1 (User/Client Layer)
➢ . All the users or client belong to this layer.
➢ This is the place where the client/user
initiates the connection.
➢Layer 2 (Network Layer)
➢ Allows the users to connect to the cloud
➢ This is primarily the Internet in the case of a
public cloud/LAN in case of private cloud.
➢Layer 3 (Cloud Management Layer)
➢ A software that acts as an interface between
the resources and the user ( cloud OS)
➢ Software that allows resource management
(scheduling, provisioning, etc.), optimization
(server consolidation, storage workload
consolidation), and internal cloud
governance.
➢Layer 4 (Hardware Resource Layer)
➢ The actual hardware resources ( servers,
storage , network components,…)
Components of Cloud
Computing Architecture
1. Application:
◦ The upper layer is the application layer. In this layer,
any applications are executed.
2. Platform:
◦ This component consists of platforms that are
responsible for the execution of the application. This
platform is between the infrastructure and the
application.
3. Virtualized Infrastructure:
◦ The infrastructure consists of resources over which
the other components work. This provides
computational capability to the user.
4. Virtualization:
◦ Virtualization is the process of making logical
components of resources over the existing physical
resources. The logical components are isolated and
independent, which form the infrastructure.
5. Physical hardware:
◦ The physical hardware is provided by server and
storage units.
Cloud Deployment Models
Private Cloud
➢Cloud infrastructure that is
provisioned for exclusive use by
a single organization comprising
multiple consumers (e.g.,
business units).
➢It may be owned, managed,
and operated by the
organization, a third party, or
some combination of them.
➢Private cloud can be deployed
using Opensource tools such as
Openstack , Eucalyptus.
➢Characteristics
➢Secure
➢Central control
➢Weak SLAs
Private Cloud
➢Advantages
◦ The cloud is small in size and is easy to maintain.
◦ It provides a high level of security and privacy to the user.
◦ It is controlled by the organization.
➢Disadvantages
◦ For the private cloud, budget is a constraint.
◦ The private clouds have loose SLAs.
Public Cloud
➢Provisioned for open use by the
general public.
➢It may be owned, managed, and
operated by a business, academic, or
government organization, or some
combination of them.
➢Characteristics
➢Highly scalable
➢Affordable
➢Less secure
➢Highly available
➢Strict SLAs
Public Cloud
➢Advantages
◦ There is no need of establishing infrastructure for setting up a cloud.
◦ There is no need for maintaining the cloud.
◦ They are comparatively less costly than other cloud models.
◦ Strict SLAs are followed.
◦ There is no limit for the number of users.
◦ The public cloud is highly scalable.
➢Disadvantages
◦ Security is an issue.
◦ Privacy and organizational autonomy are not possible.
Community Cloud
➢Cloud infrastructure that is provisioned
for exclusive use by a specific community
of consumers from organizations that
have shared concerns (e.g., mission,
security requirements policy, and
compliance considerations).
➢It may be owned, managed, and
operated by one or more of the
organizations in the community, a
third party, or some combination of
them
➢Characteristics
➢Collaborative and distributive
maintenance:
➢Partially secure:
➢Cost effective:
Community Cloud
➢Advantages
➢It allows establishing a low-cost private cloud.
➢ It allows collaborative work on the cloud.
➢It allows sharing of responsibilities among the organization.
➢It has better security than the public cloud.
➢Disadvantages
➢Autonomy of an organization is lost.
➢Security features are not as good as the private cloud.
➢ It is not suitable if there is no collaboration.
Hybrid Cloud
➢The hybrid cloud usually is a
combination of both public and private
clouds.
➢Have a private cloud initially, and then
for additional resources, the public
cloud is used
➢Characteristics
➢Scalable
➢Partially secure
➢Moderate SLAs
➢Complex cloud management
Hybrid Cloud
➢Advantages
➢ It gives the power of both the private and public clouds.
➢ It is highly scalable.
➢It provides better security than the public cloud.
➢Disadvantages
➢The security features are not as good as the private cloud.
➢Managing a hybrid cloud is complex.
➢It has moderate SLAs.
Cloud Service Model
Cloud Service Models
➢Infrastructure as a Service – IaaS
➢ Computing resources provided by the service
provider
➢ provision processing, storage, networks, and
other fundamental computing resources
➢Platform as a Service – PaaS
➢ The ability given to developers to develop and
deploy an application on the development
platform provided by the service provider
➢ Operating system, database, middleware, and
many other services.
➢Software as a Service – SaaS
➢ The ability given to the end users to access an
application over the Internet that is hosted and
managed by the service provider.
User and service provider responsibilities of cloud service
models:
Infrastructure as a Service –
IaaS
➢ IaaS changes the computing from a
physical infrastructure to a virtual
infrastructure
➢IaaS provides virtual computing,
storage, and network resources by
abstracting the physical resources
IaaS Services
➢Compute:
➢ Computing as a Service (CaaS) includes virtual
central processing units (CPUs) and virtual main
memory for the VMs that are provisioned to the
end users.
➢Storage:
➢ STaaS ( Storage as a Service) provides back-end
storage for the VM images. Some of the IaaS
providers also provide the back end for storing
files.
➢Network:
➢ Network as a Service (NaaS) provides virtual
networking components such as virtual router,
switch, and bridge for the VMs.
➢ Load balancers:
➢ Load Balancing as a Service may provide load
balancing capability at the infrastructure layer.
Centralized
management
Web access
Shared
to the
infrastructure
resources
Characteristics
of IaaS
Metered Preconfigure
services d VMs
Elasticity and
dynamic
scaling
Characteristics of IaaS
➢Web access to the resources
➢Centralized management
➢Elasticity and dynamic scaling
➢Shared infrastructure
➢Preconfigured VMs
➢Metered services
IaaS Pros and cons
BENEFITS CONS
➢Pay-as-you-use model ➢Security issues
➢Reduced TCO ➢Interoperability issues
➢Elastic resources ➢Performance issues
➢Better resource utilization
➢Supports Green IT
Platform as a Service ( PaaS)
➢PaaS providers may provide
programming languages,
application frameworks,
databases, and testing tools,..
➢PaaS changes the application
development from local machine
to online.
➢It allows the developers to
develop their application online
and also allows them to deploy
immediately on the same
platform.
Platform as a Service ( PaaS)
➢Programming languages:
➢ Some of the popular programming languages
provided by PaaS vendors are Java, Perl, PHP, Python,
Ruby, Scala, Clojure, and Go.
➢Application frameworks:
➢ Some of the popular application development
frameworks provided by a PaaS provider include
Node.js, Rails, Drupal, Joomla, WordPress,
Django,EE6, Spring, Play, Sinatra, Rack, and Zend.
➢Database:
➢ The popular databases provided by the popular PaaS
vendors are ClearDB, PostgreSQL, Cloudant,
Membase, MongoDB,and Redis.
➢Other tools:
➢ PaaS providers provide all the tools that are required
to develop, test, and deploy an application.
All in one
Web access
Collaborative to the
platform development
platform
Characteristics
of PaaS
Diverse client
Offline access
tools
Built-in
scalability
Characteristics of PaaS
➢All in one
➢ Most of the PaaS providers offer services to develop, test, deploy, host, and maintain applications in the same IDE
➢Web access to the development platform
➢ PaaS provides web access to the development platform.
➢ Using web UI, any developer can get access to the development platform
➢ The web-based UI helps the developers create, modify, test, and deploy different applications on the same platform.
➢Offline access
➢ PaaS providers allow the developer to synchronize their local IDE with the PaaS services.
➢ The developers can develop an application locally and deploy it online whenever they are connected to the Internet.
➢Built-in scalability
➢ PaaS services provide built-in scalability to an application that is developed using any particular PaaS
➢Collaborative platform
➢ the development team consists of developers who are working from different places in the same project.
➢Diverse client tools
➢ PaaS providers provide a wide variety of client tools to help the developer.
➢ The client tools include CLI, web CLI, web UI, REST API, and IDE.
PaaS Pros and cons
PROS CONS
➢Quick development and ➢Vendor lock-in
deployment
➢Security issues
➢Reduces TCO
➢Less flexibility
➢Supports agile software
development ➢Depends on Internet connection:
➢Different teams can work together
➢Ease of use
➢Less maintenance overhead
➢Produces scalable applications
Software as a Service (SaaS)
➢ SaaS changes the way the software is
delivered to the customers.
➢SaaS is delivered as an on-demand
service over the Internet, there is no
need to install the software to the end
user’s devices
➢SaaS services can be accessed or
disconnected at any time based on the
end user’s needs.
➢SaaS services can be accessed from
any lightweight web browsers on any
devices such as laptops, tablets, and
smartphones.
Software as a Service (SaaS)
➢Business services
➢The business SaaS services include
ERP, CRM, billing, sales, and human
resources.
➢Social networks
➢Facebook, twitter, snapchat,…
➢Document management
➢SaaS providers started providing
services that are used to create,
manage, and track electronic
documents.
➢Mail services
➢Most of the e-mail providers started
offering their services as SaaS
services.
One to
many
API
Web access
integration
Charact
eristics Centralized
High of SaaS manageme
availability
nt
Better Multidevic
scalability e support
SaaS Pros and cons
PROS CONS
➢No client-side installation ➢Security
➢Cost savings ➢Connectivity requirements
➢Less maintenance ➢Loss of control
➢Ease of access
➢Dynamic scaling
➢Disaster recovery
➢Multitenancy
Other Service Models ( XaaS)
NaaS STaaS DBaaS DaaS SECaaS IDaaS DEaaS
Other Service Models ( XaaS)
➢Network as a Service (NaaS)
➢ NaaS allows network architects to create virtual networks, virtual network interface cards (NICs), virtual
routers, virtual switches, and other networking components.
➢Desktop as a Service (DEaaS)
➢ ability given to the end users to use desktop virtualization without buying and managing their own infrastructure.
➢Storage as a Service (STaaS)
➢ Store the data on the storage services provided by the service provider.
➢Database as a Service (DBaaS)
➢End users can access the database service without the need to install and
maintain it
➢Data as a Service (DaaS)
➢ to access the data that are provided by the service provider over the Internet ( text,
images, video,..)
➢Security as a Service (SECaaS)
➢user can access the security service provided by the service provider on a
pay-per-use basis.
➢Identity as a Service ( IDaaS)
➢ The end users can access the authentica-tion infrastructure that is managed and provided by
the third-party service provider.
Classification of Cloud
Migrating to Cloud
➢Moving one or more enterprise applications and their IT environments from the traditional hosting
type to the cloud environment
➢Cloud migration presents an opportunity to significantly reduce costs incurred on applications
➢Phases of Cloud Migration
➢ Evaluation
➢ for all the components like current infrastructure and application architecture, environment in terms of compute, storage, monitoring,
and management, SLAs, operational processes, financial considerations, risk, security, compliance, and licensing.
➢ Build a business case for moving to the cloud.
➢ Migration strategy
➢ Hot-plug strategy: Applications can be operationalized all at once.
➢ fusion strategy: Applications can be partially migrated.
➢ Prototyping
➢ Validate and ensure that a small portion of the applications are tested on the cloud environment.
➢ Provisioning
➢ Provisioning of servers, storage, ..
➢ Configure the services
➢ Testing
➢ Postmigration tests are conducted to ensure that migration has been successful
➢ load testing, failure and recovery testing, and scale-out testing are conducted.
Approaches for Cloud Migration
➢Migrate existing applications:
➢ Rearchitect some or all the applications
➢Start from scratch:
➢ Huge transformation process, then start from the beginning
➢Separate company:
➢ create a whole new company with separate brand
➢Buy an existing cloud vendor:
➢ it removes a competitor
➢ Speed processes