Cloud Computing Fundamentals124/9/2009Software Freedom Day - 2009
The hypeCluster ComputingCloud ComputingGrid Computing 224/9/2009Software Freedom Day - 2009
324/9/2009Software Freedom Day - 2009
DEFINITIONS424/9/2009Software Freedom Day - 2009
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 Andreessen524/9/2009Software Freedom Day - 2009
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.624/9/2009Software Freedom Day - 2009
 Common, Location-independent, Online Utility on Demand
Common implies multi-tenancy, not single or isolated tenancy
Utility implies pay-for-use pricing
onDemand implies ~infinite, ~immediate, ~invisible scalability
 Alternatively, a “Zero-One-Infinity” definition:0On-premise infrastructure	Acquisition cost	Adoption cost	Support cost1Coherent and resilient environment – not a brittle “software stack”Scalability in response to changing needIntegrability/Interoperability with legacy assets and other services	Customizability/Programmability from data, through logic, up into the	user interface without compromising robust multi-tenancy 724/9/2009Software Freedom Day - 2009
The on-demand, self-service, pay-by-use modelInfrastructure is programmableApplications are composed and are built to be composableServices are delivered over the network824/9/2009Software Freedom Day - 2009
Cloud Computing Infrastructure Models924/9/2009Software Freedom Day - 2009
DEPLOYMENT MODELSPrivate CloudPublic CloudHybrid 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.1024/9/2009Software Freedom Day - 2009
DEPLOYMENT MODELSPrivate CloudPublic CloudHybrid 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.1124/9/2009Software Freedom Day - 2009
DEPLOYMENT MODELSPrivate CloudPublic CloudHybrid CloudHybrid 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.1224/9/2009Software Freedom Day - 2009
Architectural Layers of Cloud Computing1324/9/2009Software Freedom Day - 2009
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.1424/9/2009Software Freedom Day - 2009
Software as a service (SaaS)1524/9/2009Software Freedom Day - 2009
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 PaaSmight produce a platform by integrating an OS,middleware, application software, and even a development environment that is then provided to a customer as a serviceSomeone using PaaSwould 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.1624/9/2009Software Freedom Day - 2009
Platform as a service (PaaS)1724/9/2009Software Freedom Day - 2009
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.1824/9/2009Software Freedom Day - 2009
Infrastructure as a service (IaaS)1924/9/2009Software Freedom Day - 2009
2024/9/2009Software Freedom Day - 2009
SINGLE TENANT vs. MULTI-TENANT ARCHITECTUREShared infrastructureOther appsApp 1App 2App 3App ServerApp ServerApp ServerDatabaseDatabaseDatabaseOSOSOSServerServerServerStorageStorageStorageNetworkNetworkNetworkSingle 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.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.2124/9/2009Software Freedom Day - 2009
CLOUD COMPUTING CHARACTERISTICSCloud computing often leverages:Massive scaleVirtualizationNon-stop computingFree softwareGeographic distributionService oriented software Autonomic computingAdvanced security technologies2224/9/2009Software Freedom Day - 2009
TRADITIONAL SOFTWARE PURCHASEPurchase softwarePurchase hardwareFind space in data centerCreate migration planSetup development & testConfigure systemsConfigure databasesConfigure networksmore… CLOUD COMPUTING – THE EASY WAYGet a login2324/9/2009Software Freedom Day - 2009
CLOUD COMPUTING BENEFITSReduce run time and response timeFor 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 requireMinimize infrastructure riskWhen pushing an application out to the cloud, scalability and the risk of 	purchasing too much or too little infrastructure becomes the cloud 	provider’s issueLower cost of entryBecause infrastructure is rented, not purchased, the cost is controlled, 	and the capital investment can be zero.Increased pace of innovationThe 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.2424/9/2009Software Freedom Day - 2009
GOALS OF CLOUD COMPUTINGScalabilityAvailabilityReliabilitySecurityFlexibility and agilityServiceabilityEfficiency2524/9/2009Software Freedom Day - 2009
IS THIS GRID COMPUTING ?2624/9/2009Software Freedom Day - 2009
CLUSTERSA 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 availabilityHigh-availability (HA) clustersLoad-balancing clustersCompute clusters2724/9/2009Software Freedom Day - 2009
GRID COMPUTINGGrid 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 processing2824/9/2009Software Freedom Day - 2009
CLOUD COMPUTING vs. GRID COMPUTINGGrid computing has been used in environments where users make few but large allocation requestsCloud computing really is about lots of small allocation requests.2924/9/2009Software Freedom Day - 2009

