TvE 2100

At 2100 feet above Santa Barbara

In the News

Technology Council of Southern California Names RightScale ‘Best of Show’ at VentureNet(TM) 2007

TORRANCE, CA – /PRNewswire-USNewswire - Oct. 24, 2007/ - The Technology Council of Southern California, http://www.tcosc.org, today announced that RightScale, Inc. was voted “Best of Show” at VentureNet™ 2007, the region’s premier capital conference for technology companies. The vote came after excellent presentations by 13 of the most promising new technology companies in the region.

The Best of Show award was voted on by a select group of investors, who reviewed each company against five criteria: – Most innovative product or service – Most promising company – Most compelling value proposition – Best investment opportunity – Best presentation

“The quality of this year’s presenters was unparalleled,” said Jon Kraft, Technology Council chairman of the board. “As our attendees have come to expect, all of the presentations were clear, concise and positively received by the venture capitalists on the review panels, and we are pleased to give the Best of Show designation to RightScale, Inc.” Read the full release here

Business Objects and Citrix Systems Simplify Reporting for Mid-Market Customers

LAS VEGAS – /BUSINESS WIRE - Oct. 23, 2007/ - Building on the success of its Open Appliance Initiative, Business Objects (Nasdaq: BOBJ) (Euronext Paris ISIN code: FR0004026250 - BOB), the world’s leading provider of business intelligence (BI) solutions, today announced it has partnered with leaders in the application delivery space - including Citrix Systems (Nasdaq: CTXS), rPath, and RightScale - to deliver a Crystal Reports® Server XI virtual appliance. The new offering is a pre-installed and pre-configured solution that will help reduce deployment time from days to minutes. In addition, for the first time, the two companies are offering customers a chance to instantly evaluate the product through a virtual ‘test-drive’, thus eliminating the cost and complexity typically associated with enterprise software evaluations. Read the full release here

RightScale Wins ‘Best of Show’ at VentureNet 2007 for Pushbutton Delivery of Cloud Computing

SANTA BARBARA, CA – /Marketwire - Oct. 22, 2007/ - RightScale, Inc., the award-winning provider of the leading management platform for emerging Internet infrastructure services, today announced it earned top recognition at VentureNet 2007 for “delivering on the promise of cloud computing.” Distinguished as a “company to watch” by a committee of venture capital, angel investors and sponsors at Southern California’s premier technology investment event, RightScale won Best-of-Show for its leadership vision and demonstrated ability to target customers, provide a best-of-breed solution, drive competitive advantage and deliver superior shareholder value. Read the full release here

64-bit CentOS5 Amazon EC2 Image Release

A 64-bit version of our CentOS5 image is now available for general consumption! The image is called RightImage CentOS5 x86_64 V1_12 with AMI ID ami-31c72258 and location rightscale_images/CentOS5_X86_64_V1_12. See the changelog for info on past images.

This is our first public image for the large instance types and we hope we covered all bases, but we’re eager to hear whether everything works as expected. As promised the script to create the image is also available. To run the script, launch Amazon’s 64-bit FC6 image and run through the steps…

A little background on RightImages for those of you not familiar with what we’re doing: to configure servers we use a base image and install software at boot time using our server templates and RightScripts. This is way more modular and maintainable than baking entire servers into AMIs. Please see our blog post on the rationale behind this. As a result, we produce base images that are small yet have all the software utilities one just needs in EC2 already installed, from the Amazon EC2 tools to traceroute, curl, wget, etc. The second innovation we made with our images is that they are fully scripted and we publish the script. You can launch Amazon’s FC4 or FC6 image, run our script, and out pops a clone of our RightImage. So if you want to see what we install or make some changes you can go right ahead.

New Right_aws Ruby Gem Released

We just released a new version of our Right_aws ruby gem on RubyForge. This gem provides Ruby interfaces for Amazon EC2, S3, and SQS using Amazon’s REST and query interfaces to provide full programmatic control of the three services. An optional robust HTTP layer retries and clears transient errors. New in this release is support for the large EC2 instances and improvements in the automatic error retries, specifically in promptly re-resolving the *.amazonaws.com hostnames on error. The documentation for the gems is online at RubyForge.

We have been using the right_aws gems in production since February and are continuously improving and updating them with any new features offered by Amazon. The original goal for the gems was to produce a robust production quality interface to AWS with full error handling, persistent connections, automatic retries, and high performance. We’re glad to finally be able to make them available to the Ruby community at large!

If you are finding bugs or have suggestions for improvement please email support@rightscale.com. We will do our best to respond to bug reports quickly, of course we always appreciate patches! (Someone recently asked us to support the S3 usage logging features, we hope to have this soon.)

