Hybrid DEV/TEST Clouds Fulfill the Promise of Agile Enterprise IT

Assuming that you are a large enterprise and not quite ready to leap into the deep end of the public cloud, how can you take advantage of the elasticity and low costs of the public cloud and still maintain ownership and control of your applications through on-premises solutions? One possibility is a hybrid cloud.  Hybrid clouds enable enterprises to exploit a public cloud for lower risk development and testing activities and then transition applications on-premises for “Staging” and for ultimately running in “Production”.

When we look at the public cloud, its strongest value propositions to the enterprise is the cloud’s ability to manage uncertainty. Unlike on-premises, private clouds, the public cloud provides product teams fast access to resources with little to no long-term commitment.  Rather than dealing with slow and lengthy procurement and hardening processes, the public cloud allows teams to rapidly provision and configure new environments that can be used to experiment and innovate.  As new changes are defined, built, and tested, product teams can swiftly create net new environments based on a known-good starting points to verify and validate whether or not an experiment is successful and worth pursuing.  The faster and more reliably this process occurs, the more an enterprise can innovate or pivot in response to market demand.  As confidence and certainty grows, the new application or change can be transitioned back to the on-premises private cloud for final testing and ultimately deployment into production.

The flexibility and scaling of the public cloud enables development teams to parallelize efforts. What this mean is you can support multiple DEV and TEST environments simultaneous for the same application and product teams.  For example, you could be running a long duration regression test in one environment and then create a second matching environment for UI or exploratory testing.  By parallelizing the tests, teams are able to accelerate throughput by addressing two quality gates simultaneously.  As tests complete the environments are decommissioned and the cloud subscriptions ended.   In addition to the obvious cost savings of this approach, development teams are also freed from the common delays (waste) associated with waiting for a TEST environment to be freed up.

The second benefit of a hybrid architecture is the financial model.   The public cloud is optimized for high volume, short duration transactional processes whereas the private cloud is optimized for steady, long running workloads[1]. If we look at the software development lifecycle (SDLC) holistically, we can see that it is little more than a transactional process managing change as that change is defined, built, tested, and ultimately released into production.  The closer to the left (aka. writing code) you look, the greater the number of transactions.  Given this paradigm, the public cloud is a better fit for DEV and TEST stages of your SDLC because it can burst to meet the needed capacity of your development teams and shrink (or disappear) as an application transitions on-premises into “Stage” and ultimately “Production”.  This metered usage model reduces cost since you only pay for resources on an as needed basis.  In addition, the public cloud also minimize manpower cost by eliminating DEV/TEST footprint support from your private cloud and by outsourcing the most labor intensive processes, namely environment provisioning and configuration.

The final benefit of the public cloud for DEV and TEST is the global distribution of the public cloud. A common complaint of off-shore team members is latency experienced when trying to develop and test against applications and workloads running half a world away.  The distributed nature of the public cloud enables IT teams to create working environments that are geographically closer to development teams thereby reducing latency.  While this does add some complexity and requires some additional coordination across teams associated with managing data, code, and configurations, the benefits of having all development and test resources working on high performing environments typically out-weighs that complexity.

Employing a hybrid model that exploits the public cloud for DEV/TEST is not without challenges. Teams without rich test harness, mocks, and stubs struggle with dependencies on other applications and data or integration services that are running on-prem.  Production data often needed for functional and performance testing is not permitted to leave enterprise boundaries thus preventing TEST from running off-prem.  And managing environment configurations across hybrid architectures adds complexity to automation and orchestration solutions.  While these are all difficult problems to solve, there are a number of tools and techniques that can be introduced into the SDLC and deployment process to alleviate these challenges.

But, these challenges are not limited to technology. For many enterprises, the biggest hurdle is overcoming the organizational inertia to change.  Long held beliefs and best practices designed to restrict and standardize (aka. “manage”) compute, storage, and network resources need to be dismantled and redesigned to support the fluidity of DEV/TEST activities; extensible and policy-driven tool chains need to be introduced to support and direct development practices; and, transparent, measured operating models need to be adopted to provide IT leaders and business leaders the needed visibility into application lifecycle and platform management.

The benefits of hybrid clouds are clear. The pathway to adoption has been blazed.  The iterative approach tested.  What is stopping you from taking the leap to greater agility?

Check out the following links to learn more about EMC’s pre-engineered hybrid solutions and public cloud offerings.

[1] For more details on the TCO calculation of public verse private for steady workloads, check out @sakacc‘s blog “http://virtualgeek.typepad.com/virtual_geek/2013/04/what-is-the-real-thing-stopping-cloud-in-the-enterprise-rant.html”.

About the Author: Bart Driscoll

Bart Driscoll is the Global Innovation Lead for Digital Services at Dell Technologies. This practice delivers a full spectrum of platform, data, application, and operations related services that help our clients navigate through the complexities and challenges of modernizing legacy portfolios, implementing continuous delivery systems, and adopting lean devops and agile practices. Bart’s passion for lean, collaborative systems combined with his tactical, action-oriented focus has helped Dell Technologies partner with some of the largest financial services and healthcare companies to begin the journey of digital transformation. Bart has broad experience in IT ranging from networking engineering to help desk management to application development and testing. He has spent the last 22 years honing his application development and delivery skills in roles such as Information Architect, Release Manager, Test Manager, Agile Coach, Architect, and Project/Program Manager. Bart has held certifications from PMI, Agile Alliance, Pegasystems, and Six Sigma. Bart earned a bachelor’s degree from the College of the Holy Cross and a master’s degree from the University of Virginia.