Workflow Creation with Litmus 2.0 Beta
Tags: kubernetes, litmuschaos, chaosengineering, testing
Published: 2021-05-18 09:24:12

With Litmus 2.0 announced, you are no longer confined to perform Chaos Engineering with a terminal in your hand. You now have a control plane to create, schedule and analyze chaos workflows with our upgraded Litmus Portal.

The new Litmus Portal makes chaos engineering fun and hassle free. With a single click, you can re-run a workflow without configuring it again. Don't want to create a new workflow from scratch, just save one of the existing workflow as a predefined template and much more. In this blog we will go through all the new features that are added to the Portal with the 2.0 update.

### Before moving ahead, let's know about Litmus. ❓

Litmus is a complete framework to perform chaos engineering in a cloud-native ecosystem.
It is a toolkit to orchastrate chaos on Kubernetes. It allows SRE to inject chaos in the environment and find the bugs and vulnerabilities in the system. Fixing these vulnerebilities will ultimately make the system resilient.

Chaos experiments are hosted on [ChaosHub](hub.litmuschaos.io). It is a public marketplace where different vendors share their chaos experiments so that their users can use them to increase the resilience of the applications in production.

# New Upgrades with Litmus 2.0 🚀

<br>

## Workflow Creation ✍️

<br>

1. **Choose a workflow** 🎟️

    With the new Litmus Portal, you can choose workflows from 4 different ways.

    a. **Create a new workflow from one of the pre-defined chaos experiment.** With this option, you can select the pre-defined experiments that executes chaos operations on real-world applications like `sock-shop`. Currently there are 3 pre-defined experiments available `sock-shop-chaos`,`kube-proxy-chaos` and the new `podtato-head-chaos`.
    ![Screenshot from 2021-05-10 19-37-59](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kmn2nwcrhhc6ic0te8f3.png)

    b. **Create a new workflow by cloning and existing workflow.** With this option, you can save an existing workflow as a template from the scheduled workflows. This options saves some time if you don't want to schedule a workflow from scratch.
    ![Screenshot from 2021-05-10 19-56-20](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fu78vfocsdz6khvqp8nl.png)

    c. **Create a new workflow using experiments from MyHub.** With this option, you can create custom experiments from the connected MyHubs. By default , the public Chaos Hub is already installed. You can connect a MyHub with the [following steps](https://dev.to/amityt/custom-workflow-with-myhub-using-litmus-portal-359a)
    ![Screenshot from 2021-05-10 19-56-28](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zvcjlzg10r3rfj3vf5jk.png)

    d. **Import workflow using YAML.** With this option, you can upload a workflow manifest and tune it according to the use-case and schedule it.
    ![Screenshot from 2021-05-10 19-56-35](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/iev5m18507dyl40zmndw.png)

2.  **Tune Workflow** 🎯

    A lot of new changes are added in the tune workflow section, these include:

    a. **Workflow Visualisation** 👀 - Now visualize your workflow even before scheduling it. This feature gives a breif idea about the sturcture of the workflow. You can view the experiments if they are parallel or serial.
    ![Screenshot from 2021-05-10 19-57-16](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kxmahuufltbppbybcgba.png)
    b. **Experiments Table** 📋 - This table give valuable information about the experiments present in the workflow. It also shows the target applications of each experiments where chaos will be injected.
    c. **Sequencing Experiments** 🔧 - This is one of the major feature we added with the 2.0 update, with this you can tune the sequence of the workflow by dragging and dropping the experiment as shown below. This allows you to sequence your experiments parallel and serial manner. 
 ![Sequencing Experiment](https://media3.giphy.com/media/qQvEywXjVRuz8Nj2rI/giphy.gif?cid=790b761117e521344cc388c6ccc40a68efac4300866e0f4c&rid=giphy.gif&ct=g)
<br>
    d. **Tune Experiments** 🔥 - Our prior focus with the 2.0 update was to make the experiment tuning step hassle free for the user, hence we added the Kubernetes Object integration in this step. With this you can get the cluster details like the available namespaces and the application labels according to the resourse type. This allows you to target the application to inject chaos in a much simpler way.
    ![Screenshot from 2021-05-10 20-09-37](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hug37g3nne338h7y8lsb.png)

    e. **Probes Integration** ⌚ - Now you can add probes directly from the portal. The probe properties are available dynamically in the portal. Select one probe and add it in your chaos engine to enhance your chaos testing.
    ![Screenshot from 2021-05-10 20-10-26](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bu02pdr745jh3yqtofm7.png)

    f. **Reliability Score** 💯 - The look and feel of the reliability score page is also upgraded, it now gives a clearer idea about the weights of the expeiments.
    ![Screenshot from 2021-05-10 20-35-31](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/63qqrnzagfoqnrol45y0.png)

## Conclusion
So these were the new changes we have added in the workflow creation steps. Stay tuned, a lot of new features will be available in the coming releases. 

Make sure to try the Litmus Portal 2.0 and give your valuable feedback and suggestion. Don’t forget to checkout our [Litmus website](https://litmuschaos.io/) and the [Litmus repo](https://github.com/litmuschaos/litmus). Do leave a star if you find it interesting. 😊

Further, feel free to put forward any queries or concerns you have. I would love to address them. I would love to invite you to our slack community for keeping up to date and interacting with our community members, contributors & maintainers.
To join our slack please follow the following steps!
Step 1: Join the Kubernetes slack using the following link: https://slack.k8s.io/
Step 2: Join the #litmus channel on the Kubernetes slack or use this link after joining the Kubernetes slack: https://slack.litmuschaos.io/

Cheers!