CSE2013 Cloud Computing Module 1
CSE2013 Cloud Computing Module 1
C
Cloud Computing
Cloud Computing
MODULE - 1
• Water
• Electricity
• Telephony
1) Water Provider
User
2) Electricity Provider
User
Computing
• Computing is being transformed into a model consisting of
services that are commoditized and delivered in a manner
similar to utilities such as water, electricity, gas, and
telephony.
• Cloud computing - turn the vision of “computing utilities "in to a reality.
• computer utilities’
- like electric and telephone utilities
- will service individual homes and offices across the country
Example of cloud computation
• Users (consumers) need to pay providers only when they access the
computing services.
• consumers
- no longer need to invest heavily
- encounter difficulties in building and maintaining complex IT
infrastructure.
Cloud Computing
• Users access services based on their requirements without regard to
where the services are hosted.
• This model has been referred to as utility computing or, (since 2007),
as cloud computing.
Cloud computing
• Cloud computing allows
- renting infrastructure,
- runtime environments-IDE
- and services on a pay- per-use basis.
5. Work From Anywhere: It doesn’t matter where you are sitting in the world, cloud service allows you to access the
data anywhere, anytime. You don’t need to carry your USB or laptop in different places, you just need the internet
connection to get access to your data on the cloud. Some cloud services also offer mobile apps, so you are not
restricted to use any specific device. This gives more flexibility and convenience to the employees along with running
the business operations smoothly.
Why is cloud popular?
• Anyone with a credit card can provision virtual
hardware, runtime environments, and services
• Used as needed, with no up-front
Vision of commitments
• The entire stack of a computing system is
Cloud transformed into a collection of utilities
• composed together to deploy systems in hours
and with virtually no maintenance costs
Vision of Cloud
Future –
Global cloud
marketplace
Defining
a Cloud
Defining a Cloud
• Refers to both the applications delivered as services over the Internet
and the hardware and system software in the datacenters that
provide those services.
• A model for enabling ubiquitous, convenient, on-demand network
access to a shared pool of configurable computing resources (e.g.,
networks, servers, storage, applications, and services) that can be
rapidly provisioned and released with minimal management effort or
service provider interaction.
Criteria for a cloud service
IT Services on Demand
A bird’s-eye view of cloud computing
Historical Developments
5 Core
Technologies
1. Distributed • A distributed system is a collection of independent
computers that appears to its users as a single
systems coherent system.
Evolution of Distributed Computing
Major milestones
39
Description:-
40
Mainframes
• Smaller than a super computer
• Large computational facilities leveraging
multiple processing units
• Powerful, highly reliable computers
specialized for large data movement and
massive input/output (I/O) operations.
USE:
• online transactions
• enterprise resource planning
• huge data processing
Mainframes – good and bad
Good Scalability • High cost
Good memory storage • Difficult installation
Highly reliable • Huge physical size
Transparent fault tolerance • Environmental issues
No interruption while replacing
faulty components
Can run multiple OS
Cluster Computing
• Early 1980s
• Low-cost alternative to mainframes and supercomputers
• Increased availability of cheap commodity machines
• Connected by a high-bandwidth network and controlled by specific
software tools that manage them as a single system
• 1980s - clusters - standard technology for parallel and high-
performance computing
• Could run programs which once required mainframes
Cluster Computing
• Collection of tightly or loosely
connected computers (nodes)
that work together so that they
act as a single entity
(transparency)
• Definition
• Collection of solutions allowing the abstraction of some of the
fundamental elements for computing
• Hardware, runtime environments, storage, and networking
3. Web 2.0
Platform as a Service
Runtime Environment for Applications
Development and Data Processing Platforms
Examples: Windows Azure, Hadoop, Google AppEngine, Aneka
Infrastructure as a Service
Virtualized Servers
Storage and Networking
Examples: Amazon EC2, S3, Rightscale, vCloud
S3: Amazon Simple Storage Service
Vendors of SPI Model
Basic Structure of Cloud Computing
Concept of a “Service” in Cloud Computing
In the Cloud scenario, the provider Organization (Microsoft, Oracle,
Amazon, Google) offers the following commodities as services:
1. Infrastructure (Hardware) -> Storage, Servers, Networking
components
2. Platform to run applications -> Runtimes (JRE, CLR), Operating
Systems (Windows, Linux), Databases (MySQL, Oracle)
3. Applications -> Gmail, Facebook, CRM, etc.
60
Description:-
61
Types of Services available in cloud computing
• IaaS --- Infrastructure as a Service --- server, memory, CPU processor,
storage space, network components, disk space, hard disk
• PaaS---Platform as a Service --- Provides run time environment for
developers – visual studio, IDE, WORD , OPERATING SYSTEM,
VMWARE
• SaaS – Software as a Service- ALL TYPE OF APPLICATION –
FACEBOOK, GMAIL. Google drive, google document,etc
• Stack of cloud computing --- arrangement of services
• SaaS
• PaaS
• IaaS
IaaS- Advantages and Disadvantages
• Advantages of IaaS:
Cost Saving, On-demand scalability, Have the
Flexibility You Need, Focus on business growth,
It can also run when the server goes down.
• Disadvantages of IaaS:
Security, Lack of flexibility, Technical problems, Over
Dependency, Upgrade & Maintenance.
PaaS- Advantages
• Advantages of PaaS:
Security: All the data of applications are stored inside the provider's cloud
database.
Cost-Effective: There are no upfront hardware costs and flexible payment methods such as
pay-as-you-go models.
Scalability: Easily scale a solution to accommodate changing needs. Data Storage: Data is
routinely saved in the cloud.
SaaS- Disadvantages
• Disadvantages of SaaS:
Loss of Control: The vendor manages everything, making you dependent upon the
vendor's capabilities.
Limited Customization: Most SaaS applications offer little in the way of customization
from the vendor.
Slower Speed: SaaS solutions can have more latency than client/server apps.
Cloud Deployment Models
1.Public clouds - most common model
• IT infrastructure is established by a third-party service provider that makes it
available to any consumer on a subscription basis
• Advantage: allow users to quickly leverage compute, storage, and application
services
• Users’ data and applications are deployed on cloud datacenters on the
vendor’s premises
2. Private clouds - Large organizations that own massive computing
• Infrastructures can still benefit from cloud computing by replicating the cloud
IT service delivery model in-house
Cloud Deployment Models – Contd.
3. Hybrid Clouds
• Whenever private cloud resources are unable to meet users’ quality-of-
service requirements, hybrid computing systems, partially composed of public
cloud resources and privately owned infrastructures, are created to serve the
organization’s needs
Major deployment models for cloud computing
Characteristics and benefits
• No up-front commitments
• On-demand access
• Nice pricing
• Simplified application acceleration and scalability
• Efficient resource allocation
• Energy efficiency
• Seamless creation and use of third-party services
Cloud computing - challenges
• Technical
• Security
• Legal
Building Cloud
Environments
Application development
• Classes of applications
1. Web applications
• Performance depends on workload generated by varying user demand
• Rich, complex and interactive
What sort of applications benefit from cloud?
2. Resource-intensive applications
• Data-intensive or compute-intensive applications
• Resources are required to complete execution in a reasonable timeframe
• But not required for a long duration
• Not interactive, only batch processing
• e.g. scientific applications
On-demand and dynamic scaling solution
• How?
(a) providing methods for renting compute power, storage, and
networking
(b) offering runtime environments designed for scalability and dynamic
sizing
(c) providing application services that mimic the behavior of desktop
applications but that are completely hosted and managed on the provider side
• Service orientation
allows a simple and seamless integration into existing systems
• Developers access such services via simple Web interfaces
Infrastructure and system
Development
Core technologies enabling the provisioning of cloud
services
• Cloud - XaaS—Everything-as-a-Service
Virtualization
• Technologies
Google AppEngine
• Frameworks
Microsoft Azure
Hadoop
Force.com and Salesforce.com
Manjrasoft Aneka
Amazon web services (AWS)
• IaaS
• Platform that offers flexible,
reliable, scalable, easy-to-use
and, cost-effective cloud
computing solutions
• compute and storage-on-
demand services
• Elastic Compute Cloud (EC2) and
Simple Storage Service (S3)
Amazon web services (AWS)
• Elastic Compute Cloud (EC2) • Simple Storage Service (S3)
• Customizable virtual hardware • Delivers persistent storage on demand
• EC2 instances are deployed either by using • S3 is organized into buckets; these are
• AWS console, which is a comprehensive containers of objects that are stored in binary
Web portal for accessing AWS services form and can be enriched with attributes
• Web services API available for several • Users can store objects of any size, from
programming languages simple files to entire disk images, and have
them accessible from everywhere
Google App Engine (GAE)
• PaaS
• Build highly scalable applications
on a fully managed serverless
platform
• Large computing infrastructure of
Google to dynamically scale
Google AppEngine
• Services include in-memory caching, scalable data store, job queues, messaging,
and cron tasks
• GAE requires that applications be written in Java or Python, store data in
Google Bigtable and use the Google query language.
• IaaS similar to EC2
• Google provides GAE free up to a certain amount of use for the following
resources:
• processor storage
• API calls
• concurrent requests
Microsoft Azure
• Provides a scalable runtime
environment for Web
applications and distributed
applications
Microsoft Azure
• Web role is designed to host a
• Applications in Azure are organized Web application
around the concept of roles, which
identify a distribution unit for • Worker role is a more
applications and embody the generic container of applications
application’s logic and can be used to perform
• Three types of role: Web role, worker workload processing
role, and virtual machine role • Virtual machine role provides a
virtual environment in which the
computing stack can be
fully customized, including the
operating systems
Hadoop
• Apache Hadoop is an open-source • Map - transforms and synthesizes
framework the input data provided by the
• that is suited for processing large data user
sets on commodity hardware
• Hadoop is an integral part of the • Reduce - aggregates the output
Yahoo! cloud infrastructure obtained by the map operations
• Hadoop is an implementation of Map
Reduce, an application programming
• Hadoop provides the runtime
model developed by Google environment
• which provides two fundamental • Developers need only provide the
operations for data processing: input data and specify the map
map and reduce
and reduce functions that need to
be executed
Force.com and Salesforce.com
4. H
ow is cloud development different from
traditional software development?