SlideShare ist ein Scribd-Unternehmen logo
1 von 41
Best Practices to deal with frequent model
changes of long running processes
Webinar, 21st of March 2017
bernd.ruecker@camunda.com | halil.hancioglu@opitz-consulting.com
Todays speakers
Bernd Rücker
Co-Founder camunda
@berndruecker
bernd.ruecker@camunda.com
Halil Hancioglu
Senior Consultant
@ Opitz Consulting Deutschland
GmbH
@satspeedy
halil.hancioglu@opitz-consulting.com
The basic challenge with long running processes
Change
Long running processes
t
Versioning in Camunda
Version: 47
Version tag: „1.1.0“
Process definition id: 456-271-345
Version: 54
Version Tag: „1.2.0“
Process definition id: 911-081-577
ProcessInstanceId ProcessDefinitionId
123-456-789 456-271-345
123-456-790 456-271-345
123-456-791 911-081-577
Two basic options in real-life
Run in parallel Migrate to version
A look into our best practices
Agile development
https://www.linkedin.com/pulse/principles-agile-methods-used-business-management-graham-wood
Typically
short
iterations
Every
iteration
might
contain
changes
And
propably
set live
What do your ops think?
If you run hundreds of version in
parallel,
calling even multiple different
subprocess versions each,
I will kill you.
OK – great. We
appreciate clear
messages.
So let‘s migrate 
Migration
API
Cockpit
The migration plan can be
executed in batch or
downloaded as JSON.
Now let‘s get
serious!
© OPITZ CONSULTING 2017 Seite 13
Challenges in real-life project
 Automate it
 Identify Changes
 Do not miss any change
 Not mixing migration and production code
 Challenges of instance migration
Best Practices to deal with frequent model changes
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
“question” (CC-BY) by Mario Mancuso
Why do we need automation?
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Automate it
 Manual effort
 1 Process
 1 Change
per Process
 3 Environments
3 manual process migrations
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Automate it
 Manual effort
 5 Process
 2 Change
per Process
 4 Environments
40 manual process migrations
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
“CHANGE” (CC-BY-NC-ND) by Martin Deutsch
How do we identify process changes?
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Identify Changes
 For Example
 1 Environment
 2 Process Changes
 Engine detects
changes
 Create a new Process
Definition version
Deployment
sequence
Semantical
version
Camunda Process
Definition version
1 v1 v1
2 v2 v2
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Identify Changes
 And if we re-deploy?
 Detects only changes to
previous version
on each deployment
 Can’t guarantee the
semantical uniqueness
of a version
across multiple
environments
Deployment
sequence
Semantical version Camunda Process
Definition version
1 v1 v1
2 v2 v2
3 v1 v3
4 v2 v4
v1 v1
=
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Identify Changes
 Use Camunda VersionTag
 In Modeler „Properties Panel“

Idea! (CC-BY-ND) by Cristian Carrara
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Identify Changes
 Independent from
Definition Version
 Semantic Naming
Convention necessary
 E.g. Release & Sprint
Number, Git Hash, Git
Tag, Maven Version
 Change only on
relevant commit in
Master Branch
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
How do we ensure that we don't miss any Change?
„IMG_7181“ (CC-BY-NC-ND) by Dora Wu
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Don’t miss any Change
 For Example
 1 Team
 2 changes in a process
 During 1 Sprint
 Start with v1
 Change v1 to v2
PDCA (CC-BY) by Jurgen Appelo
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Don’t miss any Change
 Change v2 to v3
PDCA (CC-BY) by Jurgen Appelo
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Don’t miss any Change
 Document Change sequence
 Changes must be archived
 Migrate iteratively
every change
PDCA (CC-BY) by Jurgen Appelo
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Don’t miss any Change
 What if another
Teams modify
another processes
in same sprint?
 How can we
centralize
all changes
during a sprint?
Team A Invoice Process
Order ProcessTeam B
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Don’t miss any Change
 Archive changed model
in zip file
(local or remote)
 Create Migration Plan
for each change &
add Version Tag
 Link each archive and
