How Puppet Replatformed Its Fastest-Growing Product to Run Via Kubernetes
For most organizations, whether to move to a cloud native architecture is now a question of when, not if. The benefits of having a more agile approach to applications and their supporting infrastructure is becoming clear for every organization. At Puppet, we understand the value that cloud native and microservice architectures can provide to us from a development standpoint, as well as the flexibility it provides as we drive more innovation across our entire product portfolio.
The pressure to automate more and accelerate the meantime to deployment in on-premises and cloud environments is increasing, especially as organizations (especially IT organizations) are expected to do more with less in today’s world. No one has time to adopt software that requires a lot of effort and takes a long time to get up and running. The faster an organization can move, the better it can compete and meet evolving customer expectations that now include always-on, zero-downtime application experiences.
As enterprises embark on the challenge of becoming more agile and more responsive to customer needs and changes in the overall market, IT teams within every type of company are overseeing massive shifts to the cloud and cloud native architectures — employing containers and container-based architectures more than ever before.
The need for faster and more agile deployments is driving this shift to container-based architectures. Kubernetes, in particular, has become the de-facto standard for container management, as it makes it easier to consistently deploy and scale containers and container-based workloads in any environment.
Choosing the First Product to Replatform
Last year, we began the journey to move our entire portfolio to a cloud native platform. We explored a variety of ways to take a very large, complicated system and move it to a cloud native foundation — with microservices, strong APIs and, ultimately, the replatforming of our products. Our goals were simple: be more flexible, drive more innovative capabilities on top of our platform, and enable our customers to easily leverage the core automation that Puppet offers.
We selected our fastest-growing product, Continuous Delivery for Puppet Enterprise, as our first product to move to this new platform. By focusing on one product first, we were able to identify any challenges we might run into when we rolled this out more broadly. We also wanted to be sure that we could simplify our customers’ experience with our product and the Kubernetes foundation, which is new for many of our customers.
Moving Faster with a Partner
To accelerate our move to a cloud native architecture and achieve our objectives with this transition, we partnered with Replicated, a platform for delivering and operationalizing modern enterprise applications with cloud native tools and practices. Replicated’s KOTS (Kubernetes Off-The-Shelf) product gave us a way to accelerate our development and delivery of a cloud native architecture for our products.
Replicated’s KOTS platform leverages the power of Kubernetes, which means we can continue to deliver our software in a reliable, scalable and now cloud native way. Replicated allows us to offer Kubernetes in a way that hides some of the complexities that come with configuration, deploying and running Kubernetes. As a result, we can focus on building and innovating the products our customers love — and our customers are able to deploy, operate and gain added value from the core automation that Puppet provides.
Like every IT organization, we need to be able to move fast. Working with Replicated, we were able to launch our replatformed flagship product last August, and then very quickly followed with a second product, Puppet Comply, in November.
The Replicated KOTS platform offers a set of tools on top of Kubernetes that simplifies software distribution and management, and eases the deployment of software by packaging applications as Kubernetes applications, Helm Charts or Operators — including a GUI-based management console. The KOTS CLI plugs into a Kubectl CLI that provides a client-side binary for configuring and building dynamic Kubernetes manifests. It makes it easier to deploy IT automation from Puppet in any IT environment, which is very important to the success of our customers.
Changing Over Every Product
Shifting to a cloud native architecture is a huge change for any IT organization, particularly those of us with big, complex distributed systems. We found it valuable to partner with Replicated to make this process as easy and as quick as possible, while maintaining the quality our customers expect of us.
Our goal is to replatform any of our products that are not cloud native using Replicated KOTS, and to leverage the cloud native architecture benefits through everything we do going forward. Which is to say, we are looking for flexibility and resilience — as well as the opportunity to develop more innovative products over the next year on top of this new platform.
As the industry runs more workloads in the cloud and continues to leverage more cloud native architectures, in addition to all of the on-prem workloads, it was critical that our software was able to support increasingly hybrid environments.
As any leader making a significant architectural and technological shift knows, there is the work to be done on the technology front; but the harder part (and the part that takes the longest) is the cultural shift as you develop and deploy code in a new way. For us, it was a focus on those increasingly interdependent functions and how we build new communication patterns across the entire organization while ensuring that this cultural transformation does not slow down our momentum.