cherezoff - stock.adobe.com
With the movement toward cloud-native application deployment, there has been a corresponding need for cloud-native networking technology. One of the most successful efforts in the space comes from startup Containous, with its open source Traefik edge router technology.
Traefik 2.0 became generally available on Sept. 17, providing users with new TCP routing support and an improved API to help direct traffic in cloud-native deployments, including the Kubernetes container orchestration platform. The new Traefik release builds on the experience the company has gained through its large user base. According to Containous, it has had over 1 billion downloads of Traefik from the Docker Hub repository for container applications.
Among Traefik's many high-profile users is Condé Nast International, which uses the open source edge router technology as the company's tool of choice for the management of external traffic to services within Kubernetes clusters.
Katie Gamanji, the cloud platform engineer at Condé Nast International, explained that from an infrastructure standpoint, Traefik integrates with internet-facing load balancers in the AWS cloud and classifies the incoming traffic based on the whitelisting on security groups.
The new Traefik 2.0 release is of interest to Gamanji for several reasons.
"We are quite excited about Traefik 2.0," she said. "YAML supported configuration and routing of TCP requests are features we want to introduce into our tech stack. Additionally, with Traefik 2.0, we can prototype canary deployment strategies and aim for more complex rollout and rollback functionalities."
Emile Vauge, CEO and founder of Containous, explained that Traefik 2.0 is a major revamp of the open source edge router's architecture. While Traefik is often deployed on top of Linux, the project does not reuse the Linux networking stack. Rather, he noted that it's a mix between what's in the open source Go programming language along with a custom-built stack that Containous developers have been working on.
With the Traefik 2.0 release, it's now possible for users to use TCP and HTTP traffic on the same port, which Vauge said is useful because it means that users can avoid opening up additional ports on their cloud-native orchestration platform. Additionally, by supporting TCP, databases and other TCP-based applications can use Traefik.
How Traefik 2.0 is used in Kubernetes
One of the primary deployment models for Traefik is for it to be used alongside Kubernetes, which has multiple different approaches of its own for handling networking.
Vauge explained that with Traefik 1.x, users could integrate with Kubernetes as an ingress controller, which provides visibility for HTTP routers from outside a cluster to applications and services running inside a cluster. In Vauge's view, the ingress controller approach is less than ideal as the specification has not been properly maintained. As such, with Traefik 2.0, the open source edge router is deployed as a Kubernetes custom resources definition (CRD), which provides more power and flexibility for cluster administrators.
Vauge said that in Traefik 1.x, users would only get information on what was present in a stack, but didn't get visibility into status, whether that's error messages, configuration problems or otherwise. With the new API in Traefik 2.0, users can now get improved visibility from services that are running within a cloud-native stack.
Visibility also gets a boost with new mirroring services that debut in Traefik 2.0.
"There are many use cases for the mirroring system, but the main thing is to be able to test and to observe what's being done on the network," Vauge said. "That's where you just want to mirror every request and observe and log them."
Open source versus Enterprise Edition
Traefik 2.0 is now available as an open source release with the enterprise edition set to become available next month. Vauge explained that the enterprise edition of Traefik 2.0 provides commercial support and additional hardening for security.
Looking forward, as an open source-led effort, Vauge emphasized that the roadmap is driven by the community. That said, he noted that one key feature that is in development for future releases is User Datagram Protocol (UDP) support, which would provide even more use cases for Traefik.
"We think it a big and important feature because a lot of IoT is based on UDP," Vauge said. "If we can bring some additional load balancing and routing features to UDP, I think it would be huge for Traefik."