Are you still trying to decide how to move your organization into the cloud? Do you already have servers in the cloud but can’t figure out how to best utilize them? At RightScale, we have these conversations with prospective customers all the time. I've outlined three of the most beneficial aspects of the RightScale solution that our customers use to quickly and more efficiently manage their deployments in the cloud.
Where Is Cloud Computing Going?
First, cloud computing management is evolving in both automation – programming your apps and infrastructure to run themselves – and abstraction – working across heterogeneous OSes and clouds.
In the old days, when you ran a datacenter, you had to get on the phone to order and procure hardware, and putting infrastructure in place was a slow and expensive process. Once your IT team had racked, stacked, and networked your hardware, you had to log in to manually install your packages and configure applications.
Then the cloud came along and automated the infrastructure, letting you launch servers more efficiently and inexpensively. But you still had to log in and install your apps, configure them manually, install patches, and so on.
I'll cover three of the most resource-intensive IT missions that RightScale manages in the cloud:
- Configuration Automation
- Monitoring and Alerting
- Auto-Scaling Architectures
Quick Win No. 1
Your RightScale configuration can start with a single server, then go to multiple servers for testing, then to deployment. Our customers ask, “How can we configure all these systems and maintain them consistently?”
When it comes to configuration automation, we believe you should be managing systems, not servers. So, we package all the servers that work together as a logical collection in a deployment. You can manage all of them through a single interface, executing operations on all of them, updating the code running within them, or backing up all your databases. Then you can clone the deployment easily, say, to put your application in a different cloud or a different region.
Another important piece of configuration automation is ServerTemplates. You’ve probably launched servers in the cloud using an image: you configure the server you want, then click a button and launch a new instance of that server’s image. But as you add tens, hundreds, or thousands of servers, it becomes harder to keep tabs on the version of each software package – security updates, patches, service packs – inside each image. So we created ServerTemplates as a modular, flexible alternative to images.
With ServerTemplates, it’s easy to configure new servers by just changing components that correspond to a specific aspect of the system, like MySQL or Rails. If you want one server running your application with Rails and the other one running your database, then create two ServerTemplates which will reuse common components, and then install Rails in one and the database in the other.
For example, the new RightScale LAMP All-in-One contains the four components common to ServerTemplates:
- Boot scripts/recipes – all the software installed when you launch the instance (setting time zone, installing MySQL, installing Apache)
- Operational scripts/recipes – actions you perform on the server throughout its lifetime (upgrading, backing up, restoring, etc.)
- Decommission scripts/recipes – these run when you shut down the machine (deregister from the load balancer pool)
- Base machine image – this installs both the operating system and the lightweight RightScale agent, RightLink™, which enables and manages communication with RightScale.
If you want to construct a completely different ServerTemplate, say, with only MySQL in it, you take these small scripts/recipes and combine them. The scripts/recipes are version controlled, so if you find problems on one of your servers and you want to revert to a previous, stable configuration, you just open the ServerTemplate and change the revision.
You can accumulate your own library of ServerTemplates, and we have created the MultiCloud Marketplace, which you can browse via the Dashboard. With all of the ServerTemplates contributed by users, customers, technology providers, and RightScale, you’ll never risk reinventing the wheel. Just import the ServerTemplate you want into your account, and each server handles all the details of configuring itself.
Quick Win No. 2
Monitoring and Alerting
From the moment you launch your servers in the cloud, RightScale is monitoring them and giving you information on them. In the Monitoring tab on the RightScale Dashboard, you’ll find many default, real-time metrics for computing, database, networking, and load balancing on Linux and Windows, including metrics for CPU, disk, memory, and network utilization. Through our plugins you can monitor Apache, Microsoft IIS, MySQL, SQL Server, and more.
But if you’re managing tens or hundreds of servers, it’s inconvenient to monitor them one by one. RightScale includes the concept of cluster monitoring, or a collection of graphs that you manage as if they were a single graph, at either the server level or the deployment level.
Cluster monitoring graphs display activity along any metric across a given number of servers:
Stacked graphs aggregate the activity in your selected group of servers into a single image and illustrate how evenly workload is spread across machines:
Heat maps help you find abnormal behavior in a group of servers by aggregating hundreds or thousands of data points:
Along with monitoring, you’ll want to create alerts about abnormal activity, which you also set from the Dashboard. Alerts connect to one of the metrics you are monitoring and execute an escalation (send email, restart servers, run scripts, launch additional servers, vote to scale up/scale down) if the threshold you specify is crossed.
Quick Win No. 3
When you start out, you don’t always know how much capacity you’re going to need over time. If you deploy a new application or launch a new service, you have to estimate capacity and spend money up front on infrastructure to support it. If you under-buy, you risk unhappy customers; if you over-buy, you risk having underutilized hardware lying around.
Auto-scaling a flexible architecture in the cloud that, in principle, has unlimited resources takes the risk out of that equation. With an auto-scaling array in the application tier – between load balancers and databases – you can track and satisfy demand while keeping your costs low. The architectural diagram below shows an array of easily deployed, in-cloud application servers that you can connect to monitors, alerts, and escalations (running scripts, sending email, etc.).
Spikes in demand trigger escalations that launch new application servers, with all necessary context and connections. And decreases in demand result in automatic termination of servers. It’s the ideal way to scale up and scale down automatically.
So why do we call configuration management, monitoring and alerting, and auto-scaling “Quick Wins?” Because you can try them out in the RightScale Free Edition today and automate for consistent and repeatable results.