10. DevOps is a culture, movement or practice
DevOps is a term used to refer to a set of practices that
emphasizes the collaboration and communication of
both software developers and other information-
technology (IT) professionals while automating the
process of software delivery and infrastructure changes.
DevOps represents a change in IT culture, focusing on rapid IT service delivery through the
adoption of agile, lean practices in the context of a system-oriented approach. DevOps
emphasizes people (and culture), and seeks to improve collaboration between operations and
development teams. DevOps implementations utilize technology — especially automation tools
that can leverage an increasingly programmable and dynamic infrastructure from a life cycle
perspective.
DevOps is the union of people, process, and products to
enable continuous delivery of value to our end users.
Wikipedia (2017)
Gartner
Microsoft (Donovan Brown)
10
12. …rooted in Agile Principles…
Individuals and interactions
over processes and tools
Working software
over comprehensive documentation
Customer collaboration
over contract negotiation
Responding to change
over following a plan
http://agilemanifesto.org/
13. …giving back
13
Source: Felice Pescatore
Value
Collaboration
Agile Development
Continous Integration
Continous Delivery
DevOps
24. Secrets
Build time
Signing
Deploy time
Credentials
Run time
Tokens
Avoid exposures
git push hook
Static analysis
.gitignore
Centralized Version Control
Distinct repositories
Azure Key Vault,
AWS Key Management Service,
etc.
24
30. Troubleshooting & Feedback loop
Access to production
Read-only
Debug
Sensitive production data
Design/architecture
Quality of data
Those Precious PDBs
30
37. Partial checklist
Where is configuration stored?
How is configuration updated?
Is production configuration isolated and secured?
Where are the secrets and who can access them?
How versions are tracked?
Who authorizes changes and how?
How data is preserved on updates?
How data schema and module interfaces updates?
Using environment images or scripts?
How big is the deploy window?
How are the tracked activities and errors?
How are operational data is collected from production?
37
http://www.gartner.com/it-glossary/devops/
DevOps is a term used to refer to a set of practices that emphasize the collaboration and communication of both software developers and information technology (IT) professionals while automating the process of software delivery and infrastructure changes. It aims at establishing a culture and environment, where building, testing, and releasing software can happen rapidly, frequently, and more reliably.
Wikipedia (2017)