You are on page 1of 59

BITS Pilani

Pilani Campus

Cloud Computing

Jagdish Prasad
BITS Pilani
Pilani Campus

Session: 04

Cloud Service & Deployment Models


Agenda

• Cloud Characteristics
• Cloud Deployment Models
• Public Cloud
• Private Cloud
• Hybrid Cloud
• Cloud Service Models
• Infrastructure as a Service (IaaS)
• Platform as a Service (PaaS)
• Software as aa Service (SaaS)
IaaS Characteristics

• Five fundamental characteristics of IaaS:


• Scalability & Elasticity
• Availability & Reliability
• Performance & Optimization
• Accessibility & Portability
• Manageability & Interoperability
Cloud Characteristics
Scalability & Elasticity
What scalability and How to approach scalability and elasticity?
elasticity mean? • For computation resources:
• Clients should be able to – Dynamically create or terminate VMs for clients on
dynamically increase or demand
decrease the amount of – Integrate hypervisors among all physical machines to
infrastructure resources in collaboratively control and manage all VMs
need. • For storage resources:
• Large amount of resources – Dynamically allocate or de-allocate virtual storage
provisioning and space for clients.
deployment should be done – Integrate all physical storage resources in the entire
in a short period of time IaaS system
• System behavior should – Offer initial storage resources by thin provisioning
technique
remain identical in small or
large scale • For networking resources:
– Dynamically connect or disconnect the linking state of
virtual networks for clients on demand
– Dynamically divide the network request flow to
different physical routers to maintain access bandwidth
Availability and Reliability
What do availability and How to approach availability and reliability?
reliability mean? – For computation resources:
– Clients should be able to access • Monitor each physical and virtual machine for any
computation resources without possible failure.
considering the possibility of • Regularly backup virtual machine system state for
hardware failure. disaster recovery.
– Data stored in IaaS cloud • Migrate virtual machine among physical machines
for potential failure prevention.
should be able to be retrieved
when needed without – For storage resources:
considering any natural disaster • Maintain data pieces replication among different
damage. physical storage devices.
– Communication capability and • Regularly backup virtual storage data to
geographical remote locations for disaster
capacity should be maintained prevention.
without considering any
– For networking resources:
physical equipment shortage.
• Built redundant connection system to improve
robustness.
Manageability and Interoperability
What do manageability and How to approach manageability and
interoperability mean? interoperability?
– Clients should be able to fully – For computation resources:
control the virtualized • Provide VM operations like creation, termination,
infrastructure resources which suspension, resumption and system snapshot.
allocated to them • Monitor and record CPU and memory usage for
– Virtualized resources can be each VM.
allocated by means of system – For storage resources:
controlled automation process • Monitor and record storage space usage and
with pre-configured policy read/write data access from user for each virtual
storage resource.
– States of all virtualized resource
should be fully under monitoring. • Automatic allocate/de-allocate physical storage
according to space utilization.
– Usage of infrastructure resources
– For networking resources:
will be recorded and then billing
• Monitor and record the network bandwidth
system will convert these
consumption for each virtual link.
information to user payment
• Automatically reroute the data path when
computation and storage are duplicated.
Performance and Optimization
What do performance and How to approach performance and
optimization mean? optimization?
– Physical resources should be – For computation resources:
highly utilized among different • Deploy virtual machine with load balancing
clients. consideration.
– Physical resources should form a • Live migrate virtual machines among physical
large resource pool which ones to balance the system loading.
provide high computing power – For storage resources:
through parallel processing. • Deploy virtual storage with hot spot access
– Virtual infrastructure resources consideration.
will be dynamically configured to • Live migrate virtual storage among physical
an optimized deployment among ones with different performance level.
physical resources – For networking resources:
• Consider network bandwidth loading when
deploying virtual machines and storage.
• Dynamically migrate virtual machines or
storage to balance network flow.
Accessibility and Portability
What do accessibility and How to approach accessibility and
portability mean? portability?
– Clients should be able to – For computation resources:
control, manage and access • Cloud provider integrates virtual machine
infrastructure resources in an management and access through web-based
easy way, such as the web- portal.
browser, without additional • Comply the virtual machine standard for
local software or hardware portability.
installation. – For storage resources:
– Provided infrastructure • Cloud provider integrates virtual storage
resources should be able to be management and access through web-based
reallocated or duplicated easily. portal.
– For networking resources:
• Cloud provider integrates virtual network
management and access through web-based
portal.
Core (Layer) Stacks
• Application Layer
– General application logic
– Either on-demand capability or
flexible management
– No components will be the bottle
neck of the whole system
– large and distributed transactions
External service through web service
or other open interfaces
• Platform Layer
– Computing framework manages
the transaction dispatch and task
scheduling
– Storage sub-layer provides
storage and caching capability
• Resource Layer
– Infrastructure layer comprises of
physical and virtualized compute,
storage and network resources
Cloud Deployment Models
Cloud Deployment Model
• Private cloud
• Public cloud
• Community cloud
• Hybrid cloud
Private Cloud
• The cloud infrastructure is operated solely for an organization.
• Infrastructure may be managed by the organization or a third
party and may exist on premise or off premise.
• Also referred to as internal cloud or on-premise cloud
• A private cloud intentionally limits access to its resources to
service consumers that belong to the same organization that
owns the cloud.
• Basic characteristics :
– Heterogeneous infrastructure
– Customized and tailored policies
– Dedicated resources
– In-house infrastructure
– End-to-end control
Public Cloud
• The cloud infrastructure is made available to the general public
or a large industry group and is owned by an organization selling
cloud services.
• Also known as external cloud or multi-tenant cloud, this model
essentially represents a cloud environment that is openly
accessible.
• Basic characteristics :
– Homogeneous infrastructure
– Common policies
– Shared resources and multi-tenant
– Leased or rented infrastructure
– Economies of scale
Public v/s Private

