What does Helm solve that manifests don't? Start there and build a slideshow, a presentation, or something like that using it. If Helm doesn't solve any problems they have, why should they learn it?
​
For what it's worth, I'm moving off of Helm for personal projects and at work to Pulumi because it allows using a single tool as both a terraform replacement and Kubernetes manager. It solves the problem of having to teach multiple tools to engineers trying to deploy a system.
I think if your application relies on EC2 as well you're best off using Terraform, but configuring API Gateway in Terraform can be a bit tedious. If you can remove the EC2 parts and don't mind something a bit more opinionated you could switch to Serverless.
​
I'm recently trying out https://pulumi.io as well which seems promising. If you already know JavaScript, Python or one of their other supported languages, you don't have to learn the Hashicorp HCL for Terraform (which is otherwise really good, especially with the improvements coming up in the next version).
It doesn't. They fixed that https://pulumi.io/reference/faq.html#can-i-use-pulumi-without-depending-on-pulumicom
You've given pretty good reasons I think. Most of the time when I use Terraform I end up "scripting" it by specifying what I want in Ruby and then generating the relevant Terraform files. This ends up working in a surprisingly large number of use cases. Your way will also work. I've written custom code to manage small bits and pieces of AWS like custom base images generated by Packer and EBS Snapshot generated through some backup integrations and I can see that approach working for managing other parts of the infrastructure instead of just custom AMIs and EBS snapshots. But before you actually go down this route I recommend taking a look at pulumi.io because it also does what you're suggesting by embedding the description of the cloud resources in real programming languages like TypeScript and Python. So that way you get the full power of a real programming language and you can generate whatever resource graph you want from whatever description you want.
If you haven't heard of [Pulumi](https://pulumi.io/) then check that out. It'll let you define all your cloud infra in code as well as your helm deployments.
Pulumi has a feature called "stacks" which are just a collection of resources (infra). You could use different Pulumi stacks to deploy different environments. There's no requirement to make each stack use the same infra or even the same cloud, so in theory you could pass a flag to your pulumi program when deploying a particular client's environment to make it spin up a cluster on Azure or AWS instead of GCP but then still deploy the helm charts in the same way on the provisioned cluster.
I'm not affiliated with pulumi, but i have made some minor open source contributions. Pulumi has a statefile like terraform which you can manage on a cloud bucket or via Pulumi's SaaS product. I'd recommend trying it out with a cloud bucket and then using the SaaS product to both support pulumi and for the auxiliary feature set it brings to the table
Yes all of those can have a purpose/point with kubernetes.
How?
Sure you won't be doing SSL the same way so some knowledge can go away while you can improve
https://pulumi.io/reference/#learning-pulumi
I think that's good to learn https://github.com/pulumi/examples/tree/master/kubernetes-ts-helm-wordpress
Seems like an interesting product, I can see the benefit of bringing some of the things I do with Terraform or Ansible into a programmatic SDK like this.
I don't seem to be able to find anything about the team behind the product. Is it a startup? A bunch of engineers with an itch to scratch? I can propose Terraform/Ansible/Cloud SDKs to my team because they aren't going to drop off the map. Pulumi might be the cat's meow, but without even a little bit of confidence that they're going to be around long term, I'm not going to put my eggs in the basket, particularly since it requires that pulumi.com be up.
From this:
| Terraform requires that you and your team learn a new custom language, the HCL DSL.
While HCL is what Hashicorp prefers and offers up in their documentation, Terraform does support JSON.
No, I get all that, and I can see the appeal. What troubles me after looking into it is ... well, I looked into it a little more and found that they've been cut-and-pasting Terraform's AWS resource documentation into their own.
Word-for-word, without even cleaning up their inter-reference links. Compare:
Completely aside from the pro/cons of the technology, as a business practice that's just shady, and sloppy to plagiarize documentation like that.
It is like troposphere, except better. Supports multiple languages to write IaC in (python, node and I think typescript too). Supports Kubernetes and lot of different cloud providers. If you are coming at this fresh and are not invested in something like TF it might be worth a hard look - especially if you are coming from the dev side of things.
https://pulumi.io/ https://github.com/pulumi/pulumi
The K8s stuff looks to be really nice.. that may be its real appeal.
Honestly I haven't played with it much - there are so many things to check out in this industry that it is sometimes hard to get at all of them. For me pulumi is one of the ones I haven't invested in yet b/c I haven't had a real need (yet).