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

12 Factor App

12 Factor App

A methodology for building modern, scalable, maintainable software-as-a-service apps.

http://bit.ly/erkanerol-12factor

Erkan Erol

August 17, 2017
Tweet

More Decks by Erkan Erol

Other Decks in Programming

Transcript

  1. The principles for SaaS apps THE TWELVE-FACTOR APP Erkan Erol

    Apprentice Software Craftsman http://bit.ly/erkanerol-12factor
  2. Erkan Erol Apprentice Software Craftsman erkan_erol_ erkanerol erkanerol.github.io Software Developer

    @ SAP Development Center Turkey Co-Organizer @ Software Craftsmanship Turkey Java k8s Linux Web
  3. manifesto describing the rules and guidelines that needed to be

    followed to build a cloud-native application 2012
  4. minimize time and cost for new developers joining the project

    declarative formats for setup automation
  5. Codebase Dependencies Config Backing Services Build, Release, Run Processes Port

    Binding Concurrency Logs Dev/Prod Parity Disposability Admin Processes
  6. Codebase Dependencies Config Backing Services Build, Release, Run Processes Port

    Binding Concurrency Logs Dev/Prod Parity Disposability Admin Processes
  7. Codebase Dependencies Config Backing Services Build, Release, Run Processes Port

    Binding Concurrency Logs Dev/Prod Parity Disposability Admin Processes
  8. Codebase Dependencies Config Backing Services Build, Release, Run Processes Port

    Binding Concurrency Logs Dev/Prod Parity Disposability Admin Processes
  9. Codebase Dependencies Config Backing Services Build, Release, Run Processes Port

    Binding Concurrency Logs Dev/Prod Parity Disposability Admin Processes
  10. Codebase Dependencies Config Backing Services Build, Release, Run Processes Port

    Binding Concurrency Logs Dev/Prod Parity Disposability Admin Processes
  11. Codebase Dependencies Config Backing Services Build, Release, Run Processes Port

    Binding Concurrency Logs Dev/Prod Parity Disposability Admin Processes
  12. Codebase Dependencies Config Backing Services Build, Release, Run Processes Port

    Binding Concurrency Logs Dev/Prod Parity Disposability Admin Processes
  13. Codebase Dependencies Config Backing Services Build, Release, Run Processes Port

    Binding Concurrency Logs Dev/Prod Parity Disposability Admin Processes
  14. Codebase Dependencies Config Backing Services Build, Release, Run Processes Port

    Binding Concurrency Logs Dev/Prod Parity Disposability Admin Processes
  15. BUILD ✓ Complex processes ✓ Deterministic ✓ Central Build ❌

    Configuration ❌ Environment specific ❌ Local Build
  16. + ✓ Versioning ✓ Configuration ✓ Deploying different environments ✓

    Ready to run ✓ Storing releases ❌ Changing executables RELEASE
  17. Codebase Dependencies Config Backing Services Build, Release, Run Processes Port

    Binding Concurrency Logs Dev/Prod Parity Disposability Admin Processes
  18. Codebase Dependencies Config Backing Services Build, Release, Run Processes Port

    Binding Concurrency Logs Dev/Prod Parity Disposability Admin Processes
  19. Codebase Dependencies Config Backing Services Build, Release, Run Processes Port

    Binding Concurrency Logs Dev/Prod Parity Disposability Admin Processes
  20. Codebase Dependencies Config Backing Services Build, Release, Run Processes Port

    Binding Concurrency Logs Dev/Prod Parity Disposability Admin Processes
  21. Codebase Dependencies Config Backing Services Build, Release, Run Processes Port

    Binding Concurrency Logs Dev/Prod Parity Disposability Admin Processes
  22. Codebase Dependencies Config Backing Services Build, Release, Run Processes Port

    Binding Concurrency Logs Dev/Prod Parity Disposability Admin Processes
  23. Codebase Dependencies Config Backing Services Build, Release, Run Processes Port

    Binding Concurrency Logs Dev/Prod Parity Disposability Admin Processes
  24. Codebase Dependencies Config Backing Services Build, Release, Run Processes Port

    Binding Concurrency Logs Dev/Prod Parity Disposability Admin Processes
  25. Codebase Dependencies Config Backing Services Build, Release, Run Processes Port

    Binding Concurrency Logs Dev/Prod Parity Disposability Admin Processes
  26. Codebase Dependencies Config Backing Services Build, Release, Run Processes Port

    Binding Concurrency Logs Dev/Prod Parity Disposability Admin Processes
  27. Codebase Dependencies Config Backing Services Build, Release, Run Processes Port

    Binding Concurrency Logs Dev/Prod Parity Disposability Admin Processes
  28. Codebase Dependencies Config Backing Services Build, Release, Run Processes Port

    Binding Concurrency Logs Dev/Prod Parity Disposability Admin Processes
  29. • Finding specific events in the past. • Large-scale graphing

    of trends • Active alerting according to user-defined heuristics
  30. Codebase Dependencies Config Backing Services Build, Release, Run Processes Port

    Binding Concurrency Logs Dev/Prod Parity Disposability Admin Processes
  31. Codebase Dependencies Config Backing Services Build, Release, Run Processes Port

    Binding Concurrency Logs Dev/Prod Parity Disposability Admin Processes
  32. Codebase Dependencies Config Backing Services Build, Release, Run Processes Port

    Binding Concurrency Logs Dev/Prod Parity Disposability Admin Processes
  33. Codebase Dependencies Config Backing Services Build, Release, Run Processes Port

    Binding Concurrency Logs Dev/Prod Parity Disposability Admin Processes