Public Cloud Private Cloud


Infrastructure Homogeneous Heterogeneous
Policy Model Common defined Customized & Tailored
Resource Model Shared & Multi-tenant Dedicated
Cost Model Operational expenditure Capital expenditure
Economy Model Large economy of scale End-to-end control
Community Cloud

• The cloud infrastructure is shared by several organizations and


supports a specific community that has shared concerns (e.g.
mission, security requirements, policy, and compliance
considerations).
Hybrid Cloud
• The cloud infrastructure is a composition of two or more clouds
(private, community, or public) that remain unique entities but
are bound together by standardized or proprietary technology
• Enables data and application portability (e.g., cloud bursting
for load-balancing between clouds).
Cloud Ecosystem
Infrastructure as a Service (IaaS)
What is IaaS?
• IaaS is a form of Cloud Computing that delivers basic compute,
network and storage resources to consumers on-demand, over
the internet and on a pay-as-you-go basis service over internet
• IaaS enables users to scale and shrink resources on need basis
• IaaS avoids up-front capital expenditure or unnecessary “owned”
infrastructure, especially in the case of “spiky” workloads.
• IaaS provider manages:
• Data center (facilities, staff, operations etc)
• Power & Cooling
• Networks & Security
• Servers and storage (primary and backup)
• User has the flexibility of operating system, development tools,
applications etc.
Traditional v/s IaaS v/s PaaS v/s SaaS
IaaS Platform Components
• IaaS is made up of a collection of physical and virtualized resources that provide
consumers with the basic building blocks needed to run applications and
workloads in the cloud.
• Physical Data Centers
• IaaS providers manage large data centers, typically around the world, that contain
the physical machines required to power the various layers of abstraction on top of
them
• These are made available to end users over the internet
• Compute
• IaaS is typically a virtualized compute resource as a virtual machine.
• Providers manage the hypervisors and end users can then programmatically
provision virtual “instances” with desired amounts of compute, memory & storage
• Most providers offer both CPUs and GPUs for different types of workloads.
• Cloud compute comes paired with supporting services like auto scaling and load
balancer that provide the scale and performance characteristics required
IaaS Platform Components…
• Network
• Networking in the cloud is a form of Software Defined Networking in which
traditional networking hardware, such as routers and switches, are made available
programmatically, typically through APIs.
• More advanced networking use cases involve the construction of multi-zone regions
and virtual private clouds.
• Storage
– There are three primary types of cloud storage: Block storage, File storage and
Object storage.
– Block and file storage are common in traditional data centers but have challenges of
scale, performance and distributed characteristics
– Object storage is the most common mode of storage in cloud given that it is highly
distributed (and thus resilient)
• leverages commodity hardware
• data can be accessed easily over HTTP
• Provides high scale and performance as the cluster grows.
IaaS Architecture

• Infrastructure as a Service (IaaS) delivers computer infrastructure through


