CSE2013 Cloud Computing Module 1
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
Mr. R C Ravindranath, Asst. Prof, SOE-CSE 8
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
Cloud Computing Traditional Computing
It is ability to access data anywhere at any time by user. User can access data only on system in which data is stored.
It is more user-friendly as compared to traditional computing because user can It is less user-friendly as compared to cloud computing because data cannot be
accessed anywhere and if user has to access data in another system, then he
have access to data anytime anywhere using internet. need to save it in external storage medium.
It requires fast, reliable and stable internet connection to access information It does not require any internet connection to access data or information.
anywhere at any time.
It provides more storage space and servers as well as more computing power so It provides less storage as compared to cloud computing.
that applications and software run must faster and effectively.
It also provides scalability and elasticity i.e., one can increase or decrease storage
It does not provide any scalability and elasticity.
capacity, server resources, etc., according to business needs.
It requires own team to maintain and monitor system that will need a lot of time
Cloud service is served by provider’s support team. and efforts.
Software is offered as an on-demand service (SaaS) that can be accessed through Software in purchased individually for every user and requires to be updated
subscription service. periodically.
Mr. R C Ravindranath, Asst. Prof, SOE-
11
CSE
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.
Composition of
several Service orientation - to deliver its
technologies capabilities with familiar abstractions
EXTREMELY FLEXIBLE ENVIRONMENT FOR EASY TO INTEGRATE ADDITIONAL CAPACITY OR USE OF DYNAMICALLY PROVISIONED IT
BUILDING NEW SYSTEMS AND APPLICATIONS NEW FEATURES INTO EXISTING SYSTEMS RESOURCES – NO NEED TO BUY ADDITIONAL
INFRASTRUCTURE AND SOFTWARE
• 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
Give your needs – automation of discovery
process and integration of the cloud services
Future –
Global cloud Reduces the barriers between service consumers
and providers
marketplace Standards
IT Services on Demand
A bird’s-eye view of cloud computing
Historical Developments
Distributed Virtualization Web 2.0
5 Core systems
Technologies
Service oriented Utility-oriented
computing computing
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
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
Cloud Computing Architecture
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
4. Community Clouds
Public Cloud
• Public cloud is open to all to store and access information via the
Internet using the pay-per-usage method.
• In public cloud, computing resources are managed and operated by the
Cloud Service Provider (CSP).
• Example: Amazon elastic compute cloud (EC2), IBM SmartCloud
Enterprise, Microsoft, Google App Engine, Windows Azure Services
Platform.
Host Service provider Enterprise (Third party) Enterprise (Third party) Community (Third
party)
• 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
• 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 and
application’s logic can be used to perform workload
• Three types of role: Web role, worker
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 user
• that is suited for processing large data
sets on commodity hardware • Reduce - aggregates the output
• Hadoop is an integral part of the obtained by the map operations
Yahoo! cloud infrastructure • Hadoop provides the runtime
• Hadoop is an implementation of Map environment
Reduce, an application programming
model developed by Google • Developers need only provide the
• which provides two fundamental input data and specify the map and
operations for data processing: reduce functions that need to be
map and reduce executed
Force.com and Salesforce.com
4. H
ow is cloud development different from
traditional software development?
Surprise Test-1
Set-A
Q1. Define cloud computing and explain it’s benefits -3M
Q2. Explain cloud computing reference model with a neat diagram-3M
Q3. Explain Public and hybrid cloud deployment model with its Pro’s and con’s-4M
Set-B
Q1. How is cloud development different from traditional software development?-
3M
Q2. Explain Private and community cloud deployment model with its Pro’s and
con’s-3M
Q3. Explain cloud computing architecture-4M