One year of Heptio

Craig McLuckie
Heptio
Published in
7 min readNov 17, 2017

--

A year ago Joe and I launched Heptio. Our goal was to create a company that could help businesses of all types connect with the Kubernetes and emerging cloud native computing ecosystems and get the most out of new open source technologies. It has been by far the most exciting and invigorating year in my professional career. On our anniversary, I thought I would share what has happened since Joe and I first met in his basement last November and started planning.

View from our office in downtown Seattle.

The team

By far the most exciting and gratifying part of building a company is assembling a team that shares values and is committed to a common mission.

Watching our systems engineers create something from the ground up and work to ensure that the technology works not just for us, but for the community at large. Watching our executives bring structure, order, and efficiency to our different business and operations functions. Seeing our success team building out a deep base of cloud native expertise has been by far the most gratifying part of the journey so far.

I am truly humbled by the overall caliber and amazing diversity of the folks who work with us at Heptio. It is amazing to work with people every day who demonstrate a level of ownership and commitment to the company that matches that of the founders.

A raft of new open source projects

Since we started Heptio, we have been focused on understanding the operational gaps our customers experience when running Kubernetes in production, and working within the community to address those gaps. Over the last year we have released four projects that solve real-world problems in the Kubernetes ecosystem.

Heptio Ark. Inevitably the question arises ‘how do I back up and restore my production cluster’. Early guidance in the community was to rely on etcd state recovery, but our customers struggled to make the approach work since it captures in-flight information that relates to a specific cluster. This makes the solution only viable for recovery of a cluster into the same environment where the workload was originally deployed. Beyond that, stateful workloads are becoming increasingly important and there wasn’t a great way to associate what was happening in a cluster with the external storage that supported the cluster. We created Ark to address these issues and have seen a lot of interest and support for the project. It goes beyond simple backup and recovery to provide a way to move workloads between environments. It’s also a great way to copy a production cluster (or a portion of a production cluster) for staging purposes. You can learn more about Ark here.

Heptio Sonobuoy. One of the biggest challenges our customers faced with an ‘upstream first’ approach to building and running clusters was understanding whether the clusters they created were ‘correct’ — meaning do they work as expected? It sounds like a simple problem, but when you factor in the complexities of deploying Kubernetes into highly restricted environments, this became quite a challenge. We built Sonobuoy to help end users understand whether their cluster was ‘up to spec’. Using the same set of tests that the community uses during the release of Kubernetes, we created a simple framework to run the tests in any environment, and isolate issues that would impact the operator. Since its release, we have seen Sonobuoy become the standard underlying framework for the Kubernetes Certification Program, run by CNCF. We love providing end users with the ability to run the same tests vendors do during the qualification process on their own clusters. You can learn more about Sonobuoy here. We also built the Sonobuoy Scanner as a way to easily understand issues discovered when running the Sonobuoy tool. Looking forwards we see the combination of Scanner and Sonobuoy as a powerful way to not only ensure that the cluster is properly configured, but to provide recommendations about best practices and to more easily address production issues that come up. More about that in the future.

Heptio Contour. The most popular use of Kubernetes has been running stateless, web-oriented workloads. We have seen customers successfully run internet-scale applications on Kubernetes. An essential part of the infrastructure for web applications is the ability to run efficient load balancing and traffic management software to direct internet traffic into the cluster. We created Contour as an open source project to create an efficient and reliable framework for managing load balancing for scalable applications. You can learn more about Contour here. The project is still incredibly early, but we see huge potential in helping customers stitch together Kubernetes and their load balancing/traffic management systems.

ksonnet. The Kubernetes configuration format (YAML) was never intended as a framework for developers to directly interact with. As users progress on their Kubernetes journey, we saw consistent challenges in wrangling the YAML syntax. We created ksonnet as a way to define Kubernetes configurations with an eye to making it easier to move applications between environments with minimal configuration changes. You can learn more about ksonnet here. We are looking forwards to announcing some new capabilities at Kubecon this year that should make ksonnet considerably more accessible to developers.

Kubernetes in the real world

Our vision from the beginning has been to help customers get closer to upstream Kubernetes and to develop a sense of self reliance with cloud native open source technology in general. It has been incredibly educational to meet and work with smart people from companies across different industries, and from across the world.

Every project we have released so far can be tied back to challenges our earliest support, training, and services customers have had. We have learned a tremendous amount by working with customers using Kubernetes, and will continue to stay deeply grounded in the needs of developers and operators.

Perhaps the most important thing that we have learned is: deploying and running Kubernetes in the real world is… complicated. Real companies have fantastically varying and complex requirements -- different environments, different deployment topologies (single cloud, multi-cloud, hybrid-cloud), unique regulatory requirements, even different departmental policies and needs.

For most customers looking to introduce Kubernetes as a standard framework for managing their applications in a complex world, a one-size fits all model just doesn’t work. We have relished working with our customers and bringing ‘strong opinions loosely held’. Finding the sweet spot between common problems (where we work within the community to close a gap) and what is unique (where we help our customers create a solution that works for their specific needs) has been deeply fulfilling.

A strong and coherent culture

At the end of the day, companies succeed or fail based on the health and strength of their internal culture. It is almost impossible to change an entrenched culture, and we have worked hard to make sure that our internal culture not only reflects our values, but will also form the foundations of a strong and sustainable company.

One of the areas where I have been most impressed is with the diversity of the Heptio team, and the level of inclusiveness that we see day-to-day. We have long talked about embodying the change that we need to see in the technology industry. This isn’t just about doing the right thing (though obviously we have to do the right thing), it’s about creating an environment where every one in the company can contribute to their full potential. It makes good business sense too.

A small cog in a big machine

While Joe and I played a role in getting Kubernetes off the ground, we have no special rights to the project. Kubernetes is bigger than any one company, and it has emerged as such a force because it is a truly collaborative initiative to change the way the software that powers the world is run.

We are still small in relative terms, but participating in small and useful ways has been rewarding. Whether it is our support of the Kubernetes certification program with Sonobuoy, participating in special interest groups and the steering group, or chopping wood and carrying water for community meetings (thank you Jorge), we are proud to be part of the broader movement.

At the end of the day Kubernetes embodies the best of all the companies that have contributed to it. Our focus for the time-being is in the operations space. We aren’t just looking at Kubernetes itself, but in how it arrives in a data center, and how it is stitched into the IT fabric of the company that is using it.

Now for year two!

Joe and I are looking forward to the next year of the journey. We will continue to work with the team to close gaps in the Kubernetes ecosystem, and work directly with our customers to get Kubernetes up and running on their terms, in their environments.

We are also excited about releasing our first commercial products that will focus on bringing our vision of honest technology to the problems that open source technology by its nature can’t practically address. More about that in the coming months.

If you are interested in joining us on our mission and becoming a part of Heptio, we would love to talk to you. Check out our open positions on our careers site.

--

--