Cloud Computing Fundamentals
Karthik Sankar Sun Microsystems Campus Ambassador Final Year, Dept. of CSE National Institute of Technology, Trichy
24/9/2009
Software Freedom Day - 2009
1
The hype
Cluster Computing Cloud Computing Grid Computing
24/9/2009
Software Freedom Day - 2009
2
24/9/2009
Software Freedom Day - 2009
3
DEFINITIONS
24/9/2009
Software Freedom Day - 2009
4
DEFINITIONS .. moving computing and data away from the desktop and the portable PC and simply displaying the results of computing that takes place in a centralized location and is then transmitted via the internet on the user's screen .. - John Makroff .. a computing paradigm shift where computing is moved away from personal computers or an individual application server to a "cloud" of computers .. - Wikipedia .. the idea of relying on Web-based applications and storing data in the "cloud" of the internet .. - MIT Technology Review .. the cloud is a smart, complex, powerful computing system in the sky that people can just plug into .. - Marc Andreessen 24/9/2009
Software Freedom Day - 2009
5
Cloud computing comes into focus only when you think about what IT always needs: a way to increase capacity or add capabilities on the fly without investing in new infrastructure, training new personnel, or licensing new software. Cloud computing encompasses any subscription-based or pay-per-use service that, in real time over the Internet, extends IT’s existing capabilities. 24/9/2009
Software Freedom Day - 2009
6
• Common, Location-independent, Online Utility on Demand – Common implies multi-tenancy, not single or isolated tenancy – Utility implies pay-for-use pricing – on Demand implies ~infinite, ~immediate, ~invisible scalability • Alternatively, a “Zero-One-Infinity” definition: 0 On-premise infrastructure Acquisition cost Adoption cost Support cost 1 ∞
24/9/2009
Coherent and resilient environment – not a brittle “software stack” Scalability in response to changing need Integrability/Interoperability with legacy assets and other services Customizability/Programmability from data, through logic, up into the user interface without compromising robust multi-tenancy
Software Freedom Day - 2009
7
The on-demand, self-service, pay-by-use model Infrastructure is programmable Applications are composed and are built to be composable Services are delivered over the network
24/9/2009
Software Freedom Day - 2009
8
Cloud Computing Infrastructure Models
24/9/2009
Software Freedom Day - 2009
9
DEPLOYMENT MODELS
Public Cloud
Private Cloud
Hybrid Cloud
Public clouds are run by third parties, and applications from different customers are likely to be mixed together on the cloud’s servers, storage systems, and networks. Public clouds are most often hosted away from customer premises, and they provide a way to reduce customer risk and cost by providing a flexible, even temporary extension to enterprise infrastructure.
24/9/2009
Software Freedom Day - 2009
10
DEPLOYMENT MODELS Public Cloud
Private Cloud
Hybrid Cloud
Private clouds are built for the exclusive use of one client, providing the utmost control over data, security, and quality of service. The company owns the infrastructure and has control over how applications are deployed on it. Private clouds may be deployed in an enterprise datacenter, and they also may be deployed at a co-location facility.
24/9/2009
Software Freedom Day - 2009
11
DEPLOYMENT MODELS Public Cloud
Private Cloud
Hybrid Cloud
Hybrid clouds combine both public and private cloud models. They can help to provide on-demand, externally provisioned scale. The ability to augment a private cloud with the resources of a public cloud can be used to maintain service levels in the face of rapid workload fluctuations. A hybrid cloud also can be used to handle planned workload spikes. Sometimes called “surge computing,” a public cloud can be used to perform periodic tasks that can be deployed easily on a public cloud. 24/9/2009
Software Freedom Day - 2009
12
Architectural Layers of Cloud Computing
24/9/2009
Software Freedom Day - 2009
13
Software as a service (SaaS) Software as a service features a complete application offered as a service on demand. A single instance of the software runs on the cloud and services multiple end users or client organizations.
24/9/2009
Software Freedom Day - 2009
14
Software as a service (SaaS)
24/9/2009
Software Freedom Day - 2009
15
Platform as a service (PaaS) Platform as a service encapsulates a layer of software and provides it as a service that can be used to build higher-level services. Someone producing PaaS might produce a platform by integrating an OS, middleware, application software, and even a development environment that is then provided to a customer as a service Someone using PaaS would see an encapsulated service that is presented to them through an API. The customer interacts with the platform through the API, and the platform does what is necessary to manage and scale itself to provide a given level of service.
24/9/2009
Software Freedom Day - 2009
16
Platform as a service (PaaS)
24/9/2009
Software Freedom Day - 2009
17
Infrastructure as a service (IaaS) Infrastructure as a service delivers basic storage and compute capabilities as standardized services over the network. Servers, storage systems, switches, routers, and other systems are pooled and made available to handle workloads that range from application components to high-performance computing applications.
24/9/2009
Software Freedom Day - 2009
18
Infrastructure as a service (IaaS)
24/9/2009
Software Freedom Day - 2009
19
Cloud Infrastructure
Cloud Infrastructure IaaS
PaaS
PaaS
SaaS
SaaS
SaaS
Cloud Infrastructure
Cloud Infrastructure IaaS
PaaS
Cloud Infrastructure IaaS
24/9/2009
Cloud Infrastructure
PaaS
Software as a Service (SaaS) Architectures
Platform as a Service (PaaS) Architectures
Infrastructure as a Service (IaaS) Architectures
Software Freedom Day - 2009
20
SINGLE TENANT vs. MULTI-TENANT ARCHITECTURE Shared infrastructure
App 1 App Server Database OS Server Storage Network
App 2 App Server Database OS Server Storage Network
Other apps
App 3 App Server Database OS Server Storage Network
Single tenancy gives each customer a dedicated software stack – and each layer in each stack still requires configuration, monitoring, upgrades, security updates, patches, tuning and disaster recovery. 24/9/2009
On a multi-tenant platform, all applications run in a single logical environment: faster, more secure, more available, automatically upgraded and maintained. Any improvement appears to all customers at once.
Software Freedom Day - 2009
21
CLOUD COMPUTING CHARACTERISTICS Cloud computing often leverages: Massive scale Virtualization Non-stop computing Free software Geographic distribution Service oriented software Autonomic computing Advanced security technologies
24/9/2009
Software Freedom Day - 2009
22
TRADITIONAL SOFTWARE PURCHASE
Purchase software Purchase hardware Find space in data center Create migration plan Setup development & test Configure systems Configure databases Configure networks more… CLOUD COMPUTING – THE EASY WAY
Get a login
24/9/2009
Software Freedom Day - 2009
23
CLOUD COMPUTING BENEFITS Reduce run time and response time For applications that use the cloud essentially for running batch jobs, cloud computing makes it straightforward to use 1000 servers to accomplish a task in 1/1000 the time that a single server would require
Minimize infrastructure risk When pushing an application out to the cloud, scalability and the risk of purchasing too much or too little infrastructure becomes the cloud provider’s issue
Lower cost of entry Because infrastructure is rented, not purchased, the cost is controlled, and the capital investment can be zero.
Increased pace of innovation The low cost of entry to new markets helps to level the playing field, allowing start-up companies to deploy new products quickly and at low cost. 24/9/2009
Software Freedom Day - 2009
24
GOALS OF CLOUD COMPUTING Scalability Availability Reliability Security Flexibility and agility Serviceability Efficiency
24/9/2009
Software Freedom Day - 2009
25
IS THIS GRID COMPUTING ?
24/9/2009
Software Freedom Day - 2009
26
CLUSTERS A computer cluster is a group of linked computers, working together closely so that in many respects they form a single computer. The components of a cluster are commonly, but not always, connected to each other through fast local area networks. Clusters are usually deployed to improve performance and/or availability over that of a single computer, while typically being much more costeffective than single computers of comparable speed or availability High-availability (HA) clusters Load-balancing clusters Compute clusters
24/9/2009
Software Freedom Day - 2009
27
GRID COMPUTING Grid computing (or the use of computational grids) is the combination of computer resources from multiple administrative domains applied to a common task, usually to a scientific, technical or business problem that requires a great number of computer processing cycles or the need to process large amounts of data. One of the main strategies of grid computing is using software to divide and apportion pieces of a program among several computers, sometimes up to many thousands. Grid computing is distributed, large-scale cluster computing, as well as a form of network-distributed parallel processing
24/9/2009
Software Freedom Day - 2009
28
CLOUD COMPUTING vs. GRID COMPUTING Grid computing has been used in environments where users make few but large allocation requests Cloud computing really is about lots of small allocation requests.
24/9/2009
Software Freedom Day - 2009
29
CLOUD COMPUTING vs. GRID COMPUTING Grid computing has been used in environments where users make few but large allocation requests Cloud computing really is about lots of small allocation requests.
24/9/2009
Software Freedom Day - 2009
30
DISADVANTAGES OF CLOUD COMPUTING Stored data might not be secure: With cloud computing, all your data is stored
on the cloud. How secure is the cloud? Can unauthorized users gain access to your confidential data? Cloud computing companies say that data is secure, but it's too early in the game to be completely sure of that.
Dependent on internet connection: Internet connectivity isn’t completely
stable and reliable. For cloud computing to be completely accessible anywhere, we’ll probably need to wait a few more years for the internet service providers to step up to the plate.
It’s not platform agnostic: Most clouds force participants to rely on a single
platform or host only one type of product. If you need to support multiple platforms, as most enterprises do, then you’re looking at multiple clouds. That can be a nightmare to manage.
Can be slow: Even on a fast connection, web-based applications can sometimes
be slower than accessing a similar software program on your desktop PC. 24/9/2009
Software Freedom Day - 2009
31
24/9/2009
Software Freedom Day - 2009
32
Thank you
24/9/2009
Software Freedom Day - 2009
33