#016 – Kubernetes for Humans Podcast with Marcelo Quadros & Juliano Martins (Mercado Libre)

Itiel Shwartz: Hello everyone, and welcome back to another episode of Kubernetes for Humans. Today, we have a special episode because we have two different guests. Juliano, Marcelo, please introduce yourselves.

Juliano Martins: Hello, I’m Juliano Martins, Senior Tech Manager at Mercado Libre, the biggest e-commerce marketplace in Latin America. I’m in charge of our platform team, so we play a lot with Kubernetes here.

Marcelo Quadros: Hello everyone, I’m Marcelo, part of the cloud platform team as a software expert. I work on the cloud platform team, building platforms based on Kubernetes, so as Juliano said, we play a lot with Kubernetes here.

Itiel Shwartz: Okay, sounds cool. Before we jump into how you’re currently utilizing Kubernetes, could both of you give a quick introduction to what led you to computer science? What led you to Kubernetes? When was your first encounter, and why did you continue with it?

Juliano Martins: Sure. I started with computers in 1995, more or less. I was younger, not so old. Mainly because I used to watch movies related to technology, like Terminator, Star Wars, and this kind of stuff, so it was very natural to start working with technology. I saw Linux, Java, and others being born, and I feel very happy because I’ve seen many technologies come and go. I’m really enthusiastic about cloud technology, even though we know it’s not a silver bullet, like Kubernetes, which is also not a silver bullet. But in this journey, since I started with Clipper, COBOL, then Visual Basic, then Java, and cloud technology, I understood that it’s very important to learn the basics, and this helps me guide the study here at Mercado Libre.

Marcelo Quadros: In my case, I started around 2007. The main reason I got into computer science is that I’m very curious about technology and electronics, and that made me want to discover how things work. I’ve been working with Java and on projects for banks and marketplaces in Brazil. In the past few years, I’ve worked as an architect, and in my previous company, we were in a movement to break a monolith into microservices, and we chose Kubernetes for this journey. After that, I started at Mercado Libre, where I’ve been for about two years. Because of my experience, I was invited to join the cloud platform team, where we work on Kubernetes and related cloud technologies, building our internal platform.

Itiel Shwartz: Okay, sounds interesting. I think you guys need to give some context. I’ll be completely honest, I’d never heard about Mercado Libre before. I hope it’s not insulting, but I didn’t know the company because it’s not very well known outside South America. Could you give some context about how big the company is, like how many developers and how many SRE and platform people are there? And as a follow-up, when you started migrating to Kubernetes, I’d be happy to hear who pushed it. In a company so big, this is a huge undertaking, right? It’s not like you woke up one morning and decided to migrate to Kubernetes, so if you could give a glimpse of how and why you chose Kubernetes and where you were before that.

Juliano Martins: Sure. A little context about Mercado Libre: we’re the biggest e-commerce marketplace in Latin America. We have around 15,000 employees just in IT, and over 50,000 employees in total, including distribution centers, logistics, and other areas. We have an average of 19,000 deployments per day, 26,000 microservices, three cloud providers, and are multi-cloud, multi-region.

For IT, about 10 to 15% of our people work with the cloud and platform teams. The rest work directly with products, like fintech, QR code payments, crypto, and so on. The platform team is divided into squads, with some working on object storage, serverless, or computing infrastructure, for example. Our IT is divided between those who work on the platform and those who work on top of the platform, developing products for our users.

Itiel Shwartz: And when you started migrating to Kubernetes, who pushed for it in a company this big?

Juliano Martins: We started with a monolith written in Java in the late ’90s. As we scaled, we encountered problems typical of large systems—multiple people working on the same codebase, losing time to market, etc. Around 2010, we began migrating to microservices. It was a long journey, but it helped us gain a lot of freedom and improve time to market. However, it also created challenges, like governance, security, compliance, and costs. We needed to get things in order, so in 2015, we started building our platform, called Fury, which is a platform as a service.

Fury consists of infrastructure, builds, deployment logs, metrics, and services that let developers manage their microservices. We spent seven to eight years moving our microservices to this platform. But one of the challenges we faced was that Kubernetes wasn’t ready to handle the number of instances we had at the time. So, we initially built our compute engine on top of AWS EC2 and GCP Compute Engine, with each microservice running on its own instance. But as you might guess, this wasn’t very efficient.

