Author(s): R. Jain and S. Paul
This paper appears in: IEEE Communications Magazine
Issue Date: November 2013
Network virtualization is the key to the current and future success of cloud computing. This article covers the key reasons for virtualization, and briefly explains several of the networking technologies that have been developed recently or are being developed in various standards bodies (IEEE, IETF, etc). In particular, the article explains software defined networking(SDN) and why it is the key to network programmability with an illustration called OpenADN which is an application delivery framework in a multi-cloud environment.
The authors look at the existing Internet/Layer 3 architecture to frame the discussion arguing that the key enabler for all virtualizations is the Internet and its supporting computer networking resources. It also argues the key reasons for virtualization are:
(1) Sharing: When a resource is too big for a single user, it is best to divide it into multiple virtual pieces, as is the case with today’s multi-core processors. Each processor can run multiple virtual machines (VMs), and each machine can be used by a different user. The same applies to high-speed links and large-capacity disks.
(2) Isolation: Multiple users sharing a resource may not trust each other, so it is important to provide isolation among users.
(3) Aggregation: If the resource is too small, it is possible to construct a large virtual resource that behaves like a large resource. This is the case with storage, where a large number of inexpensive unreliable disks can be used to make up large reliable storage.
(4) Dynamics: Often resource requirements change fast due to user mobility, and a way to reallocate the resource quickly is required.
(5) Ease of management: Virtual devices are easier to manage because they are software- based and expose a uniform interface through standard abstractions.
The article surveys how to accomplish them, and gives an example of a new network application, OpenAND, which enables virtualized partitioning and delivery in multi-cloud environment.