platform virtualization environment as a service.
• Virtualization is an enabling technique to provide an abstraction of logical
resources away from underlying physical resources.
Availability Zones & Regions
• Cloud providers build a hierarchy of infrastraurure resources to provide greater
availability and resiliency of resources
• This hierarchy maps various workloads to physical and virtual infrastructure
across geography.
• Cloud Region
• Geographically and physically separate group of one or more availability zones with
independent electrical and network infrastructure isolated from other regions.
• Regions are designed to remove shared single points of failure with other regions and
guarantee low inter-zone latency within the region.
• Availability Zone
• A logically and physically isolated location within a Cloud Region with separate
electrical, cooling, and network infrastructure isolated from other zones.
• Availability zones provide fault tolerance by avoiding single points of failure between
zones
• Availability zones guarantee high bandwidth and low inter-zone latency within a region
Availability Zones & Regions
Region
• Physical location where cloud services
are hosted
REGION • Consists of two or more Availability
Zones
Availability Availability
Zone 1 Zone 2 Availability Zone
• Consists of one or more discrete data
centers each with redundant power,
networking and connectivity, housed in
separate facilities
• Offers the ability to operate
Availability applications and database which are
Zone 3
more highly available and fault tolerant
than would be possible from a single
data center
• Connected via high efficiency, low
latency networks
Example: AWS Global Infrastructure
IaaS Advantages
• Pay-as-you-Go: Unlike traditional IT, IaaS does not require any upfront,
capital expenditures, and end users are only billed for what they use.
• Speed: With IaaS, users can provision small or vast amounts of resources in
a matter of minutes, testing new ideas quickly or scaling proven ones even
quicker.
• Availability: Through things like multizone regions, the availability and
resiliency of cloud applications can exceed traditional approaches.
• Scale: With seemingly limitless capacity and the ability to scale resources
either automatically or with some supervision, it’s simple to go from one
instance of an application or workload to many.
• Latency and performance: Given the broad geographic footprint of most
IaaS providers, it’s easy to put apps and services closers to your users,
reducing latency and improving performance.
Major IaaS Providers
• AWS
• Microsoft Azure
• Google Cloud Services (GCP)
• Alibaba
• Digital Ocean
• Rackspace
• IBM SmartCloud Enterprise
• HP Enterprise Converged Infrastructure
• Openstack
• Linode
Common IaaS Business Usage
• Testing and Development: IaaS makes it quick and economical to scale up
dev-test environments up and down.
• Website Hosting: Running websites using IaaS are less expensive than
traditional web hosting.
• Storage, Backup, and Recovery: IaaS is useful for handling unpredictable
demand and steadily growing storage needs. It can also simplify planning and
management of backup and recovery systems.
• Web Apps: Organizations can quickly deploy web apps on IaaS and easily
scale infrastructure up and down when demand for the apps is
unpredictable.
• High Performance Computing (HPC): HPC requires extremely large
computing power (supercomputers, computer grids, or computer clusters) to
solve complex problems involving millions of variables or calculations.
• Big Data Analysis: IaaS can provide the huge computing power required for
mining big data to identify hidden patterns.
Case Study: Spotify
• On-line music distribution company offering 16+ Mn songs in 30+ languages
• Had their own infrastructure but resulted in poor service as the infra could not keep
up with demand
• Issues were: running out of storage, poor response time, often broken connection etc
• Users started cancelling subscription
• Requirements:
• Users spread across Globe
• adding songs to catalog every day (old, new, to be released) – 20K a day
• Solution: Moving to AWS
• Dynamically increased storage
• Higher computing power as needed
• Better resource utilization
• Infrastructure across Globe
• Scalable resources
Case Study: Unilever
• Operations in 190 countries, Had local data centers.
• Heterogeneous environments, complex operations, expensive maintenance
and costly technology upgrades were major issues
• Application roll-out and Backup were in bad shape
• Requirement:
• Faster time to market
• Focus on digital marketing
• Standard IT environment
• Solution:
• Moved identified functions to AWS
• Faster provisioning on infrastructure
• Quicker roll-outs
• No technology upgrade worries
• Safe and secure backups/disaster recovery
Platform as a Service (PaaS)
Traditional v/s IaaS v/s PaaS v/s SaaS
What is a Platform?

• A platform is anything you can leverage to accomplish


something in a simpler, faster, or otherwise better way than you
could without.
• As a programmer, you leverage pre-existing code rather than
starting from scratch and writing everything.
• Platforms for desktop software are Windows and Mac OS
• Other platform components are:
• E-mail & Contact management
• E-commerce components – Zoho, GoDadddy etc
• Development tools – Visual studio, Eclipse, Oracle Applications,
Databases etc
• Other tools – Code generators, testing tools, deployment tools etc
WhyPaaS
PaaSObjectives for CIOs

Provide access to
Integrate with other
Rapidly deliver all devices,
Web and Cloud
new capabilities customers, and
Applications
partners

Cost effectively
Reduce time to Re-use existing scale environment
market investments to meet business
demand

Avoid operating Increase


Reduce data
expenses, operational
center footprint
preserve capital efficiency
PaaS Capabilities
Platform as a Service Capabilities
• Self service configuration • Service catalogue
• Automated provisioning • Service tiers
• Policy configuration • Demand and capacity
• Process automation management
• Lifecycle management
• Infrastructure Authority
Dev Ops Automated integration
Tooling Governance

Consumption Service Level


based Funding Management
• Metering • Resource monitoring
• Reporting • Resource management
• Billing • Performance management
• Traffic orchestration
OpenShift Platform

• The open source PaaS from RedHat