migration plan in central
changelog file
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
How do we ensure that
migration is not mixed
with productive code?
“Think of a number.....” (CC-BY-NC-ND) by Mister G.C.
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Not mixing migration and production code
P = Production Code
M = Migration Code
Always
running
Runs only once on Deploy
or on Rlease
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
"310/366 - Fortbewegungsmittel / Vehicles" (CC-BY) by Boris Thaser
And More…
Camunda REST API is
not delivered and
therefore also no
migration API via REST
Execution without
Application Server
Administrators
intervention only in
exceptional cases
Central logging
(e.g., no mailing
of log files)
Containerizable
with Docker
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Not mixing migration and production code
 Setup a Migration Tool
with Spring Boot
 Parallel to the productive code
 Dockerized
 Automate execution with
CI/CD flow
 Central Logging
Interacts
or
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
“Signage 55 speed limit” (CC-BY) by David Lofink
Challenges of instance migration
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Challenges of instance migration
 Process needs further data for new
features
 Process variables must also be modified
 Instances could not be migrated
only with Camunda Migration API
 E.g. Modify an Event to a Task
 Use Camunda Modification API
“Restrictions” (CC-BY) by Davidlohr Bueso
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Challenges of instance migration
 Add “return points”
temporary as
process variable
 Can be defined
in so-called
modification
plans
 Modify & Migrate
to re-run
new added
validation
(Example)
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Demo
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Demo
 Approve Order
 Deploy Archive
 Local & Remote
 Logging in PaperTrail
 Start with v1
 Change v1 to v2
 Extend to reopen
rejected orders
 Notify only when reopened
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Demo
 Change v2 to v3
 Extend to validate
incoming orders
© OPITZ CONSULTING 2017 Seite 38
Conclusion
 Extendable Process Engine
 Flexible & well documented APIs
 Base for continuous improvement
 Automated Migration
 Benefit
 You don’t have to version the Sourcecode, because you’re
always on the latest process definition version
 @Camunda
 Extend Migration API and Modification API with
VersionTag and ProcessDefinitionKey
Best Practices to deal with frequent model changes
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
That’s it….Many Thanks!
Applause (CC-BY-NC-ND) by Kevin Labianco
© OPITZ CONSULTING 2017 Seite 40Best Practices to deal with frequent model changes
Q & A
You have Questions…
…We have Answers
© OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes
Todays speakers
Bernd Rücker
Co-Founder camunda
@berndruecker
bernd.ruecker@camunda.comHalil Hancioglu
Senior Consultant
@ Opitz Consulting Deutschland
GmbH
@satspeedy
halil.hancioglu@opitz-consulting.com

Más contenido relacionado

Mehr von OPITZ CONSULTING Deutschland

Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"OPITZ CONSULTING Deutschland
 
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der PraxisOC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der PraxisOPITZ CONSULTING Deutschland
 
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und CloudOC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und CloudOPITZ CONSULTING Deutschland
 
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!OPITZ CONSULTING Deutschland
 
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...OPITZ CONSULTING Deutschland
 
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...OPITZ CONSULTING Deutschland
 
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?OPITZ CONSULTING Deutschland
 
OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring OPITZ CONSULTING Deutschland
 
Effiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud NutzungEffiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud NutzungOPITZ CONSULTING Deutschland
 
OC|Weekly Talk - Mitarbeiterführung in Zeiten von Social Distance
OC|Weekly Talk - Mitarbeiterführung in Zeiten von Social DistanceOC|Weekly Talk - Mitarbeiterführung in Zeiten von Social Distance
OC|Weekly Talk - Mitarbeiterführung in Zeiten von Social DistanceOPITZ CONSULTING Deutschland
 

Mehr von OPITZ CONSULTING Deutschland (20)

OC|Webcast "Java heute" vom 28.09.2021
OC|Webcast "Java heute" vom 28.09.2021OC|Webcast "Java heute" vom 28.09.2021
OC|Webcast "Java heute" vom 28.09.2021
 
OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021
 
OC|Webcast "Daten wirklich nutzen"
OC|Webcast "Daten wirklich nutzen"OC|Webcast "Daten wirklich nutzen"
OC|Webcast "Daten wirklich nutzen"
 
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
 
OC|Webcast "Willkommen in der Cloud!"
OC|Webcast "Willkommen in der Cloud!"OC|Webcast "Willkommen in der Cloud!"
OC|Webcast "Willkommen in der Cloud!"
 
OC|Webcast "Die neue Welt der Virtualisierung"
OC|Webcast "Die neue Welt der Virtualisierung"OC|Webcast "Die neue Welt der Virtualisierung"
OC|Webcast "Die neue Welt der Virtualisierung"
 
10 Thesen zur professionellen Softwareentwicklung
10 Thesen zur professionellen Softwareentwicklung10 Thesen zur professionellen Softwareentwicklung
10 Thesen zur professionellen Softwareentwicklung
 
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
 
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der PraxisOC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
 
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und CloudOC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
 
OC|Webcast: Grundlagen der Oracle-Lizenzierung
OC|Webcast: Grundlagen der Oracle-LizenzierungOC|Webcast: Grundlagen der Oracle-Lizenzierung
OC|Webcast: Grundlagen der Oracle-Lizenzierung
 
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
 
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
 
OC|Weekly Talk The Power of DevOps…
OC|Weekly Talk  The Power of DevOps…OC|Weekly Talk  The Power of DevOps…
OC|Weekly Talk The Power of DevOps…
 
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
 
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
 
OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring
 
OC|Weekly Talk - Beratung remote
OC|Weekly Talk - Beratung remoteOC|Weekly Talk - Beratung remote
OC|Weekly Talk - Beratung remote
 
Effiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud NutzungEffiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud Nutzung
 
OC|Weekly Talk - Mitarbeiterführung in Zeiten von Social Distance
OC|Weekly Talk - Mitarbeiterführung in Zeiten von Social DistanceOC|Weekly Talk - Mitarbeiterführung in Zeiten von Social Distance
OC|Weekly Talk - Mitarbeiterführung in Zeiten von Social Distance
 

Último

Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxEmil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxNeo4j
 
.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptx.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptxHansamali Gamage
 
Graphene Quantum Dots-Based Composites for Biomedical Applications
Graphene Quantum Dots-Based Composites for  Biomedical ApplicationsGraphene Quantum Dots-Based Composites for  Biomedical Applications
Graphene Quantum Dots-Based Composites for Biomedical Applicationsnooralam814309
 
EMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? WebinarEMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? WebinarThousandEyes
 
TrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie WorldTrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie WorldTrustArc
 
From the origin to the future of Open Source model and business
From the origin to the future of  Open Source model and businessFrom the origin to the future of  Open Source model and business
From the origin to the future of Open Source model and businessFrancesco Corti
 
Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox
 
Scenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenariosScenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenariosErol GIRAUDY
 
2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdfThe Good Food Institute
 
IT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingIT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingMAGNIntelligence
 
UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4DianaGray10
 
Novo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNovo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNeo4j
 
20140402 - Smart house demo kit
20140402 - Smart house demo kit20140402 - Smart house demo kit
20140402 - Smart house demo kitJamie (Taka) Wang
 
Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...DianaGray10
 
The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)IES VE
 
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedInOutage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedInThousandEyes
 
Automation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projectsAutomation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projectsDianaGray10
 
Planetek Italia Srl - Corporate Profile Brochure
Planetek Italia Srl - Corporate Profile BrochurePlanetek Italia Srl - Corporate Profile Brochure
Planetek Italia Srl - Corporate Profile BrochurePlanetek Italia Srl
 
Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)Muhammad Tiham Siddiqui
 
Keep Your Finger on the Pulse of Your Building's Performance with IES Live
Keep Your Finger on the Pulse of Your Building's Performance with IES LiveKeep Your Finger on the Pulse of Your Building's Performance with IES Live
Keep Your Finger on the Pulse of Your Building's Performance with IES LiveIES VE
 

Último (20)

Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptxEmil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
Emil Eifrem at GraphSummit Copenhagen 2024 - The Art of the Possible.pptx
 
.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptx.NET 8 ChatBot with Azure OpenAI Services.pptx
.NET 8 ChatBot with Azure OpenAI Services.pptx
 
Graphene Quantum Dots-Based Composites for Biomedical Applications
Graphene Quantum Dots-Based Composites for  Biomedical ApplicationsGraphene Quantum Dots-Based Composites for  Biomedical Applications
Graphene Quantum Dots-Based Composites for Biomedical Applications
 
EMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? WebinarEMEA What is ThousandEyes? Webinar
EMEA What is ThousandEyes? Webinar
 
TrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie WorldTrustArc Webinar - How to Live in a Post Third-Party Cookie World
TrustArc Webinar - How to Live in a Post Third-Party Cookie World
 
