SlideShare a Scribd company logo
Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.
 Case Study: Practical tools and strategies
for tackling legacy practices and legacy
systems in a fast-growing startup.
Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.
Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.
Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.
Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.
Migrate
to
Am
azon
Migrate
to
Am
azon
Finish
iOS App
Goals for this talk
Simon Brown’s C4 Model & Software Guidebook.
DDD’s Strategic Design.
Wardley Maps.
Brownfield Project
Codename: Waterloo
Based on True Life Events
Based on True Life Events
pero contados por un argentino
Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.
Discovery
What is the software architecture?
What does the infrastructure look like?
Which projects are in progress?
How are projects managed ? How is work assigned
and managed?
What is the level of alignment?
The software guidebook
C4 Model: Context, Containers, Components and Code
The software guidebook
It focusses on the visual
communication and
documentation of software
architecture.
The core of this is the C4
software architecture model
and the software guidebook.
Template
Context
Functional Overview
QualityAttributes
Constraints
Principles
SoftwareArchitecture
Infrastructure Architecture
Deployment
Operation and Support
Level 1: System Context diagram
What are we building?
Who is using it? (users,
actors, roles, personas)
How does it fit into the
existing environment?
(systems, services)
https://c4model.com/#coreDiagrams
Level 2: Container diagram
High-level shape of the
software architecture,
showcasing responsibilities
distribution, major
technology choices and
containers
communication.
A container is a separately
runnable/deployable unit
that executes code or
stores data.
https://c4model.com/#coreDiagrams
Level 3: Component diagram
Decomposition of each
container identifying the
major structural building
blocks, called “components”,
and their interactions.
Includes responsibilities
and technology/
implementation details. https://c4model.com/#coreDiagrams
https://c4model.com/#coreDiagrams
Level 4: Code
UML class diagrams,
entity relationship
diagrams or similar.
Optional level of
detail available on-
demand and
automatically
generated using
tooling.
https://c4model.com/#coreDiagrams
Discovery Phase 1
One-on-one meetings with the head of each dptm




