DevOps (a combination of “development” and “operations”) is a software application and services development model that integrates development lifecycles with agile operations. In practice, development and operations engineers participate together in the entire DevOps lifecycle, from design and development to production and support.
DevOps emphasizes communication and collaboration between the traditionally separate developer and IT operations teams. DevOps promotes automation and monitoring throughout the software lifecycle, aiming for shorter development cycles, increased deployment frequency, more dependable releases, and closer alignment with business objectives. DevOps practices are intended to reduce the time between changing a system and putting that change into normal production, while ensuring high quality. In line with the lifecycle process, many DevOps tools fall into one or more of these categories: Plan, Code, Build, Test, Release, Deploy, Operate and Monitor.
Working together as one team or department, DevOps can help an organization deploy software more frequently while maintaining service stability. In a software-defined infrastructure, DevOps methodologies are critical. Application containers can bring developers and operations engineers closer together by providing a shared resource for continuous integration and continuous delivery. Containers also facilitate the Build step of the DevOps lifecycle. By design, containers are easy to scale and can support the growth of new business applications. Open source technologies and development tools support the DevOps model with automation and lifecycle management products.