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.
Dig Deeper on Cloud application development
Related Q&A from Chris Moyer
Can an application have Python as a container, run SQL queries on an external Microsoft SQL database and publish the results on an Apache web server ... Continue Reading
The wait is over, as you can now trigger Lambda functions with SQS messages. Follow these steps to get up and running with this new capability. Continue Reading
Event-driven computing means no IaaS provisioning and no data center to run. Can I migrate all enterprise apps to be event-driven? Continue Reading