This document provides an overview of Activiti Cloud and how it can be used to implement business processes and workflows as microservices. It introduces key Activiti Cloud concepts like runtime bundles and connectors. An example is described where social media posts are ranked and authors rewarded. This would be broken into microservices like a runtime bundle to execute processes, and connectors to interface with external systems like Twitter. The document demonstrates how the example could be broken into microservices and deployed with technologies like Docker and Kubernetes.
Architecture decision records - How not to get lost in the past
Activiti Cloud Deep Dive
1. Activiti Cloud Deep Dive
Mauricio Salatino https://github.com/salaboy
Elias De Medeiros https://github.com/erdemedeiros
Ryan Dawson https://github.com/ryandawsonuk
17.01.2018
2. Learn. Connect. Collaborate.
Our cloud
vision
• Activiti should help you to be in control of your
business and your cloud-native services
6. Learn. Connect. Collaborate.
But how?
• Let’s get a better picture of this - an example
using our 7-201712-EA release
• Introduce key Activiti Cloud concepts and
illustrate how they can work for you
7. Learn. Connect. Collaborate.
Marketing Example
• Promote brands on Social Media (e.g. Twitter)
– Filter feed/s of content by relevance to brand
– Rank authors by relevance and sentiment of content to brands
• Periodically reward authors as incentive to post more
8. Learn. Connect. Collaborate.
BPM
Processes
- process that ranks
authors based on tweets
- process to reward
Campaign Feed and Ranking – instance per tweet
Campaign Rewards – initiated on timer
9. Learn. Connect. Collaborate.
We made some BPMN – what’s our path to prod?
We designed some nice BPMN! Now how do we get an app to prod?
What do we normally do in the BPM world?
12. Learn. Connect. Collaborate.
Make cloud
not war!
• To do this with Activiti Cloud we’ll have multiple
smaller apps:
– Runtime bundle = scalable app that can execute
BPMN
– Connectors = apps that can implement service
tasks, talk to the runtime bundle (e.g. start
instances) and handle interactions with external
systems (e.g. twitter)
• These are new concepts we will demonstrate.
• Why all this new stuff?
13. Because we’re doing microservices!
Monolith
Microservices
Just one java classpath = monolith
14. Learn. Connect. Collaborate.
Why microservices?
• Because things fail – fault-tolerance
• Load-balancing
• Independent scaling
• Independent releasing
• Zero-downtime releases
• Etc.
• So what does it look like?
18. Learn. Connect. Collaborate.
Cloud Connectors • Independently scalable
• Implementations of service tasks
• Interfaces to runtime bundles
19. Learn. Connect. Collaborate.
Which looks
like…
• https://github.com/Activiti/activiti-cloud-
examples/tree/develop/trending-topic-campaigns
20. Learn. Connect. Collaborate.
What do we do with it?
• Dockerize and then Kubernetes on AWS?
• Start listening to twitter?
• Alas, not at DevCon - this is an offline demo
• We will use a fake twitter feed and run locally using
docker-compose and minikube
21.
22.
23. Learn. Connect. Collaborate.
What we didn’t talk about
• Activiti Cloud Query
• Activiti Cloud SSO IDM
• Activiti Cloud Audit
• and more… check out
https://www.gitbook.com/book/activiti/activiti-7-
developers-guide/details
26. Credits
-Twitter image from
http://www.activemarketing.com/news/archive/twitter-marketing-
tips-how-to-win-followers-the-right-way/
-Happy developer with image for path to prod from
https://www.otssolutions.com/blog/how-qa-testing-effort-has-
changed-in-software-product-development-in-past-years/
-Activiti Kickstart screenshot from
http://www.baeldung.com/activiti-kickstart-and-rest-apps
-Monolith v Microservices idea from
https://www.slideshare.net/lalitkale/introduction-to-microservices-
80583928 , images from
http://vsbattles.wikia.com/wiki/Felonius_Gru and
http://globalmedicalco.com/group/Minions%20Picture/
-ELK image from https://blog.takipi.com/15-tools-to-use-when-
deploying-code-to-production/
-Docker compose image from
https://blog.docker.com/2016/02/compose-1-6/
-Sneak Preview image from
http://www.freestockphotos.biz/stockphoto/8040
-Popeye image from http://www.dailymail.co.uk/news/article-
3186889/Well-blow-Real-life-Popeye-49cm-forearms-travels-
America-compete-arm-wrestling-contests.html
-Spring Cloud Netflix logo from https://ixor.be/2016/11/03/spring-
cloud-netflix-microservice-architecture/
-Confused Popeye head from http://dgallucci.com/popeyes-
paradox/
-Microservices Spaghetti image from
https://www.slideshare.net/danveloper/microservices-the-right-way