Windows Azure SQL Database Marketplace
Editor’s Note: Today’s post comes from Patrick McClory, Solutions Architect at RightScale. RightScale® Inc. cloud management enables organizations to easily deploy and manage business-critical applications across public, private, and hybrid clouds. RightScale provides efficient configuration, monitoring, automation, and governance of cloud computing infrastructure and applications.
Separation anxiety is common when it comes to migrating to the cloud. But perhaps it shouldn’t be - the IT industry has been practicing the underlying elements needed to make a successful cloud deployment for years: redundancy, scalability, and automation. None of these ideas are necessarily new, but now they can be collectively applied to the new Windows Azure Virtual Machines (Infrastructure as a Service) to achieve a geographically distributed, highly redundant architecture in substantially less time than with a traditional datacenter approach. This is an attractive proposition to companies of all sizes, and here at RightScale we’ve been helping companies big and small deploy applications in the cloud since 2006. We pioneered the category of cloud management, providing a platform that enables organizations to deploy and manage applications in cloud environments, and our customers have launched literally millions of servers in the cloud.
RightScale is proud to be a Windows Azure strategic partner, and as a way of introducing ourselves to the Windows Azure community we want to share some of the best practices we have developed from our unique experience powering the largest cloud deployments in the world. Let’s get started.
Load balanced web application tiers and mirrored databases have been common configurations to manage failure in system deployments for some time -- the advantage in the cloud is that a geographically distributed deployment can be used not only to serve content closer to your clients, but also to provide disaster failover capabilities beyond the datacenter boundary. There are a few things to consider as you design your system redundancy:
Being able to scale up and down on demand allows you to optimize your total cost of ownership over the long term. It’s possible to go from a small number of servers to hundreds of servers in the cloud in hours or even minutes when your application requires more resources. When that demand subsides, you can just as quickly scale down so that you are not paying for idle resources. When you are designing for scale:
All of those menial tasks that you manage yourself -- it's time to let go. Building out your processes in an automated manner allows your technology teams to focus less on production support items and more on the updates, products, features and solutions that will drive your company forward. If you're going to take advantage of scaling up and down rapidly and on-demand, automation is the key to ensuring that you are able to boot a server and minimize the time from boot to when the server is fully operational. For web servers, this could include everything from managing the installation of your web site's code to connecting to your load balancing setup. For database servers that are mirrored, you may be able to scale instance sizes up and down fairly easily, but automating the process of reinitializing the mirroring session and bringing up the new secondary node will make it that much easier to increase or decrease the horsepower (and cost) of your data layer. Some things to think about:
Taken individually these ideas aren't new. But by implementing them correctly, you can free your team from having to focus on physical hardware, and instead focus on best practices for highly available solutions even if your system (or your team) is on the smaller side. Deployments large and small all benefit from being redundant, scalable, and automated. The more you refine your process, the better your team will be equipped to manage growth over the short and long term. If you would like to try some of these basic techniques in Windows Azure, the RightScale free edition is a fast and easy way to get started.