Virtualization Technology News and Information
Understanding 4 Continuous Processes of DevOps

Article Written by Sanjay Zalavadia, VP of Client Services, Zephyr

Traditional waterfall approaches involved building a monolithic program that would be coded, tested and released as a unit. However, if any functionality was missing or if issues emerged in the product, users wouldn't get any relief until an entirely new version was created and deployed.

Things have considerably shifted under agile operations with the introduction of DevOps continuous delivery that ensure that teams will be able to keep up with changing user needs and can adjust the app at any time to include patches and fine tune functionality. Continuous everything has become a necessary part of agile practices to improve defect management overall and ensure that deliverables are always ready to be pushed out. However, what do these continuous processes actually entail and what can they offer your team? Let's dive deeper into four continuous processes of DevOps to identify their function and how they fit into agile approaches. 

Continuous Integration

Code integration is one of the biggest risks within software development as any changes could cause other elements within the application to break. However, the earlier that builds are integrated, the faster teams will receive feedback on what elements aren't working appropriately. This can make it much more cost-effective to fix and will require a significant amount of collaboration across developers.

SD Architect author Sanjeev Sharma noted that under CI, developers working on different components will deliver their work at the same time into a common area for an integration build. This will help regularly address integration issues and verify that integrated components function as designed. CI is especially beneficial because it reduces the risk of needing to dedicate time at the end of a sprint to fix issues and can contribute to a better quality product.

Continuous Delivery/Deployment

In DevOps, CD can mean either Continuous Delivery or Continuous Deployment. Although these processes are very similar, the way that they are carried out has some slight differences and these characteristics will determine which one is better for your team's setup. According to Accenture, Continuous Delivery involves a manual trigger to bring a build into production, while Continuous Deployment uses an automated trigger for this need. With delivery, this means that you can be ready at any time to send off the component, but only when you deem it's ready.

When determining which CD is best for you, you'll need to consider if you can reliably automate to production each sprint or if you'll need extra time before sending out your deliverables. These practices may seem to be alike, but the manual versus test automation interaction can make the difference for your team.

Continuous Testing

Traditionally, testers were relegated to the end of the development process, with little time to fully evaluate the software. This left significant room for errors and defects to live in the final product. However, continuous testing means that QA is involved from the very beginning, often building tests before a line of code is even written by developers. Sharma noted that QA teams would have their own separate production-like environment to test the deliverables.

These tests would be run on a daily or weekly basis to help support CI and CD processes. Continuous testing can also be extended to Ops personnel who conduct their own acceptance tests, smoke tests and system stability tests before the application is sent to production. Quality testing tools will be required to keep up with these testing needs and ensure that everyone stays on the same page.

Continuous Monitoring

When software is released, it still requires support from DevOps teams to ensure that it continues to perform as expected and provides value to the user. Continuous Monitoring helps to accomplish this feat. With a set of capable tools, DevOps can monitor their systems, applications and environments to identify any operational issues. Analytics capabilities will be integral here to providing real-time feedback and presenting actionable information that will positively impact future projects.

DevOps and its continuous processes can be a challenge to facilitate, but they are necessary to keeping up with the pace of agile and providing users with quality applications. By understanding what each practice entails, you can better take advantage of them within your own team.


DevOps teams use continuous processes to keep up with agile needs.


About the Author

Sanjay Zalavadia is responsible for driving custom success at Zephyr. This includes training, consulting, customer support and client management. Most recently, as the Associate Vice President for Patni Computers Telecoms IT Managed Services Practice, he established IT Operations teams supporting mobile content providers.

Sanjay brings more than 15 years of leadership experience in IT and Technical Support Services teams across multiple geographies for both large and small companies. Sanjay has a graduate degree from the Manipal Institute of Technology in India. 

Published Wednesday, March 08, 2017 8:28 AM by David Marshall
Filed under: ,
There are no comments for this post.
To post a comment, you must be a registered user. Registration is free and easy! Sign up now!
<March 2017>