Cloud Computing Fundamentals
Karthik Sankar
Sun Microsystems Campus Ambassador Final Year, Dept. of CSE
Cluster Computing
Cloud Computing
Grid Computing
.. 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 ..
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.
• 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 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
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
DEPLOYMENT MODELS
Public Cloud
Private Cloud Hybrid CloudPublic 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.
DEPLOYMENT MODELS
Public Cloud
Private Cloud
Hybrid CloudPrivate 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.
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.
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.
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.
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.
Cloud Infrastructure IaaS
PaaS SaaS
Infrastructure as a Service (IaaS) Architectures
Platform as a Service (PaaS) Architectures Software as a Service (SaaS) Architectures Cloud Infrastructure SaaS Cloud Infrastructure PaaS SaaS Cloud Infrastructure IaaS PaaS Cloud Infrastructure PaaS Cloud Infrastructure IaaS
SINGLE TENANT vs. MULTI-TENANT ARCHITECTURE
Server OS Database App Server Storage Network App 1 ServerOS Database App Server Storage Network App 2 Server OS Database App Server Storage Network App 3 Other apps Shared infrastructureSingle tenancy gives each customer a dedicated software stack – and each layer in each stack still requires configuration, monitoring, upgrades,
On a multi-tenant platform, all applications run in a single logical environment: faster, more secure, more available, automatically upgraded
Cloud computing often leverages:
Massive scale
Virtualization
Non-stop computing
Free software
Geographic distribution
Service oriented software
Autonomic computing
Advanced security technologies
Purchase software
Purchase hardware
Find space in data center
Create migration plan
Setup development & test
Configure systems
Configure databases
Configure networks
more…
TRADITIONAL SOFTWARE PURCHASE
CLOUD COMPUTING – THE EASY WAY
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.
Scalability
Availability
Reliability
Security
Flexibility and agility
Serviceability
Efficiency
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 cost-effective than single computers of comparable speed or availability
High-availability (HA) clusters Load-balancing clusters
Compute clusters
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
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.
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.