While cloud-native development has not been adopted into production environments everywhere, it is an increasingly visible force, bolstered by a robust community, several widely adopted emerging standards, and increasingly cohesive tooling and platforms.Ambassador's Head of Developer Relations, Daniel Bryant, recently sat down with Katie Gamanji to discuss these points as well as real-world, cloud-native implementations driven by business goals and the importance of both education and community in achieving critical mass.
Ambassador's Head of Developer Relations, Daniel Bryant, recently sat down with Katie Gamanji, Senior Kubernetes Field Engineer at Apple, and the CNCF's former Ecosystem Advocate, to discuss these points as well as real-world, cloud-native implementations driven by business goals and the importance of both education and community in achieving critical mass.
The conversation yielded several related themes that underpin success for cloud-native adoption in the real world:
In a previous role, Katie worked with the Condé Nast organization to build a centralized, cloud-native solution that unified upwards of 32 different media platforms into a single hosting platform, single CMS, and single visual identity in order to create and deliver content consistently on a global level. "With business critical applications, 'centralizing the decentralized' ensured stability and ownership when we needed to take other nuances into consideration, for example, operating in China and other complex business problems."
In guiding the creation and delivery of a centralized platform, Katie's team didn't embrace bleeding-edge technology but went with proven cloud-native technologies. "We didn't want to fight underlying technologies. We had a two-year timeline and needed to adopt tools accepted as somewhat standard in industry…. Kubernetes was already established; AWS was already established. This eased the journey and helped us meet deadlines and key goals."
As much as a team may have grown into multiple teams with their own functions, the core focus for all teams was building the single platform. In the beginning, as a single team, developers had to take on some devops responsibility, upskilling on delivery, monitoring, authentication, and other similar areas that are not normally a developer's focus. As the team grew, successful migration to the new platform demanded a full team focused on the core platform and one on application delivery with close collaboration and communication between the two.
With a team humming along collaboratively, the next step in hitting the business goals was observability. "We needed analytics to prove that the application is healthy and identify quickly when it isn't, that budgets are justified, to find out whether the infrastructure and components involved are cost efficient, and whether what we built solves the problems we needed to solve." Observability insight feeds back into development and delivery workflows and is key to ensuring that the entire team functions and collaborates optimally.
How does this kind of cloud-native development become the norm? Through education. Katie cites cloud-native fundamentals education as one area that the community consistently asks for. She is working on a beginner-friendly, inclusive Kubernetes and Cloud Native Associate (KCNA) certification exam that focuses on the basics first. In addition, one of Katie's focus areas is to make Kubernetes and cloud native more approachable and ubiquitous, which builds on making learning accessible. Katie collaborated with Udacity to create some of this foundational work about cloud native principles. "There are all kinds of courses out there, but I am keen to take learners on a journey, literally step-by-step. And being very, very declarative. I want to translate the fundamentals because the fundamentals are always going to be the same. That is, you want something that is packaged. You want something that is scalable, something you can deploy automatically."
Ultimately, as critical as education is, community is the linchpin to understanding and being a part of the cloud-native movement. "For anyone who's trying to understand what cloud native is, why it is important and how to get into it, I continue to highlight that while it is partly about the tooling, it is much more importantly about the community. Once you get into this space, I think it's very important to get to know your folks. Get to know the maintainers for the project that you're using, or maybe try to be one of the contributors. If you have time and you have the resources that's extremely valuable. Just try to reach out. That's what keeps the community vibrant."
Community is not just the cloud-native community, necessarily, but the entire expanse of open source. "There isn't a single industry that has not been touched by open source," Katie explains. "An open source team is the dream team because it includes thousands of people from everywhere with different perspectives, ideas, prospects for the tools, how they want to use it, and they all come together and contribute. This creates a momentum that cannot be replicated anywhere else. This is why the Kubernetes community, and the open source community overall, are so powerful."