<p>There is quite complex application, which contains a lot of custom made services and a couple of opensource storage systems. All of the services should be deployed to k8s cluster. It's not obvious where to put storages, either in k8s or on dedicated VMs, but let's assume they may be deployed in k8s.</p>

<p>So, I'm choosing between Helm and Terraform for the purpose of deployment such a system. There are a lot of similarities between them, thus I stuck.</p>

<p>Can anybody provide some pro's and con's which are based on real production experience?</p>

<p>Helm : 
Helm is the best way to find, share, and use software built for Kubernetes. using helm i donot think you can provision infrastructure.</p>

<p>Terrafrom : </p>

<p>To manage infrastructure as code. using terraform you can provision resources.  </p>

<p>however, for your use case, you can use both together helm &amp; terraform. helm for software deployment and terraform for the infrastructure deployment.</p>

<p>You can also check this out : <a href="https://medium.com/@Joachim8675309/deploying-helm-charts-w-terraform-58bd3a690e55" rel="noreferrer">https://medium.com/@Joachim8675309/deploying-helm-charts-w-terraform-58bd3a690e55</a></p>
