DevOps is not about tools!
We use tools to protect our culture!
Running is for healthy people!
- Just walking instead of running
- Different diet
- More sleeping time
- Mix activities
- Reduce stress (peace of mind)
- Find a trainer/mentor
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
Lean Software Development
- Eliminate waste
- Amplify learning
- Decide as late as possible
- Deliver as fast as possible
- Empower the team
- Build integrity in
- See the whole
DevOps aims at shorter development cycles, increased deployment frequency, and more dependable releases, in close alignment with business objectives.
- Culture
- Automation
- Measurement
- Sharing
- Build quality in
- Work in small batches
- Computers perform repetitive tasks, people solve problems
- Relentlessly pursue continuous improvement
- Everyone is responsible
- Provisioning and deployment is declarative
- Entire system state is under version control
- Operational changes are made by pull request (plus build & release pipelines)
- Diff tools detect any divergence and sync tools enable convergence
- Rollback and audit logs are also provided via Git
The single source of truth
- Pipeline-as-code
- Documentation-as-code
- Tests-as-code
- Security-as-code
- Infrastructure-as-code
- Network-as-code
- Metrics-as-code
How should we work together?
Type 1: Dev and Ops Collaboration
Type 2: Fully Shared Ops Responsibilities
Type 3: Ops as Infrastructure-as-a-Service
Type 4: DevOps as an External Service
Type 5: DevOps Team with an Expiry Date
The future is already here ? it's just not very evenly distributed.
William Gibson
Where is the industry going?
- Visual
- Context
- Position, anchor and movement
- Components
- Navigation
- Learning
- Strategy
- Situational awareness
- Directions and planning as well as progress should be visible (radars, maps, boards)
- VCS repos are the source of truth (CD + GitOps)
- Pipelines handle all aspects of software delivery (CD + GitOps)
- Tools do not matter that much, but use them to enforce your culture!