Flowable – Engine for Automated Workflows @HealthKart

Automated business workflows are essentials for any organization. There are multiple options to automate your business workflows using tools and SaaS products available in the market. However, it becomes more challenging if you have several of internal systems that in running and managed internally and it needs integration with them. One can opt for building it in house or can take a middle ground of using any open source which can be customized and integrated with all internal systems.

We have lots of use cases here in HealthKart ranging from automated user journeys to creating a business workflows for tracking NPS of our products. These journey/workflows requires lots of integration touch point with internal system. We also needed to do lots of customization on UI front to meet each BU requirements.

First question that we had was whether to develop in-house or use any SaaS solution for implementing the journeys and workflows. Choosing SaaS solution was out in the first step due to lots of customization and integration need with in the system. We understood that this could have done with SaaS solution also however the real question was ROI and agility in customization.

Instead we took a middle ground approach to use any opensource workflow engine which should have all basic building blocks and option to customize if and when it requires. We choose to go ahead with Flowable , do continue reading to find out why…

Why Flowable

Flowable is an open source project that provides Out of the Box Solutions for building workflow and Business Process Management (BPM) platform. The tool has capability to handle various outcome from a single flow and based on outcomes system can decide the next step, we have also overridden the some flowable features to send custom triggers to our users.

Form Custom Outcomes

Currently we are using so many custom outcomes to handle customer behaviour some of them like He/She didn’t pick the call currently, Call after some time, Not answered, Not starts the using product till date, Did not purchase the products of himself (Gifted Products), Based on outcomes system decide the next step of this flow.

Timer Events

Almost in every task we are using timer events, some of timers are static and to set delay in between two task and some of them dynamic based on customer input, like if He/She needs a call after some time or another day system set the delay accordingly

Parallel Gateway

We have different departments to take care of customer feedback according to the issue type. If customers raise a complaint about anything, we need to assign some task to a particular department, so we need to start the parallel flows in this case, And to solve this we use the flowbale parallel gateway. 

We are using the flowable to build our customer journey and inhouse approval systems. 

If you have any query feel free to ask, here our motto is to give the best customer experience to the user.

Photo by Roman Bozhko on Unsplash

Why we migrated our CDN from AWS to Cloudflare

Content Delivery Network (CDN) is a critical piece in your app eco system as it ensures faster delivery of your media and static content to your app users. Since our complete infrastructure is hosted on AWS, CDN services were being availed from AWS itself.

On side note, I am a big AWS fan and during my startup journey we have always preferred AWS as compare to other IaaS provider due to its reliability, ease of use and better pricing. However there are few points which you might need to remember when it comes to pricing and application security on AWS

AWS charges for data out

AWS charges to customer based on the data that has been flushed to end users. Now if you have a file of 1 MB on CDN and it has been served to end users to 1000 times in a month, you have to pay for 1 GB of data out in that month. Now if you have significant active users and do have media and static contents, you may see a good amount of $ being spend on data out in your AWS bills.

AWS WAF is not feature rich

WAF (Web Application Firewall) is an essential tool and should not be overlooked as it secures your web application from critical security vulnerabilities which includes OWASP top 10 and other day zero vulnerabilities. AWS WAF is not a self service tool, and you will end writing lots of rule and code on top of it.

Lets talk about Cloudflare a bit

On the other hand, Cloudflare is essentially a security company and provides lots of offering around it. Cloudflare WAF is easy to use and is a self managed service. It provides protection from different kind of security vulnerabilities including OWASP top 10 to your web application and API infrastructure. It also provides lots of performance management tools like caching, Image optimization etc with their CDN services.

And you know what… they dont charge for data out usage for your media and static contents … Yes you heard it Right!!!

So if you are looking for any WAF solution for your app infrastructure, Cloudflare can give you these advantages if you use their CDN along.

P.S. I am not here to promote Cloudflare services, instead I have written my experience and advantage that we have got while using WAF and CDN services.

Photo by Anastasia Dulgier on Unsplash