What constitutes DevOps Culture, DevOps Principles and practices, DevOps core values, Development practices like TDD, BDD, Automated testing, Continuous Integration, Continuous Delivery, Infra as Code, Monitoring, Measurement, Continuous Learning
13. Principle - Keep everything in Source Control
https://www.edx.org/course/introduction-devops-transforming-linuxfoundationx-lfs161x
@Murughan_P
14. Limit work in progress
• Too many items in In-
Progress state.
• Multitasking.
• Context switching.
• Interruptions
@Murughan_P
15. Limit work in progress(WIP)
• Set WIP limit.
• Unless item is done
we cant take more
items.
• One piece flow from
left to right.
• Queues
• Buffers
• Swim lanes
https://theagileist.wordpress.com/2015/06/22/the-arrow-advanced-kanban-board/
@Murughan_P
16. Reduce batch sizes
• Waterfall type release.
• Big bang release.
• Skyrocketing levels of
WIP.
• Long lead time.
• Poor quality
• Late release
• Wait
@Murughan_P
17. Deploy small amount quickly and Frequently
• Single-piece flow, where each operation is performed one unit at a time.
• Tiny batches needed for continuous deployment.
• Use Trunk-based development.
• Faster feedback
• Reduce risk
• Less overhead
• Detect and resolve faster
• Each change committed to version control is integrated, tested, and
deployed into production
@Murughan_P
18. Reduce the number of handoff
• Long deployment lead time
months or quarters.
• Hundreds (or even
thousands) of tasks to deploy.
• Multiple departments to
work on a variety of tasks.
• Too much of WAITS
• Knowledge loss
@Murughan_P
23. • It is bringing in an aspect of Security in every process cycle of
Development.
• The purpose and intent of DevSecOps is to build on the mindset that
“Everyone is responsible for security"
DevSecOps
@Murughan_P
27. TDD – Test Driven Development
“A software development process
that relies on the repetition of a
very short development cycle:
requirements are turned into
very specific test cases, then the
software is improved to pass the
new tests, only.” – Wikipedia
Fail
PassRefactor
1. Write a test,
watch it fail
2. Write just enough code
to pass the test
3. Improve the code
without changing the behaviour
@Murughan_P
30. This company lost $460 million in 45 min
and was out of business in 24 hours!!
@Murughan_P
31. Infrastructure as code
• Enable on demand creation
of dev, test, and production
environments
• Make infrastructure easier to
rebuild than to repair
• Any changes to
Infrastructure should go
through code not manual
changes.
@Murughan_P
39. Monitoring
• Create application logging telemetry that helps production
• Use telemetry to guide problem solving
• Enable creation of production metrics as part of daily work
• Create self-service access to telemetry and information radiators
• Find and fill any telemetry gaps
• Application and business metrics
• Infrastructure metrics
• Instrument and alert on undesired outcomes
• Use telemetry to make deployments safer
@Murughan_P
By using continuous integration and making code deployment a low-risk process, Facebook has enabled code deployment to be a part of everyone’s daily work and sustain developer productivity. This requires that code deployment be automated, repeatable, and predictable.