You have probably heard about agile software development, it’s a lean approach to software development. From agile software development has “agile system administration” or “agile operations” been developed that applying agile and lean approaches to operations work.
DevOps is the collaboration between development and operations staff throughout all stages of the development lifecycle when creating and operating a service. DevOps is the is organizing the operational function of bringing software developers and other information-technology (IT) professionals to establishing an environment where building, testing, and releasing software, can happen rapidly, frequently, and more reliably. DevOps is simply extending Agile principles beyond the boundaries of “the code” to the entire delivered service.
In most application service organizations today there is a clear definition of responsibility, there is rarely cross-departmental integration, DevOps promotes a set of processes and methods for communication and collaboration between development, QA, and IT operations.
What do DevOps stand for
“Dev” is used to define “all the people involved in developing the product,” which can include Product, QA, and other kinds of disciplines. “Ops” is used as a blanket term for systems engineers, system administrators, operations staff, release engineers, DBAs, network engineers, security professionals, and various other subdisciplines and job titles.
DevOps are not “taking our jobs!”, as some operation people thinks that DevOps means that developers are taking over operations and doing it themselves. Some parts of operations need to be automated, that means that either “ops” people do some automation development, or developers are writing “operations” code, or both. DevOps teams have both people with deep “dev” skill sets and deep “ops” skill sets working together to create a better overall product. No-one is automating themselves out of a job – as lower level become more automated, technically skilled staff start solving the higher value problems up one level.
The specific goals of DevOps span the entire delivery chain. They include
- improved deployment frequency (faster time to market)
- lower failure rate of new releases
- shortened lead time between fixes
- faster to recovery in the event of a new release crashing or otherwise disabling the current system
DevOps integration targets product delivery, continuous testing, quality testing, feature development, and maintenance releases in order to improve reliability and security and provide faster development and deployment cycles.
Adoption of DevOps is being driven by many factors including:
- Use of agile and other development processes and methodologies
- Demand for an increased rate of production releases from stakeholders
- Wide availability of cloud infrastructure from external providers
- Increased usage of data center automation and configuration management tools
- Focus on test automation and continuous integration methods
As always. comments can be left below.