Ranger4 DevOps Blog

Andrew Cullum

Recent Posts

Breaking Environment Limitations with Integration Testing - Part 3

Posted by Andrew Cullum on Fri, Mar 27, 2015 @ 18:03 PM

Part 3 of 3

Rapid integration testing is a key to delivering frequent, high quality software. But, environment availability is often a limiting factor. In Part 1 we took a look at the limitations on environments, in part 2 we looked at techniques to resolve the bottleneck and this week we will conclude this 3 part blog by looking at a realistic scenario that brings the techniques together.

A realistic scenario that brings the techniques together

The fictitious example of a major system called Marketplace shows how to use the tools together. Marketplace is made up of many pieces.

  • 60 web services that are somewhat tightly coupled. Four teams each own 15 services.
  • Mainframe components contribute to 20% of transactions; the components rarely change and are owned by another team.
  • The front end website, in front of the services, is owned by the dot-com team.
  • Data feeds from 2 third parties are used (via web service). One is metered on transactions, the second is not.

The Marketplace release team had one large Integration Test Environment (INT) and a Performance Testing Environment (PERF). Each of the six teams now has a small test lab where they can test some of the components, but they cannot test any integrated scenarios. Integration testing is on the release schedule and release management has governed access to the INT and PERF environments.

Read More

Topics: Service Virtualization, IBM

Breaking Environment Limitations with Integration Testing - Part 2

Posted by Andrew Cullum on Tue, Mar 17, 2015 @ 16:03 PM

Part 2 of 3

Rapid integration testing is a key to delivering frequent, high quality software. But, environment availability is often a limiting factor. In Part 1 we took a look at the limitations on environments, this week we will be looking at techniques to resolve the bottleneck.

Techniques to resolve the bottleneck

There are three techniques that smooth out the issues with integration test environments and promote their availability: Environment reservation, environments as a service, and service virtualization. Each technique solves different parts of the problem.

Read More

Topics: Service Virtualization, IBM

Breaking Environment Limitations with Integration Testing - Part 1

Posted by Andrew Cullum on Wed, Mar 11, 2015 @ 17:03 PM

Part 1 of 3

Strategies to improve environment availability

Rapid integration testing is a key to delivering frequent, high quality software. But, environment availability is often a limiting factor. This article reviews several strategies to improve environment availability as well as when to use each strategy.

Integration testing is where the systems delivered are validated. It’s where the business can really see applications and determine whether or not development has built what was required. As software systems become increasingly componentized and are made of more and more services, the lag time from code change to integration testing is a key predictor of time to market and developer productivity.

The ideal process is simple. Every time a developer changes code, all tests are run quickly and feedback to the developer delivered. The changed components are built, unit tested, deployed to an integration environment, and all integrations test run in just a few minutes.

Unfortunately, that ideal is not reality for many teams. Automated tests can be too few or take too long. Continuous integration might not be set up. Automated deployments of complex applications can require special tools.

Solutions to these challenges are fairly well understood today. Tests should be automated with a heavy weight towards API testing. Setting up a continuous automated build processes is simple so there is no excuse for not having one. Deployment automation tools are now well established.

However, an increasingly common challenge for many organizations is a lack of integration testing environments. They may be incomplete. They may be inconsistent. There just may not be enough of them. This article looks at why these problems exist and what to do about it.

Read More

Topics: Service Virtualization, IBM

DevOps in The Real World - Insights from Tech Leaders

Posted by Andrew Cullum on Wed, Nov 19, 2014 @ 13:11 PM

I've recently read the eBook 'The DevOps Mindset' published by Rackspace which provides some excellent real world examples of how companies have successfully realised DevOps optimized software/application development lifecycles.

DevOps, a movement that encourages and requires the collaboration and far closer communication between Development and Operations departments in order to achieve Continuous Delivery has three broad areas of focus:

Read More

Topics: DevOps