Helm vs Cellery

Tharindu Jayathilake
wso2-cellery
Published in
3 min readAug 15, 2019

Being a developer/DevOps you may have ever worried about managing your software solutions. With the time being the developers tend to write applications with microservices due to comparative advantages over monolithic applications. So managing those microservices has become a hot topic today. In this post I will be comparing two trending application orchestration technologies(helm and cellery), that might ease your work of managing your microservices.

What is Helm ?

Before understanding helm, it is recommended to have some knowledge on kubernetes. Helm is simply a kubernetes package manger. Helm is a dependent tool which is specially made for kubernetes(Knative). Through helm we can define microservices and respective dependencies. Helm helps you to install and manage your applications. Please refer the helm documentation for more details.

Reason for using Helm ?

  1. Kubernetes is very complex and hard to understand. When we add more and more components to kubernetes, it gets very hard to manage the infrastructure of the kubernetes. In here the helm helps in managing the microservices used in kubernetes.
  2. Helm has different components to manage kubernetes such as pods, config maps, services, objects, and persistent volumes. Using these components it makes life easy to manage kubernetes.
  3. Helm uses value files where the developers can define values for their deployment. So the developer can easily parameterize values to be passed to the deployment.

What is Cellery ?

Cellery is a code-first approach to build, integrate, run and manage composite microservice applications on kubernetes. Cellery consists of cellery CLI, cellery mesh runtime and observability. Developers can build cells using cellery CLI and execute in cellery runtime. Observability is used to view how each cell interacts with each other. Please visit the cellery website for more details.

Reason for using Cellery ?

  1. Since cellery is a code-first approach, the developers don’t have to YAML file with thousands of lines of code.
  2. Kubernetes is very complex and hard to understand while cellery is easy to understand since we manage microservices using kubernetes.
  3. Cellery has observability where the developer can view how the cells are interacting with each other.
  4. It is hard to develop scalable apps using kubernetes.
  5. Enables agile development among teams. The code-based approach enables distributed, decoupled teams, each owning one or more cells which group sets of microservices together.
  6. Cellery has a well-defined architecture where it is easy to narrate the solution.

Comparison between helm and cellery

  1. Helm follows a config-first approach solution while cellery follows a code-first approach. According to my point of view the config-first approach is very difficult to handle than a code-first approach, since we need to deal with a lot of YAML files.
  2. In helm, developers have to deal with a lot of code lines with YAML files because yet it is another kubernetes implementation while in cellery within a few lines of code you can build the solution. In here the same complexity of managing a huge number of code lines come to picture.
  3. By using cellery you visualize your application since there is observability which is not possible in helm.
  4. When dealing with helm value files the developer may get confused with a lot of value files and wrong values to the files.
  5. Cellery is more agile friendly since developers can be responsible for their own cells while helm needs to deal with pods and container.
  6. In cellery, the developer doesn't need to worry about kubernetes complexities. Whereas in helm the kubernetes knowledge is vital.
  7. In cellery, the cells are secured by default using security measures such as STS. But in helm, we have to secure our application.

From the above points that we have discussed, you might have got some idea about helm and cellery. Hope that this blog post has helped you to choose the best technology in dealing with microservice applications. Being a person who has worked with both of these technologies it could be seen that cellery has more benefits compared to helm. If you also have used any of these technologies, you can share your thoughts in the comment section.

--

--