Cloud Computing
Cloud Computing
Computing?
Overview
2
Key Terminology
• Data Center – A facility used by organizations to house and manage data. The core elements of
a data center include hardware components such as compute, storage, networks, etc. and
software components such as applications and operating systems.
• Cloud User – a person or organization requesting cloud resources and services (terms user,
client, customer, or consumer may also be alternately used)
• Cloud Service Provider (CSP) - An organization that provides a cloud platform, infrastructure,
applications, and services
• Multitenancy – is an architecture common to cloud computing where multiple customers
(tenants) of a cloud service provider share the available resources without the knowledge of one
another
• Vendor lock-in – Reliance on proprietary software or technology that restricts organizations
from adopting alternative solutions easily and without significant costs
• Economies of scale – is the relationship between the per-unit cost and the production volume;
an increase in production leads to a decrease in per-unit cost by spreading out the costs over
more units.
• Organizational Agility – is the ability of an organization to quickly adapt to the changes in the
market or industry
3
Key Terminology - 2
• Capital Expenses (CAPEX) – Costs associated with fixed assets including their purchase,
maintenance, and improvement; an IT example would be purchasing land, computing equipment,
software, etc.
• Operational Expenses (OPEX) – costs associated with the day-to-day running of a business; an
IT example would be Internet costs, licensing fees, etc.
• Vertical scaling – involves adding resources such as memory, processing power, etc. to the same
node.
• Horizontal scaling – involves adding more nodes to a distributed system
• Total Cost of Ownership (TCO) - Complete cost of an object or service throughout its lifetime,
from purchase to disposal, including direct and indirect costs
• Barrier to entry – This is an economics or business term which means the obstacles for a new
company to enter a given market.
• Monolithic application – designed as a single unit
• Microservices-based application – an application that is broken down into many loosely-coupled
services that interact with each other
• Serverless – independent of the need to provision or manage servers
4
What is Cloud Computing?
An on-demand delivery of servers, storage, database, applications and other
IT resources as services over the Internet.
The resources requested by the user are typically hosted in large data centers by CSPs such as Amazon Web
Services (AWS), Microsoft Azure, Google, etc. in different locations across the globe. Details of system
implementation
abstracted are from the user.
(hidden) 5
Source: 6 6
AWS
The NIST Cloud Model
7
NIST Definition of Cloud Computing
It is a very common misconception among people that cloud computing is a technology. Cloud
computing is in fact a business or a service model that relies on enabling technologies such as
virtualization and storage.
8
Essential Characteristics of Cloud Computing
• On-demand Self Service: A user can provision resources as needed
automatically without needing any human interaction with the
service provider
• Broad network access: Access to resources is available via different
client platforms such as phones, tablets, laptops, workstations,
etc.
• Resource pooling: The service providercreates pools of resources
i.e., servers, storage, etc., to serve multiple consumers
(multitenancy).
• Rapid Elasticity: Resources can be provisioned or released to
match demand. For e.g., virtual machines can be added when
demand grows and terminated when demand drops.
• Measured Service: Resource usage is monitored, controlled and
reported, providing transparency to both the provider and
consumer. Billing is based on actual consumption of services using
a “pay as you go” model (similar to consuming electricity ).
10
Public Cloud
• Cloud infrastructure is provisioned for the general public to use.
• Consumers use the cloud services offered by the providers via the Internet and pay
metered usage charges (most closely resembles the utility model that was discussed in
the beginning).
• Most cost-effective through multitenancy, enormous scalability
• Enterprises do not control location of data and equipment (this may be a concern for
organizations with regulatory or legislative mandates).
• For e.g., AWS, Google, Salesforce
11
Private Cloud
• For exclusive use by a single organization with multiple
consumers (e.g., departments or business units)
• Infrastructure is owned and managed by the organization on-
premise1 (cost-intensive).
• Requires in-house IT skills and expertise
1
In the event that the organization does not have the expertise to manage their own infrastructure or for cost reasons, a private 1
cloud can also be managed by a third party and hosted off-premise. 2
Hybrid Cloud
• A combination of public and private (or other) cloud models
17
Cloud Bursting using Hybrid Clouds
• Use of private cloud resources to support applications
• When spike in demand exceeds local resource limits,
bursts are managed by the public cloud.
• For e.g., a tax preparation service company may experience a tremendous
increase in volume (two to three times their usual) during tax season. If the
company buys resources on-premise to meet their peak load in a year,
most of the resources will remain idle for the rest of the year. A good
strategy would be to invest in resources
on-premise that meet typical load. When the traffic hits peak, they can
utilize a public cloud for the heavy lifting.
19
Community Cloud
• Cloud infrastructure is provisioned for use by multiple
organizations with shared concerns (e.g., mission, security
requirements, policy, compliance considerations).
• Owned, managed, and operated by the organizations
themselves or a third party
• On- or off-premise
20
Cloud Service Models
A Service model defines the type of service that the cloud provider
is offering.
“as a service” implies that SaaS, PaaS, and IaaS are delivered by way of
software
Characteristics of IaaS
• Provision of hardware
• IaaS reduces or eliminates capital costs and complexities
of owning hardware (why buy servers when you can rent
them?).
• CSP manages the infrastructure; the client is responsible for
other aspects of the deployment such as operating system
and applications
• IaaS is the base layer of the cloud services stack and
serves as the foundation for both PaaS and SaaS.
24
Characteristics of
• Provides PaaS
an environment for low-cost and
rapid development of new applications (e.g., web and
mobile).
• Most platforms are accessed through an Application
programming interface or API.
• Application developers have complete control over deployed
not
applications
manageandorconfiguration
control the underlyingcloud
settings for the application-
includin
g
infrastructure
hosting environment,
networks,
but
servers,
do storage, or operating
systems.
• High risk of vendor lock-in
25
What is an API?
Source:
Cisco
API using HTTP
• Developers construct
API requests using
HyperText Transfer
Protocol or HTTP.
• The HTTP request asks
for JSON formatted
data.
• If successfully formatted
according to the API
documentation, the Source:
Cisco
server will respond with
JSON data.
JSON = JavaScript Object
Notation
Characteristics of
• SaaS
Most popular service
• SaaS applications are cloud-native and multitenant.
• Applications are prebuilt and consumed without significant
customization.
• Deployment and maintenance including patching and
updates of the application software is handled by the CSP.
• Users simply use the software; they do not control or
manage the underlying infrastructure
• Applications can be accessed anytime from anywhere using
any client device (device and location independence).
2
1
Shared Responsibility Model
• The figure depicts how responsibilities are shared between two parties, the CSP
and the Cloud Customer and how they vary based on the service model chosen.
• As you can clearly see, with an on-premise deployment, an organization manages
everything.
• With IaaS, the CSP manages the infrastructure components including servers,
storage devices, networking equipment, and the virtualization software. The
operating system deployed on individual virtual machines including patching and
upgrades, applications, and data fall under the customer’s purview.
• Customer responsibilities diminish as we move away from IaaS to PaaS to SaaS. No
matter what the service model, the organization is always responsible for its data in
the cloud.
Business Drivers for Cloud Computing
2
3
Reducing Costs
• Lower costs from economies of scale
– Public CSPs support thousands of customers
– They are able to offer services at reasonable pricing due to economies of
scale
– Customers can avail of multiple pricing options based on their
workload requirements.
• Shift
– Nofrom CAPEX costs
upfront to OPEX (variable) and maintaining
of purchasing (excep whe
hardware on-premise) t n
– Only pay for resources or services consumed (pay-per-use)
2
4
Increasing Agility
• On-demand Scalability and Elasticity
– Ability to scale resources up1 or down and out2 or in based on need
– Obviates need for guessing, planning, or provisioning capacity
• Global access
– Applications can be deployed in multiple geographic regions across
1
Scaling up is also known as vertical scaling.
2 the
Scaling outglobe
is also to provide
known lower latency
as horizontaland improved experience to users. 2
scaling. 5
Capacity Provisioning
Traditional Data Center vs.
Cloud
Source:
AWS
The figure on the right shows how capacity provisioning with AWS
closely follows the demand curve resulting in no waste or
customer dissatisfaction.
33
Considerations for Cloud Adoption
Organizations must consider various factors before moving their
business processes to the cloud.
• Migrate or retain?
• Mission-critical applications are best run in an on-premise environment or in
the private cloud.
• Regulatory and compliance requirements may prevent moving
applications using sensitive information to the public cloud.
• Legacy applications or applications that require proprietary technology
should be run in-house.
• Applications with dependencies on resources or other applications residing
in a private data center may suffer from performance (latency) issues if 34
migrated to the public cloud.
Considerations for Cloud Adoption - 2
• Non-critical, low-risk applications such as collaboration (email, web
conferencing, etc.), personal productivity (word processing, spreadsheets,
etc.), development and testing, etc. make a good fit for migration to the
public cloud.
35
Is there a Cost Advantage?
• It is important for organizations to compare the TCO for an on-premise
environment versus the public cloud environment to identify if there is any
potential benefit in cloud adoption.
• If an organization owns and maintains its own data center, the TCO
calculation will include both capital and operational expenses. CAPEX
involves costs for data center facilities, servers, storage devices, network
equipment, operating systems, etc. Examples of OPEX include costs for
power and cooling, personnel, Internet service, etc.
• Cloud adoption costs will include migration costs, usage fees for cloud
services, plus costs to ensure security and compliance.
• CSPs such as Amazon Web Services provide free online TCO calculators
that can be useful for such financial analysis. AWS Pricing calculator (
https://calculator.aws/#/) is another free tool that can aid in TCO calculation
by creating cost estimates for AWS services that an organization may
36
utilize.
Strategies for Application Migration
Organizations must carefully review their existing applications and choose strategies
that best match with their business needs such as cost savings, improved scalability,
availability, etc. Here is a summary of some common strategies:
• Rehosting (Lift-and-shift) –
– Redeploying an on-premise applications into a cloud IaaS environment
– Utilized to meet business needs quickly without any optimizations
– Fastest to perform but does not utilize full potential of the cloud
– Can be performed manually or through automated tools such as AWS VM Import/Export (allows
organizations to export virtual machine images from on-premise environment into Amazon EC2
instances)
• Re-platforming
– Involves optimizations without changing the core architecture of applications
– For e.g., to reduce the administrative overhead of managing their on-premise database
solution, an organization may consider migrating to a fully managed database service such as Amazon
Relational Database Service (RDS). With a managed service, the CSP is responsible for most
administrative tasks.
• Repurchasing
– Investing in SaaS applications (cloud-native) i.e., moving to a different product
– Frees the IT staff of maintenance and updates
– For e.g., moving an HR system to Workday, moving Microsoft Outlook to Office 365, in-house
CRM solution to Salesforce
• Rebuilding/ Re-architecting
– Changing the core architecture of applications; for e.g., transforming a monolithic application into a
microservices-based application or going serverless (we will discuss these terms in Chapter 3)
– Goal is to achieve considerable increase in performance, scale, agility or new features 37
– Most expensive option
Service Level Agreements (SLAs)
An SLA is a contract between a customer and a CSP that specifies the level of
uptime that will be supported by the provider as well as the expected performance
metrics.
• Should include provision for how the CSP will compensate cloud
consumers if SLAs are not met (e.g., monetary compensation or service
credits)
• SLAs are specific to a cloud service i.e., SLA for cloud storage may differ
from the SLA for cloud virtual machines.
• An SLA may describe a single service that is provided to all customers
uniformly or it could be a custom agreement unique between a customer
and the CSP.
• SLAs are an important part of ensuring adequate availability of key
resources so that organizations can continue doing business and not suffer
excessive losses.
38
An Example of SLA
Source:
AWS
39
Current Trends
The current trend in the industry is “Multi-cloud”. Multi-cloud is the use of
cloud services from more than one cloud vendor.
• Each cloud vendor such as AWS, Azure, Google, etc. continues to offer
a myriad of services for organizations to use. A service offered by one cloud
vendor may be better than other vendors in terms of performance, easy of
use, cost, compliance, etc.
• Multi-cloud gives organizations the flexibility to choose a service from a
vendor that best fits their needs and may also prevent vendor lock-in.
• Though very appealing, the obvious pitfall is management complexity.
40
What is Amazon Web Services?
• Amazon Web Services (AWS) was founded in March 2006 and is the world’s
largest public cloud service provider today.
• AWS services can be accessed using either the management console (think of
this as a GUI interface), Command Line Interface (CLI) which allows scripts, or
Software Development Toolkits (SDKs) which is an option preferred by
developers and supports multiple programming languages such as Python, Java,
PHP, Ruby, C++, etc..
41
Understanding the AWS Landscape
Source:
Source:
AWS
AWS
• The AWS footprint consists of several geographic “Regions” spread
across the globe. Each Region comprises of multiple, physically separate
Availability Zones. The typical number is three.
• An “Availability Zone” is a cluster of one or more discrete data centers. The
AZs are powered independently and separated from the other AZs within
the Region by about 100 kms or 60 miles. AZs within a Region are
interconnected using high-throughput metro fiber connections.
• Click https://aws.amazon.com/about-aws/global-infrastructure/regions_az/
for more information.
3
5