Welcome to part three of the five-part series on eCommerce Best Practices in the Cloud. In part two of this series, I discussed site performance and why it should be a business requirement. Given the tremendous return-on-investment in making sure performance requirements are met, it’s certainly worth trying to be efficient in monitoring for opportunities and responding to required changes.
Best Practice #3: Automate Everything
In a cloud environment where everything is “virtual,” servers can be provisioned very quickly when needed. It’s one of the clear benefits of the cloud environment, yet one that many companies overlook for any number of reasons. Thus, instead of responding to performance metrics by “manually” provisioning servers, begin to look at infrastructure as an extension of application code.
There are a number of services that allow different server configurations to be pre-configured and provisioned very quickly via code that monitors performance metrics. Such configurations can include load balancers, web servers, application servers, database servers, read-only database replicas, etc.
Monitoring each layer and setting an appropriate “provisioning point” can be done based on historical performance metrics and automated through code. For example, if it is discovered that a new web server should be provisioned when the average utilization at the web server tier is 75%, use an application like Chef to provision a new web server that is built to a predetermined “recipe” that describes given server configurations. This kind of automated approach helps to eliminate the human factor in the provisioning process, in turn decreasing the time to provision a server and the likelihood of configuration errors. As noted in the prior post on Best Practice 2, time is literally money in our world, and it’s easy to take steps to maximize performance. Just make absolutely certain the provisioning code is thoroughly tested, of course, to prevent any mistakes there!
To see the complete presentation, view the webinar here and tell me what you think in the comments below.