“DevOps” is term came in picture from combination of “development” and “operations”. DevOps is culture, practices and tools with purpose of combining Dev (software development) and Ops (software operation)”DevOps” is a new term came from two major trends:• “Agile Methodologies”: it deals with applying agile methodology, practices and tools for development as well as operations work. • Collaboration : Throughout all stages of the software development lifecycle between operations and development resources “DevOps” has base as agile development.
DevOps can be seen as an expansion of Agile as agile development makes collaboration of customers, product management, developers similarly DevOps makes collaboration of all above and also operation staff. DevOps is expanding Agile beyond the limits of development to the entire process of delivery.In “DevOps”, “Dev” is referred not only to developers in particular, but all the resources involved in product development which include QA, Mangers and others related.
“Ops” is a commonly used term referred to systems administrators and engineers, network engineers, operations staff, security professionals, DBAs and others related operational resources. “DevOps” mainly have below mentioned concerns: • “DevOps” Principles: “DevOps” is made of set of basic principles but at the conceptual level is just the expansion of Agile’s principles from just development to include systems and operations.• “DevOps” Methods: To follow “DevOps” there are some pre-defined methods which can be used to align delivery with “DevOps” eg. Scrum with operations, Kanban with operations• “DevOps” Values: There are basic “DevOps” values which will be followed while delivering project. DevOps is came in picture with purpose of combining Dev (software development) and Ops (software operation)• “DevOps” Practices: These are practices used for implementing the “DevOps”. eg. Virtualization and Cloud computing is a common practice used to accelerate infrastructure world.• DevOps Tools: These are tools which will be used for “DevOps” implementation.
DevOps world have tools like git, Jira, Gradle, Splunk, Ansible, Maven etc. which will help to manage development as well as operationsProblems with current system:Traditionally in project delivery, the development team works isolated in development environment, if project is unit tested perfectly then released the code for use, then operations team will release project and maintain it from that point on. One of the problems with this approach is that there is long period between software releases because software and operation teams worked separately.
The development team is unaware of problems faced by operation and similarly operation teams don’t know about any development hurdles. “DevOps” makes collaboration of customers, product management, developers and operation staff. Due to transparency, Collaboration in project and faster feedback gives very high performing teams What “DevOps” gives you? • Easier collaboration and more trust: Due to shared responsibility, transparency in project and faster feedback gives very high performing DevOps team. DevOps is came in picture with purpose of combining Dev (software development) and Ops (software operation)• Management of unplanned work: Unplanned work is really challenging when comes to project. Unplanned work will affect productivity of overall project. Dev (software development) and Ops (software operation) can better manage unplanned work with well set processes and well prioritization. Through raised transparency and collaboration teams can perform better• Deliver faster and work smarter: In today’s agile world faster delivery is everything. We need to release more frequently, with higher quality.
Through automation and use of standardized tools and processes, teams can increase productivity and release more frequently• Faster problem resolution: The team with the fastest resolution time is the team that will win. Combining Dev (software development) and Ops (software operation) raised transparency and collaboration between teams, which enables teams to minimize time to resolve issues. If critical issues are resolved quickly, customer will be satisfied, Ultimately leading to better delivery and long-time customer engagement