This column will be the first of three columns discussing the evolution of external controllers for containers and virtual machines. First and foremost, it is very important that the frameworks are separated from the virtual machines and containers, such as the plug-in model that was recently announced. In this column, I'll discuss the networking framework that is evolving from the application-centric cloud through the use of VMs and containers.
I believe the future of the data center is to create a subsystem that takes a core piece of technology and allows users and third-party companies to extend its functionality, such as volume, storage, or networking, thus giving the developer the ability to extend the newer frameworks with existing frameworks. The rapid and evolutionary changes to the ecosystem have created a need for control of an SDN (software-defined network) model or cloud fabric model for the new applications being developed in the application-centric cloud.
SDN, which was born at Stanford with the concept of open flow, has grown with the OpenDaylight project. The new networking stack creates a logical network without a network controller. The technology, known as SocketPlane, was acquired by Docker and is the abstraction model for networking with containers.
At the last DockerCon, the concept of plug-ins was announced, and other companies joined the fray in creating network plug-ins. Weave, for example, creates a virtual network that connects containers deployed across multiple hosts and enables their automatic discovery. Most customers in the application-centric cloud described here will have connectivity with Cisco's ACI and connectivity with VMWare's NSX. In some cases, these customers want to have both, inside the same logical network.
The industry has started to build a general-purpose architecture that leaves the core layer that unites application-centric containers with the network -- witness NSX and ACI creatingthe ability to network virtual machines. The original networking concept in containers was very limited. Therefore, the community has started to create a logical network on its plane, using IP/v4, that will eliminate the overall need for layer 2 in the OSI model.
The open networking model and Open Daylight have evolved beyond the concepts that exist in SDN. Lithium is the third release of OpenDaylight, the open source platform for building programmable, software-defined networks. With Lithium, service providers and enterprises can transition to SDN with a particular focus on broadening the programmability of intelligent networks, as the model has to change to an order of magnitude greater than dealing with virtual machines and the network.
Scale is causing the original design points of SDN to change, and libnetworking and OpenDaylight are addressing it. Lithium allowed customers to bridge service offerings and begin virtualizing functions with service function chaining. This new model was created to meet the needs of the new application-centric cloud, and the goal was to let developers not have to worry about the network and create their plug-ins in the fabric, essentially creating a networking layer that enables interconnectivity between containers.
Putting the network constructs directly into the hands of the application developer will enable containers to bridge multiple environments and machines by using an abstraction such as the plug-in that allows developers to move between networking systems, such as Nuage, Cisco, VMware, Microsoft, Midkoura, Weave, and Calico. So the network has become a fabric of services that lends well to self-discovery and the use of newer technologies that far exceed the original concept of the OSI model. It also uses a technology known as FAN, which uses IPv4 addresses like overlays.
The industry is recognizing that networking-as-a-service has to be different for containers than it is for virtual machines. Inside a virtual machine, hundreds of containers can also run. These technologies are evolving faster than the market, and they also have to run on Amazon Web services. Containers and virtual machines developed in this way are deployed in multiple environments in an application-centric cloud.
This article is published as part of the IDG Contributor Network. Want to Join?