DevOps
DevOps (a clipped compound of development and operations) is a culture, movement or practice that emphasizes the collaboration and communication of both software developers and other information-technology (IT) professionals while automating the software development process and infrastructure changes.
Description
It aims at establishing a culture and environment where building, testing, and releasing software can happen rapidly, frequently, and more reliably.
DevOps toolchain
Because DevOps is a cultural shift and collaboration between development, operations and testing, there is no single DevOps tool, rather a set or DevOps toolchain consisting of multiple tools.
Generally, DevOps tools fit into one or more of these categories, which is reflective of the software development and delivery process:
- Code – Code development and review, continuous integration tools
- Build – Revision control tools, code merging, build status
- Test – Test and results determine performance
- Package – Artifact repository, application pre-deployment staging
- Release – Change management, release approvals, release automation
- Configure – Infrastructure configuration and management, Infrastructure as Code tools
- Monitor – Applications performance monitoring, end user experience
Though there are many tools available, certain categories of them are essential in the DevOps toolchain setup for use in an organization. Some attempts to identify those basic tools can be found in the existing literature.[13]
Tools such as Docker (containerization), Jenkins (continuous Integration), Puppet (Infrastructure as Code) and Vagrant (virtualization platform) among many others are often used and frequently referenced in DevOps tooling discussions.
See also
- Build automation
- Docker (software)
- Package manager
- Software development
- Software development process
External links
- DevOps @ Wikipedia