DevOps is nowadays a big thing and in this post we will try to explain what this practice is in practical terms.
The term DevOps is rather limiting, indicating that only Development and Operations are involved, which is not absolutely true (as is always the case in this life) — DevOps is not only about Development and Operations!
If you wish, you can view DevOps as
- a culture, or
- a cross-team software delivery discipline (paradigm)
In essence, DevOps tries to reconcile the clashing cultures and views on software delivery of Development and Operations that are summarized in the table below.
The Dev View | The Ops View |
---|---|
|
|
DevOps is an approach to delivering software solutions in a continuous manner based on lean (minimizing waste of resources, reducing number of defects, etc.) and agile practices (collaboration, continuous software improvement, short feedback loops, etc.)
DevOps help manage complexities of modern applications by creating a collaborative environment with participants coming not only from Development and Operations, but also from Business, QA, and other stakeholder groups.
While the DevOps practice has been popularized by organizations adopting the Cloud-as-a-Service computing model (Netflix, Flickr, et al), it has been making inroads into the Enterprise space.
Basically, DevOps help efficiently increase the velocity of application delivery by spanning the whole software delivery life cycle (not only its deployment!):
- Development
- Testing
- Deployment
- Operation
We’re almost done in this post. There is much more to say about DevOps, so stay tuned …