From the origin to the future of Open Source model and business
From the origin to the future of  Open Source model and businessFrom the origin to the future of  Open Source model and business
From the origin to the future of Open Source model and business
 
Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through TokenizationStobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
Stobox 4: Revolutionizing Investment in Real-World Assets Through Tokenization
 
Scenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenariosScenario Library et REX Discover industry- and role- based scenarios
Scenario Library et REX Discover industry- and role- based scenarios
 
2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf2024.03.12 Cost drivers of cultivated meat production.pdf
2024.03.12 Cost drivers of cultivated meat production.pdf
 
IT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced ComputingIT Service Management (ITSM) Best Practices for Advanced Computing
IT Service Management (ITSM) Best Practices for Advanced Computing
 
UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4UiPath Studio Web workshop series - Day 4
UiPath Studio Web workshop series - Day 4
 
Novo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4jNovo Nordisk's journey in developing an open-source application on Neo4j
Novo Nordisk's journey in developing an open-source application on Neo4j
 
20140402 - Smart house demo kit
20140402 - Smart house demo kit20140402 - Smart house demo kit
20140402 - Smart house demo kit
 
Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...Explore the UiPath Community and ways you can benefit on your journey to auto...
Explore the UiPath Community and ways you can benefit on your journey to auto...
 
The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)The Importance of Indoor Air Quality (English)
The Importance of Indoor Air Quality (English)
 
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedInOutage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
Outage Analysis: March 5th/6th 2024 Meta, Comcast, and LinkedIn
 
Automation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projectsAutomation Ops Series: Session 2 - Governance for UiPath projects
Automation Ops Series: Session 2 - Governance for UiPath projects
 
Planetek Italia Srl - Corporate Profile Brochure
Planetek Italia Srl - Corporate Profile BrochurePlanetek Italia Srl - Corporate Profile Brochure
Planetek Italia Srl - Corporate Profile Brochure
 
Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)Trailblazer Community - Flows Workshop (Session 2)
Trailblazer Community - Flows Workshop (Session 2)
 
Keep Your Finger on the Pulse of Your Building's Performance with IES Live
Keep Your Finger on the Pulse of Your Building's Performance with IES LiveKeep Your Finger on the Pulse of Your Building's Performance with IES Live
Keep Your Finger on the Pulse of Your Building's Performance with IES Live
 

