Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Automate processes using a state machine

Mark Sch.
October 09, 2020

Automate processes using a state machine

A talk for Cakefest 2020

Mark Sch.

October 09, 2020
Tweet

More Decks by Mark Sch.

Other Decks in Technology

Transcript

  1. • CakePHP Core Developer • PHP Developer for 15+ years

    • Spryker Systems GmbH Tooling Expert and Release Manager • Open Source (!) github.com/dereuromark About me 3
  2. • (Shop) Software vendor with ~1000 packages • Atomic releasing:

    Mono repo vs Split repos • Multiple organizations, multiple PRs per RG • > 10000 releases in the last 5 years • More and more tooling and automation About Spryker 4
  3. • Finite-state machine • can be in exactly one of

    a finite number of states at any given time Why using them e.g. in PHP? • Workflows & Automation • Less if/else jungle => less bugs • Direct link of code to visual representation • Easy to maintain, grow and modify over time, even with more complex models What is a state machine 6
  4. • Configurator • Order Management • Application in multiple steps

    • … Connect with • Queue system for asynchronous background tasks Creating a state machine 10
  5. • 1000 of repositories, up to 15 releases per day

    • different validations and constraints for major, minor and patch Real life example 12
  6. • Clearer workflow • More and more automated workflow •

    Validate each step before transitioning into the next one Real life goals 13