Everyone talks about it, but not everyone knows what it is.
Why DevOps?
In general, whenever an organization adopts any new technology, methodology, or approach, that adoption has to be driven by a business need.Any kind of system that need rapid delivery of innovation requires DevOps (development and operations). Why?
- DevOps requires mechanisms to get fast feedback from all the stakeholders in the software application that's being delivered.
- DevOps approaches to reduce waste and rework and to shift resources to higher-value activities.
- DevOps aims to deliver value (of organization or project) faster and more efficiently.
DevOps Capabilities
The capabilities that make up DevOps are a broad set that span the software delivery life cycle. The following picture is a reference architecture which provides a template of a proven solution by using a set of preferred methods and capabilities.My Remarks
Okay, that sounds cool. What does it simply mean, again?
The following is a simple case:- Dev_gap_Ops: you develop and test the system on your test environment but you are not the one test it on real environment. Any updates/hotfixes are operated by other people, not you. That leads some issues such as delay time or misunderstanding between Dev and Ops.
- DevOps: you join both develop and install the system on real environment!
Is that mean a developer should always be a operation/integration guy when applying DevOps?
In my opinion, it must be a dream process but unfortunately, it depends. Due to the laws of some countries, the developers are not able to operate the systems in real environment. For example, some APIs are only exposed in European then Vietnamese developers are not allowed to directly call these APIs rather than European developers.Therefore, if we understand the issues of Dev and Ops gap, we can figure out the way to adopt DevOps even we are in this kind of case.
Leave your comments about it down below!
Reference
[1]. Sanjeev Sharma and Bernie Coyne, DevOps for Dummies.