Three years ago, we began evaluating Kubernetes again, and after a year of research and proofs of concept, we decided to go with Kubernetes. The main drivers were keeping compatibility and avoiding vendor lock-in. By building our own compute engine based on Kubernetes, we could keep our traditional environment and our Kubernetes environment working together in a transparent way for our developers. Today, 66% of our microservices run on our serverless scope. We still haven’t migrated everything, but we’re working on it.

Marcelo Quadros: To add to what Juliano said, one important thing is that three years ago, we identified areas where our platform could be improved. For example, we had jobs that ran once a day, but the machine they ran on was up 24/7. This was one of the first things we moved to Kubernetes, creating a platform that could execute the tasks and then clean up the infrastructure afterward. This allowed us to share instances more efficiently. Kubernetes also provided the customization we needed, as we had to integrate with many internal components, and Kubernetes was the best fit for that.

Itiel Shwartz: I think that makes a lot of sense. Now, walk me through one of the biggest challenges you faced during the migration—technical or cultural.

Marcelo Quadros: The main challenge was keeping compatibility and making the transition as transparent as possible for developers. One thing that made it easier for us was that even our older systems were containerized, so moving to Kubernetes was a bit easier. For companies with older systems, the challenge is usually containerizing everything, especially if they have big monolithic systems. In terms of culture, we managed to make it transparent for developers, so that wasn’t a big issue for us.

Juliano Martins: Just to be clear, developers here don’t interact directly with the cloud or the engine itself—it’s very transparent. Fury is a self-service platform where developers can create the compute resources they need with just a click. But we did have some challenges with scaling, and we evaluated several solutions, including Kubecost and others. We eventually solved some of these issues with tools like Carpenter, which helped us manage costs and resources more effectively.

Marcelo Quadros: Yes, Carpenter was a great tool for us. We’re AWS’s biggest client in Latin America, and we work closely with them. Carpenter allowed us to take advantage of mixed instances and save money by using spot instances and reserved instances. It was one of the reasons we adopted Carpenter, as it helped us manage our environment more efficiently.

Itiel Shwartz: Okay, sounds cool. We’re running short on time, so if both of you could give a quick prediction on what’s going to happen in the Kubernetes landscape three years from now?

Juliano Martins: I’m really interested in platform engineering right now, and I’m curious to see how this ecosystem will integrate with Kubernetes. I think we’ll see more internal developer platforms emerging, and the challenge will be finding the right level of abstraction for developers. I also believe we’ll see more focus on serverless on top of Kubernetes, like with Knative.

Marcelo Quadros: I think Kubernetes will become simpler to use, which will help more companies adopt it without fear. Today, it’s complex, and that complexity can be a barrier. But I believe in three years, we’ll see more companies taking advantage of Kubernetes, especially for its portability. At Mercado Libre, we want to migrate 100% of our workloads to Kubernetes, and we’re working hard to achieve that.

Itiel Shwartz: That’s great. Any final thoughts?

Juliano Martins: I think we’ll see continued growth in adoption, but also more frustration, as some people move to Kubernetes because it’s a buzzword without really needing it. In many cases, you don’t need the complexity of Kubernetes. I’m also interested in seeing more serverless solutions on top of Kubernetes.

Marcelo Quadros: Yes, we’re seeing an increase in containerized solutions intended to run on Kubernetes, and I think that trend will continue.

Itiel Shwartz: It’s been a pleasure talking to both of you. Best of luck with your migration, and thanks for joining us!

Juliano Martins & Marcelo Quadros: Thank you! Bye!

[Music]

Marcelo Quadros is a Software Expert at Mercado Libre Brazil, the largest marketplace in Latin America. With over 13 years of experience, he specializes in developing and architecting complex systems for diverse domains. Currently, he contributes to the Cloud & Platform team, building a platform that manages over 26,000 microservices and supports 12,000 developers. Outside of work he likes to play with his daughter and loves to watch a good rock ’n’ roll concert.

Juliano Martins is responsible for the Cloud & Platform teams at Mercado Libre, the largest marketplace and fintech in Latin America. He focuses on improving the experience and efficiency of the development team, creating and maintaining features and services in the Internal Development Platform (IDP), and all non-IDP infrastructure. He has been working in IT for over 20 years, leading teams with a very technical bias. Juliano loves playing video games, especially Zelda, and listening to Pink Floyd!

Please note: This transcript was generated using automatic transcription software. While we strive for accuracy, there may be slight discrepancies between the text and the audio. For the most precise understanding, we recommend listening to the podcast episode