Dev/Test Clouds – Part I
July 14, 2015 § Leave a comment
Dev/Test clouds are often where many organizations start with Cloud. I’ve seen Cloud provide some big benefits for organizations wanting to improve their software development and testing practices (especially when you look at the ability to provision environments quickly for testing scenarios).
In working with clients, we’ve gotten into some interesting discussions around what are the key differences with Dev/Test clouds vs production clouds. First, I am a believer that Dev/Test should mirror production as closely as possible. Sometimes that is possible and sometimes it is not. These are the common variances I’ve run into:
- Production clouds having higher up-time (e.g. think the 5 9’s for availability)
- Data in production clouds is usually more sensitive. We typically leverage obfuscation and data masking to eliminate any data privacy issues in Dev/Test clouds
- Dev/Test clouds may not have all the scale out and support all the HA/DR scenarios that production clouds do.
- Dev/Test clouds should leverage service virtualization where it makes sense. (e.g. if you are waiting for off peak hours to test a CICS transactions on the mainframe in your Dev/Test environment, you might want to explore how this could be improved leveraging service virtualization.
Once you’ve setup your Dev/Test Cloud, these are the gotchas to watch out for:
- Dependent systems availability (or lack of availability) due to production schedules, security, or team contention
- Improper lifecycle management (e.g. teardown) that looks at the complete application lifecycle and speed (e.g. Agile teams (with a large number of iterations) moving through DEV, QA, and production can lead to virtualized application crawl)
- Unpredictable demand spikes
- Test data validity, obfuscation, and data movement (setup/teardown, etc)
- Usage fees with testing 3rd party services
In my next blog, I’ll talk about approaches to handle these gotchas!