?
My goals
What is the software architecture?
What does the infrastructure look like?
Which projects are in progress?
How are projects managed ? How is work assigned
and managed?
What is the level of alignment?
Discovery Report
There are 19 “things” (systems?, projects?, modules?
components? features?).
Each “thing” has a very clear user/role.
There is no portfolio.
There is no team.
There is no alignment.
Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.
Infrastructure
Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.
Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.
Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.
Discovery Phase 2
Software Development Practices
Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.
DDD Strategic Design
Domain Driven Design
IMHO DDD is one of the
most essential concepts
in software development.
DDD Strategic Design
Context Maps
Core Domain
Supporting Subdomain
Generic Subdomain
Bounded Context
Relationships
Solution SpaceProblem Space
BC Relationships:
Big Ball of Mud
Shared Kernel
Customer/Supplier
Published Language
Open Host Service
Anticorruption Layer
Conformist
Separate Ways
Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.
Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.
Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.
Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.
Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.
Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.
BBOM
Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.
Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.
Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.
Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.
Organizations which design systems are
constrained to produce designs which are copies
of the communication structures of these
organizations.
Melvin Conway - How Do Committees Invent? (1968)
Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.
Guiding Principles
Common Closure Principle and Single Responsibility
Principle.
The Acyclic Dependencies Principle: Allow no cycles
in the component dependency graph.
The Stable Dependencies Principle: Depend in the
direction of stability.
“The best bits of DDD happen outside your IDE”
Nick Tune - Patterns, Principles, and Practices of Domain-Driven Design
Wardley Maps
Wardley Maps
A Wardley Map is a
representation of the
landscape in which a
business operates.
A Wardley Map represents
the shared assumptions
being made about a context
and hints at what strategic
options are available.
Wardley Maps
The cycle
The Landscape
Climatic Patterns
Anticipate (by applying climatic patterns)
Doctrine
Context Specific Play
Gameplay
Loop
Crossing the river by feeling the stones. By Simon Wardley
Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.
Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.
Crossing the river by feeling the stones. By Simon Wardley
Crossing the river by feeling the stones. By Simon Wardley
Crossing the river by feeling the stones. By Simon Wardley
Evolutionary Characteristics
Stage of Evolution I II III IV
Genesis Custom Product (+rental) Commodity
(+utility)
Ubiquity Rare
Slowly increasing
consumption
Rapidly increasing
consumption
Widespread and
stabilising
Certainty
Poorly
understood
Rapid increases in
learning
Rapid increases in
use / fit for
purpose
Commonly
understood (in
terms of use)
Market Undefined market Forming market Growing market Mature market
User perception
Different /
confusing /
exciting /
surprising
Leading edge /
emerging
Common /
disappointed if
not used or
available
Standard /
expected
Failure
High / tolerated /
assumed
Moderate /
unsurprising but
disappointed
Not tolerated,
focus on constant
improvement
Operational
efficiency and
surprised by
failureKnowledge
management
Uncertain Learning on use
Learning on
operation
Known / accepted
Practices Novel Emerging Good Best
Crossing the river by feeling the stones. By Simon Wardley
Crossing the river by feeling the stones. By Simon Wardley
Crossing the river by feeling the stones. By Simon Wardley
Crossing the river by feeling the stones. By Simon Wardley
Crossing the river by feeling the stones. By Simon Wardley
Crossing the river by feeling the stones. By Simon Wardley
C
D
E
B
A
Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.
Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.
Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.
Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.
Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.
Mapping Maturity by
Chris McDermott
Mapping Maturity by
Chris McDermott
Mapping Maturity by
Chris McDermott
Discovery Phase 2
Software Development Practices
Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.
Main Issues
A very loose criteria of what a "version" is.
Huge differences between development environments, each
developer has their own criteria and tools. Limited
availability of environments.
Developers are not involved in the release process.
Creating and deploying a new version is a manual process
and takes a couple of days.
Monthly deployment cadence.
DevOps: Bottleneck Analysis
Constraints Evolve in a predictable way
Constraints Evolve in a predictable way
Inconsistent Environments - Environment Creation
Manual Intervention - Code deployment
Poor SDLC practices - Test setup and run rate
Overly tight architecture
Product Owners
Principles & Practices
The Twelve-Factor App
Developers who wrote code are closely involved in
deploying it and watching its behaviour in production.
Continuous Integration
Visibility. Invest early in monitoring
Coding the Architecture & Infrastructure as Code.
Principles & Practices
“There is a SaaS for that” or “There is an API for that”
Don’t build it in-house. Leverage existing APIs. Focus
only on what’s core for the product, don’t reinvent
the wheel.
Optimize for speed of development. Remove all
impediments to a faster development cycle.
Key Changes
Unification of the development environment (Macs, PHPStorm and Vagrant for everyone)
Implemented 8 of the 12 points in the The Twelve-Factor App.
Introduction of git and the gitflow branching strategy.
Versioning
Introduction of jenkins and CI
Reduced time to release from days to seconds.
Reduced deploy cadence from a monthly to daily.
Moved from Pet to Cattle servers.
Decided to start developing services with Java and Docker.
I. Codebase (One codebase tracked in revision control, many deploys)
II. Dependencies (Explicitly declare and isolate dependencies)
III. Config (Store config in the environment)
IV. Backing Services (Treat backing services as attached resources)
V. Build, release, run (Strictly separate build and run stages)
VI. Processes (Execute the app as one or more stateless processes)
VII. Port binding (Export services via port binding)
VIII. Concurrency (Scale out via the process model)
IX. Disposability (Maximize robustness with fast startup and graceful shutdown)
X. Dev/prod parity (Keep development, staging, and production as similar as possible)
XI. Logs (Treat logs as event streams) #291
XII. Admin processes (Run admin/management tasks as one-off processes)
Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.
Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.
Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.
Feedback Door
5 - WOW! I learned something new and useful (in a
fun way).
4 - 

3 - 

2 - 

1 - I wish I would have been watching Netflix.
Gracias!
Alejandro Scandroli
@_ascandroli
Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.

More Related Content

PDF
What is Agile Development?
PPTX
DevOps Torino Meetup - DevOps Engineer, a role that does not exist but is muc...
PDF
7 Myths of Agile Development
PDF
Whitepaper: Ten Benefits of Integrated ALM
 
PDF
2019 Accelerate State of DevOps Survey Results Are In
PPTX
Accelerate Your Digital Transformation Journey with Cloud Native and Low-Cod...
PDF
Report
PDF
Resource Adaptive Systems
What is Agile Development?
DevOps Torino Meetup - DevOps Engineer, a role that does not exist but is muc...
7 Myths of Agile Development
Whitepaper: Ten Benefits of Integrated ALM
 
2019 Accelerate State of DevOps Survey Results Are In
Accelerate Your Digital Transformation Journey with Cloud Native and Low-Cod...
Report
Resource Adaptive Systems

