MAINFRAME > TRENDS > MODERNIZATION

DevOps Builds on Agile and Links Operations


Editors note: This is the second of two articles on methods to develop applications. This article focuses on DevOps, which is an approach that spans both development and support of the application. Part one looks at different kinds of frameworks.

DevOps is a word formed from development and operations, two phases associated with application creation and support. DevOps is a collection of ideas that improve and support the relationship between application development and the operations of the application. This set of ideas had its birth during the period when Web applications became prominent. During this time it became obvious that the techniques of the past wouldn’t adequately support the dynamic needs of Web applications.

Development and Operations

What needed to be addressed? There has always been a natural tension between change and stability. Developers are paid to create change in the form of new applications and changes to existing ones. When developing for the Web, the changes often needed to be made rapidly and frequently. On the other hand, the operations staff was paid to provide stability and the changes were hard for them to control and make with predictability as they enabled new and changed application functionality. This tension between groups was sometimes even greater because the groups were part of different teams in the company. This organizational division did nothing to help the situation.

DevOps Goals

DevOps goals can be explained in the context of two main ideas—business agility and alignment of IT with the company. Business agility is supported by DevOps through techniques to make more frequent deployments possible through the increased use of automation for testing, as well as packaging for production distribution. Automation helps to maximize the predictability and efficiency of operational procedures, which is especially important when changes are made multiple times in a day.

IT alignment is supported because members of both development and operations are going for the same goals using the same approach and a common toolset. Development, testing, quality assurance, maintenance and operations specialists are often part of the same team supporting the business goals of the company.

Continuous Planning

Unlike the waterfall approach, planning for DevOps is continuous as project teams adjust their goals based on immediate customer feedback. Planning tools like IBM Rational Team Concert include the agile planning approach, which is a good fit for DevOps projects. In addition to the Rational tools, there are a significant number of other project planning and management tools available, many with an agile focus. Tuleap Open ALM, OrangeScrum, Taiga, Odoo and MyCollab are five project and planning tools that are reviewed.

Tools That Support Collaboration

Collaboration is a key aspect of DevOps and it includes the development team, customers and others like quality assurance specialists. It’s necessary that the collaboration tool used be aligned with the development approach. Rational Team Concert is a good match to DevOps because of its built-in support for a variety of development approaches providing samples and templates to get a team off to a fast start. There’s an enormous amount of other open-source and proprietary collaboration software available and some of it aligns with agile and DevOps.

Automation Is Key in Many Ways

Automation is a main theme with DevOps. It’s not possible to move quickly and continuously in development without thoughtfully automating many activities. Manual steps can make tasks take too long and may introduce errors. The key areas for automation are testing and deployment of programs and data. However, automation also has a role in other areas like project management where tracking tools remind developers of tasks to be completed or share key development inputs and templates.

Integration Is Ongoing

With DevOps, integration is a continuous activity encouraging developers to integrate their individual work with each other as soon as possible. This exposes integration challenges and conflicts on a timely basis. A variety of tools are used to make integration work well involving collaboration, deployment and testing.

Effective Testing Makes Rapid Deployment Successful

When deploying software changes like fixes and new function multiple times a day, testing is a necessary task and automated testing is the state of the art. Not only is automated testing faster than manual testing it can also be cumulative bringing in some or all of the historic test cases for a given component. The time saved and improved software quality can be enormous.

With testing, there are constraints of time and resources, so automation is worth the investment and is the reason for the variety of testing tools in the marketplace. IBM has the Rational Quality Manager to run automated tests that reside either on your test lab machines or elsewhere in the network. With this product you manage and run tests created with several automated test tools like Rational Functional Tester, Rational Performance Tester and others.

Delivery and Development: On the Same Team

When changes are ready to be deployed it’s time to move to delivery. In the past, development and delivery weren’t on the same team and often used different tools. This created challenges when the turnover to production occurred, as tools could introduce process errors not experienced during development.

These challenges are minimized because DevOps fosters an approach where development and delivery are part of the same team and use the same toolset. The toolset challenge is made easier when runtime environments have built-in processes and tools that simplify tasks. A good example is IBM Bluemix whose catalog contains many elements that simplify both the development and delivery of applications fostering a common approach and toolset.

Monitoring and Management Are Important

When the application and its supporting middleware is running, monitoring and management is needed. The platform supporting the application is often the best source for approaches and tools. IBM Bluemix has tools for monitoring and logging and it provides management services for auto-scaling, delivery pipeline, workload scheduling and single sign-on. It uses a combination of the major open-source computing technologies.

Continuing Growth

DevOps is likely to continue to grow in importance because the relationship it fosters between development and operations is compelling and DevOps is a good fit for cloud, which continues to mature as a flexible and cost-effective operating environment.

Joseph Gulla is the IT leader of Alazar Press, an imprint of Royal Swan Enterprises. Previously, he was an executive IT specialist at IBM ending his 28-year career with the company in August 2012.



Like what you just read? To receive technical tips and articles directly in your inbox twice per month, sign up for the EXTRA e-newsletter here.


comments powered by Disqus

Advertisement

Advertisement

2017 Solutions Edition

A Comprehensive Online Buyer's Guide to Solutions, Services and Education.

Modernizing Your Enterprise

IBM has business-value-driven solutions to improve application and employee productivity

Leveling the Playing Field

IBM Rational software advances mainframe development

The Agile Enterprise and Beyond

Proper tools can bring flexibility to application development

IBM Systems Magazine Subscribe Box Read Now Link Subscribe Now Link iPad App Google Play Store
Mainframe News Sign Up Today! Past News Letters