Man, it is quite difficult to see differences in native PaaS solutions and container orchestration. The main question here is: which level of "hands-on" you want to implement? PaaS solutions offer a wide variety of tools and options by which to deploy and scale software. With these, you don't have to care about the underlying RTE or hardware.

Container orchestration, on the other hand, demands more attention to detail. There are more choices to make, more things to think about. The upside is that, there's more freedom and controllability, as you can tinker with the underlying virtual machines and hardware.

Both system offer CI/CD pipelines and both require minimal effort to get going, unless you want to deploy K8S the hard way. If hard is your style, I suggest checking out Kelsey Hightowers GitHub repository on the subject.

On a side note, OpenStack would definitely benefit from a PaaS solution. That solution could be Kubernetes or some other container orchestration under the hood.

To the point

Now that I've blabbed for long enough, it's time to get on with
the subject of today's post. Helm Charts is a tool and a set of rules on how to write your own app packages to run on K8S with Helm CLI. Simply put, a Helm Chart is a bunch of YAML files and subfolders in an Chart folder that guide the deployment and life cycle of a an app and its dependencies on K8S. The documentation on writing your own Helm Charts can be found here. There are a lot of ready-made apps in the official repository, so make sure to check those out before heading to the deep end. Chances are, that you're inventing the wheel anew. As practice, I took the existing WordPress Chart and modified it to include the official WordPress and MySQL images from Docker hub. I also added Traefik to the Chart dependency list to act as a load balancer, ingress controller and certificate handler front-end. I won't be sharing what I wrote, because I feel it's nothing special and because I've lost the latest build.

Let's just see how easy it is!

And boy, it's stupid easy!

asciicast

Final thoughts

To get going and try Helm Charts for yourself, I recommend reading the Helm documentation first. Then head to Google Cloud Platform and set up a demo Kubernetes cluster (I'm assuming you have an existing Google account). Kubernetes on GCP is probably the fastest way to get going, unless you've got a cluster already set up.

In short, Helm Charts is your curated app experience on Kubernetes. It offers a way to write a declarative package that contains all the dependencies and parameters that your application needs on Kubernetes.

With ever improving, sophisticated and turn-key solutions to deploy applications and manage their lifecycle, I see the future of operations pretty grim and DevOps bright as ever.

Hope you enjoyed this short take on Helm Charts. Subscribe if you did and hit me up on twitter if you have any questions.