Chapter 2Virtualization and Cloud Computing

2.1 Cloud Computing

Cloud computing has become a widely used computing model to support cost-effective and efficient data processing using commodity servers. Cloud computing makes effective use of distributed environments for tackling large-scale computation problems on vast data set. There are multiple challenges with cloud computing, such as virtualization, isolation, performance, scalability, privacy, and security. In this section, we first provide an overview of the architecture of cloud computing. Then, we will go deeper into various virtualization technologies and focus on the network virtualization.

2.1.1 Architecture

Public cloud providers use an on-demand, pay-as-you-go model of compute and storage infrastructure as well as platform services. Amazon Web Services (AWS) led the early cloud computing revolution, beginning with their S3 service in 2006. Their services have been adopted by companies large and small, from backups and archival storage in S3, to compute in EC2, Virtual Private Clouds, IAM authorization and authentication, and RDS managed databases, to name a few. For customers, these services are easy to add, easy to consume, and can lead to a sprawling, poorly documented infrastructure.

Cloud computing can be viewed as a layering architecture, as shown in Figure 2.1.

  • The hardware layer includes the physical resources in the cloud, that is, the hosting facilities, servers, switches, routers, hardware middleboxes, ...

Get Network Function Virtualization now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.