What's hot (20)

PPTX
How to get the best out of DevSecOps - a developers perspective
PDF
Agile or DevOps? What is Your Calling for Custom Software Development?
PPTX
Mendix essentials 25 11-2011 introductie mendix by arno rood
 
PDF
Ruby on Rails Development Ecosystem
PPTX
IBM InterConnect 2016 Greg Hodgkinson 2238 Thriving DevOps at BMI (Prolifics)
PDF
Web20 report excerpt
PDF
Documentation for Program Comprehension in Agile Software Development
PDF
DEVOPS ENGINEER - CAREER PATH, JOB SCOPE, AND CERTIFICATIONS
PDF
Modern Agile Software Architecture
PPT
Innovate 2014 - DevOps Technical Strategy
PDF
BDD in open source projects - Is it really beneficial?
PDF
Case Study Chordiant
PDF
Apache coneu 2009-adrian-trenaman-adopting-open-source-in-the-enterprise
PDF
Oss model, lifecycle & development
PDF
Agile archiecture iltam 2014
PPT
DevOps and PaaS at Pulse 2014
PDF
Business Value of CI, CD, & DevOpsSec: Scaling to Billion User Systems Using ...
PDF
Why is dev ops essential for fintech development
PPTX
What do the "Cool Kids" know about DevOps?
How to get the best out of DevSecOps - a developers perspective
Agile or DevOps? What is Your Calling for Custom Software Development?
Mendix essentials 25 11-2011 introductie mendix by arno rood
 
Ruby on Rails Development Ecosystem
IBM InterConnect 2016 Greg Hodgkinson 2238 Thriving DevOps at BMI (Prolifics)
Web20 report excerpt
Documentation for Program Comprehension in Agile Software Development
DEVOPS ENGINEER - CAREER PATH, JOB SCOPE, AND CERTIFICATIONS
Modern Agile Software Architecture
Innovate 2014 - DevOps Technical Strategy
BDD in open source projects - Is it really beneficial?
Case Study Chordiant
Apache coneu 2009-adrian-trenaman-adopting-open-source-in-the-enterprise
Oss model, lifecycle & development
Agile archiecture iltam 2014
DevOps and PaaS at Pulse 2014
Business Value of CI, CD, & DevOpsSec: Scaling to Billion User Systems Using ...
Why is dev ops essential for fintech development
What do the "Cool Kids" know about DevOps?
Ad

Similar to Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup. (20)

PPTX
ALM Practices - Modern Applications Development and its impact on ALM
PDF
A Proven Software Development Process for the Non Technical Founder
PDF
Sunny Tech 2019 - Craft Forever
PDF
Staying Ahead in the Competitive US Software Development Market.pdf
PPTX
Steve Greenley July 2015 - Enterprise Architecture and True Agility - lessons...
PDF
Driveway to Highway: Driving Outcomes with Infrastructure as a Product
PPTX
Keeping up with Tech
PDF
Software is not a Building - Designing Technical Architecture for Change
PPT
Software Development in 21st Century
PPTX
Charles Slicer-Watkinson - Subject Matter Expert, Seerene
PPT
Bahrs.peter
PPT
Collaborative Roadmapping
PDF
Customer Driven Requirements
PDF
Friday final test
 
PDF
It is a sunny day
 
PDF
Sifting Technologies - SpringOne Tour Dallas
PDF
Sifting Technologies - Separating the Wheat From the Chaff - SpringOne Tour -...
PDF
Kony-Forrester Webinar: The Evolution of Mobile First Development
PPTX
Software Supply Chain Automation Removes Roadblocks to Rugged DevOps
PPTX
Software Development Practices in Practice
ALM Practices - Modern Applications Development and its impact on ALM
A Proven Software Development Process for the Non Technical Founder
Sunny Tech 2019 - Craft Forever
Staying Ahead in the Competitive US Software Development Market.pdf
Steve Greenley July 2015 - Enterprise Architecture and True Agility - lessons...
Driveway to Highway: Driving Outcomes with Infrastructure as a Product
Keeping up with Tech
Software is not a Building - Designing Technical Architecture for Change
Software Development in 21st Century
Charles Slicer-Watkinson - Subject Matter Expert, Seerene
Bahrs.peter
Collaborative Roadmapping
Customer Driven Requirements
Friday final test
 
It is a sunny day
 
