Introduction to DevOps

Size: px
Start display at page:

Download "Introduction to DevOps"

Transcription

1 Introduction to DevOps Image Source: Krishna Kishore Ghanta Kellton Tech

2 Introduction With rapid growth and fast moving market, releasing a stable and quality product with latest features will bring more success and customers. Over the years there have been major improvements in software lifecycle methodologies and practices. One such practice is DevOps which most of the organizations are adopting for quick and continuous delivery of a product. With DevOps, industries can reduce the burden of IT operational costs while handling the product delivery efficiently and rapidly. What is DevOps and how it provides value to the Business DevOps is an approach based on lean and agile principles. It is a collaborative implementation of development and operations team to achieve high productivity in delivery. Unlike traditional methods where development and IT operations teams work independently, with DevOps practice, both the teams work closely and automate the process using various tools, which helps in continuous process of build and test, tracking, monitoring, and deployments. This further helps in providing good customer experience by addressing their feedback with a quick turnaround in providing fixes and adding new features, which in turn provides profitable business returns and happy loyal customers. According to the survey done by CA 1, the chart below shows benefits seen and anticipated from implementing DevOps. 1 Reference:

3 How DevOps Works The following points explain how DevOps practice works: Collaborative and close communication Working together as a team improves interaction and communication between different teams. This helps in working in a more coordinated way with prompt action to the tasks or issues, which reduces the turnaround time. The primary goal of collaborative and close communication is to avoid conflicts and escalations between the teams. This helps in proper handover of the tasks at every stage of the SDLC hence it simplifies overall process in delivery of a product. Continuous collaborative development Development is one of the important phases in SDLC. Continuous collaborative development, simplifies multiple teams working on various technologies and platforms with iterative requirements and feedback from business analyst, customers and architects. Unlike the traditional development methods, continuous development is based on user stories, development tasks are broken into small pieces to achieve continuous integration and testing in a short span of time. Collaborative development helps in integrating the code frequently for continuous release of build. Developed and enhanced code is stored in repository managed using version control system. Continuous Integration and testing With continuous development efforts, a new piece of code should be integrated continuously. Code will be integrated to shared repository using version control system. Every time the code is integrated, testing will be conducted to make sure it is working as per the functional and nonfunctional requirement, and not breaking the existing functionality. Continuous testing will be achieved by automating the test scripts. This helps in identifying the bugs at early stages to ensure the quality of particular build and eventually the product. Continuous release and deployment Based on the business criticality and the market requirement, release will be planned ahead. But in few cases build will be released on adhoc basis to fix critical bugs. With continuous integration, build will be made available according to the plan by the developers. Operations team will have the infrastructure ready for continuous deployment to the required environments.

4 Continuous release and deployment will be easily achieved by automating the process. Goal of the continuous release and deployment is to witness the new features as quickly as possible by the end users. Continuous monitoring With continuous release and deployments software undergoes lot of changes, which requires close monitoring to assess the performance and issues with real time data flow. For continuous monitoring, operations team uses monitoring tools to raise an alert/ticket in case of any issues and to frequently generate performance reports. For any issue which needs a fix, it will be reported to the development team which will go through SDLC continuously until the product is stabilized. Customer feedback Once the product is out, customer feedback will be taken constantly to improve the quality of the product. Feedback helps to fine-tune the software with new features and fixes. The ultimate goal of every product release is to meet the customer expectation and satisfy their need. Development Feedback Testing Monitor Deploy Continuous Software Development Life Cycle in DevOps

5 Automation Automation is the backbone of DevOps strategy. It helps to reduce the manual effort and speed up the process to release the software continuously. There are various automation tools in the market which fits at each stage of the SDLC, for version control, build and test, configuration management, deployment and monitoring. True outcome of the DevOps can be accomplished through automation. Advantages of using DevOps The proven advantages of using DevOps are: Builds trust between the development and operations team which brings a change in the attitude towards pursuing the tasks. Improved value to the customer feedback with quick turnaround. Increase in efficiency, quality and reliability with the automation. Cost effective and speedy delivery of a product to market. Increase in the IT revenue. Conclusion In conclusion, DevOps is an approach that improves the collaboration between Development and Operations teams. Enabling DevOps improves the speed of the delivery according to the business and customer needs. Especially automation in DevOps improves the productivity, reliability and allows standardizing the process, which in turn plays a major role in product delivery for organizations. DevOps continues to be adapted by various organizations such as Facebook, Netflix, Walmart etc.