Key takeaways from the podcast included: There is no single “best” software architecture. Engineers must work hard to understand the required business outcomes, the problem space, the current constraints, and future goals of an organisation, and design accordingly.
The Livin' On The Edge Podcast Series
At Ambassador Labs, we're more than just a cloud-native application development company. We're a catalyst for change in how enterprises design, deploy, and manage microservices on Kubernetes.
About the Podcast Series
Join us to learn about best practices for releasing functionality via continuous delivery pipelines, and investigate the latest developer tooling, API gateway technology, and service mesh implementations.
In our "Livin' On The Edge" series, we interview practitioners and senior technical leaders from organizations such as HashiCorp, Lyft, GitHub, Ticket Master, Buoyant, and more.
Our Host: Dave Sudia
I'm a Senior Developer Advocate at Ambassador Labs. My passion at work is helping others reach their potential, and I love helping developers produce the highest quality, most reliable code they can, and get it to users! My previous career was as a behavior specialist, and I apply that expertise to improving the behavior of applications.
I appreciate working on teams of curious people, where leadership roles are flexible, and members have the opportunity to step up and lead when they have the expertise, and step back and follow when they can learn something. Peer programming has been a powerful tool for me for writing better code. I don't like sitting in a closet coding all day.
I am experienced in several languages, and pick up new stacks quickly. My current passion is the cloud-native technology space centered around Kubernetes, especially in small and medium-sized organizations.
A number of key themes emerged: An organization and its leadership needs to get behind the end-to-end "developer as service owner" mindset to make it work.
Here are some of the key takeaways from their conversation: Define responsibility The move to "shift left" has received a lot of attention, but it's not only the developer who is affected. While the developer, and the software, will benefit from the developer getting all the information needed as early as possible, dependencies unfold further downstream. While developer ownership or understanding is important, it is just as important to define who is responsible for different steps, e.g., "If you're the developer, you will have some responsibility for the "ingredients" you add to the mix. You will be asked to understand and answer for some of the choices you make. And beyond the developer, everyone needs to be aware of their responsibility in that pipeline." Centralize infrastructure Kubernetes, at the end of the day, is a last-mile technology that requires instruction to do what the developer intends for it to do. As the developer takes on more responsibility, or at least needs to understand the consequences of what they code. Centralizing the experience around a platform or control plane enables understanding of what's required to deploy and run code without the complexity of having to manage it completely. It's about creating a platform that, with some configuration, the developer can trust to run their code as instructed. "The control plane concept or experience is the evolution of this, where things take off for all sorts of infrastructure platforms. You now have a central place to hold state, converge it and keep it true over time. Kubernetes just happens to be what we consider a universal control."
The discussion surfaced several key themes: Always be educating: Underpinning all of these shifts is the need for developer ups-killing. Organizations at the leading edge of cloud-native innovation need to be prepared to support hands-on developer education at all levels via documentation, self-service recordings, and in-person/virtual training.
/podcasts/bo-daley-zipcarRead on for the key takeaways from their conversation, or listen to the full podcast: Make it make sense: Build the business case for investing in a internal development platform (IDP) or developer control plane (DCP) While it might be obvious to developers and their managers that a centralized control plane could increase developer productivity and focus, it's not always obvious to other stakeholders. Chances are, you're going to have to prove that a developer control plane can unlock developer effectiveness and efficiency by building a business case. Alan emphasizes the importance of early stakeholder buy-in, with executives likely being the most important group with which he communicated. They won't have time to read a lengthy document, so the best bet is something like an executive summary showing what you're planning, the projected value, and what complications you foresee. "If you think of the venture capital slide deck, that's basically where we started." Alan shares, "Be explicit about what the problem is, how you are going to solve it, this is what we need." From this starting point, Alan's team was given the green light to move forward with their developer platform, and created something like an 'ask deck', as outlined in the book, Technology Strategy Patterns by Evan Hewitt. "What we are looking for at each stage is permission to take the next step. First, can we do the research? Then, can we do a proof of concept? Next we delivered an UI they could see and understand. This incremental approach gave us a lot of freedom to move forward and experiment and try building the platform without attempting to do it "behind the scenes". At each step, we had transparency and alignment.
Be sure to check out the additional episodes of the “Livin' on the Edge” podcast. Key takeaways from the podcast included: Conferences, whether in-person or virtual, provide inspiration, knowledge sharing opportunities, and a sense of community: “great adventures demand great collaborators, or maybe it's even the other way around.”