Collaboratively Building App Manifests at Scale in Complex Organizations


Authors:   Wim Henderickx


The presentation discusses the challenges of deploying and operating network functions in a cloud-native environment and the approach taken by the organization to address these challenges.
  • The organization's main business is developing network functions, which are increasingly being deployed in a cloud-native environment using Kubernetes.
  • These workloads have interdependencies and complexities that need to be addressed.
  • The organization is transitioning from a hardware Black Box system to a cloud-native environment, which requires a different approach to deployment and orchestration.
  • The organization's approach is intent-driven, scalable, distributed, and uniform, with a focus on collaboration and validation upfront.
  • The organization uses Kubernetes heavily and standardizes its automation system on the Kubernetes Resource Model (KRM).
  • The organization aims to build reusable components that are applicable to multiple use cases.
The speaker gives an analogy of how the organization's approach is similar to Kubernetes in terms of clusters, nodes, and pods. The organization schedules network functions on clusters and uses package variant sets to deploy them on specific nodes with certain characteristics. The same controller can be used for other manifests as well, making the approach applicable to multiple use cases.


What's so hard about deploying an app? You just fill out a few values in a helm chart values file and you're done, right? If that sounds naive to you, then you'll find this talk useful. When deploying a complex application in a complex organization, figuring out the right "values" isn't necessarily easy. It can involve several different parts of the organization, like the infrastructure team, the network planning team, the app operations team, the security team, and more. Just getting the right input from each of those organizations for a single instance of an app can be painful. Now, try to fan that out across 1,000 - or 10,000 - clusters, and you have a "values" management nightmare. Come to this talk to learn how the novel concepts of Configuration-as-Data (CaD) are used in the Nephio project to allow distributed, collaborative editing of application configuration, and enable automation and rapid app delivery. See how these techniques can help you decouple the configuration process within your organization, give different departments control over their parts of the config, and allow them to independently manage and automate the parts they own. You will learn how to use the open source kpt suite of CaD tools to dramatically simplify and improve the app delivery process.