In this episode of Semaphore Uncut, I chat with Emile Vauge, founder and CEO of Traefik Labs. We talk about the origins of Traefik and the Traefik Labs products that have stemmed from it. We also discuss getting started in the complex Kubernetes world and look into the future of cloud-native.
- Automated microservice container networking with Traefik
- Like Istio, but simplified: Traefik Mesh
- Traefik Pilot is a unified dashboard for your infrastructure
- Traefik Enterprise brings everything together for companies
- Keep things simple when starting your Kubernetes journey
- Simplicity will win in the cloud-native ecosystem
Listen to our entire conversation above, and check out my favorite parts in the episode highlights!
Like this episode? Be sure to leave a ⭐️⭐️⭐️⭐️⭐️ review on the podcast player of your choice and share it with your friends.
Darko (00:02): Hello, and welcome to Semaphore Uncut, a podcast for developers about building great products. Today, I’m excited to welcome Emile Vauge. Emile, thank you so much for joining us. Please give us a brief intro of yourself and what Traefik is doing.
Emile: I’m a developer and have an engineering background. I created Traefik five years ago, back in 2015. At that time, I was working on setting up a microservices platform, and it was very early at that time, no Kubernetes. It was the early times of Docker. I needed to expose those microservices on the internet, and it was not possible to do it manually because we had to manage 2,000 microservices. So, we had to automate everything. And this is when I came to the idea of creating a fully automated reverse proxy that would be integrated into the microservices platform.
I worked on a PoC, and a few months later, I opened sourced it on GitHub, and it was kind of a surprise because from day one, the project got a huge success on GitHub, and the community has quickly grown around the project. I decided to quit my job, founded a company, and here we are. Today, we crossed two billion downloads, which is kind of crazy, 30,000 stars on GitHub, and more than 500 contributors.
Automated microservice container networking with Traefik
Darko (02:40): You explained what was that initial spark to start the project. Can you maybe give us an overview of what Traefik is today, what are the main things for Traefik Labs, and what you are focusing on?
Emile: I can start with first why microservices appeal because this is really the beginning of everything. As you probably know, the internet traffic is growing crazy. Facing this huge global IP traffic spike, we needed to change our infrastructure. We went from monolithic to microservices. From human scale to cloud-native. From craft operations to industrial.
We needed to write many new tools and to write orchestrators like Kubernetes. Now we use containers, which was not the case 10 years ago, thanks to Docker. And basically, the whole ecosystem was born. And we also need to make a revolution in how the networking stack is managed. We have to automate all the networking stack from the application networking to the user networking, to the edge.
And that’s exactly where everything started with Traefik: automating the container networking. Automating the application networking. It’s a cloud-native application proxy. Today, it’s one of the biggest, I would say, open-source projects in the infrastructure. And the idea of Traefik is that it gives you cloud-native integration in any kind of orchestrator like Kubernetes, Docker, Swarm.
It gives you an auto-discovery of configuration and advance features like observability with metrics, tracing. And it supports any kind of protocol like, of course, HTTP, TCP, UDP, WebSockets, HTTP 2, 3, everything. It has, Let’s Encrypt integration, and it gives you advanced traffic management with Canary Deployments, mirroring; basically, it’s an advanced reverse proxy made for microservices. So, that’s what Traefik is.
Like Istio, but simplified: Traefik Mesh
But we have also been working on other thoughts of the networking stack. Traefik manages the inbound traffic from the internet to your infrastructure, but you may also have some needs with internal communication. I mean, service to service communication. A service mesh is a tool that gives you observability and traffic management control over your service to service networking. And we have been working on Traefik Mesh, which we call the simplest service mesh.
In response to the existing service mesh, like Istio, for example, which is one of the biggest service mesh created by Google. Istio is extremely powerful, it comes with a feature-rich. It’s really feature-rich, but it’s so extremely complex. It comes with a bunch of components. It’s kind of heavy. On the other end, we do think that we could work on complexity and give a more simple tool. So, we have been imagining something different with a different architecture.
We decided to go with a node reverse proxy architecture, which means we only deploy one reverse proxy on each Kubernetes node. And that is shared with many applications deployed on these nodes. It’s a lot easier to scale. And also, of course, it’s less resource-intensive. I strongly believe that simpler solutions are preferred over complex, over-engineered solutions. So that’s why we went with an alternative to the service mesh problem. Even if it has a real different architecture, it’s feature-rich. It’s based on Traefik as the reverse proxy. It comes with the Traefik usual features with observability, security with access control, any kind of protocol support. I mean, it’s a full-feature service mesh, but with a lightweight approach and a different architecture.
Traefik Pilot is a unified dashboard for your infrastructure
We have also been working on something different, which is a SaaS platform. It’s our last product, it’s called Traefik Pilot. And basically, it’s a control center for Traefik. It’s a centralized SaaS platform, and it’s also a plug-in hub for monitoring and managing all your Traefik instances all over infrastructure. It comes with a unified dashboard that lets you visualize and monitor all your Traefik instances from one place, which is super convenient. It gives you some observability and control over all these instances. You receive security and vulnerability updates automatically, and you receive some alerting if you have something down. Right now, it’s only the first step of our strategy, but it’s already super useful, all the team is using it for their personal project.
I use it myself, and it’s extremely useful. And it’s also interesting because it’s a plug-in hub for Traefik. Traefik comes with a plugin mechanism based on a project we have been creating called Yaegi. It’s a Go interpreter written from scratch by our team. Another open-source project, made by Trafik labs. And yeah, we use Yaegi, this Go interpreter, to have plug-ins on Traefik, and they are hosted on this hub, Traefik Pilot. That’s also pretty convenient to share your own plugin with the community. Again, everything is open-source with this plugin mechanism, so that’s pretty open and pretty useful for the community.
Traefik Enterprise brings everything together for companies
And so that’s what we do. And of course, we have a commercial offering, which is called Traefik Enterprise. It’s a platform that is an all-in-one ingress, API management, and service mesh. And it reuses our open source project in one platform.
Like Traefik, it’s a whole platform that is scalable and resilient, which means if you lose one of the parts, it’s still working because it’s resilient. It’s like a cluster. So that’s what we have imagined for companies for the enterprise. Basically, it’s a production-grade distribution of traffic and service mesh and an API gateway all in one.
That’s our product line. And just to give you a bit more detail on Traefik Lab itself, we are currently 40 employees in a highly distributed way, like many open-source teams worldwide. We were born on an open-source project on top of open-source projects. So we grew distributed. We have this within seven countries in Europe, in the US, in Brazil, in South Africa. So yeah, that’s pretty diverse. And I would say half of the company is working on open-source projects and the community, and the other half is working on commercial products.
Keep things simple when starting your Kubernetes journey
Darko (14:57): Okay, great. Thanks for giving us this great overview of, let’s call it, the Traefik ecosystem and how those things play together. You mentioned that a lot of things are open source and can be tried very easily. And I assume there are many materials on it, but what would be your recommendation for people embarking on that Kubernetes container journey.
Emile: My first advice for someone who would start with Kubernetes from scratch would be to learn as few tools as possible and not to go big at first. I would not recommend going with a service mesh at first. It’s complex already, even with Traefik mesh, which is extremely simple. It’s not necessary from the beginning. I would recommend sticking with the vanilla Kubernetes at first.
And then once you have a need only, you look for a tool for you. You will probably need, of course, an ingress controller at first. And so that’s something you will probably have a look at very quickly because we’ll need to expose your microservices on the internet. Maybe later you will need a service mesh, but I don’t think it’s something you need at the beginning. You will need a service mesh once you have at least several dozens or hundreds of microservices on several clusters.
Simplicity will win in the cloud-native ecosystem
Darko (19:39): You are, to some extent betting on some solutions. From the time you spent in this ecosystem from very early days, 2015 were very early days for Docker. And the progression of how he’s going, what do we think that lays in front of us in terms of consolidation, figuring out whether those simple solutions will be, how long do we have to wait for that in certain areas?
Emile: I don’t know how long, but at least a year, of course, I think we are at the upper level of the bell curve in terms of the number of tools we have. And now we will have consolidations, but it will take years. It’s already started. I mean, many companies got acquired by many bigger companies, and it will continue. And I suppose that we will have some winners at the end of the day. And that’s my guess, the product that will win will be the product that will end up simplifying the job of companies instead of bringing crazy features. Simplicity will win in this ecosystem.
Darko (21:22): It’s much better, if a product or a tool makes you successful and empowered, those are the products that we all love, not the other way around.
Emile: Yes. And by the way, you are really successful doing that at Semaphore. I mean, Traefik is using, I’ve been using Semaphore since I don’t remember when, but for years now, for its open-source builds. And I mean, we never regret this migration, and we tried many things before, you clearly succeeded in creating a simple tool, but very powerful.
Darko (22:20): Yes, thank you for those kind words. We have been pushing that a lot. It’s a struggle. It’s a struggle between so many features making something so powerful and, on the other hand, making it easy to use.
What’s next? A mysterious cliffhanger!
Darko (24:30): Great. And looking into this year forward, what’s the biggest thing that you are looking forward to launching. Is it Pilot?
Emile: The biggest thing we will launch this year, I can’t tell many details, but it will involve Traefik, it will involve Pilot, and I would say the rest of the networking stack too so that it really involved the integration between everything.
Darko (24:54): Okay. There is an element of surprise! Great, thank you very much and good luck!
Have a comment? Join the discussion on the forum