• OpenShift runs on top of OpenStack
• Companies can deploy OpenShift on top of their infrastructure
• OpenStack is the infrastructure and OpenShift is the platform
that run on top of it
• This analogous to Apache and MySQL that run on top of a Linux
machine
OpenShift Example

• What is a cartridge?
– OpenShift offers cartridges to deploy on to Red Hat’s infrastructure
– Sign up for OpenShift
– Create your own namespace
– Deploy Apps
– Sample cartridges – Java, PHP, Ruby, Python
– Framework support- CakePHP, CodeIgniter
Platform Comparison
Stratos Google App Amazon Heroku CloudBees Red Hat VMWare
Engine Beanstalk RUN@Cloud OpenShift CloudFoundry
Cloud Characteristics 5 7 3 3 3 3 3
Cloud Dimensions 7 3 3 3 3 3 7
Production Ready 5 5 5 0 3 0 0
DevOps activities and phases 5 2 2 2 7 5 5
Cloud Architecture 5 7 3 3 3 3 3
Platform Services 10 4 4 2 2 2 2
Programming Model 2 5 1 1 1 1 1
PaaS: Key Metrics

• Foundation
• Time to create new application environment
• Time to redeploy application
• Optimize
• Minimum and maximum scale
• Scale frequency (i.e. time to scale up/down)
• Transformation
• Time and effort required integrating business process, event
• processor – creating a complex app.
• Time and effort required to apply policy across tenant(s)
• Cost to operate application per user or transaction
PaaS: Use Cases

• DevOps Tooling and On-demand self-service


• Automated Governance
• Service level management and elastic scale
• Consumption based pricing and billing
Software as a Service (SaaS)
Traditional v/s IaaS v/s PaaS v/s SaaS
What is SaaS?
• Software as Service is a software delivery model in which
software and data are hosted centrally and accessed via web.
• Configuration and customization: according to the customer
• Accelerated feature delivery: weekly updates
• Multi tenant architecture: single instance of the software for
multiple client organizations
• Open integration protocols: API’S and protocols for accessing
company’s internal systems
• Enterprise Software application:
• Sharing of data between internal and external users e.g. Salesforce CRM
application
• Single user Software application: Runs on single user computer and serves
1 user at a time e.g. Microsoft office
Types of SaaS
• Business Utility SaaS:
• Applications like Salesforce automation are used by businesses and
individuals for managing and collecting data, streamlining collaborative
processes and providing actionable analysis.
• Popular use cases are Customer Relationship Management (CRM), Human
Resources and Accounting.
• Social Networking SaaS:
• Applications like Facebook, Linkedin, Twitter etc are used by individuals for
networking and sharing information, photos, videos, etc.
Good design features

• Three key differentiators that separate well-designed SaaS


application from a poorly designed one
– Scalability
– Multi-tenancy
– Configurable
• Scalability
– Maximizing concurrency and efficient use of resources
– Optimizing locking duration
– Sharing pooled resources such as threads and network connections
– Caching reference data
– Partitioning large databases
Good design features…
• Multi-tenancy:
– Important architectural shift from designing isolated, single-tenant
applications
– One application instance should accommodate users from multiple other
companies at the same time while providing transparency
– Requires an architecture that maximizes the sharing of resources
efficiently across tenants
• Configurable:
– Single application instance on a single server has to accommodate users
from several different companies
– Customizing the application for one customer will change the application
for other customers as well.
– Traditionally customizing an application would mean changes in the code
– Each customer must use metadata to configure the way the application
appears and behaves for its users.
– Customers configuring applications must be simple and easy without any
extra development or operation costs
Advantages
• User Benefits:
• Lower Cost of Ownership
• Focus on Core Competency .
• Access Anywhere
• Freedom to Choose (or Better Software)
• Faster Product Cycles
• Vendor Benefits:
• Increased Total Available Market
• Lower Development Costs & Quicker Time-to-Market
• Improved Customer Relationships
Disadvantages
• Robustness: Difference between Google docs and Microsoft
office.
• Security & Privacy: Storing all data in cloud prone to hacks
• Reliability: Service outages and Recovery during server downtime
is difficult
• Limited Flexibility: Supporting complex business processes and
cross-enterprise tasks could be a challenge
• Network Connectivity: Requires stronger internet connection
• Integration with Other Applications: Integrating into existing
enterprise applications could be a challenge
Microsoft Azure
Azure Architecture

• Web role: One for each instance of software


• Access control: Definition of users, groups and roles. A pre-
built ASP.NET membership provider is included in the training
kit.
• Databases: Relational database for core operational data
• Worker role: Autonomous background processing like billing
• Caching: Frequently used read-only, user specific, and
application resource data in a high-speed distributed in-
memory for faster response
• Blobs: Blob storage provides a scalable, resilient way to store
terabytes of user data
Azure Components
Azure Components…
Azure Components…
Azure Components…
Azure Components…
Thank You

You might also like