Lecture #6 - ET-3010
Cloud Computing - Overview and Examples
Connected Services and Cloud Computing
School of Electrical Engineering and Informatics SEEI / STEI
Institut Teknologi Bandung ITB
Update April 2017
De nition 5 Essential Characteristics 3 Service / Delivery Models 4 Deployment Models Key Enablers: fast networks, powerful servers, high- performance virtualization etc. Cloud Computing Cloud Computing is a model for enabling ubiquitous, convenient, on-demand network access to a shared pool of con gurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management e ort or service provider interaction.
"the cloud", is the delivery of on-demand computing resources (everything from applications to data centers) over the Internet on a pay-for-use basis. Computing as a service over the Internet Elastic Resources : Scale up or down quickly and easily to meet demand Metered Service : You only pay for what you use Self Service : All the IT resources you need with self- service access Ref: IBM Cloud Computing Cloud Computing (also called simply, "the cloud") describes the act of storing, managing and processing data online - as opposed to on your own physical computer or network (Ref: Rackspace). Cloud Computing is the on-demand delivery of compute power, database storage, applications, and other IT resources through a cloud services platform via the internet with pay-as- you-go pricing (Ref: AWS).
computing services all work a little di erently, depending on the provider. Many provide a friendly, browser-based dashboard that makes it easier for IT professionals and developers to order resources and manage their accounts. Some cloud computing services are also designed to work with REST APIs and a command-line interface (CLI), giving developers multiple options. Ref: Microsoft
are barely a decade old, but already a variety of organisations - from tiny startups to global corporations, government agencies to non-pro ts - are embracing the technology for all sorts of reasons. Ref: Microsoft Bene ts 1. Cost 2. Speed 3. Scalability 4. Productivity 5. Performance 6. Reliability
computing eliminates the capital expense of buying hardware and software and setting up and running on-site datacenters - the racks of servers, the round-the-clock electricity for power and cooling, the IT experts for managing the infrastructure. Speed Most cloud computing services are provided self service and on demand, so even vast amounts of computing resources can be provisioned in minutes, typically with just a few mouse clicks, giving businesses a lot of exibility and taking the pressure o capacity planning. Scalability The bene ts of cloud computing services include the ability to scale elastically. In cloud speak, that means delivering the right amount of IT resources - for example, more or less computing power, storage, bandwidth - right when its needed and from the right geographic location.
datacenters typically require a lot of "racking and stacking" - hardware set up, software patching and other time-consuming IT management chores. Cloud computing removes the need for many of these tasks, so IT teams can spend time on achieving more important business goals. Performance The biggest cloud computing services run on a worldwide network of secure datacenters, which are regularly upgraded to the latest generation of fast and e cient computing hardware. This o ers several bene ts over a single corporate datacenter, including reduced network latency for applications and greater economies of scale. Reliability Cloud computing makes data backup, disaster recovery and business continuity easier and less expensive, because data can be mirrored at multiple redundant sites on the cloud provider's network.
into three broad categories: Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (Saas). These are sometimes called the Cloud Computing Stack, because they build on top of one another. Ref: Microsoft Types of Cloud Services 1. IaaS 2. PaaS 3. SaaS
basic category of cloud computing services. With IaaS, you rent IT infrastructure - servers and virtual machines (VMs), storage, networks, operating systems - from a cloud provider on a pay-as-you-go basis. PaaS PaaS refers to cloud computing services that supply an on-demand environment for developing, testing, delivering and managing software applications. PaaS is designed to make it easier for developers to quickly create web or mobile apps, without worrying about setting up or managing the underlying infrastructure (and other services) needed for development. SaaS SaaS is a method for delivering software applications over the Internet, on demand and typically on a subscription basis. With SaaS, cloud providers host and manage the software application and underlying infrastructure and handle any maintenance (eg. upgrades, patching).
same. There are three di erent ways to deploy cloud computing resources: public cloud, private cloud and hybrid cloud. NIST has de ned another type of deployment: community cloud. Ref: Microsoft Types of Cloud Deployments Public Cloud Public clouds are owned and operated by a third-party cloud service provider, which deliver their computing resources like servers and storage over the Internet. With a public cloud, all hardware, software and other supporting infrastructure is owned and managed by the cloud provider. You access these services and manage your account using a web browser.
private cloud refers to cloud computing resources used exclusively by a single business or organisation. A private cloud can be physically located on the company's on-site datacenter (on-site). Some companies also pay third-party service providers to host their private cloud (outsourced). A private cloud is one in which the services and infrastructure are maintained on a private network. Hybrid Cloud Hybrid clouds combine public and private clouds, bound together by technology that allows data and applications to be shared between them. By allowing data and applications to move between private and public clouds, hybrid cloud gives businesses greater exibility and more deployment options.
computing right now, even if you don't realise it. Why?? If you use an online service to send email, edit documents, watch movies or TV, listen to music, play games or store pictures and other les, it is likely that cloud computing is making it all possible behind the scenes. Ref: Microsoft Cloud Computing Uses Examples of the things we can do with the cloud Create new apps and services Deliver software on demand Store, back up and recover data Analyse data for patterns and make predictions Host websites and blogs Stream audio and video
games are popular immediately, we don't have the option of scaling them over time," "Google App Engine makes the process painless, since it can instantly launch as many servers as we need and scale back down when a game has passed its usage peak." Note: App Engine is a PaaS from Google.
have ocked to Rovio's web games since their launch. The company's most popular o ering, the Facebook game "Angry Birds Friends", logs more than 13 million users every month. Since the developers don't need to install or maintain hardware, they can devote their attention to enhancing the games, which have received overwhelmingly positive reviews. Ref: Rovio @ GCP
resources. Modern applications require huge amounts of processing and data: PB/EB/+, millions of users, billions of objects. Needs 1. Dynamic Scale of Current Apps/Services 2. Scale of Future Apps/Services How many Users/Objects? How much Data? How much Computation?
Need HW Investment 2. Need Expertise 3. Need Maintenance Even a small cluster can easily cost $100,000. A single DC could be in the range of around $200 - $500 Millions. Planning and setting up a large cluster is highly nontrivial. Cluster may require special software, etc. Someone needs to replace faulty hardware, install software upgrades, maintain user accounts, etc.
Ref: Haeberlen Scaling-Up Need to order new machines, install them, integrate with existing cluster - can take weeks Large scaling factors may require major redesign, e.g., new storage system, new interconnect, new building (!) Scaling-Down What to do with super uous hardware? Server idle power is about 60% of peak Energy is consumed even when no work is being done Many xed costs, such as construction
houses IT infrastructure. A warehouse-sized "computer". A single data center can easily contain 10,000 racks with 100 cores in each rack (1,000,000 cores total). This gure tends to increase over time. Ref: Haeberlen, Lin
services we have to run cloud software to abstract and manage the underlying hardware infrastructure. The software can be proprietary (e.g. Microsoft Azure, GCP, AWS) or open-source (e.g. OpenStack, Cloud Foundry). Here we'll shortly address OpenStack and Cloud Foundry.
pools of compute, storage, and networking (i.e. IaaS) resources throughout a datacenter, managed through a dashboard or via the OpenStack API. OpenStack OpenStack is an open source cloud operating system that controls large pools of compute, storage, and networking resources, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface. Resources are made accessible to developers through APIs. OpenStack can be used to manage resources in a single data center or across multiple data centers (regions). Ref: openstack.org, IBM
open source cloud computing PaaS solution originally developed by VMware and now owned by Pivotal Software (a subsidiary of VMware). Cloud Foundry Cloud Foundry is the industry standard open source cloud application platform for developing and deploying enterprise cloud applications. It automates, scales and manages cloud apps throughout their lifecycle. Applications can be written in just about any language and are deployed in container images on any infrastructure. Ref: Cloud Foundry, IBM
o ers a broad set of global cloud-based products including compute, storage, databases, analytics, networking, mobile, developer tools, management tools, IoT, security and enterprise applications. These services help organizations move faster, lower IT costs, and scale. AWS is trusted by the largest enterprises and the hottest start-ups to power a wide variety of workloads including: web and mobile applications, game development, data processing and warehousing, storage, archive, and many others. Ref: Cloud Products & Services - AWS
Platform, you can build, test, and deploy applications on Google's highly-scalable and reliable infrastructure for your web, mobile, and backend solutions. Cloud Platform o ers a full spectrum of cloud products and services for compute, storage, networking, big data, machine learning, operations, and more. Ref: Google Cloud Platform Documentation
GCP Cloud Platform consists of a set of physical assets, such as computers and hard disk drives, and virtual resources, such as virtual machines (VMs), that are contained in Google's data centers around the globe. In cloud computing, what you might be used to thinking of as software and hardware products, become services. These services provide access to the underlying resources. The list of available Cloud Platform services is long, and it keeps growing. When you develop your website or application on Cloud Platform, you mix and match these services into combinations that provide the infrastructure you need, and then add your code to enable the scenarios you want to build. Ref: GCP Overview
platform for the public cloud. Azure Microsoft Azure is a exible, open, and secure public cloud built for business. Access a broad collection of integrated services that accommodate many languages and operating systems. Use world-class tools to accelerate a wide variety of app development and delivery capabilities. Ref: Azure Infographics
ways to host web sites: Virtual Machines, App Service, Service Fabric (Cloud Services) or Functions (serverless). Azure Azure is a complete cloud platform that can host your existing application infrastructure, provide compute-based services tailored for your application development needs, or even augment your on-premises applications. Azure integrates the cloud services that you need to develop, test, deploy, and manage your applications - while taking advantage of the e ciencies of cloud computing. By hosting your applications in Azure, you can start small and easily scale your application as your customer demand grows. Azure also o ers the reliability that's needed for high- availability applications, even including failover between di erent regions. Ref: Microsoft Docs, Get started guide
blocks. Get full control over a virtual machine with virtual hard disks. Install and run software yourself. Con gure multiple machines with di erent roles to create complex solutions. VMs are nearly identical to conventional (real) servers, and are the easiest way to move existing workloads to the cloud. Ref: Azure Infographics
and manage these general-purpose VMs. We maintain and update each VM as needed with system updates. You con gure the VM size as needed, and scale out as many copies as needed. Two types of VMs: worker roles and web roles - worker roles are made for computing and running services. The web role is simply a worker role with IIS already installed and con gured. Ref: Azure Infographics
high productivity solution for developers who need to create enterprise-grade web and mobile app experiences. App Service provides a complete platform as a service solution that enables you to deploy and elastically scale applications in the cloud, and seamlessly integrate them with on-premises resources and SaaS based applications. Ref: Azure Infographics
2017 2. Giordano Tamburrelli, Windows Azure Platform 3. A. Haeberlen, Z. Ives, Scalable and Cloud Computing, Univ. of Pennsylvania, 2013 4. GCP Resources: Google Cloud Platform Overview, GCP Tech Talk by @joeint; Tutorial of Google Cloud Platform 5. AWS Resources: AWS Introduction and History, AWS Free Tier, AWS | Start Now 6. Azure Resources: Get started guide for Azure developers, An Azure Overview and Perspective, Azure Training Courses | Microsoft Learning 7. IBM cloud technologies 115 / 116