RightScale Supports Amazon’s New Machine Types

Amazon just introduced new types of servers, larger ones! Until now it was a “one size fits all” model where you got ½ an Opteron CPU, 1.75GB of memory, and 160GB disk. Now you can get a server with two full Opteron cores, 7.5Gb memory, and two 420GB spindles; or a server with four cores, 15GB memory and 4x 420GB spindles. the new instances cost 4x and 8x the original ones ($0.40/hr and $0.80/hr).

Of course RightScale supports the new instance types! When you launch an image, you can now select which type of instance you’d like to launch. Couldn’t be easier! Well actually, you’ll quickly discover that it’s not quite this easy because the new machines run a 64-bit architecture and thus require a 64-bit Linux installation, meaning that none of the old machine images work on the new instances. RightScale to the rescue: we have a 64-bit CentOS image in beta, it’s called “Centos 5 64 V1_11_3” (ami-fbf31692). You can use it interchangeably with the 32-bit one. (We’re producing a more final RightImage today.)

With the advent of the new instance types I sincerely hope you’ve been building your servers using our server templates, because, guess what, all you have to do is change the base image of your templates and voila! it probably runs fine without any further changes. You don’t have to rebuild all your images for 64-bits. The only gotchas are packages that you require that don’t exist for X86_64 in the repositories, or binaries you may have attached to your RightScripts. We’ve had to tweak a few RightScripts to get our MySQL master and slave set-up to run, but it was pretty painless and customers of ours have been really happy with the larger instances.

If you’re reading this I’m sure you’re dying to see your own web site backed by two screaming MySQL servers on the “x-large” instances: drop us a line at sales@rightscale.com ;-)

More Rails on Amazon EC2 With RightScale

We’ve had a number of users getting going with our Rails-all-in-one server template and from the questions we’ve received it’s clearly time to cover some more advanced topics.

Database backups

The template does include automatic database backups but you need to provide the necessary information to enable them. Edit the template before launching the server and fill in the DB_MYSQLDUMP_BUCKET, DB_MYSQLDUMP_PREFIX, and DB_SCHEMA_NAME variables as shown in the screen shot below (ignore the DB_NAME and DB_PASSWORD).

db backup settings

The mysql dumps will be stored in the bucket you name with a filename consisting of the prefix and the date/time. In my example, it would be something like test-dump-200710081047.gz in the tve-backup bucket.

Additions to the server template

If you want to add additional functionality to the template, such as installing a cron job that does some daily back-end processing, you can clone the server template and add your own RightScript that installs and configures that functionality. If you parametrize your RightScript you can plug it into other server templates in the future. Let’s walk through an example. First let’s create a RightScript: go to the Design > RightScripts menu entry, hit the New RightScript button and enter something like this:

demo script

Note that I used an all-caps variable APPLICATION_LOG_DIR in the script and hit the Identify button to locate such all-caps variables and flag them as input parameters to the script. This will allow me to set the parameter when I launch the server. The way these parameters work is that the value is passed into an environment variable when the script is run. (This example script is not tested and I just notice that a chmod +x of the script is needed for sure…)

Now we can insert this RightScript into the server template, but first we need to clone the server template so we can modify our copy (note that the security group and ssh keys have to be entered into the template before it can be cloned, see step 2):

clone template

Now add the script to the template’s boot sequence:

add script

ImageScience

Many folks are starting to use ImageScience to resize uploaded images and that requires FreeImage. How do you install all that? You can download FreeImage, compile it, create an RPM, and then write a RightScript that installs the RPM, or you could just ask us… Go to the server template that needs ImageScience, clone it if you haven’t done so already, and then add our FreeImage installation RightScript to the boot sequence as follows:

add FreeImage

You should then move the script into the middle of the boot sequence:

move FreeImage

You also need to install the ImageScience gem:

Add the “RB custom gems install v1” RightScript after the FreeImage RightScript and put “image_science” into the resulting OPT_GEMS_LIST variable in the server template (this RightScript might already be in your server template).

How to make DNS work

Now that you have customized your server template you can launch your server, but for people to find your site you obviously need to point DNS at it. The short answer is that you can do this manually or automatically. To do it manually, once your server is operational, you need to find out what it’s IP address is. You can locate the public hostname on the RightScale web site and enter it into your favorite DNS service. To automate this, we wrote a RightScript that does a wget or curl request to the DNS service we use (DNSmadeeasy.com) to set the IP address. To implement something similar you can locate the public IP address in /var/spool/ec2/meta-data.sh, the easiest is to simply source that file in a shell RightScript. To make all this a bit easier we’ll publish our DNS RightScript for DNSmadeeasy.com shortly.

More questions? Please don’t hesitate to post a comment here or to send us email at support@rightscale.com

