Hazelcast needed  Kubernetes Clusters in different regions with different configurations. That is, they needed to maintain multiple Kubernetes clusters at the same time. Moreover, they did not want to lose any configuration that applied to kubernetes clusters, and upgrading/Updating clusters should be smooth and scalable.

Client: Hazelcast
Project type: DevOps as a Service


We followed an infrastructure-as-code approach to meet Hazelcast’s requirements. e defined Kubernetes cluster configs in YAML format. Hence we had  separate YAML files that defines a specificKubernetes Cluster. ( Like region, zone, machine count, kubernetes version etc) Then we wrote Terraform scripts that get the YAML config files and apply them to the cloud.




With our approach, Hazelcast can commit their changes to their git repository, and these changes are  applied to the cloud automatically.

They can add/remove machines, upgrade kubernetes version or change any config they want by just editing simple config filesBecause everything is modeled as-code, everything is persistent. When someone joins the team, they can easily see  the configuration of the whole system.