Multiple Perspectives on Security

Security Journal

Subscribe to Security Journal: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Security Journal: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Security Journal Authors: Mehdi Daoudi, John Walsh, Liz McMillan, Elizabeth White, Pat Romanski

Related Topics: Cloud Computing, Security Journal, Cloud Testing

Blog Post

Moving Test Environments to the Cloud By @EFeatherston | @CloudExpo #Cloud

Is that a good first step?

How often do you get questions like ‘Have you gone to the cloud yet?', or ‘Why aren't we in the cloud?', or a myriad of others along those same lines. People still talk like the cloud is a destination. I discussed this tendency last year in a blog, "The Cloud - Is It Your Actual Destination?" For all the hype surrounding cloud, the benefits are real. IDC forecasts global public IT Cloud services spending to reach nearly $108B by 2017. Gartner expects that by 2016 the bulk of IT spend will be for the cloud. Those are pretty impressive numbers. The challenge is to remember, cloud is technology, it's a vehicle, a conduit to help you provide value to the business.

The real challenge is determining what should move to the cloud. Do I go to public cloud or build a private cloud? Is hybrid the right choice? What benefits provide the best value to the business? Do I move everything? These are just some of the questions that you should be asking yourself. There is no simple one-size fits all answer. No technology, including cloud, negates the need for good design and planning. How does one make sense of this? You need to put a process in place to that identifies, weighs and balances the business needs with the technical challenges. One potential area to look at as a first step is your test environments. I can already see some of your eyes rolling, but let's take a look at some of the potential benefits of doing that.

The challenge of QA and performance test environments
In house QA and performance test environments have always presented challenges, and many times been the forgotten step child in the development process. Every group wants:

  • Their own isolated, dedicated test environments
  • To run on independent build/test/deploy schedules
  • To be able to quickly configure/deploy/test changes both on cycle and for hot fixes
  • To performance test for scale, load, and capacity so they can understand breakpoints before going live

In the ideal world, with unlimited resources and money, this would be easy. Unfortunately, in the real world, setting up that kind of dedicated testing environments tends to be cost, space, and resource constrained. Hardware/space/resources need to be shared, scheduled, and may run into conflicts. The end result is shared resources, scaled down in size, which may or may not be a good representation of the production environment. Keeping large amounts of hardware around that is not utilized all the time becomes a hard sell, and not one that is usually won. Sharing these resources helps, but inevitably there are schedule conflicts, one project impacting another during the testing cycles. Striking a balance is a pain point many of us are all too familiar with.

Stand up, deploy, test, breakdown, repeat
Public cloud providers can be a viable option to help address the challenges discussed. Instead of the classic purchase, configure, and support your own hardware environments, you go to the cloud provider. The public cloud providers have three key benefits to address the testing challenges

  • You can obtain your own dedicated testing environment resources when you need them
  • You only pay for what you use
  • You can configure for dynamic resource usage, allowing for true performance testing for application scaling and identifying breakpoints

On demand testing resources when you need them. Stand up a test environment, deploy your app, test it, and break it back down when you are done. Dynamic scaling for performance. Sounds wonderful, what's the catch? No technology negates the need for good planning and design. The cloud is no exception. To take advantage of the benefits the cloud can provide your testing needs there are some items to consider and plan for in order to succeed.

  • Develop a set of setup configuration and deployment scripts for your cloud environment. All public cloud vendors provide a scripting mechanism for setup, deploy, and breakdown of environments. The added benefit of doing this is you have a standard, repeatable mechanism for standing up a consistent testing environment. Make sure to place these scripts under source control.
  • Develop a test data management strategy. If you have one already, revisit to determine if there is any impact caused by moving into the public cloud space. (See my recent blog on test data management in the cloud). As with the environment setup, develop and maintain scripts so that you have a repeatable process for standing up both the environment and data.
  • Dynamic scaling is only helpful if your application is designed for horizontal scalability. Again, plan and design are key to be able to leverage the benefit.

Does it make sense for your organization and needs
Using public cloud infrastructure as a service offerings for test environments can definitely have benefits. It can also be an attractive first step and toe in the water for your organizations foray into the world of cloud. Is it for everyone? Not necessarily. You need to evaluate your readiness and ability to leverage the benefits that can be found. If you are facing the testing challenges discussed, this step could be for you. Success is not automatic. If you don't already have a well-disciplined DevOps process, this could be a good step in developing one. As discussed, standardizing, scripts, source control, process, are all critical to leveraging the cloud for your test environments. Cloud technology will not make the magic and success happen. It does provide the opportunity and capability. With proper planning and design, using test environments as your first step, it very well could be the right choice for your organization to start its successful leveraging of cloud technologies.

This post is brought to you by Cloud for Tomorrow.

More Stories By Ed Featherston

Ed Featherston is VP, Principal Architect at Cloud Technology Partners. He brings 35 years of technology experience in designing, building, and implementing large complex solutions. He has significant expertise in systems integration, Internet/intranet, and cloud technologies. He has delivered projects in various industries, including financial services, pharmacy, government and retail.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.