DevOps is not job title, software, process or methodology. It is a management philosophy
A healthy culture of organization’s Dev and Ops guys to cooperate with each other.
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.
So how has DevOps manifested itself in companies today? The most common things you will see, though not exclusively, are:
- 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
These in themselves are not DevOps. These are methodologies, tools, frameworks, design patterns that are used to achieve the DevOps philosophy.
Hope you would have got basic idea of DevOps with this now.
Your Comments & Suggestions are welcome