The document provides an extensive overview of cloud computing, including its definitions, types of services (IaaS, PaaS, SaaS), deployment models (public, private, hybrid), and the benefits of utilizing cloud infrastructure such as cost efficiency, scalability, and improved performance. It highlights how organizations, from startups to large corporations, leverage cloud technology for their computing needs and outlines examples of major cloud providers like AWS, Google Cloud, and Microsoft Azure. Additionally, it addresses the components of cloud infrastructure, including data centers and cloud software solutions like OpenStack and Cloud Foundry.
This section introduces the topic and outlines the key aspects of cloud computing discussed in the presentation.
Provides insights on the general trends, definitions, and significant benefits of cloud computing.
Examines cloud computing trends using Google Trends and compares cloud computing with IoT.
Discusses definitions of cloud computing, including NIST's characteristics, service models, and a general overview of cloud functionalities.
Highlights key benefits of cloud computing such as cost-effectiveness, speed, scalability, productivity, performance, and reliability.
Outlines the three primary cloud service models: IaaS, PaaS, and SaaS, detailing their functions and purposes.
Describes different cloud deployment models: public, private, hybrid, and community clouds, along with their usage.
Lists various applications and use cases of cloud computing prevalent in daily activities.
Showcases everyday applications of SaaS and a specific PaaS example from Rovio's Angry Birds.
Discusses common interpretations of cloud computing and how it relates to trends like Big Data.
Provides statistical data on data-related activities and emphasizes the scale of big data services.
Introduces the necessity for computing at scale, presenting historical context and evolution.
Discusses classical scaling techniques, including the need for furniture and infrastructure scaling challenges.Details the hardware and software components necessary for cloud services, including data centers and management software.
Examines major public cloud providers: AWS, GCP, and Azure, detailing their offerings and infrastructure.
Wraps up the presentation and provides references for further reading.
11 / 116 NIST(National Institute of Standard and Technology) 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.
13 / 116 CloudComputing, often referred to as simply "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).
14.
14 / 116 Cloud Computing Howdoes it work? Cloud 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
16 / 116 Cloud Computing Therst cloud computing services 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
17.
17 / 116 Cloud Benets Ref: Microsoft Cost Cloud 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.
18.
18 / 116 Cloud Benets Ref: Microsoft Productivity On-site 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.
20 / 116 Cloud Computing Mostcloud computing services fall 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
22 / 116 Cloud Services Ref:Microsoft IaaS The most 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).
25 / 116 Cloud Computing Notall clouds are the 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.
26.
26 / 116 Cloud Deployments Ref:Microsoft Private Cloud A 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.
29 / 116 Cloud Computing Youare probably using cloud 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
33 / 116 Speed& Scalability Example "Because our web 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.
34.
34 / 116 Speed& Scalability Example Millions of gamers 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
47 / 116 Computing atScale Apps / Services need 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?
Scaling Up What ifone computer is not enough? Buy a server-class computer (bigger cap.) What if the biggest one is not enough? Buy many computers (Cluster) 52 / 116
What if yourcluster is too big (hot, power hungry) to t into your o ce building? Build a separate building for the cluster. Building can have lots of cooling and power. Data-Center 54 / 116
55.
What if evena data center is not big enough? Build additional data centers. But where? How many? 55 / 116
58 / 116 Computing atScale Classical Scaling Approaches Resources are NOT pooled Scaling-out are handled by apps or by special middleware Legacy & manual provisioning is mostly inevitable
59.
Scaling | Bare-Metal/ Pre-Cloud Virtualization vs. IaaS While Clusters / Data-Centers can provide the resources we need, let's take a look at the things to be handled... 59 / 116
60.
60 / 116 Classical ScalingApproaches Expensive Ref: Haeberlen 1. 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.
61.
61 / 116 Classical ScalingApproaches Not Easy to Dimension Load can vary considerably! Ref: Haeberlen 1. Peak load can exceed average load by factor 2x-10x. 2. Dilemma: Waste resources or lose customers!
63 / 116 Classical ScalingApproaches Not Easy to Execute 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
66 / 116 Cloud Infrastructure Convention Cloudinfrastructure is the collection of hardware and software which is needed to provide cloud services e.g. IaaS, PaaS or SaaS. Ref: sdxcentral
Software | AllBoxes in Yellow Abstractions, Management, etc. 68 / 116
69.
69 / 116 Cloud Infrastructure Data-Center Adedicated place/building that 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
Modular DC -Servers Inside Shipping Containers Microsoft Chicago Data-Center (Tamburrelli) 80 / 116
81.
Microsoft Modular DCDeployment (Tamburrelli) 40 ft shipping containers can house as many as 2,500 servers! 81 / 116
82.
82 / 116 Cloud Infrastructure CloudSoftware To deliver cloud 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.
83.
83 / 116 Cloud Infrastructure Software OpenStacksoftware controls large 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
87 / 116 Cloud Infrastructure Software CloudFoundry is an 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
92 / 116 Public Cloud Examples AWS AmazonWeb Services 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
101 / 116 Public Cloud Examples GCP WithGoogle Cloud 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
102.
102 / 116 Public Cloud Examples Accessingresources through services 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
107 / 116 Public Cloud Examples Azureis Microsoft's application 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
108.
108 / 116 Public Cloud Examples Azureo ers several 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
110 / 116 VirtualMachines VMs are basic cloud building 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
111.
111 / 116 CloudServices tbrw Service Fabric Easily access 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
112.
112 / 116 AppService Azure App Service is a 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
References 1. Jimmy Lin,Big Data Infrastructure, Univ. of Waterloo, 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