Sifting Technologies - SpringOne Tour Dallas
Sifting Technologies - Separating the Wheat From the Chaff - SpringOne Tour -...
Kony-Forrester Webinar: The Evolution of Mobile First Development
Software Supply Chain Automation Removes Roadblocks to Rugged DevOps
Software Development Practices in Practice
Ad

Recently uploaded (20)

PPTX
ai tools demonstartion for schools and inter college
PPTX
Materi_Pemrograman_Komputer-Looping.pptx
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
top salesforce developer skills in 2025.pdf
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
How Creative Agencies Leverage Project Management Software.pdf
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
Essential Infomation Tech presentation.pptx
PPTX
Transform Your Business with a Software ERP System
PDF
AI in Product Development-omnex systems
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
System and Network Administraation Chapter 3
PPTX
history of c programming in notes for students .pptx
PPTX
ISO 45001 Occupational Health and Safety Management System
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Softaken Excel to vCard Converter Software.pdf
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Understanding Forklifts - TECH EHS Solution
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
ai tools demonstartion for schools and inter college
Materi_Pemrograman_Komputer-Looping.pptx
Wondershare Filmora 15 Crack With Activation Key [2025
top salesforce developer skills in 2025.pdf
Design an Analysis of Algorithms II-SECS-1021-03
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
How Creative Agencies Leverage Project Management Software.pdf
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Essential Infomation Tech presentation.pptx
Transform Your Business with a Software ERP System
AI in Product Development-omnex systems
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
System and Network Administraation Chapter 3
history of c programming in notes for students .pptx
ISO 45001 Occupational Health and Safety Management System
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Softaken Excel to vCard Converter Software.pdf
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Understanding Forklifts - TECH EHS Solution
How to Migrate SBCGlobal Email to Yahoo Easily

Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.

  • 2.  Case Study: Practical tools and strategies for tackling legacy practices and legacy systems in a fast-growing startup.
  • 9. Goals for this talk Simon Brown’s C4 Model & Software Guidebook. DDD’s Strategic Design. Wardley Maps.
  • 11. Based on True Life Events
  • 12. Based on True Life Events pero contados por un argentino
  • 14. Discovery What is the software architecture? What does the infrastructure look like? Which projects are in progress? How are projects managed ? How is work assigned and managed? What is the level of alignment?
  • 15. The software guidebook C4 Model: Context, Containers, Components and Code
  • 16. The software guidebook It focusses on the visual communication and documentation of software architecture. The core of this is the C4 software architecture model and the software guidebook.
  • 18. Level 1: System Context diagram What are we building? Who is using it? (users, actors, roles, personas) How does it fit into the existing environment? (systems, services) https://c4model.com/#coreDiagrams
  • 19. Level 2: Container diagram High-level shape of the software architecture, showcasing responsibilities distribution, major technology choices and containers communication. A container is a separately runnable/deployable unit that executes code or stores data. https://c4model.com/#coreDiagrams
  • 20. Level 3: Component diagram Decomposition of each container identifying the major structural building blocks, called “components”, and their interactions. Includes responsibilities and technology/ implementation details. https://c4model.com/#coreDiagrams
  • 22. Level 4: Code UML class diagrams, entity relationship diagrams or similar. Optional level of detail available on- demand and automatically generated using tooling. https://c4model.com/#coreDiagrams
  • 23. Discovery Phase 1 One-on-one meetings with the head of each dptm
  • 25. My goals What is the software architecture? What does the infrastructure look like? Which projects are in progress? How are projects managed ? How is work assigned and managed? What is the level of alignment?
  • 26. Discovery Report There are 19 “things” (systems?, projects?, modules? components? features?). Each “thing” has a very clear user/role. There is no portfolio. There is no team. There is no alignment.
  • 32. Discovery Phase 2 Software Development Practices
  • 35. Domain Driven Design IMHO DDD is one of the most essential concepts in software development.
  • 36. DDD Strategic Design Context Maps Core Domain Supporting Subdomain Generic Subdomain Bounded Context Relationships Solution SpaceProblem Space
  • 37. BC Relationships: Big Ball of Mud Shared Kernel Customer/Supplier Published Language Open Host Service Anticorruption Layer Conformist Separate Ways
  • 44. BBOM
  • 49. Organizations which design systems are constrained to produce designs which are copies of the communication structures of these organizations. Melvin Conway - How Do Committees Invent? (1968)
  • 51. Guiding Principles Common Closure Principle and Single Responsibility Principle. The Acyclic Dependencies Principle: Allow no cycles in the component dependency graph. The Stable Dependencies Principle: Depend in the direction of stability.
  • 52. “The best bits of DDD happen outside your IDE” Nick Tune - Patterns, Principles, and Practices of Domain-Driven Design
  • 54. Wardley Maps A Wardley Map is a representation of the landscape in which a business operates. A Wardley Map represents the shared assumptions being made about a context and hints at what strategic options are available.
  • 55. Wardley Maps The cycle The Landscape Climatic Patterns Anticipate (by applying climatic patterns) Doctrine Context Specific Play Gameplay Loop
  • 56. Crossing the river by feeling the stones. By Simon Wardley
  • 59. Crossing the river by feeling the stones. By Simon Wardley
  • 60. Crossing the river by feeling the stones. By Simon Wardley
  • 61. Crossing the river by feeling the stones. By Simon Wardley
  • 62. Evolutionary Characteristics Stage of Evolution I II III IV Genesis Custom Product (+rental) Commodity (+utility) Ubiquity Rare Slowly increasing consumption Rapidly increasing consumption Widespread and stabilising Certainty Poorly understood Rapid increases in learning Rapid increases in use / fit for purpose Commonly understood (in terms of use) Market Undefined market Forming market Growing market Mature market User perception Different / confusing / exciting / surprising Leading edge / emerging Common / disappointed if not used or available Standard / expected Failure High / tolerated / assumed Moderate / unsurprising but disappointed Not tolerated, focus on constant improvement Operational efficiency and surprised by failureKnowledge management Uncertain Learning on use Learning on operation Known / accepted Practices Novel Emerging Good Best
  • 63. Crossing the river by feeling the stones. By Simon Wardley
  • 64. Crossing the river by feeling the stones. By Simon Wardley
  • 65. Crossing the river by feeling the stones. By Simon Wardley
  • 66. Crossing the river by feeling the stones. By Simon Wardley
  • 67. Crossing the river by feeling the stones. By Simon Wardley
  • 68. Crossing the river by feeling the stones. By Simon Wardley
  • 78. Discovery Phase 2 Software Development Practices
  • 80. Main Issues A very loose criteria of what a "version" is. Huge differences between development environments, each developer has their own criteria and tools. Limited availability of environments. Developers are not involved in the release process. Creating and deploying a new version is a manual process and takes a couple of days. Monthly deployment cadence.
  • 81. DevOps: Bottleneck Analysis Constraints Evolve in a predictable way
  • 82. Constraints Evolve in a predictable way Inconsistent Environments - Environment Creation Manual Intervention - Code deployment Poor SDLC practices - Test setup and run rate Overly tight architecture Product Owners
  • 83. Principles & Practices The Twelve-Factor App Developers who wrote code are closely involved in deploying it and watching its behaviour in production. Continuous Integration Visibility. Invest early in monitoring Coding the Architecture & Infrastructure as Code.
  • 84. Principles & Practices “There is a SaaS for that” or “There is an API for that” Don’t build it in-house. Leverage existing APIs. Focus only on what’s core for the product, don’t reinvent the wheel. Optimize for speed of development. Remove all impediments to a faster development cycle.
  • 85. Key Changes Unification of the development environment (Macs, PHPStorm and Vagrant for everyone) Implemented 8 of the 12 points in the The Twelve-Factor App. Introduction of git and the gitflow branching strategy. Versioning Introduction of jenkins and CI Reduced time to release from days to seconds. Reduced deploy cadence from a monthly to daily. Moved from Pet to Cattle servers. Decided to start developing services with Java and Docker.
  • 86. I. Codebase (One codebase tracked in revision control, many deploys) II. Dependencies (Explicitly declare and isolate dependencies) III. Config (Store config in the environment) IV. Backing Services (Treat backing services as attached resources) V. Build, release, run (Strictly separate build and run stages) VI. Processes (Execute the app as one or more stateless processes) VII. Port binding (Export services via port binding) VIII. Concurrency (Scale out via the process model) IX. Disposability (Maximize robustness with fast startup and graceful shutdown) X. Dev/prod parity (Keep development, staging, and production as similar as possible) XI. Logs (Treat logs as event streams) #291 XII. Admin processes (Run admin/management tasks as one-off processes)
  • 90. Feedback Door 5 - WOW! I learned something new and useful (in a fun way). 4 - 
 3 - 
 2 - 
 1 - I wish I would have been watching Netflix.