Lecture 2
Lecture 2
of Cloud Computing.
Global Infrastructure
1
Learning Objectives
After this lecture, you will be able to:
• Define global infrastructure of the cloud platforms
• Describe the key components of cloud infrastructure
• Explain virtualization
• List the features and benefits of virtual machines
• List the features and benefits of bare metal servers and how they
differ from virtual servers
• Describe how to build a secure cloud networking presence
• Explain how container-based technology works
2
Outline
• Global infrastructure of the cloud platforms
• Overview of cloud infrastructure
• Virtualization and Virtual Machines
• Types of Virtual Machines
• Bare Metal Servers
• Secure Networking in Cloud
• Containers
3
Global infrastructure of
the cloud platforms
4
Datacenter (DC)
a specialized facility, which
is a connected system of IT
infrastructure, engineering
infrastructure, equipment
and parts of which are
located in a building or
room connected to external
networks.
Servers or Nodes
A server (or node) consists of a
central processing unit (CPU),
random access memory (RAM),
data storage (HDD/SSD) and a
network interface card (NIC).
6
Racks and clusters
A rack is a cabinet containing several A cluster is several racks connected by a computer
nodes and network equipment network
8
Google Data Center 360° Tour
Global infrastructure
• Geographical Regions
• Availability Zones
• Network Edge Locations
Source: https://www.cloudinfrastructuremap.com/
10
AWS Global Infrastructure Map
Region is a physical location
of data centers around the
world.
https://infrastructure.aws
11
AWS Global Infrastructure by
numbers
Selecting a Region
Data governance, Services available
Determine the right legal requirements within the Region
Region for your
services, applications,
and data based on
these factors
Proximity to Costs (vary by Region)
customers (latency)
12
Microsoft Azure Global
Infrastructure
https://infrastructuremap.microsoft.com/
13
MS Azure Global Infrastructure
by numbers
• Regions – 60+
• Zones – 150+
• Edge Locations – 180+
• Datacenters – 200+
14
Google Cloud Platform Global
Infrastructure
https://cloud.google.com/about/locations
15
GCP Global Infrastructure by
numbers
https://cloud.google.com/about/locations
https://sustainability.google/commitments/ 16
Overview of cloud
infrastructure
17
Cloud Data Centers
18
19
20
21
Public and Private network
interfaces
22
23
Virtualization and
Virtual Machines
24
25
Virtualization is a core of Cloud
Computing
26
27
Hypervisors
28
29
Types of Virtual
Machines
30
31
32
33
34
35
36
37
Bare Metal Servers
38
39
40
41
42
43
Secure Networking in
Cloud
44
45
46
47
48
49
50
Containers
51
Containers
• Operating-System-level virtualization, also known as
containerization, allows us to run multiple isolated user-space
instances in parallel. These user-space instances have the application
code, the required libraries, and the required runtime to run the
application without any external dependencies. These user-space
instances are referred to as containers.
• On Unix-like operating systems, this feature can be seen as an
advanced implementation of the standard chroot mechanism.
53
Container-native applications
54
Images and Containers
• In the container world, this box (containing our application and all its
dependencies) is referred to as an image. A running instance of this box
is referred to as a container. We can spin multiple containers from the
same image.
• An image contains the application, its dependencies and the user-space
libraries. User-space libraries like glibc enable switching from user-
space to kernel-space. An image does not contain any kernel-space
components.
• When a container is created from an image, it runs as a process on the
host's kernel. It is the host kernel's job to isolate and provide resources
to each container.
Container Runtimes
• runC is the CLI tool for spawning and running containers according to
the OCI specifications.
• rkt (pronounced "rock-it") is an Open Source, Apache 2.0-licensed
project from CoreOS. It implements the App Container specification.
• Currently, Docker is fully supported on Linux. Native support on Mac
and Windows is in the pipeline.
• Docker uses the containerd daemon to control runC containers.
Docker is an Open Source, Apache
2.0-licensed project
Docker Architecture
• Docker runtime:
• Docker Datacenter
- Docker Trusted Registry
- Universal Control Plane
• Docker Cloud
• Docker Hub.
• Docker uses a client-
server architecture, in
which a Docker client
connects to a server
(Docker Host) and
executes the commands.
Basic Docker Operations
• List images:
$ docker images
• Pulling an alpine image:
$ docker pull alpine
• Run a container from a locally-
available image:
$ docker run -it alpine
sh
• Run a container in the background
(-d option) from an image :
$ docker run -d nginx
Benefits of Using Containers
Some of the benefits of using containers are:
• Less overhead
• Increased portability. They can be deployed very fast (within milliseconds).
• More consistent operation. They are a flexible solution, as they can run on
any computer, infrastructure, or cloud environment.
• Greater efficiency. They can be scaled up or down with ease.
• Better application development. There is a very rich ecosystem built around
them.
• Problem containers can be easily and quickly isolated when troubleshooting
and solving problems.
Summary
• Cloud infrastructure consists of data centers, storage, networking components, and
compute resources.
• Virtualization is the process of creating a software-based version of physical
resources, made possible through the use of hypervisors.
• A few different types of Virtual Machines can be provisioned on the cloud.
• Bare metal servers are single-tenant physical servers that are dedicated to a single
customer. Bare metal servers fulfil the demanding needs of high-performance
computing (HPC) and data intense applications.
• Networking capabilities in the cloud are delivered as a service rather than in the form
of rack-mounted devices. Cloud resources, such as VMs (or VSIs), storage, network
connectivity, and load balancers, are deployed into subnets within Virtual Private
Clouds (VPCs).
• Containers are an executable unit of software in which application code is packaged,
along with its libraries and dependencies, in common ways so that it can be run
anywhere—desktops, traditional IT, or the cloud. 61
Questions?
62