DevOps is talking about many aspects of Development and Operations processes while trying to optimize the engineering organization for growth and infrastructure for scale.
DevOps culture is talking about:
- Engineers empowerment – by giving engineers more responsibility over the whole application lifecycle process. (dev -> test -> deploy -> monitor -> be on call)
- Test Driven Development – write tests before you write code. Unit tests, integration tests, system tests. This will help increase the quality of your service and give you more confidence to release faster and more frequent.
- Automation – automate everything that can be automated. Test automation, infrastructure automation (infrastructure as a code), deployment automation, etc..
- Monitoring – monitor your apps, build monitoring alerts well. It should save your time, don’t flood with metrics and alerts.
- Self service – provide a self service for any framework that you build or anything that you do. Don’t be a bottleneck.
- People – but most importantly its talking about people culture that should be open minded, transparent, egoless, professional, with “can do” attitude.
- Agile software development
- Continuous integration/deployment
- Virtualized or containerized infrastructure/resources
- Continuous penetration testing and vulnerability monitoring
- Service oriented architectures and/or micro services
- System and process performance monitoring