Cloud Computing
Cloud Computing
Systems Programming
Lecture 3
Introduction To Cloud
Computing
Cloud computing
• Uses Internet technologies to offer scalable and elastic
services.
• The term “elastic computing” refers to the ability of
dynamically acquiring computing resources and supporting a
variable workload.
• The resources used for these services can be metered and
the users can be charged only for the resources they used.
• The maintenance and security are ensured by service
providers.
• The service providers can operate more efficiently due to
specialization and centralization.
Cloud computing
• Lower costs for the cloud service provider are
past to the cloud users.
• Data is stored:
– closer to the site where it is used.
– in a device and in a location-independent manner.
• The data storage strategy can increase
reliability, as well as security, and can lower
communication costs.
Types of Clouds
Types of Clouds
• Public Cloud
– the infrastructure is made available to the general public or a large industry
group and is owned by the organization selling cloud services.
• Private Cloud
– the infrastructure is operated solely for an organization.
• Community Cloud
– the infrastructure is shared by several organizations and supports a
community that has shared concerns.
• Hybrid Cloud
– composition of two or more clouds (public, private, or community) as unique
entities but bound by standardized technology that enables data and
application portability.
Cloud Computing Pros
• Resources, such as CPU cycles, storage, network bandwidth,
are shared.
• When multiple applications share a system,
their peak demands for resources are not
synchronized thus, multiplexing leads to a higher
resource utilization.
• Resources can be aggregated to support data-intensive
applications.
• Data sharing facilitates collaborative activities. Many
applications require multiple types of analysis of shared data
sets and multiple decisions carried out by groups scattered
around the globe.
Cloud Computing Pros
• Eliminates the initial investment costs for a private
computing infrastructure and the
maintenance and operation costs.
• Cost reduction: concentration of resources
creates the opportunity to pay as you go for
computing.
• Elasticity: the ability to accommodate workloads
with very large peak-to-average ratios.
• User convenience: virtualization allows users to
operate in familiar environments rather than in
idiosyncratic ones.
Cloud Computing Cons
• Data safety and security.
– Not always possible to know where and how an
organisation's confidential data is stored.
• Technical reliability.
– Cloud providers are usually robust, but large failures have
occurred previously.
• Workflow incompatibility.
– To use the cloud, data and information need to be upload
to the cloud services and results and output downloaded.
This can be difficult if the services are only one part of a
complex workflow.
Why Cloud Computing?
• It is in a better position to exploit recent advances in software,
networking, storage, and processor technologies promoted by
the same companies who provide cloud services.
• It is focused on enterprise computing; its adoption by
industrial organizations, financial institutions, government, and
so on could have a huge impact on the economy.
• A cloud consists of a homogeneous set of hardware and
software resources.
• The resources are in a single administrative domain (AD).
Security, resource management, fault-tolerance, and quality
of service are less challenging than in a heterogeneous
environment with resources in multiple Ads.
Challenges for cloud computing
Cloud computing
Infrastructure
Distributed infrastructure
Defining attributes
Resource virtualization
Massive infrastructure
Autonomous systems
Utility computing. Pay-per-usage
Resources
Accessible via the Internet
Compute & storage servers
Networks Services Elasticity
Applications
Cloud delivery models
• Software as a Service (SaaS)
• Platform as a Service (PaaS)
• Infrastructure as a Service (IaaS)
Software-as-a-Service (SaaS)
• Applications are supplied by the service provider.
• The user does not manage or control the underlying cloud
infrastructure or individual application capabilities.
• Services offered include:
– Enterprise services such as: workflow management, group-ware and
collaborative, supply chain, communications, digital signature, customer
relationship management (CRM), desktop software, financial management,
geo-spatial, and search.
– Web 2.0 applications such as: metadata management, social networking,
blogs, wiki services, and portal services.
• Not suitable for real-time applications or for those where data is not
allowed to be hosted externally.
• Examples: Gmail, Google search engine.
Platform-as-a-Service (PaaS)
• Allows a cloud user to deploy consumer-created or acquired
applications using programming languages and tools supported by
the service provider.
• The user:
– Has control over the deployed applications and, possibly, application
hosting environment configurations.
– Does not manage or control the underlying cloud infrastructure including
network, servers, operating systems, or storage.
• Not particularly useful when:
– The application must be portable.
– Proprietary programming languages are used.
– The hardware and software must be customized to improve the
performance of the application.
Infrastructure-as-a-Service (IaaS)
Service
Consumer Service Provider Broker
NIST PaaS
Business
S
e
P
IAAS r
Cloud Auditor
IaaS support c i
u v
Aggregation
Model Security
audit Resource r a
abstraction and Provisioning i
control layer c
Privacy t y
impact audit Physical resource
y
layer Arbitrage
Portability/
Hardware Interoperability
Performance
audit
Facility
Carrier
Ethical Considerations
• Paradigm shift with implications on computing
ethics:
– The control is relinquished to third party services.
– The data is stored on multiple sites administered by
several organizations.
– Multiple services interoperate across the network.
• Implications
– Unauthorized access.
– Data corruption.
– Infrastructure failure, and service unavailability.
Borderless
• Systems can span the boundaries of multiple
organizations and cross the security borders.
• The complex structure of cloud services can make it
difficult to determine who is responsible in case
something undesirable happens.
• Identity fraud and theft are made possible by the
unauthorized access to personal data in circulation
and by new forms of dissemination through social
networks and they could also pose a danger to
cloud computing.
Privacy Considerations
• Cloud service providers have already collected
petabytes of sensitive personal information stored in
data centres around the world.
– The acceptance of cloud computing therefore will be
determined by privacy issues addressed by these
companies and the countries where the data centers are
located.
• Privacy is affected by cultural differences; some
cultures favour privacy, others emphasize
community.
– This leads to an ambivalent attitude towards privacy in the
Internet which is a global system.
Vulnerabilities
• Clouds are affected by malicious attacks and failures of the
infrastructure, e.g., power failures.
• Such events can affect the Internet domain name servers and
prevent access to a cloud or can directly affect the clouds:
• In 2004 an attack at Akamai caused a domain name outage
and a major blackout that affected Google, Yahoo, and other
sites.
• In 2009, Google was the target of a denial of service attack
which took down Google News and Gmail for several days
• In 2012 lightning caused a prolonged down time at Amazon.
Typical Cloud Offerings
• Main Cloud Service Providers:
– Amazon AWS, Google Cloud, Microsoft Azure
• Main Products:
– Serverless Computing: AWS Lambda, Azure Functions and
Google Cloud Functions
– A.I. & M.L. : AWS SageMaker, Azure Machine Learning and
Google AI Platform
– Compute Containers: AWS Elastic Compute, Azure VMs, and
Google Compute Engine.
– Storage : AWS S3, Azure Storage, and Google Cloud Storage
AWS Lambda
• Serverless Computing
What Is AWS Lambda?