| Moving your Development and Test to the Cloud |
| Written by Eric Novikoff | |
|
I got an email yesterday from some cloud vendors offering a seminar on "Why you should move dev and test to the cloud." The two vendors specifically suggested moving them to the cloud even if you weren't deployed to the cloud. For our cloud customers, I have been advocating this for quite a while, but I would never suggest moving test, and to a lesser degree, dev to the cloud if your deployment platform wasn't the cloud. My disagreement is based on the importance that I put on keeping your live site or other service up and running. The real recommendation I have, based on our experience supporting our customers, is that your dev and test environments should be as much like production as possible (with any obvious required differences such as different levels of access control.) So, if you're deployed to cloud, you should test in an identical cloud environment. If in colo, you should test in an identical colo environment. That way, any environment-dependent problems will surface during test, instead of during deployment. And we find that more than 50% of the failed deployments that our customers have are the result of having a difference in their environments, whether it's a different PHP config file, different memory size, or different set of libraries on the systems. This applies to development as well. Yes, the cloud offers some great advantages for "disposable infrastructure," letting you set up and destroy test or dev environments at your leisure. But if their use leads to a bad deployment and downtime, any advantages of cloud dev or test are lost. The nice thing about our AppLogic-based cloud or PrimaCloud is that you can copy an entire virtual datacenter from your production environment and make it your test or dev environment very easily. All of this ease of creating and destroying infrastructure doesn't eliminate the need for good process. Do you have configuration management and version control tools in place? Do you have a process with approvals for releasing from dev to test? How about from test to your production environment. How do you decide how much testing is enough, and of what type? What process is in place if you discover critical bugs after release? Can you roll back your production environment easily? The cloud facilitates answering these questions, but as you can surmise, it doesn't answer them! Comments (3)
Write comment
|
| < Prev | Next > |
|---|