In the last blog post, I examined why many companies are hesitant to embrace Kubernetes and how its complexity is actually beneficial for future growth. Here, I'll layout how you can make your developers badass with the power of Kubernetes and Fairwinds.
In Badass: Making Users Awesome, Kathy Sierra asks why one product outsells others when the competing products have equal pricing, promotion and perceived quality. The answer has to do with the users. Users don’t care about you or your product; they care if your product makes them more badass.
Kubernetes allows developers to do awesome things they couldn’t do before. Your engineers don’t want to manage your infrastructure. They want to be badass. They’re hard to find, engage and retain, so why not give them what they want? You’ll have happier developers, easier/faster deployments, less downtime & outages and faster time to recovery. Kubernetes provides a better developer/user experience.
Heroku is world-renowned for being an incredibly simple Platform-as-a-Service to get started with. The interface to Heroku isn’t complex: nobody considers Heroku overkill. If anything, most with an opinion on the matter consider it too limiting. And yet behind the scenes Heroku is incredibly complex. Their success stems in part from the fact that this complexity is hidden from users.
To be clear, the technical tradeoff isn’t between a highly complex Kubernetes environment that’s operationally complex, but has a great developer user experience with something that’s not complex, and has a great developer user experience. If that was the tradeoff, Kubernetes wouldn’t exist. The tradeoff is really between something like Kubernetes, which makes it hard to do the wrong thing and easy to do the right thing, and simply doing the wrong thing.
It’s easy to be intimidated by complexity. It’s easy to turn to EC2 or Docker Swarm, where the easy things are trivial but the hard things are impossible. However, it’s important to remember that some complexity is Essential.
If you were implementing Kubernetes yourself, you’d need to learn the entire Kubernetes universe. How do you install it? (There’s no installer for Kubernetes.) What tools should you use? (There’s a dozen possible tools, and picking which installer is no easy task.) Let’s say you pick an installation tool like kops – how do you make sure your infrastructure is repeatable? In the event of a disaster, how do you make sure you can spin up your infrastructure somewhere else without losing something? (You need to automate all this stuff so you can recreate a cluster if necessary.)
This learning is time consuming and doesn’t benefit you or add value to your business. You’ll have technical debt of the worst kind (the infrastructure kind vs. the programming code kind), and you’ll never pay it off.
You don’t need to understand which APIs are deprecated in future versions or know which APIs to call. You don’t need to learn the ins and outs of the Kubernetes YAML. As part of our DevOps-as-a-Service approach, we insulate you from that complexity by managing the giant pile of Kubernetes YAML, managing all the continuous integration/continuous delivery (CI/CD) and giving you a simple interface. Kubernetes is a Heroku construction set at its core. At Fairwinds, we do the same thing for you with Kubernetes that Heroku does, except that we customize Kubernetes to fit your particular workflow requirements.
The complexity of Kubernetes is easily managed when you have the right team. At Fairwinds, we achieve economies of scale and ROI by writing open source tools that make Kubernetes easier to use. DevOps-as-a-Service is our business, and open source Kubernetes tools are our business model.
Our goal? To take care of every detail related to your architecture so you don’t have to worry about it.
Kubernetes is complex. But that complexity is worth it when someone else manages it for you. Choose a DevOps-as-a-Service provider that gives you the badass Kubernetes system your developers want while also making all the associated complexity go away.
Keep in mind that it’s easy to choose going your own way when you don’t know what you don’t know. It’s easy to get started with other orchestration tools – so easy in fact that the tools ultimately limit what you can do, not unlike Heroku. The ease of getting started masks the complexity. Eventually you’ll figure out what you’re missing. And when you’re ready to experience our Kubernetes-based DevOps-as-a-Service approach (after your second or third rodeo), you’ll wonder how you lived without it.
Once you start using Kubernetes, the sky’s the limit. You get the great Kubernetes user experience, which is why you want it, and you don’t have to worry about the nonsense involved in architecting a Kubernetes infrastructure.
It’s probably no surprise then that 80% of Fortune 500s use Kubernetes. But the story doesn’t end there. Midsized companies use Kubernetes. Ten-person startups use Kubernetes. Kubernetes isn’t just for enterprises. It’s the real deal for forward-thinking companies of all sizes.
So how can you make sure your Kubernetes migration is successful? Choose the right partner instead of doing it yourself.
But don’t take our word for it. Hear what Michael Tuszynski at Fandor has to say. As he puts it, “Fairwinds shields us from the complexity of Kubernetes. All we see is a pleasant CI/CD interface, and we don’t have to worry about it. We made conscious choices based on our specific business challenges and chose the right tool – Kubernetes – and the right team partner – Fairwinds.”