Upload Server Fragment

Many of our customers also make use of our upload server, which takes HTTP POST file uploads from web browsers and pushes them through to Amazon S3. The upload server is completely independent of the application and gets all the information it needs to store the file on S3 from the POST made by the browser. (It also notifies the web site of the upload using a POST with all the information.) The upload server can do simple image transformation, so for customers uploading images it can generate multiple sizes of thumbnails “on the fly.” Well, because the upload server is separate from the web server it can sit on the side. The best is to use a bank of multiple upload servers that are shared across all the sites. This gives the best redundancy and resource usage. The upload servers can be load balanced using round-robin DNS or a set of software load balancers on the same set of instances.

Deploying Many Rails Sites Onto Amazon EC2

One of our customers is deploying many Rails sites onto EC2, more precisely, many instances of virtually the same site. Basically they have a Rails application and they tweak it for each individual site they set-up. EC2 is a wonderful deployment platform for this type of business because there is very little friction in adding customers since it takes just one button press to get more servers.

The overall architecture concept we’re using for this customer is to build a number of app+database clusters and to load multiple sites onto each one. The number of sites per cluster can be adjusted such that the database portion of each cluster is loaded up optimally, and it’s designed such that sites can be moved around easily, for example to offload a cluster that may have become too heavily loaded as some of the sites on it have grown.

In the end, the architecture boils down to having two instances running a mysql master/slave set-up managed by our Manager for MySQL plus two instances running load balancers and Rails/Mongrel as redundant app servers. This makes for a fully redundant cluster on which a number of sites can be hosted. It is also easy to add a few more EC2 instances running Rails depending on the Rails vs. MySQL workload balance.

Each site on a cluster has its own logical database (i.e. what MySQL calls a “database”), this makes it easy to backup and restore a site individually, and most importantly, to move a site to another cluster in order to free up resources on the original one. The sites on a cluster can also share the app servers as long as there is no HTTPS involved. The reason for this caveat is that each Amazon EC2 instance has only a single IP address and it is not possible to do “virtual hosting” with HTTPS sites. With HTTP all the www.site1.com, www.site2.com, etc. DNS entries point to the same two load balancing instances (using what’s called “round-robin DNS” for fail-over purposes) and the load balancer (or front-end Apache, if used) figures out which site the user is visiting based on the “host” header included in every HTTP 1.1 request.

What’s really nice about these 4-6 machine clusters is that they’re very powerful yet so simple. There’s no “infinitely scalable” magic under the hood that breaks at the worst moments. No, it’s a plain set-up that anyone with a bit of experience can fully understand. The magic is that it’s so easy to set these clusters up with Amazon EC2 plus RightScale so you can really take advantage of the same “horizontal scaling” as the big guys (Google, Yahoo!, etc.).

One of the interesting design decisions with all this is how to set-up DNS. For example, the app for site1 needs to locate the IP address of the database it’s supposed to talk to. We use DNS as follows: * the app connects to db-master.site1.com * db-master.site1.com resolves to a CNAME for db-master-cluster3.company.com * db-master-cluster3.company.com resolves to the IP address of the instance that currently hosts the master * DNS for db-master-cluster3.company.com is set-up with a low TTL (we use 75 secs) and supports dynamic updates * if the DB master crashes or is otherwise replaced the db-master-cluster3.company.com DNS entry is automatically updated by the RightScale MySQL manager, which switches all the sites hosted by that cluster over with one stroke * if site1 is moved to different cluster, then the CNAME has to be updated to point to the correct cluster DB

For the web sites themselves its also nice to use CNAMEs: * www.site1.com points to www-cluster3.company.com * www-cluster3.company.com resolves to the IP addresses of all the load balancer instances * if a load balancer instance is restarted, the www-cluster3.company.com entry is dynamically updated * if the site is moved to different cluster, the CNAME needs to be updated

Wow, it’s amazing all this is actually possible and not just a dream! Amazon EC2 enables it and RightScale makes it possible to manage without an army of sysadmins running around and tweaking servers all the time.

New CentOS5 RightImage V1_10 Published

A new RightScale CentOS5 base image (RightImage) is available: RightImage CentOS V1_10 ami-08f41161, please see the changelog for the details of what has changed. We also try to keep the Public AMI listing on Amazon’s site up-to-date.

A little background on RightImages: to configure servers we use a base image and install software at boot time using our server templates and RightScripts. This is way more modular and maintainable than baking entire servers into AMIs. Please see our blog post on the rationale behind this. As a result, we produce base images that are small yet have all the software utilities one just needs in EC2 already installed, from the Amazon EC2 tools to traceroute, curl, wget, etc. The second innovation we made with our images is that they are fully scripted and we publish the script. You can launch Amazon’s FC4 image, run our script, and out pops a clone of our RightImage. So if you want to see what we install or make some changes you can go right ahead.

