Chapter 2 Cloud Computing
Chapter 2 Cloud Computing
Topics in CS
CHAPTER 2 CLOUD
COMPUTING
1
Publish
Inform scale
Interact
web
Integrate
Transact
Discover (intelligence)
Semantic
discovery
Automate (discovery)
HPC, cloud
Data-intensive
time
deep web
2
Challenges
3
Enter the cloud
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.
The cloud computing is a culmination of numerous attempts at
large scale computing with seamless access to virtually limitless
resources.
◦ on-demand computing, utility computing, ubiquitous
computing, autonomic computing, platform computing, edge
computing, elastic computing, grid computing, …
4
What is Cloud
Computing?
In addition, the platform provides on demand
services, that are always on, anywhere,
anytime and any place.
Pay for use and as needed, elastic
◦ scale up and down in capacity and
functionalities
The hardware and software services are
available to
◦ general public, enterprises, corporations
and businesses markets
5
Cloud Computing
Common Characteristics:
Characteristics
Massive Scale Resilient Computing
Essential Characteristics:
On Demand Self-Service
Broad Network Access Rapid Elasticity
Resource Pooling Measured Service
Adopted from: Effectively and Securely Using the Cloud Computing Paradigm by peter Mell, Tim
Grance 6
Cloud Xteristics
On-Demand Self-Service: Users can provision computing resources
such as server time and network storage as needed automatically
without requiring human intervention from the service provider.
Broad Network Access: Cloud services are accessible over the
network and can be accessed through standard mechanisms, such as
web browsers, mobile devices, or thin client applications.
Resource Pooling: Cloud computing resources are pooled together to
serve multiple consumers using a multi-tenant model, with different
physical and virtual resources dynamically assigned and reassigned
according to consumer demand.
7
Basic Cloud
Characteristics
Rapid Elasticity: Cloud services can be rapidly and
elastically provisioned and released to scale rapidly
both outward and inward with demand. Users can
increase or decrease resources as needed, often
automatically.
Measured Service: Cloud systems automatically
control and optimize resource use by leveraging a
metering capability at some level of abstraction
appropriate to the type of service (e.g., storage,
processing, bandwidth, and active user accounts).
Resource usage can be monitored, controlled, and
reported, providing transparency for both the provider
and the consumer.
8
Basic Cloud
Characteristics
9
Basic Cloud
Characteristics
Security: Cloud providers implement robust security measures to
protect data, applications, and infrastructure from unauthorized access,
data breaches, and other security threats. Security features include
encryption, identity and access management, network security, and
compliance certifications.
Service Models: Cloud computing offers different service models
including Infrastructure as a Service (IaaS), Platform as a Service (PaaS),
and Software as a Service (SaaS), each providing varying levels of
control and management responsibilities to users.
Economies of Scale: Cloud computing leverages economies of scale by
pooling computing resources and spreading costs across a large number
of users, resulting in lower costs for infrastructure, maintenance, and
operational expenses compared to traditional IT environments.
10
Cloud Service Models
Cloud service models represent different levels of abstraction and
responsibility that cloud providers offer to their users.
Each cloud service model offers different levels of control, management,
and responsibility to users, allowing organizations to choose the model
that best fits their requirements and preferences.
Additionally, these models can be combined or integrated to create
hybrid cloud environments, which leverage both public and private
cloud infrastructure to meet specific business needs.
The three primary cloud service models are:
11
Infrastructure as a Service (IaaS):
Description: IaaS provides virtualized computing resources
over the internet, including virtual machines, storage, and
networking components. Users have control over the
operating system, applications, and development frameworks
running on the infrastructure.
Key Characteristics:
◦ Users manage and control the virtualized infrastructure, including
operating systems, applications, and networking components.
◦ Scaling resources up or down based on demand is typically
supported.
◦ Users pay for the resources they consume on a pay-as-you-go
basis.
Examples:
◦ Amazon Web Services (AWS) EC2
◦ Microsoft Azure Virtual Machines
◦ Google Compute Engine
12
Platform as a Service (PaaS):
Description: PaaS offers a platform for developers to build, deploy,
and manage applications without managing the underlying
infrastructure. It provides development frameworks, databases,
middleware, and other tools necessary for application
development and deployment.
Key Characteristics:
◦ Developers focus on application development and deployment without
worrying about underlying infrastructure management.
◦ PaaS providers manage the runtime environments, scaling, and
maintenance tasks.
◦ Automated deployment, integration, and management tools are
provided.
Examples:
◦ Google App Engine
◦ Microsoft Azure App Service
◦ Heroku
◦ AWS Elastic Beanstalk
13
Software as a Service (SaaS):
Description: SaaS delivers software applications over the
internet on a subscription basis. Users access the applications
through web browsers or APIs without needing to install or
maintain software locally.
Key Characteristics:
◦ Applications are hosted and maintained by the SaaS provider, who
handles updates, security patches, and infrastructure management.
◦ Users access the applications via web browsers, mobile apps, or
APIs.
◦ SaaS applications are typically licensed on a subscription basis.
Examples:
◦ Google Workspace (formerly G Suite)
◦ Microsoft Office 365
◦ Salesforce
◦ Dropbox
◦ Slack
14
Cloud Service Models
Software as a Platform as a Infrastructure as a
Service (SaaS) Service (PaaS) Service (IaaS)
SalesForce
CRM
LotusLive
Google
App
Engine
Adopted from: Effectively and Securely Using the Cloud Computing Paradigm by peter Mell, Tim
Grance 15
SaaS Maturity Model
Level 1: Ad-Hoc/Custom –
One Instance per customer
Source: Frederick Chong and Gianpaolo Carraro, “Architectures Strategies for Catching the Long Tail” 16
Cloud Computing Service
Layers Services DescriptionServices – Complete business services such
Services as PayPal, OpenID, OAuth, Google Maps,
Alexa
e
Hosting – Physical data centers such as those
Focused
Hosting run by IBM, HP, NaviSite, etc.
17 17
Enabling Technologies
Cloud
Cloudapplications:
applications:data-
data-
intensive,
intensive,compute-intensive,
compute-intensive,
storage-intensive
storage-intensive
Bandwidth
WS
Services interface
64-bit
processor
18
Cloud computing
enabling technologies
Cloud computing enabling technologies are the underlying
components and tools that support the delivery,
management, and optimization of cloud computing
services.
These technologies include various software, hardware, and
networking solutions. Here are notes and examples of cloud
computing enabling technologies:
19
1. Virtualization
Virtual workspaces:
◦ An abstraction of an execution environment that can be made dynamically
available to authorized clients by using well-defined protocols,
◦ Resource quota (e.g. CPU, memory share),
◦ Software configuration (e.g. O/S, provided services).
Hardware
Denali
etc.
Performance: Para-virtualization (e.g. Xen) is very close to raw physical
performance!
21
2. Automation and
Orchestration:
Examples:
◦ Ansible
◦ Puppet
◦ Chef
◦ Terraform
◦ AWS CloudFormation
23
3. Containerization:
Examples:
◦ Docker
◦ Kubernetes for container orchestration
24
4. Software-Defined
Networking (SDN):
Examples:
◦ Cisco ACI (Application Centric Infrastructure)
◦ VMware NSX
◦ OpenFlow
25
5. Storage
Technologies:
Examples:
◦ Amazon S3 (Simple Storage Service)
◦ Google Cloud Storage
◦ Azure Blob Storage
◦ Ceph
26
6. Edge Computing:
Examples:
◦ AWS IoT Greengrass
◦ Microsoft Azure IoT Edge
◦ Google Cloud IoT Core
27
Types of Clouds
In cloud computing, different types of clouds refer to the
deployment models and how cloud resources are
provisioned and managed.
The main types of clouds include public cloud, private cloud,
hybrid cloud, and multi-cloud. Here are examples for each
type:
Private
Public
Community
Hybrid
28
1. Public Cloud:
Examples:
◦ Amazon Web Services (AWS)
◦ Microsoft Azure
◦ Google Cloud Platform (GCP)
◦ IBM Cloud
29
2. Private Cloud:
Examples:
◦ VMware Cloud Foundation
◦ OpenStack
◦ Microsoft Azure Stack
30
3. Hybrid Cloud:
Examples:
◦ AWS Outposts
◦ Azure Arc
◦ Google Anthos
31
4. Multi-Cloud:
Examples:
◦ Using AWS for storage and compute, Azure for machine learning, and Google
Cloud for data analytics.
◦ Running production workloads on Azure while leveraging AWS for disaster
recovery and backup.
32
Advantages of Cloud
Lower computer costs:
Computing
◦You do not need a high-powered and high-priced computer to
run cloud computing's web-based applications.
◦ Since applications run in the cloud, not on the desktop PC, your
desktop PC does not need the processing power or hard disk
space demanded by traditional desktop software.
◦ When you are using web-based applications, your PC can be less
expensive, with a smaller hard disk, less memory, more efficient
processor...
◦ In fact, your PC in this scenario does not even need a CD or DVD
drive, as no software programs have to be loaded and no
document files need to be saved.
33
Advantages of Cloud
Computing
Improved performance:
◦ With few large programs hogging your computer's
memory, you will see better performance from your PC.
◦ Computers in a cloud computing system boot and run
faster because they have fewer programs and processes
loaded into memory…
Reduced software costs:
◦ Instead of purchasing expensive software applications, you
can get most of what you need for free-ish!
◦ most cloud computing applications today, such as the Google Docs suite.
◦ better than paying for similar commercial software
◦ which alone may be justification for switching to cloud applications.
34
Advantages of Cloud
Computing
Instant software updates:
◦ Another advantage to cloud computing is that you are no longer faced
with choosing between obsolete software and high upgrade costs.
◦ When the application is web-based, updates happen automatically
◦ available the next time you log into the cloud.
◦ When you access a web-based application, you get the latest version
◦ without needing to pay for or download an upgrade.
35
Advantages of Cloud Computing
Unlimited storage capacity:
◦ Cloud computing offers virtually limitless storage.
◦ Your computer's current 1 Tbyte hard drive is small compared
to the hundreds of Pbytes available in the cloud.
Increased data reliability:
◦ Unlike desktop computing, in which if a hard disk crashes and
destroy all your valuable data, a computer crashing in the cloud
should not affect the storage of your data.
◦ if your personal computer crashes, all your data is still out there in the
cloud, still accessible
◦ In a world where few individual desktop PC users back up their
data on a regular basis, cloud computing is a data-safe
computing platform!
36
Advantages of Cloud Computing
Universal document access:
◦ That is not a problem with cloud computing, because you do not
take your documents with you.
◦ Instead, they stay in the cloud, and you can access them
whenever you have a computer and an Internet connection
◦ Documents are instantly available from wherever you are
37
Advantages of Cloud
Computing
Easier group collaboration:
◦ Sharing documents leads directly to better collaboration.
◦ Many users do this as it is an important advantages of cloud
computing
◦ multiple users can collaborate easily on documents and projects
Device independence.
◦ You are no longer tethered to a single computer or network.
◦ Changes to computers, applications and documents follow you
through the cloud.
◦ Move to a portable device, and your applications and documents
are still available.
38
Disadvantages of Cloud
Computing
Requires a constant Internet connection:
◦ Cloud computing is impossible if you cannot connect to the
Internet.
◦ Since you use the Internet to connect to both your
applications and documents, if you do not have an Internet
connection you cannot access anything, even your own
documents.
◦ A dead Internet connection means no work and in areas
where Internet connections are few or inherently
unreliable, this could be a deal-breaker.
39
Disadvantages of Cloud
Computing
Does not work well with low-speed connections:
◦ Similarly, a low-speed Internet connection, such as that
found with dial-up services, makes cloud computing
painful at best and often impossible.
◦ Web-based applications require a lot of bandwidth to
download, as do large documents.
Features might be limited:
◦ This situation is bound to change, but today many web-
based applications simply are not as full-featured as their
desktop-based applications.
◦ For example, you can do a lot more with Microsoft PowerPoint than
with Google Presentation's web-based offering
40
Disadvantages of Cloud
Computing
Can be slow:
◦ Even with a fast connection, web-based applications can
sometimes be slower than accessing a similar software
program on your desktop PC.
◦ Everything about the program, from the interface to the
current document, has to be sent back and forth from
your computer to the computers in the cloud.
◦ If the cloud servers happen to be backed up at that
moment, or if the Internet is having a slow day, you would
not get the instantaneous access you might expect from
desktop applications.
41
Disadvantages of Cloud
Stored data might not be secure:
Computing
◦ With cloud computing, all your data is stored on the cloud.
◦ The questions is How secure is the cloud?
◦ Can unauthorised users gain access to your confidential data?
42
Disadvantages
HPC Systems:
of Cloud
◦Computing
Not clear that you can run compute-intensive HPC applications
that use MPI/OpenMP!
◦ Scheduling is important with this type of application
◦ as you want all the VM to be co-located to minimize communication latency!
General Concerns:
◦ Each cloud systems uses different protocols and different APIs
◦ may not be possible to run applications between cloud based systems
◦ Amazon has created its own DB system (not SQL 92), and
workflow system (many popular workflow systems out there)
◦ so your normal applications will have to be adapted to execute on these
platforms.
43
Grid Technology:
Emerging enabling technology.
Natural evolution of distributed systems and the Internet.
Middleware supporting network of systems to facilitate
sharing, standardization and openness.
Infrastructure and application model dealing with sharing of
compute cycles, data, storage and other resources.
Publicized by prominent industries as on-demand computing,
utility computing, etc.
Move towards delivering “computing” to masses similar to
other utilities (electricity and voice communication).”
Now,
44
The Future
Many of the activities loosely grouped together under cloud
computing have already been happening and centralised
computing activity is not a new phenomena
Grid Computing was the last research-led centralised
approach
However there are concerns that the mainstream adoption of
cloud computing could cause many problems for users
Many new open source systems appearing that you can
install and run on your local cluster
◦ should be able to run a variety of applications on these systems
45