A few months back, I gave a tongue-in-cheek talk about the glories of Waterfall at a conference in Denver. I talked about how empowering devs to deploy their own services is a terrible, terrible decision. The talk was entirely sarcastic on purpose. Enabling developers to have service ownership is definitely empowering to an organization — it's the future of distributed service development.
As part of that talk I joked about a single DevOps Engineer with all the context. This mythical person(whoI named Steve) knows everything about the underlying infrastructure as code and deploying workloads. No one else knows how all the pieces work and Steve keeps it a closely guarded secret on purpose. But what do you do when Steve quits?
It Happens More than you Think
I'm finding out this kind of situation is much more common than my sarcastic self would like to admit. Over the years, we've had multiple clients come to us when their DevOps Engineer(or team thereof) quit the company and they were in a panic."We have no idea how our systems work together, we haven't been able to deploy in months. We need help, and we don't want this to be a single point of failure anymore."
The Mythical World of Great Infrastructure as Code
Let’s consider for a moment a mythical world where your infrastructure as codeisn't proprietary—where you have tools, documentation, and code in place so that multiple people can understand all the pieces individually and working together. Imagine an infrastructure with a well-oiled team of people working together to maintain it, keep it up to date, and push things forward to enable innovation. In this new reality, developers have the tools they need to deploy without operations getting in the way.
This mythical world is possible if you're deploying to a well-documented PaaS(think Heroku). But when a company gets too big for a simple PaaS, it can also be possible while deploying to a well-documented PaaS customized to meet your needs. It's possible with Kubernetes(the customized PaaS builder), and it's made smoother with a team of engineers-as-a-service working behind the scenes alongside of your team.
Great Infrastructure as Code doesn’t have to be Mythical
At Fairwinds we have the automation to build out great infrastructure as code quickly. We're also enabling teams toachieve a DevOps culture with great tooling. The best intentioned teams never get there without the right tooling. And the beauty is, our service never takes a vacation or quits. Behind the scenes engineers come and go(vacation and otherwise), but we are able to maintain things in a steady way through repeatable processes and automation. We also give our customers a whole team of named engineers to work alongside of — redundancy, redundancy, redundancy. Nothing we're building is proprietary, although it will sometimes need to be customized for a particular company's needs.
There will always be things that make your particular infrastructure unique, but with our help you can get redundancy(have I mentioned redundancy?), and reduce the risk of a single point of failure DevOps Engineer. We can't solve for the one developer that understands everything about your application stack, but we can solve for the one ops person that holds the keys to deploying it.
Managed Kubernetes with ClusterOps
ClusterOps by Fairwinds is managed Kubernetes. And more than that, it's managed managed Kubernetes. Because while anyone can login to a cloud console and deploy a cluster with a managed service, not everyone will understand all the decisions made above and beyond that. How many clusters do you want? How will you separate environments? What is your plan for upgrades? Where will you run your persistent data? What are best practices for security?
Our team of experts is here to help—and unlike Steve, we're not going anywhere. To find out more, visit our ClusterOps Page.