RightScale Blog

Cloud Management Blog
RightScale 2017 State of the Cloud Report
Cloud Management Blog

Rackspace, RightLink, Chef, Machine Tags, VPC, and more

Rackspace, RightLink, Chef, Machine Tags, VPC, and more

Yesterday's release included a number of features that I've been itching to get into RightScale for a long time. This stuff is fresh off the press in alpha release form, so we're hoping for your feedback so we can evolve it to suit your needs. Here are the highlights and some background on where we're headed.

First off we're adding Rackspace CloudServers to the set of clouds in RightScale. All you need to do is to get a CloudServers account and enter your credentials into RightScale. Refer to our tutorial for the details. Today we're releasing full support for our ServerTemplate machinery, which is the foundation for building cloud portable systems. The ServerTemplates are built using our new RightLink agent and support Chef cookbooks as well as our standard RightScripts (see below for more info on this). While we don't have a RightImage available for Rackspace yet it turns out that we've implemented enough magic to make the Ubuntu 8.10 (intrepid) image provided by Rackspace work as if it were a RightImage.

Some of the features we're missing for Rackspace are a full set of the core RightScale production ServerTemplates and the support for monitoring, alerts, and automation, such as autoscaling arrays. We're working hard to release all this as soon as we can.

The second major new feature is the RightLink agent which supports not only RightScripts but also Opscode's Chef cookbooks. The RightLink agent connects each server with the RightScale core as well as other servers around it. Boot scripts and operational scripts are launched via RightLink and we'll fully support direct server-to-server communication in a next release. RightLink uses Nanite for the communication, it includes the Chef-client for running cookbook recipes, and it can run RightScripts as well. We'll be enhancing the whole communication infrastructure so servers can communicate with each other efficiently but in a secure and controlled manner, for example to enable application servers to register with load balancers and to locate the currently active database master.

I'm excited that we are supporting the Chef server configuration system. When I started RightScale almost three years ago I wanted to include something like Chef but couldn't get myself to pick among the available options. When I dug into Chef earlier this year and started talking to Jessie and Adam at Opscode it became clear to me that this is the right technology for configuring servers in the cloud. Chef cookbooks are the next level beyond OS distributions like Red Hat and Ubuntu. A cookbook leverages the distro for getting the right bits onto the machine and then layers the operational know-how on top: how to configure everything and perform operational tasks. RightScale's ServerTemplates then combine all the cookbooks needed on a server into a portable package and add the coordination between servers. After all, no server operates alone in the cloud.

A nice side effect of using Chef is that we've been able to embrace git for developing cookbooks (svn is also supported). We publish our cookbooks on GitHub, where you can fork and change what we offer to suit your needs. The RightScale website pulls metadata information about each cookbook directly from GitHub or any accessible git repo and servers also get everything directly from git. This means that all of git's (or svn's) software development goodness (branching, merging, tracking) is now integrated with RightScale ServerTemplates.

We still have to put together a getting started tutorial for Chef, but we have published a sample ServerTemplate called "Rails all-in-one (EC2 Chef Alpha)." It launches and comes up running the Rails Mephisto blogging app. It's a bit on the slow side to boot - we have a number of things to optimize - but it does pull from the public Opscode and RightScale cookbooks on GitHub. Look into the ServerTemplate under the Repos tab and you'll see the definitions for the repositories.

But there's more! We've started to add Flickr-style machine tags to RightScale resources. A machine tag is a tag that follows a special triplet syntax of namespace:predicate=value. The purpose of machine tags is to allow anyone or any external application to attach metadata to RightScale resources. Right now tags are available for Servers, Images, and EBS Snapshots. Rather than start attaching tags everywhere we preferred to start using tags ourselves for something concrete so we can ensure we have a good feature set. We're using tags now for snapshots to control the rotation of backup snapshots and to organize snapshots of multivolume stripes. We'll soon use tags to encode the features provided by images, to say whether they're RightImages, support RightLink, support the freezing of repositories, and so on. But most importantly we'll add API access to tags so you can attach your automation to tags. We'd love to hear from you what exactly we need to provide. In the meantime you can add tags to servers and use them in the UI to filter the list of servers you see.

Amazon has been on a tear lately, with few weeks going by without a new feature announcement. The most important news to come along in a long time has been the introduction of Virtual Private Clouds (VPC), and we're pleased to support them in this release, which means that you can create subnets in your VPC and launch servers into them. We're also now supporting the purchase of reserved instances straight from the RightScale dashboard, plus we'll show what you've purchased.

Finally, we've improved the speed of the site across the board, especially for larger accounts with lots of servers. We continue to appreciate feedback on anything that doesn't work well or that we should enhance; use the feedback link on our site or email feedback@rightscale.com directly.

I hope you'll enjoy the new features as much as we do - yes, we eat our own dog food and manage RightScale using RightScale!