CloudComputing_Lect1
CloudComputing_Lect1
CP 424
Lecture 1
Introduction to Cloud Computing
1
Overview
1. Definition and evolution of Cloud Computing,
2. Enabling Technologies,
3. Service and Deployment Models,
4. Popular Cloud Stacks and Use Cases Benefits.
5. Risks and Challenges of Cloud Computing,
6. Economic Models and SLAs,
2
1. Definition and evolution of Cloud Computing
3
1.2 Features of cloud computing
• On-demand self-service
• Ubiquitous network access
• Location independent resource pooling
• Rapid elasticity
• Pay per use
4
1.3 Evolution of Cloud Computing
Cloud computing 5
Grid computing
Computing
Definition Characteristics
Model
Parallel Combines multiple types of computing Uses multiple computing units
computing resources for handling large and complicated working together for a common
computations. computation task.
Distributed Divides a computing-intensive task into Assigns a computation task to
computing multiple smaller tasks and assigns them to multiple independent computers on
multiple computing units. An overall computing the network.
result is obtained based on the multiple sub
results.
Grid computing Interconnects geographically scattered It is one type of distributed
resources into a logical one over the Internet, computing. It provides integrated
making them work like a super computer. information and application services.
Cloud computing Over the Internet, provides shared software Uses the Internet to offer on-
and hardware resources as well as data demand, scalable computing and
information on demand to computers and application services.
other devices.
6
2. Enabling technologies
2.1 Broadband networks and Internet
• Cloud based systems must be connected to a network. The
internetworking of the systems solely depends on broadband networks
and Internet architecture.
• Customers have an option of connecting to the cloud based systems by
using private and dedicated LANs.
• Over the internet, data is transmitted in small packets through
connectionless packet switching (datagram network) or router-based
interconnectivity.
7
Internet OSI model and Protocol Stack
8
• Intranet technology
facilitate accessing of
cloud resources in a
different way.
• Corporate cloud services
can be accessed remotely
as shown in Fig.1
• The two basic components of the Web are the Web browser client and
the Web server.
13
• Uniform Resource Locator (URL)
A standard syntax used for creating identifiers that point to Web-based
resources, the URL is often structured using a logical network location.
• Hypertext Transfer Protocol (HTTP)
This is the primary communications protocol used to exchange content and
data throughout the World Wide Web. URLs are typically transmitted via
HTTP
• Markup Languages (HTML, XML) – Markup languages provide a
lightweight means of expressing Web-centric data and metadata.
14
• A distributed application that
uses Web-based technologies
(and generally relies on Web
browsers for the presentation of
user-interfaces) is typically
considered a Web application.
16
• 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.
17
• Data Model – Tenants can extend the data schema of the
application to include, exclude, or rename fields in the
application data structures.
18
2.4.1 Common characteristics of multitenant
applications include:
• 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.
19
• Application Upgrades – 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.
20
Fig. 5:A multitenant application that is serving multiple cloud service consumers simultaneously.
21
2.5 Containerization
• Is an operating system-level virtualization
technology used to deploy and run
applications and cloud services without
the need to deploy a virtual server for
each solution.
• Using containers enables multiple isolated
cloud services to run on a single physical
server or virtual server while accessing
the same operating system kernel.
Fig. 6:Virtualization vs Containerization
22
2.5.1 Benefits of Containers
• Containers are portable; can be moved to any environment that shares
the same host operating system and container engine that the container
is hosted on,
• Efficient resource utilization is achieved by significantly reducing the
CPU, memory and storage usage footprint compared to virtual servers.
• Containers allow versions of a software code and its dependencies to
be tracked.
23
3. Service and Deployment Models
3.1 Service model
Users
Customer values
Application
developers
Network
architects
24
• Infrastructure as a Service: IaaS provides virtual machines,
virtual storage, virtual infrastructure, and other hardware assets as
resources that clients can provision.
• Examples of IaaS service providers include:
Amazon Elastic Compute Cloud (EC2)
Eucalyptus
GoGrid
FlexiScale
Linode
RackSpace Cloud
Terremark
25
• Platform as a Service: PaaS provides virtual machines,
operating systems, applications, services, development
frameworks, transactions, and control structures.
Examples of PaaS services are:
Force.com
GoGrid CloudCenter
Google AppEngine
Windows Azure Platform
26
• Software as a Service: SaaS is a complete operating
environment with applications, management, and the user
interface.
• Other good examples of SaaS cloud service providers are:
GoogleApps
Oracle On Demand
SalesForce.com
SQL Azure
27
3.2 Popular Cloud Stacks
• Amazon Web Services (AWS):
IaaS: Amazon Elastic Compute Cloud (EC2), Amazon Simple
Storage Service (S3), Amazon Virtual Private Cloud (VPC).
PaaS: AWS Elastic Beanstalk, AWS Lambda, AWS Elastic
Container Service (ECS).
SaaS: Amazon WorkMail, Amazon WorkDocs, Amazon Chime
28
• Microsoft Azure:
IaaS: Azure Virtual Machines, Azure Blob Storage, Azure Virtual
Network.
PaaS: Azure App Service, Azure Functions, Azure Kubernetes
Service (AKS).
SaaS: Microsoft Office 365, Dynamics 365, Microsoft Teams.
• Google Cloud Platform (GCP):
IaaS: Google Compute Engine, Google Cloud Storage, Google Virtual
Private Cloud (VPC).
PaaS: Google App Engine, Google Cloud Functions, Google
Kubernetes Engine (GKE).
SaaS: Google Workspace (formerly G Suite), Google Meet, Google
Analytics
29
3.3 Use Cases Benefits
• Lower costs: Because cloud networks operate at higher
efficiencies and with greater utilization, significant cost
reductions are often encountered.
• Ease of utilization: Depending upon the type of service being
offered, you may find that you do not require hardware or
software licenses to implement your service.
• Quality of Service: The Quality of Service (QoS) is something
that you can obtain under contract from your vendor.
30
• Reliability: The scale of cloud computing networks and their
ability to provide load balancing and failover makes them highly
reliable, often much more reliable than what you can achieve in a
single organization.
• Outsourced IT management: A cloud computing deployment
lets someone else manage your computing infrastructure while
you manage your business. In most instances, you achieve
considerable reductions in IT staffing costs.
31
• Simplified maintenance and upgrade: Because the system is
centralized, you can easily apply patches and upgrades. This
means your users always have access to the latest software
versions.
• Low Barrier to Entry: In particular, upfront capital expenditures
are dramatically reduced. In cloud computing, anyone can be a
giant at any time.
32
3.4 Deployment model
Private cloud
Enterprise firewall
Hybrid cloud
Public cloud
33
3.4 Deployment model cont’
• Public cloud:
The public cloud infrastructure is available for public use
alternatively for a large industry group and is owned by an
organization selling cloud services.
• Private cloud:
The private cloud infrastructure is operated for the exclusive use of
an organization.
The cloud may be managed by that organization or a third party.
Private clouds may be either on- or off-premises.
34
3.4 Deployment model cont’
• Hybrid cloud:
A hybrid cloud combines multiple clouds (private, community of
public) where those clouds retain their unique identities, but are
bound together as a unit.
A hybrid cloud may offer standardized or proprietary access to data
and applications, as well as application portability.
• Community cloud:
A community cloud is one where the cloud has been organized to serve
a common function or purpose.
35
4 Risks and Challenges of Cloud
Computing
• Most of applications or services in the cloud are not customized
as per the customers needs but well capable and applications
deployed on-premises still have many more features than their
cloud counterparts.
• Cloud computing applications suffer from the inherent latency
that is intrinsic in their WAN connectivity. Performance of
applications that needs large amounts of data transfer, may
underperform in cloud computing model.
36
4 Risks and Challenges of Cloud
Computing cont’
• Traffic in cloud computing travel across infrastructure that are not
controlled by neither customer nor service provider, hence poses
a risk of privacy and security.
• Stability is key in ensuring service uptime for customer. Amazon
commits up to 99.95% uptime.
37
5 Economic Models and SLAs
• Cloud allows core IT infrastructure to be brought into large data
centers that take advantage of significant economies of scale in
three areas:
Supply-side savings.
Large-scale data centers (DCs) lower costs per server.
Demand-side aggregation.
Aggregating demand for computing smooths overall variability,
allowing server utilization rates to increase.
Multi-tenancy efficiency.
When changing to a multitenant application model, increasing the
number of tenants (i.e., customers or users) lowers the application
management and server cost per tenant.
38
5.1 Supply-Side Economies of Scale
• Cloud computing combines
the best economic properties
of mainframe and client/server
computing.
• Computing power – measured
in MIPS (million instructions
per second)
39
5.1 Supply-Side Economies of Scale cont’
• The economies of scale emanate from the following areas:
i. Cost of power. Electricity cost is rapidly rising to become the
largest element of total cost of ownership (TCO), currently
representing 15%-20%. Power Usage Effectiveness (PUE) tends
to be significantly lower in large facilities than in smaller ones.
40
5.1 Supply-Side Economies of Scale cont’
iii. Security and reliability. Large commercial cloud providers are
often better able to bring deep expertise to bear on security
problem than a typical corporate IT department, thus actually
making cloud systems more secure and reliable.
iv. Buying power. Operators of large data centers can get discounts
on hardware purchases of up to 30 percent over smaller buyers.
This is enabled by standardizing on a limited number of
hardware and software architectures.
41
5.2 Demand-Side Economies of Scale
• The impact of demand aggregation affects resources such as CPU,
network, and storage.
• In reality, however, workloads are highly variable over time, often
demanding large amounts of resources one minute and virtually none
the next.
• This opens up opportunities for utilization improvement via demand-
side aggregation and diversification.
42
5.2 Demand-Side Economies of Scale cont’
• Five sources of variability and assess how they might be reduced:
i. Randomness. End-user access patterns contain a certain degree
of randomness. If servers are pooled, this variability can be
reduced.
43
5.2 Demand-Side Economies of Scale cont’
iii. Industry-specific variability. Some variability is driven by
industry dynamics. Strong diversification benefits exist for
industry variability
44
5.2 Demand-Side Economies of Scale cont’
v. Uncertain growth patterns. The difficulty of predicting future
need for computing resources and the long lead-time for bringing
capacity online is another source of low utilization.
By diversifying among workloads across multiple customers,
cloud providers can reduce this variability, as higher-than-
anticipated demand for some workloads is canceled out by lower-
than-anticipated demand for others.
45
5.2 Demand-Side Economies of Scale cont’
• A key economic advantage of the cloud is its ability to address
variability in resource utilization brought on by these factors.
• By pooling resources, variability is diversified away, evening out
utilization patterns.
• The larger the pool of resources, the smoother the aggregate demand
profile, the higher the overall utilization rate, and the cheaper and
more efficiently the IT organization can meet its end-user demands.
46
5.3 Multi-tenancy Economies of Scale
• The previously described supply-side and demand-side economies of
scale can be achieved independent of the application architecture,
whether it be traditional scale-up or scale-out, single tenant or
multitenant.
• There is another important source of economies of scale that can be
harnessed only if the application is written as a multitenant
application.
• In a multitenant application, multiple customers use a single instance
of the application simultaneously.
47
5.3 Multi-tenancy Economies of Scale cont’
• This has two important economic benefits:
i. Fixed application labor amortized over a large number of
customers.
In a single-tenant instance, each customer has to pay for its own
application management (that is, the labor associated with
update and upgrade management and incident resolution). In a
multi-tenant instance, that cost is shared across a large set of
customers, driving application labor costs per customer towards
zero.
48
5.3 Multi-tenancy Economies of Scale cont’
ii. Fixed component of server utilization amortized over large
number of customers.
For each application instance, there is a certain amount of
server overhead.
By moving to a multitenant model with a single instance, this
resource overhead can be amortized across all customers.
49
• The combination of supply-side economies of scale in server capacity
(amortizing costs across more servers), demand-side aggregation of
workloads (reducing variability), and the multi-tenant application
model (amortizing costs across multiple customers) leads to powerful
economies of scale.
50
6 Service Level Agreement
• A Service Level Agreement (SLA) is the contract for performance
negotiated between you and a service provider.
• In the early days of cloud computing, all SLAs were negotiated
between a client and the provider.
• Today with the advent of large utility-like cloud computing providers,
most SLAs are standardized until a client becomes a large consumer of
services.
51
6 Service Level Agreement cont’
• Some SLAs are enforceable as contracts, but many are really
agreements that are more along the lines of an Operating Level
Agreement (OLA) and may not have the force of law.
• It's good to have an attorney review these documents before you make
a major commitment to a cloud provider.
52
6 Service Level Agreement cont’
• SLAs usually specify these parameters:
Availability of the service (uptime)
Response times or latency
Reliability of the service components
Responsibilities of each party
Warranties
53