Use of Cloud Computing and Virtualization in the Time of Recession

Cloud Computing on Ulitzer

Subscribe to Cloud Computing on Ulitzer: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Cloud Computing on Ulitzer: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Cloud Computing Authors: Jason Bloomberg, Kevin Benedict, Pat Romanski, Elizabeth White, Liz McMillan

Related Topics: Cloud Computing, Continuous Integration, Cloud Testing

Blog Feed Post

Control Costs: Use Cloud Test Environments | @CloudExpo #API #Cloud #Agile

Automation is the key to cloud-based cost savings

Control Costs: Use Cloud Test Environments
By Dalibor Siroky

There is no more effective way to reduce your overall test environment spend than to migrate to cloud test environments and embrace testing and infrastructure automation. The nature of test environments is inherently temporary—you set up an environment, run through an automated test suite, and then tear down the environment. If you can reduce the cycle time for this process down to hours or minutes, then you may be able to cut your test environment budgets considerably.

This is the “Holy Grail” for both cost savings and agility. This on-demand model allows you to take advantage of public cloud APIs and only pay for the time you need to run through automated tests. Its success depends on two things: automated infrastructure and automated acceptance tests. If you can reach these two goals, the cost savings from reduced infrastructure spend and the increase in agility will more than pay for the cost of both of these automation initiatives.

Automation is the Key to Cloud-Based Cost Savings
It isn’t enough to just move “to the Cloud.” If you really want to take advantage of cloud-based test environments, you need to change the way you view these environments. Everything about them should be automated, and you should be able to stand up and tear down an environment quickly. If you can spin up and spin down environments as needed, and if you can automate the setup of test data then you create a continuous deployment pipeline, which views the creation of a test environment as just another step in a build pipeline. The key is to get rid of manual testing so that test environments don’t need to exist any longer than it takes to execute a test suite.

Here’s an example. Assume you work on an application that runs on Tomcat. You track source code in Git, you build your application with Jenkins, and you publish a build artifact to a repository such as Nexus. You have a continuous integration server running 24/7. Any time a developer pushes a commit to your repository your system kicks off a build, and runs a comprehensive suite of unit tests. For years, your team was satisfied with running continuous integration that ended at unit tests. When your project approached a release, a QA team would run through a series of manual checks against a static QA environment. That QA environment had to be maintained 365 days a year, but it was only used for maybe 30 days a year. It was inefficient, and QA was a constant source of configuration and management issues.

With the advent of continuous deployment, your team is now extending the build pipeline to create QA environments dynamically only when needed. Your QA team is also committed to building out automated test suites that can be run as part of your continuous deployment pipeline. In this new environment, no QA tester ever needs to run a test; the entire, end-to-end test suite can be automated. Instead of having to worry about keeping a separate environment up and running your build pipeline creates it automatically, runs the test suite automatically, and then tears it down once testing is complete. It does all of this using public cloud APIs on a service such as Amazon AWS, Microsoft Azure, or Rackspace.

Using cloud-based infrastructure APIs alongside deployment automation tools means that you only pay for the time you use. Your static QA environment might have cost something like $30,000 to maintain every year, and your new, dynamic approach only runs for a few hours a week keeping your effective annual cost under $5,000. Another benefit is that multiple test environments can be created at the same time without conflict. If the project is experiencing heavy development, your new pipeline can spin up a new, ephemeral test environment for multiple commits on multiple branches at the same time, for a fraction of the cost of a dedicated test environment.

Cloud Test Environments: Shift to OpEx, Save Money
The impact of this approach cannot be overstated. It is the future of test environments.
If you have a software project that requires a full QA regression test and you create a script to automate both the execution of these tests and the creation and tear down of an isolated test environment, then you have changed almost everything about Test Environment Management. In this scenario, a code commit can trigger the dynamic creation of parallel test environments in the Cloud which may only need to exist for a handful of hours. In a pay-as-you-go environment on a public cloud, this means that your budgets are calculated not by how much it costs to rent an environment for a month or a year, but how much it costs to pay for transient cloud-based resources during a single regression test.

It might cost you $1000 per month to run a QA environment. Think about the cost of running several environments for only a few hours at a time in a given month. During busy development weeks, you might spend $12 per test suite execution and run a regression test twice a day. During a slow week, you might not run any tests at all. Cloud-based infrastructure and automation allow you to reduce the on-going costs associated with test environments dramatically.

Get Automated with Plutora
When we help our clients make a transition to cloud-based test environments, the first thing we help them do is stand up Plutora so that they can track the effort required to support, create, and tear down test environments. Once you’ve installed Plutora and started to keep track of your environments, you’ll appreciate the real cost of keeping several test environments up and running 24/7 for projects that may only need them for a few hours a week.

You’ll also be able to see which environments are in the most demand, and which projects are the biggest drivers of both environment demand and environment conflict. Using Plutora as a Test Environment Management tool gives you the opportunity to identify the environments that would benefit the most from a migration to automated, cloud-based infrastructure.

The post Control Costs: Use Cloud Test Environments appeared first on Plutora.

Read the original blog entry...

More Stories By Plutora Blog

Plutora provides Enterprise Release and Test Environment Management SaaS solutions aligning process, technology, and information to solve release orchestration challenges for the enterprise.

Plutora’s SaaS solution enables organizations to model release management and test environment management activities as a bridge between agile project teams and an enterprise’s ITSM initiatives. Using Plutora, you can orchestrate parallel releases from several independent DevOps groups all while giving your executives as well as change management specialists insight into overall risk.

Supporting the largest releases for the largest organizations throughout North America, EMEA, and Asia Pacific, Plutora provides proof that large companies can adopt DevOps while managing the risks that come with wider adoption of self-service and agile software development in the enterprise. Aligning process, technology, and information to solve increasingly complex release orchestration challenges, this Gartner “Cool Vendor in IT DevOps” upgrades the enterprise release management from spreadsheets, meetings, and email to an integrated dashboard giving release managers insight and control over large software releases.