SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Plus de 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
 

Plus de 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
 

Dernier

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 

Dernier (20)

Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 

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