263-3855-00: Cloud Computing Architecture
Section 1
Introduction
Swiss Federal Institute of Technology Zurich
Eidgenössische Technische Hochschule Zürich
Last Edit Date: 02/18/2024
Disclaimer and Term of Use:
We do not guarantee the accuracy and completeness of the summary content. Some of the course material may not be included, and some of the content in the summary may not be correct. You should use this file properly and legally. We are not responsible for any results from using this file
This personal note is adapted from Professor Ana Klimovic. Please contact us to delete this file if you think your rights have been violated.
This work is licensed under a Creative Commons Attribution 4.0 International License.
What is cloud computing¶
Cloud computing is the delivery of compute and storage resources on-demand, to offer:
High performance
Cost efficiency (economies of scale)
Flexibility, elasticity
High availability
Different flavors of cloud computing
Private clouds are limited to a single organization. For example, enterprises have their own cloud facilities.
Public clouds can be used by multiple organizations. For example, public cloud providers like Amazon Web Services, Microsoft Azure, and Google Cloud Platform rent hardware / software services on demand to the public.
Evolution of cloud computing¶
Cloud 1.0: Virtualization¶
Enable multiple users to share hardware.
Cloud 2.0: Hardware on demand¶
Rent virtual machines by the hour (or second) from public cloud providers.
Cloud 3.0: Serverless computing¶
Cloud provides and abstraction of comput and storage services, not servers.
What is a datacenter?¶
A datacenter is a cloud computing facility:
Warehouse-scale building and power infrastructure.
Massive hardware deployments.
Distributed software frameworks.
A warehouse-scale computer co-design software / hardware / building infrastructure to optimize performance, power, and economies of scale.
A simplistic view of datacenters¶
A large collection of commodity components
PC-based servers (CPUs, DRAM, disks)
Ethernet networking
Commodity OS and software stack
High-bandwidth networking gear
Distributed computing software
Having ~10,000s of servers, using ~10s of Megawatts
A more complete view of a datacenter¶
Apart from computers & network switchs, you need
Power infrastructure: voltage converters and regulations, generators and UPSs.
Cooling infrastructure: A/C, cooling towers, heat exchangers, air impellers.
Hardware, software, and infrastructure are co-designed.
Why build datacenters¶
Large scale applications need many, big machines. For example, search, machine learning, video streaming, etc.
Benefits for the cloud provider
Customize hardware / software co-design
Tight control of system configuration
Ease of (re)deployment for upgrades and fixes
Lower cost by sharing hardware resources across many users
Lower cost by amortizing hardware / storage management costs
Benefits for users
- Ease of management, ubiquitous access, high availability
Cloud computing trends¶
Exponential growth
- Number of users, volume of data being processed, application compute requirements
Hardware landscape if constantly evolving
- Advanced networking, storage technologies, accelerators, secure enclaves
Software application frameworks are evolving
Machine learning applications
Functions as a Service: serverless computing for fine-grain tasks
Cloud computing consumes a lot of power¶
Cloud computing has a growing carbon footprint¶
How to make cloud computing sustainable¶
We need to make cloud computing more energy-efficient. Why is it not energy-efficient today?
Traditional cloud computing: rent VMs¶
The cloud provider rents virtual machines (VMs) for users to run aplications
Users rent more & larger VMs than they need¶
Hence cloud servers are often underutilized. Servers comsume high power even at low utilization.
Servers still consume high power at low utilization.
Servers = biggest power consumer in data centers.