This article is about DevOps; what it is not, and what it is in eye of those who live with it daily nowadays
After around 10 years since the existence of DevOps, this term is now at a certain level of maturity and critically valued by most organization. Let’s get synthesized on what it really means now. This article is not meant to reinventing the wheel nor create another post on the definition; it is about simplify basic knowledge of what DevOps not, and what DevOps can quickly be define
What is IT Development?
Development refers to software development in IT, which is also in names such as: engineer programming, coding, application/system development and programing. Development is purely about creation of software; heart/soul of any type of computer system. Development involves multiple phases of execution cycle such as:
- Plan – analyze business requirement (what business want), nail down scope and finalize
- Code – write programming in a chosen language
- Build – compile/translate program from chosen programming language to machine language
- Test – test finished unit or complete product
What is IT Operation?
IT operation is everything else that is not IT development. IT operation is about putting software/program (the heart and soul of a system) to use in a system hardware/device that involves phases of execution such as:
- Release – Move program/software (soul) in a hardware/device/tool for end consumer/users
- Deploy – Make it available to actual end consumer/user on broad scale
- Operate – Allow software and hardware work in synergy
- Monitor – Track, record status and software and hardware as being used by end users
Operation includes management items such as (Rouse, 2016):
- Network administration
- Device management
- Mobile contracting
- Help desk
- Cloud computing
- Internet of Thing (IoT)
DevOps = Development + Operation
DevOps is created through development and operation terms putting together literally. This DevOps terms also represents development and operation in combination as a single unit literally in term of collaboration, knowledge sharing, accountability and success of responsible systems (both hardware and software).
What is DevOps?
According to Roche (2013), DevOps is a spirit, methodology or criteria for development with goals that includes:
- Move two discipline of development and operation closer
- Recognize benefits of both side of fences when both side understand what/how other sides operate or handle things
- Develop a toolset to automate to detect and measure problem in networked systems.
- Avoid building home grown solution for automation
- Use market standard and enterprise solution for DevOps automation
- PROVID MEASUREMENT
- Quantify aspects of development
- Quantify support effort
- Build metric and process standardization
- Develop transparency in Software Development which does not exist before to technical and non-technical people
- Continuous Integration/Continuous deployment
DevOps is cultural philosophy, practice and tools in combination with goals for delivery of application and service at high velocity – mostly through automation where store/version source code, and automatic build, test, deploy and monitor implemented (Amazon, 2017). The culture of an organization is critical for the support of collaboration between operation and development in productive and efficiency manor (Placette, 2015). Communication between development operations holds key to the success of DevOps (Zorah, 2016).
DevOps comes with 4-5 level of concerns that set agile = DevOps in theory (TheAgileAdmin. 2010):
- Agile values
- Agile principles
- Agile method
- Agile practice
- Agile tools
- Replace agile with DevOps
- DevOps values
- DevOps principles
- DevOps method
- DevOps practice
- DevOps tools
For short, DevOps is a combination of good guiding principles, culture, tools and people together that strive for agile, and efficiency in development and operation together.
What DevOps is NOT?
DevOps is NOT any of these listed below by itself or ALONE, but all of them combined in synergy:
- Taking operation job/task away
- A single tool
- Just culture
- Just people
- Job title
What are benefits of DevOps?
The benefit that DevOps provides includes (Preimesberger, 2016):
- Consistency and repeatability
- Server configuration and deployment
- To both technical and non-technical
- Consistency, repeatability and transparency require standard
- Standard ease measurement and provide fairness and correctness in measurement
- Measurement in consistent and standard provide pattern learning
- Pattern learning provide predictability and forecast method
- Deployment and Delivery
- Continuous Integration
- Orchestration on premise and on cloud
Amazon, A. (2017). DevOps – Amazon Web Services (AWS). Retrieved January 16, 2017, from //aws.amazon.com/devops/
Hertvik, J. (2015, March 22). What Does IT Operations Management Do (ITOps)? Retrieved from http://joehertvik.com/operations-management/
Levy, T. (2015, August 7). 9 Open Source DevOps Tools We Love. Retrieved January 16, 2017, from https://devops.com/9-open-source-devops-tools-love/
Placette, D. (2015, February 18). 51 Best DevOps Tools for #DevOps Engineers. Retrieved January 16, 2017, from https://blog.profitbricks.com/51-best-devops-tools-for-devops-engineers/
Preimesberger, C. (2016). 10 DevOps Benefits Enterprises Can Obtain From Automation. eWeek, 1–1.
Roche, J. (2013). Adopting DevOps Practices in Quality Assurance. Communications of the ACM, 56(11), 38–43. https://doi.org/10.1145/2524713.2524721
Rouse, M. (2016.). What is IT operations? – Definition from WhatIs.com. Retrieved January 17, 2017, from http://searchitoperations.techtarget.com/definition/IT-operations
TheAgileAdmin. (2010, August 2). What Is DevOps? Retrieved from https://theagileadmin.com/what-is-devops/
Zorah, S. (2016, March 31). How to choose the right DevOps tools. Retrieved January 16, 2017, from http://blogs.atlassian.com/2016/03/how-to-choose-devops-tools/