Best Practices to deal with frequent model changes of long running processes

  • 1. Best Practices to deal with frequent model changes of long running processes Webinar, 21st of March 2017 bernd.ruecker@camunda.com | halil.hancioglu@opitz-consulting.com
  • 2. Todays speakers Bernd Rücker Co-Founder camunda @berndruecker bernd.ruecker@camunda.com Halil Hancioglu Senior Consultant @ Opitz Consulting Deutschland GmbH @satspeedy halil.hancioglu@opitz-consulting.com
  • 3. The basic challenge with long running processes Change Long running processes t
  • 4. Versioning in Camunda Version: 47 Version tag: „1.1.0“ Process definition id: 456-271-345 Version: 54 Version Tag: „1.2.0“ Process definition id: 911-081-577 ProcessInstanceId ProcessDefinitionId 123-456-789 456-271-345 123-456-790 456-271-345 123-456-791 911-081-577
  • 5. Two basic options in real-life Run in parallel Migrate to version
  • 6. A look into our best practices
  • 8. What do your ops think? If you run hundreds of version in parallel, calling even multiple different subprocess versions each, I will kill you. OK – great. We appreciate clear messages. So let‘s migrate 
  • 10. API
  • 11. Cockpit The migration plan can be executed in batch or downloaded as JSON.
  • 13. © OPITZ CONSULTING 2017 Seite 13 Challenges in real-life project  Automate it  Identify Changes  Do not miss any change  Not mixing migration and production code  Challenges of instance migration Best Practices to deal with frequent model changes
  • 14. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes “question” (CC-BY) by Mario Mancuso Why do we need automation?
  • 15. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Automate it  Manual effort  1 Process  1 Change per Process  3 Environments 3 manual process migrations
  • 16. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Automate it  Manual effort  5 Process  2 Change per Process  4 Environments 40 manual process migrations
  • 17. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes “CHANGE” (CC-BY-NC-ND) by Martin Deutsch How do we identify process changes?
  • 18. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Identify Changes  For Example  1 Environment  2 Process Changes  Engine detects changes  Create a new Process Definition version Deployment sequence Semantical version Camunda Process Definition version 1 v1 v1 2 v2 v2
  • 19. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Identify Changes  And if we re-deploy?  Detects only changes to previous version on each deployment  Can’t guarantee the semantical uniqueness of a version across multiple environments Deployment sequence Semantical version Camunda Process Definition version 1 v1 v1 2 v2 v2 3 v1 v3 4 v2 v4 v1 v1 =
  • 20. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Identify Changes  Use Camunda VersionTag  In Modeler „Properties Panel“  Idea! (CC-BY-ND) by Cristian Carrara
  • 21. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Identify Changes  Independent from Definition Version  Semantic Naming Convention necessary  E.g. Release & Sprint Number, Git Hash, Git Tag, Maven Version  Change only on relevant commit in Master Branch
  • 22. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes How do we ensure that we don't miss any Change? „IMG_7181“ (CC-BY-NC-ND) by Dora Wu
  • 23. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Don’t miss any Change  For Example  1 Team  2 changes in a process  During 1 Sprint  Start with v1  Change v1 to v2 PDCA (CC-BY) by Jurgen Appelo
  • 24. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Don’t miss any Change  Change v2 to v3 PDCA (CC-BY) by Jurgen Appelo
  • 25. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Don’t miss any Change  Document Change sequence  Changes must be archived  Migrate iteratively every change PDCA (CC-BY) by Jurgen Appelo
  • 26. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Don’t miss any Change  What if another Teams modify another processes in same sprint?  How can we centralize all changes during a sprint? Team A Invoice Process Order ProcessTeam B
  • 27. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Don’t miss any Change  Archive changed model in zip file (local or remote)  Create Migration Plan for each change & add Version Tag  Link each archive and migration plan in central changelog file
  • 28. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes How do we ensure that migration is not mixed with productive code? “Think of a number.....” (CC-BY-NC-ND) by Mister G.C.
  • 29. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Not mixing migration and production code P = Production Code M = Migration Code Always running Runs only once on Deploy or on Rlease
  • 30. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes "310/366 - Fortbewegungsmittel / Vehicles" (CC-BY) by Boris Thaser And More… Camunda REST API is not delivered and therefore also no migration API via REST Execution without Application Server Administrators intervention only in exceptional cases Central logging (e.g., no mailing of log files) Containerizable with Docker
  • 31. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Not mixing migration and production code  Setup a Migration Tool with Spring Boot  Parallel to the productive code  Dockerized  Automate execution with CI/CD flow  Central Logging Interacts or
  • 32. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes “Signage 55 speed limit” (CC-BY) by David Lofink Challenges of instance migration
  • 33. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Challenges of instance migration  Process needs further data for new features  Process variables must also be modified  Instances could not be migrated only with Camunda Migration API  E.g. Modify an Event to a Task  Use Camunda Modification API “Restrictions” (CC-BY) by Davidlohr Bueso
  • 34. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Challenges of instance migration  Add “return points” temporary as process variable  Can be defined in so-called modification plans  Modify & Migrate to re-run new added validation (Example)
  • 35. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Demo
  • 36. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Demo  Approve Order  Deploy Archive  Local & Remote  Logging in PaperTrail  Start with v1  Change v1 to v2  Extend to reopen rejected orders  Notify only when reopened
  • 37. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Demo  Change v2 to v3  Extend to validate incoming orders
  • 38. © OPITZ CONSULTING 2017 Seite 38 Conclusion  Extendable Process Engine  Flexible & well documented APIs  Base for continuous improvement  Automated Migration  Benefit  You don’t have to version the Sourcecode, because you’re always on the latest process definition version  @Camunda  Extend Migration API and Modification API with VersionTag and ProcessDefinitionKey Best Practices to deal with frequent model changes
  • 39. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes That’s it….Many Thanks! Applause (CC-BY-NC-ND) by Kevin Labianco
  • 40. © OPITZ CONSULTING 2017 Seite 40Best Practices to deal with frequent model changes Q & A You have Questions… …We have Answers
  • 41. © OPITZ CONSULTING 2017 Best Practices to deal with frequent model changes Todays speakers Bernd Rücker Co-Founder camunda @berndruecker bernd.ruecker@camunda.comHalil Hancioglu Senior Consultant @ Opitz Consulting Deutschland GmbH @satspeedy halil.hancioglu@opitz-consulting.com