It seems DevOps is the new cool thing in IT. Sometimes it feels like DevOps is an amorphous thing that only cloud people can play with. For many of us who come from the client-server era, it can be intimidating.
We know DevOps can be defined in many ways. It can be thought of as a mindset, a methodology, or a set of tools. In this post, I offer a definition of DevOps by breaking the concept down into seven fundamental principles.
Implementing DevOps is very complex, requires new tools, new skills, and new processes. It’s often only possible for development and operation teams who are working together on cloud architecture software. I am excited about these seven principles because they can be applied in any IT organization.
Embracing these seven principles might enable your team to grow more agile, more responsive to business needs, and better able to meet expectations. The combination of these principles represents the mindset that companies are trying to hire for, and the mindset that is required to make the best use of cloud technologies, too.
These are the seven principles that define DevOps that you can integrate into your IT operations team:
- 1. Application and End-user Focus – Everyone on the team is focused on how their end-users and applications are impacted. The infrastructure is only there to make the application work.
- 2. Collaboration – Because the focus is on the end-user, silos do not work. If the app is down, everyone has failed. There are no virtualization problems or isolated storage issues. There is only one team: the one responsible for the app to work. This requires transparency, visibility, a consistent set of tools, and teamwork that supports applications across the entire technology stack.
- 3. Performance Orientation – Performance is a requirement and a core skill across the team. Performance is measured, all the time, everywhere. Bottlenecks and contentions are well understood. Performance is an SLA. It’s critical to the end-user experience. Everyone understands the direct relationship between performance, resource utilization, and cost.
- 4. Speed – Taking agile one step further, shorter, iterative processes allow teams to move faster, innovate, and serve the business more effectively.
- 5. Service orientation – No monolithic apps. Everything is a service, from application components to infrastructure. Everything is flexible and ready to scale or change.
- 6. Automation - To move faster, code, deployments, tests, monitoring, alerts; everything is automated. That includes IT services. Embrace self-service for your users and focus on what matters.
- 7. Monitor everything – Visibility is critical for speed and collaboration. Monitoring is a requirement and a discipline. Everything is tested, the impact of every change is known.
For more details, I invite you to read the full presentation: