Skip to main content

DevOps Agile Tools and Practices

In his latest “IT Trendz” post, Joseph Gulla explores DevOps, an increasingly common approach to agile software development

"IT Trendz" in white against a purple banner, white chat bubble in righthand corner, with dots connected by white lines against a blue background.

Throughout 2020, I have been returning to middleware to pick up new threads and follow them to discover new insights. Last week, I focused on cloud integration with IBM middleware products. This week, I am turning to DevOps because it’s supported with valuable middleware offerings.  

What Approach Is Best for DevOps? 

DevOps is becoming an increasingly common approach to agile software development. With this approach, developers and operations organize into a team to build, test, deploy and monitor applications. If you developed applications where development and operations were disconnected, you can appreciate the potential of DevOps. With today’s DevOps teams, the persistent focus of their activity is speed to market, extraordinary quality and a high level of control of outcomes.
 
DevOps is useful for any kind of software project regardless of architecture or platform. DevOps is commonly being used for cloud-native and mobile applications, application integration, and modernization and multicloud management. Middleware intersects with DevOps as effective DevOps implementations generally rely on an integrated set of software tools to remove manual steps, reduce errors, increase team agility and scale beyond small, isolated teams. Let’s discuss three of these software tool chains from IBM. 

Continuous Delivery with IBM UrbanCode

IBM UrbanCode® is used to automate builds, deployments and releases of applications. The applications can be monolithic, microservices-based or a mixture of both. The deployments can be on the cloud, on-premise, in a data center or on the mainframe. 
 
IBM UrbanCode is a collection of complimentary products. With IBM UrbanCode Deploy, organizations can automate application deployments across their IT environments, deploying applications to a wide variety of environments. With IBM UrbanCode Velocity, organizations can improve visibility, identify bottlenecks and improve DevOps flow across the organization. With IBM UrbanCode Build, organizations can utilize a continuous integration and build management server optimized for their systems. And, with IBM UrbanCode Release, companies utilize a collaborative release management tool that helps handle the growing number and complexity of releases.

Software Testing with IBM Rational Testing

IBM Rational® Test is a collection of continuous testing offerings for automated test creation, execution and analysis. Automated testing helps organizations assess the current state of software to give them the quality assessment data needed to make decisions about when to release. This is important as business success largely depends on the quality of the software that runs the business. IBM Rational Test is an effective solution for automated end-to-end testing of software across the broadest set of technology.
 
The IBM Rational Test toolset handles a wide variety of test challenges. Here are six examples of situations where a specific testing tool excels for a variety of uses in challenging contexts as different as API and load testing. The content of the items below are test challenge, tool used and examples in context:
 
  1. For API testing with Rational Integration Tester. Used for system modeling and API validation across on-premise and cloud environments.
  2. For functional testing for modern web applications with Rational Functional Tester. Used for recording, editing, and running of tests and evaluating test results.
  3. For functional testing for applications written in many environment and languages including HTML, Java®, Windows®, .NET, Mainframe, Visual Basic, Silverlight, Eclipse, Siebel, Flex, Ajax, Dojo, GEF, and PowerBuilder applications with Rational Functional Tester. Used for the recording of test scripts in simple English statements, playing back tests and improving the tests through verification points and data-driven commands.
  4. For load and scalability testing with Rational Performance Tester. Used for creating and recording tests, emulating workloads utilizing IBM Cloud® for scale management and evaluating results.
  5. For service virtualization with Rational Test Virtualization Server. Used for virtualizing third-party interfaces, simulating databases and virtualizing applications.
  6. For web-based testing with Rational Test Automation Server (RTAS). Used to run a breadth of tests including API, Functional and Performance tests and view test results.

Application Performance Management with IBM Cloud App Management

IBM Cloud App Management is a product built to provide application management tools for software engineers performing monitoring activity. These tools provide a consistent method, tools and view across hybrid cloud environments. This includes user monitoring (response time and user satisfaction), key exception monitoring (latency, errors, traffic and saturation across technologies) and other monitoring like tracking Kubernetes clusters (for problems with nodes, pods and containers).
 
There are different product versions that give customers a variety of function and deployment options including a SaaS offering. IBM Cloud App Management Base is deployed in a cloud-native, containerized architecture. It delivers scalability and resiliency with imbedded tools to help identify root causes before end-users are impacted. IBM Cloud App Management Advanced includes the functionality of the base version, plus Kubernetes environment management running on IBM Cloud Private and Red Hat® OpenShift®. IBM Cloud APM SaaS is set up to monitor and manage application infrastructure performance. It’s a service that’s hosted outside your applications. There is an interactive demo available to show what can be done with the tools that come with this service.
 
The demonstration contains 8 tasks like viewing transaction details and investigating hung requests. These task examples are summarized below using a question-based approach to lead personnel to the task to use.
 
Question from Monitoring Personnel Task Used to Answer
How can I get started with monitoring my web application and get results rapidly? View Application Status and End User Response Time
How can a LOB owner or IT operator detect and isolate a problem to a specific geography using synthetics playback for website monitoring? Availability Monitoring
As an application owner, how do I find transactions with slow response time and isolate the problem? View Transaction Details
How can a middleware specialist isolate a problem in an application's Middleware stack that includes MQ, IIB and Datapower? Monitor IBM Middleware stack
How can a developer diagnose problems in the .NET application stack and find the root cause of the issue? Diagnose root cause of application problems
As a DevOps user how can I use predictive insights and analytics to detect anomalies and help me avoid application outages? Identify and Diagnose Predictive Insights Anomalies
As a middleware specialist how can I investigate slow or hung request? Investigate Slow or Hung Requests
How can I learn to manage access privileges for performance management users? Manage User Access
 

Next Week

These three solutions clearly show that IBM has middleware to support DevOps initiatives that are being implemented by organizations across the world. Next week, I’ll explore more middleware in support of DevOps.
IBM Systems Webinar Icon

View upcoming and on-demand (IBM Z, IBM i, AIX, Power Systems) webinars.
Register now →