Cloud Computing

  • 1.
  • 2.
    The hypeCluster ComputingCloudComputingGrid Computing 224/9/2009Software Freedom Day - 2009
  • 3.
  • 4.
  • 5.
    DEFINITIONS.. moving computingand 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 Andreessen524/9/2009Software Freedom Day - 2009
  • 6.
    Cloud computing comesinto 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.624/9/2009Software Freedom Day - 2009
  • 7.
    Common, Location-independent,Online Utility on Demand
  • 8.
    Common implies multi-tenancy,not single or isolated tenancy
  • 9.
  • 10.
    onDemand implies ~infinite,~immediate, ~invisible scalability
  • 11.
    Alternatively, a“Zero-One-Infinity” definition:0On-premise infrastructure Acquisition cost Adoption cost Support cost1Coherent and resilient environment – not a brittle “software stack”Scalability in response to changing needIntegrability/Interoperability with legacy assets and other services Customizability/Programmability from data, through logic, up into the user interface without compromising robust multi-tenancy 724/9/2009Software Freedom Day - 2009
  • 12.
    The on-demand, self-service,pay-by-use modelInfrastructure is programmableApplications are composed and are built to be composableServices are delivered over the network824/9/2009Software Freedom Day - 2009
  • 13.
    Cloud Computing InfrastructureModels924/9/2009Software Freedom Day - 2009
  • 14.
    DEPLOYMENT MODELSPrivate CloudPublicCloudHybrid 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.1024/9/2009Software Freedom Day - 2009
  • 15.
    DEPLOYMENT MODELSPrivate CloudPublicCloudHybrid 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.1124/9/2009Software Freedom Day - 2009
  • 16.
    DEPLOYMENT MODELSPrivate CloudPublicCloudHybrid CloudHybrid 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.1224/9/2009Software Freedom Day - 2009
  • 17.
    Architectural Layers ofCloud Computing1324/9/2009Software Freedom Day - 2009
  • 18.
    Software as aservice (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.1424/9/2009Software Freedom Day - 2009
  • 19.
    Software as aservice (SaaS)1524/9/2009Software Freedom Day - 2009
  • 20.
    Platform as aservice (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 PaaSmight produce a platform by integrating an OS,middleware, application software, and even a development environment that is then provided to a customer as a serviceSomeone using PaaSwould 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.1624/9/2009Software Freedom Day - 2009
  • 21.
    Platform as aservice (PaaS)1724/9/2009Software Freedom Day - 2009
  • 22.
    Infrastructure as aservice (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.1824/9/2009Software Freedom Day - 2009
  • 23.
    Infrastructure as aservice (IaaS)1924/9/2009Software Freedom Day - 2009
  • 24.
  • 25.
    SINGLE TENANT vs.MULTI-TENANT ARCHITECTUREShared infrastructureOther appsApp 1App 2App 3App ServerApp ServerApp ServerDatabaseDatabaseDatabaseOSOSOSServerServerServerStorageStorageStorageNetworkNetworkNetworkSingle 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.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.2124/9/2009Software Freedom Day - 2009
  • 26.
    CLOUD COMPUTING CHARACTERISTICSCloudcomputing often leverages:Massive scaleVirtualizationNon-stop computingFree softwareGeographic distributionService oriented software Autonomic computingAdvanced security technologies2224/9/2009Software Freedom Day - 2009
  • 27.
    TRADITIONAL SOFTWARE PURCHASEPurchasesoftwarePurchase hardwareFind space in data centerCreate migration planSetup development & testConfigure systemsConfigure databasesConfigure networksmore… CLOUD COMPUTING – THE EASY WAYGet a login2324/9/2009Software Freedom Day - 2009
  • 28.
    CLOUD COMPUTING BENEFITSReducerun time and response timeFor 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 requireMinimize infrastructure riskWhen pushing an application out to the cloud, scalability and the risk of purchasing too much or too little infrastructure becomes the cloud provider’s issueLower cost of entryBecause infrastructure is rented, not purchased, the cost is controlled, and the capital investment can be zero.Increased pace of innovationThe 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.2424/9/2009Software Freedom Day - 2009
  • 29.
    GOALS OF CLOUDCOMPUTINGScalabilityAvailabilityReliabilitySecurityFlexibility and agilityServiceabilityEfficiency2524/9/2009Software Freedom Day - 2009
  • 30.
    IS THIS GRIDCOMPUTING ?2624/9/2009Software Freedom Day - 2009
  • 31.
    CLUSTERSA computer cluster is agroup 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 availabilityHigh-availability (HA) clustersLoad-balancing clustersCompute clusters2724/9/2009Software Freedom Day - 2009
  • 32.
    GRID COMPUTINGGrid computing (orthe 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 processing2824/9/2009Software Freedom Day - 2009
  • 33.
    CLOUD COMPUTING vs.GRID COMPUTINGGrid computing has been used in environments where users make few but large allocation requestsCloud computing really is about lots of small allocation requests.2924/9/2009Software Freedom Day - 2009