Informing Spinnaker’s Continuous Delivery Platform with Kubernetes Through Open Source Best Practices
How does your product change when it scales up in the open source world? How does that change your drive to create a better developer experience? In this episode of The New Stack Makers recorded at the SpringOne Platform conference, The New Stack founder and editor-in-chief Alex Williams sits down with Olga Kundzich, senior product manager for the Spinnaker continuous delivery platform at Pivotal. They discuss the best practices that help drive Pivotal’s open source community, and how that informs Spinnaker’s roadmap.
Kundzich begins by visualizing the Venn diagram where continuous integration (CI) and continuous delivery (CD) overlap. She says Spinnaker adds a third, interlocking operations circle to CI/CD, “turning monitoring into action.”
“It’s a kind of bridge between your assets running into cloud native platforms and your monitoring systems,” she explains, saying that Spinnaker’s found where one part impacts the other.
Spinnaker, now a project at the Continuous Delivery Foundation, originated at Netflix from the company’s desire for a better dashboard. It’s a specialized continuous delivery tool integrated with monitoring, with a focus on managing microservices at scale. It’s multicloud, and with a wide dashboard that provides a view of how an application is doing across many different environments. Then, when something pings up as wrong, you can see which instances are impacted, and then perform corrective actions such as rollbacks, terminations and removing from load balances. Spinnaker’s Application-Centric Control Plane is particularly powerful as it still allows you to make manual adjustments.
Spinnaker also offers pipelines that encapsulate the business side of your software release processes. These should first and foremost have a focus on safety, compliance and security, Kundzich said. But these pipelines are specific and innate to each organization.
The pipelines are an imperative template of what flow to follow. However, deployment is necessarily declarative, to track who is doing what. Spinnaker allows you to leverage Kubernetes’ declarative tooling to maintain the current and actual states.
Security is also constantly changing, but has to be a priority built into continuous integration. Kundzich says that’s why Spinnaker also offers an inventory of assets.
Kundzich argues that Spinnaker pipelines have high-level infrastructure stages and present the right level of abstraction. You can even just click that you want a blue-green deployment there and off it goes. Following Netflix’s goal of creating guardrails not gates, they’ve also added a canary analysis to make sure you aren’t deploying something that will degrade the user experience. These stages and the transparent mapping of them are baked in to help with compliance.
This podcast episode also dives into how to redo something to pivot and incrementally improve for your ever-changing, open source audience. For example, the number one recommendation from the Spinnaker community is to run it on top of Kubernetes. In response, Spinnaker has adopted this as a recommended best practice.
“We are very flexible with the way we work. We have goals that we want to reach, but we don’t plan them really tightly ahead because we know customers may come up with questions and we want to help them answer that. So we want to prioritize and be very flexible,” Kundzich said, emphasizing why they work directly with customers.
Their customers are actually what drives this small Spinnaker team’s roadmap.