Creating Developer-Happy Spaces with Telepresence, Automation, & More
Podcast Interview with Xavier Portilla Edo, Infrastructure Team Lead at Voiceflow
On the latest Livin' On the Edge podcast episode, I interviewed Xavier Portilla Edo, Cloud and Infrastructure Team Lead from Voiceflow, a Canada-based company focused on a collaborative conversation design platform where conversational AI product teams design, test, and ship chat and voice assistants.
"I'm working here as a Head of Cloud, and my team is managing everything that is related to the Cloud," said Xavi. "Managing all the terraform code, managing the CI/CD pipelines... everything related to data modeling and all that stuff that is under my team, so it’s critical that we create a developer-friendly environment."
Xavier is also an involved Community Advocate here at Ambassador Labs, so he’s quite familiar with our tools, particularly Telepresence. Our discussion revolved around how automation, their use of Telepresence, the role of platform engineering, and the importance of standardization all come together to create a developer-happy environment.
The Rise of Hybrid Development Approach Using K8s & Telepresence
One big thing the Voiceflow team focused on was shifting from running everything locally to a hybrid development approach using Kubernetes. Running a full stack locally can become a problem when the stack becomes too large for the local resources, and they found that the solution to this was to run heavy processes in the cloud while only running one or two local processes.
"We end up putting everything in a Kubernetes cluster, and in the end, it’s not that expensive, to be honest. Also, you can even run a local cluster and use a tool like Telepresence as well to speed that up," said Xavi.
The Voiceflow team was facing challenges of managing resources when running everything locally, leading them to adopt Telepresence, the Ambassador Labs’ developer productivity tool that essentially puts your laptop in a cluster.
In fact, by adopting Telepresence, it reduced their local running from 30 gigabytes to around 100-200 megabytes, making it faster and more efficient by almost 10x.
"Building things like this makes your developers' life easier, and they are happier because the learning curve for something like Telepresence was virtually nothing," shares Xavi. For more on Voiceflow’s use of Telepresence, check out their full user story.
Keys to Creating a Developer-Friendly Environment
Xavi emphasized the importance of creating a developer-friendly and efficient work environment at Voiceflow. He highlighted his team's work in managing everything related to the cloud, including Terraform code, CI/CD pipelines, data warehousing, and development environments. With managing so many different areas and functionalities–maintaining best practices to heighten developer productivity is always top of mind.
One of the ways the Voiceflow team ensures that is by utilizing automation to simplify their workflows. Xavi’s team built custom tools and automation to streamline many of their work processes and improve productivity across the team.
“10 years ago, I started as a classic Java developer, but fast forward today, and I’m the integration person, so working with automation is essential,” shares Xavi. “Automations make things easier for our teams. Everything in the development lifecycle can be assisted by automation, and I’m always finding ways to elevate that here at Voiceflow now that I’m head of cloud,” shares Xavi.
Platform Engineering Mindsets
Another trend on the horizon that helps cultivate a developer-friendly environment is the rise of platform engineering approaches, a topic we went deep on in a previous podcast episode with Michael Levan.
“I’m excited about the rise of platform engineering and its potential impact on DevOps. For example, we’re working with Spotify Backstage with a lot of our work, and that’s a great example of a platform-based approach that really helps developers execute commands more conveniently,” shares Xavi.
By understanding platform engineering concepts and best practices, it helps Xavi’s team reap the benefits of cloud-native development. While no single definition of a ‘platform’ exists, all individual teams are free to assess and examine their own needs without getting locked in or having to accept an inflexible solution. Decide what a true ‘platform’ means to you.
Using this approach means platform design is not about reinventing the wheel; it’s about assessing what is commodity and what is unique about the platform you want to create. Understand what needs the platform aims to meet and define this clearly for your team whilst also outlining what value to the business the platform you’ll be using provides.
Standardization as Your Foundation
The final piece that Xavi highlighted as important to cultivating a developer experience that will keep your developers happy and productive is prioritizing standardization. Having standards across engineering teams, DevOps, IT, and cloud teams is essential to make developers' lives easier.
Be sure to standardize your documentation, API guidelines, code review, and integration processes. Ensure all internal teams are working from the same centralized guidelines and expectations so that work is easily passed between teams and you avoid silo creation.
We appreciate Xavi coming on the show and being a part of the Community Advocates program here at Ambassador Labs. For more insights on the Kubernetes world, APIs, and developer experience, visit our podcast page at https://www.getambassador.io/podcasts.