Cloud Management: RightScale & enStratus
In the first part of this series we looked at what cloud management is about, and why you should use it. In this part we will take an in-depth look into the specific features of cloud management software.
We will take a look at RightScale and enStratus specifically. We will launch servers through their consoles and test out load balancing before we compare pricing of the two.
With some big name organizations on their client list, RightScale is a large player in this market. They work together with major cloud providers, and support both public and private clouds. RightScale has its own marketplace, where you can find pre-defined templates and scripts to quickly set up a cloud server.
They offer their own configuration framework with no limits as to how you manage your cloud. There’s an extensive automation engine with lots of monitoring options to trigger scaling.
Rightscale’s simple navigation menu offers all the controls you would need:
You can choose to build or manage your own templates or scripts, or browse through their marketplace.
You can decide to deploy a cloud server without a template, and set it up yourself.
Thanks to the API integration with at Amazon Web Service (AWS), you can launch the full AWS offering from within your RightScale dashboard. And once you’ve added cloud providers like Rackspace, you can manage these as well.
Their full dashboard also offers quick monitoring of your deployments and alerts, costs overview and quick launch of popular stacks with a link to the marketplace.
Launching a server
To see how easy it is to set up a cloud server from the RightScale dashboard, I decided to try and launch a preconfigured LAMP stack based WordPress site from the ServerTemplates.
In the marketplace, I found a WordPress AMI (Amazon Machine Image).
After you select “Import”, you can add a cloud server based on this template. You will see the cloud providers you added previously.
All the needed settings are inherited from the template, but you always have the possibility to change the settings. If you’re all done, just hit launch and the cloud server is deployed.
And, after you wait a few minutes, your site is up.
Monitoring offers you wealth of information giving you overview of your deployments, an events list to keep you updated. You can also set up alerts to keep you informed of anomalies, if any.
One of the main benefits of cloud management is the ability to auto-scale your cloud servers. This means adding or removing servers based on specific parameters you set. This can be based on a server load over a period of time, memory usage or I/O wait, for example. Or you can use it to replace a stalled server.
You start the set-up by adding a server array. This is where you specify how many servers you initially need, what is the maximum number of servers, and by how many it should scale to. Just like adding servers manually, you begin by selecting a server template and configuring it.
The auto-scaling decisions are determined by votes, made by the individual servers. This works as a control mechanism, to prevent hasty decisions when there’s a spike in the parameters.
What triggers an alert is in my example specified in the template, but you can set these up yourself as well.
You then decide what to do: send yourself an email or have it give a vote to grow or shrink. Or you can set up a schedule to start or stop servers on a specific time or day, to cope with expected traffic.
To give you a simple example, I decided to set up my array with a minimum of three servers. This means that if one server goes down, it is replaced to the minimum of three. After I launched my array, I manually terminated two of my servers. Auto-scaling made sure it was replaced.
After that, new servers are launched, as specified in the scaling settings. Note that even though the minimum is three, more servers are launched since it takes a while to get them up and running, and this ensures your minimum is always met. It’s always kept within your maximum.
RightScale offers a free plan, where you can manage up to 5five servers on public clouds (private clouds is a paid add-on). If you want to manage more servers, you pay per RCU (RightScale Compute Unit). One RCU is one medium server for one hour. Smaller servers use less RCU. With their free plan this comes down to $0.12 per RCU, which is around $86 per month. This is without what you pay to your cloud provider.
You can upgrade to an Standard ($500 p/m) or Premium ($1000 p/m) plan, where you pay $0.06 per RCU. I want to thank the RightScale people for giving me access to their Enterprise plan for testing.
All of the features mentioned above are available in their free plan.
enStratus positions itself as cloud management for enterprises. You can get enStratus’ tools both as software as a service, or an in-house installation. I’ll focus on their SaaS solution.
enStratus focuses on pure cloud management, where it does offer some basic server images but lets you fill in the applications. It allows you to make your own templates and script, and offers a handy designer to visually build your deployments.
After logging in, enStratus offers a double navigation, with a top menu bar to cover all their features, as well as “Getting to know enStratus” section on the main dashboard with links to these features. They also provide you with a quick start section to get the motor running. There’s also a service status window, and information about how to contact support.
You can easily switch clouds or regions with their cloud selector.
Launching a server
As mentioned above, enStratus doesn’t offer a marketplace with predefined server templates, you’d have to make these yourself. You can fire up a server with an operating system preinstalled, so I will find out how easy it is to get this going.
You can begin with the link in the quick start section, which takes you to a list of operating systems. All the major operating systems are present.
You can choose the OS you need, and hit the launch button.
A comprehensive pop-up gives you some settings to specify, like which data center you want to use, how much memory the server needs to have and whether you want to terminate or pause it after a certain time.
While being built, you will find your server under “Jobs pending”, and once completed your server is listed in your server overview. You then can set up your server by logging in with SSH, and configuring your server.
enStratus keeps you informed about your running jobs with a small popup. There’s also an agent provided by enStratus which gives you more options to work with your server remotely. It’s mostly used for getting shell access, and needs to be installed on your server. You can also make an image of your current image, which comes in handy if you applied patches or updates.
enStratus works with a designer for setting up your auto-scaling cloud, integrated with one or more load balancers. When you use Rackspace you can designate a normal cloud server as a load balancer. With Amazon AWS you can use Elastic Load Balancing (ELB).
You begin by adding a load balancer, after which you select the components to be in your setup. You can select components (tiers) for your application or front-end and then combine this with a database.
You can scale horizontally by adding more regions or cloud providers. It also keeps track of expected and actual costs.
For each tier you can specify the number or minimum and maximum servers, and when to scale up or down. You can select the servers you want to be in this tier.
This allows you to bring in low RAM servers in your front-end tier, and high RAM servers in your database tier for example. Using the designer brings you immense flexibility in building your cloud, both in functionality and scalability.
enStratus offers a free plan, where you can manage up to 5 servers with most of their features included. After that, you move up to their Basic plan ($50 p/m), where you pay $0.05 per hour per server managed. This comes down to $36 per month per server, and also includes 30 backups. They combine a higher monthly price with a lower price per server, from $500 p/m with $0.04 per server hour to $5,000 p/m with $0.02 per server hour. At these rates you’ll also receive LADP, SAML and APIs.
At first both providers seem to offer the same features. And for the actual server management this is mostly true, each with their own approach. But when it comes to auto-scaling you will find big differences in how you can build up your deployments. Their free plans give you enough opportunity to see what you like. Their pricing differs too, in a way that enStratus charges per server no matter the size, and RightScale charges based on server size in combination with the quantity.
It’s worth doing the math before you make your choice, and calculate what each company will cost you when you become successful.