Note that an Ubuntu 7.04 RightImage should be available soon. We’re not sure how much support for Ubuntu we can realistically provide, but we’ll at least have a base image and be able to run RightScripts.

Service as Software

I had a chat this morning with Doc Searls and he coined “Service as a Software”, obviously as a reversal of the common “Software as a Service”. A little googling reveals that Netsuite has used the Service as Software term for a while now, but I had not heard it before. Obviously RightScale is a Software as a Service business: we are writing the RightScale software and we sell it in the form of a monthly subscription service. We run this software for you and ensure that everything scales according to your needs and so you don’t need to think about where to run it, how to upgrade it, etc.

But the RightScale product is also “Service as Software”: most people think of IT or system administration as being a service performed by humans. We are selling sysadmin expertise in the form of software. What we experienced when we started to use Amazon EC2 is that the sysadmin tasks just explode: we want to launch many more servers than before because now that it’s easy to do so, we see more cases where servers make life easier. If a couple extra servers can solve a problem, then chances are high that it’s the cheapest way to solve the problem! But, and it’s an all-caps BUT, only if these extra machines don’t create a sysadmin nightmare and escalate the sysadmin costs to the point where the savings evaporate. The goal of RightScale is to automate the sysadmin tasks such that they don’t escalate, such that launching 10x more servers doesn’t cost more sysadmin time. So we’re trying to encode the human sysadmin service into a piece of software which we sell as an online service (SaaSaaS?).

Is RightScale a sysadmin killer? I don’t think so. We currently expect our customers to have a sysadmin, or to dedicate someone’s time to sysadmin functions. RightScale multiplies that sysadmin’s efforts so he/she can focus on the interesting stuff that requires a brain and not get bogged down in busy-work, such as setting up the Nth web server, or restarting a server that failed at 2am. RightScale empowers sysadmins to manage more machines!

RightImages Changelog

We are currently maintaining CentOS and Fedora Core RightImages. The motivation for these images and the way we build them automatically using a script is described in our RightScripts rationale blog entry. The short version is that we keep the images up-to-date with distribution releases, we add all the basics needed for operation under EC2, and we add scripts designed to make them work hand-in-hand with the RightScale features. As a community service, we are making the image creation scripts available for free so you can build your own images if you want to tweak what we provide.

We have received a number of requests for a similar Debian/Ubuntu image. While we’re excited about something like this and are keeping it on our to-do list, the truth is that (a) unless we have a customer we probably won’t get to it, and (b) we are focusing all the new RightScale goodies on RedHat based distros, not that things wouldn’t work under Debian but it’s more work to test it all. In any case, we’re open but also very busy…

October 23rd RightImage CentOS5 X64_64 V1_12

  • CentOS5 X86 64-bit image for Amazon EC2 large instance types (“large” and “x-large”)
  • AMI-ID: ami-31c72258
  • Script
  • Changes:
    • Same as 32-bit V1_10 but for 64-bit architecture

September 26th RightImage CentOS5V1.10

  • CentOS5V1.10 RightImage
  • AMI-ID: ami-08f41161
  • Script
  • Changes:
    • CentOS5(core,updates) mirror on S3
    • RubyForge Mirror on S3
    • New Software
      • sysstat
      • rpmbuild
      • fping
      • rrdtool
      • bwm-ng
    • Image size reduced from 880MB to 500MB.

July 10th RightImage CentOS5V1.6

  • CentOS5V1.6 RightImage
  • AMI-ID: ami-9a9e7bf3
  • Script

  • Added development tools gcc,gcc-c++, automake, bison, flex, cvs, subversion (probably the most requested change)

  • Added SSH keep-alives (large ClientCountMax setting to accommodate clients that do not respond to keep-alives)
    • ClientAliveInterval 60
    • ClientAliveCountMax 240
  • Gems - net-ssh, xml-simple, net-sftp installed by default. ’
  • S3Sync updated to version 1.1.4
  • Cron Job to check for AMI-Tools update.
  • Ruby no longer errors about /home/ec2 being world writable.
  • getsshkey service added to fetch ssh key from EC2 early in boot.
  • RightScale service moved to position 81, after ssh and postfix.
  • Yum default repository for Base, and Updates now internal to improve boot times.
  • Many new rightscale service features. Please see upcoming blog entries for new features.

April 27th, 2007 RightImage FC6V2 and CentOS5V1

  • FC6V2 RightImage: AMI-ID ami-2c8f6a45 and script
  • CentOS5V1 RightImage: AMI-ID ami-268f6a4f and script