Many organisations consider containers a godsend, with containerisation allowing development teams to move fast to deploy software efficiently and at unprecedented scale.
The consistent and isolated container environment is exactly what businesses need when they are developing applications. When you consider the traditional method of spinning up applications, which is often fraught with complexities and high costs and heavily relies on other infrastructure and operating systems, it’s no wonder organisations around the globe are increasingly writing applications in containers.
From conversations with customers in Australia, it’s clear that containers are alive, kicking and very much in production. However, like any technology, there are particular considerations that although important are often overlooked – one of these being how the network fits in.
Container networking conversation still in its infancy
Containers enable application portability by allowing applications to be developed on a laptop and run on a server or in a cloud environment. “Develop once, run anywhere” is a powerful software development paradigm shift. However, with this shift comes networking challenges.
The conversation around container networking is still in its infancy. One in 10 of the 500 odd IT pros surveyed for the Portworx Annual Container Adoption Survey 2017 indicated that when deploying containers, networking has been the most difficult challenge to overcome.
Networking within the context of containers enables organisations to keep constant communication with the application when it’s deployed. This is particularly crucial in a dynamic environment where lots of applications are spun up in various containers. The challenge thus becomes automating network configuration for rapid container deployment, visualising the health of containers on the network, and providing a consistent network operational experience.
Myth: Container networking is tough and complicated
Container networking is not as difficult or complicated as many think. Sure, legacy networks with their box-by-box operational model can be a bottleneck for containerised environments. If each switch needs to be configured manually every time a new server is attached as well as for container addition and deletion, well then yes, your network engineer has an arduous job ahead of them.
However, there are really only two solid requirements for container networking – providing an IP address for containers and attaching them to the right segment/VLAN in your network.
Let’s tackle IP address assignment first. Statistically-assigned IP addresses would never work in a containerised environment. Further, traditional IP networking is slow and hard to automate. Since containers are spun up and down so quickly, having this functionality as part of your network fabric is a better choice.
Onto the second requirement: assigning the right VLAN and network information. Overlays and a combined physical and virtual fabric address this requirement, but the speed and agility with which this is done varies greatly. With an overlay approach, the physical fabric is unaware of changes happening at the virtual layer, which is a major hurdle to providing visibility. In addition, pods and containers still require additional configuration on the physical network fabric.
The arguably better approach is to deploy a network fabric that can be managed as one. This approach uses a single network controller that can manage not only your physical network hardware, but all the components required to provide networking for other workloads.
When the networking piece is correctly integrated, organisations are given access to valuable analytics, and therefore greater visibility of the container platform and how well it’s being utilised. The analytics can be extracted from the network to provide operators with a central platform from which they can better understand container environments, including what it’s doing, where it’s located, the status of the traffic, and its usage patterns. The information can also be used to troubleshoot any potential problems.
While the market has yet to reach maturity and containers continue to be deployed in virtual machines, it is likely we will begin to see more applications deployed in a native container environment. Building a network that can keep up with containers should not be a herculean task. After all, containers are just another workload.
Mario Vecchio has more than 25 years of experience in the technology industry. He is currently managing director, APAC, for Big Switch Networks.