I recently ran across a customer that wanted to move an application to a public IaaS cloud. They were convinced that moving their application to the cloud would solve a bunch of their downtime issues.
Now, let’s dismiss for a minute the fact that the customer had no idea what the application was costing them to run as is, what it would cost to run in a public IaaS cloud, or the relative performance of the app in either place. Let’s forget all that for a moment. The real problem here is that the customer thought they could move their existing application architected the same way as in their data center, to the public IaaS Cloud. They had a standard 3-tier application with web servers, application server, and a database server.
But putting this all in one zone of the AWS IaaS public cloud, or one data center in the Terremark public cloud does not take advantage of the scalability, reliability, redundancy, or even availability the cloud can provide. The point here is that a poorly designed architecture moved to the cloud is a poorly designed architecture in the cloud. Period. Don’t blame the cloud vendor when it fails. Had you (re)designed the application to load balance across many web servers in two locations, did the same for the application servers and had multiple database servers replicating data in real time across multiple zones, you would have a great start to a cloud-ready application that could easily withstand an outage or even two without a performance hit. You might even turn on CloudWatch to grow the number of web servers in the event of a usage spike and shrink them to the right number to handle the load during normal times. And of course, since you only paid for the web servers you needed at that given time, you would have maximized not only your application availability, redundancy, reliability and scalability but your spending too.
In summary, an application migrated to the cloud without a re-architecture to take advantage of cloud has at least the same chance of failing in the cloud as it does in your data center. Conversely, a redesigned and rearchitected application will take advantage of the cloud and save you money too!
Thanks for reading!
Follow me on twitter at @GTSI_CTO