We're finding that the configuration we use in production is hard to replicate on cloud services. Why was it necessary for cloud providers to change up configuration? Could you offer some advice on cloud configuration?
The idea of cloud computing is that the cloud application programming interfaces (APIs) sit on top of traditional hardware, and make one unified programmable experience no matter what hardware they are running underneath. Unfortunately that means that you're not going to be able to use the same practices you've used on traditional hardware, simply because there are too many variations available to keep everyone happy.
The attempt is actually designed to make developers have an easier time managing and configuring environments, and not specifically targeted for traditional IT personnel. However, there are several ways you can simplify running both traditional and cloud-based services together. These approaches rely on making your traditional data center work as an extension of your cloud environment.
Some software like OpenStack and Eucalyptus specialize in helping make the migration simpler by providing compatible APIs for traditional systems, while other services like those CloudScaling offers are designed to run independently of the cloud provider. If you do not want to get locked into a specific cloud vendor, you probably want to go with a solution that either virtualizes your environments, or simply avoid any vendor-specific features.
Many companies refuse to rely on anything vendor specific, instead simply building their own custom virtual machine (VM) using services like Vagrant or VMware and simply deploying those instances to their cloud provider. Instead of using something like DynamoDB or Bigtable, try using things like MongoDB. Instead of Simple Queue Service, try RabbitMQ. All of these alternative services simply require a running VM, which all cloud providers offer.
About the author
Chris Moyer is author of the book Building Applications in the Cloud and creator of two Web frameworks, Marajo and botoweb. He currently lives in New York, where he helps developers migrate applications to the cloud.
Follow us on Twitter at @SearchCloudApps.