With last week's release we relatively quietly threw a big switch, which allows all RightScale users to publish their own ServerTemplates to the RightScale community via our component library. This means that you can now publish a complete server configuration for your favorite software in RightScale!
A ServerTemplate is the recipe for configuring a complete server running a particular software stack, with the important twist that it is easily customizable and maintainable, unlike a virtual machine image. We have published a variety of free as well as a number of for-pay ServerTemplates to our users for several years now. They include all-in-one ServerTemplates for PHP, Rails, and Java development environments to MySQL master/slave templates with full replication, EBS volume striping, and backups. We also have a rapidly growing number of third-party software vendors that have published their software on the RightScale platform for both existing and new users.
Why publish software in the form of a ServerTemplate on RightScale? I'll leave the marketing benefits to our ISV partner page and focus more on the technical benefits, which are a direct response to what we've found our partners need:
- cloud portability: ServerTemplates based on RightImages are immediately available in all AWS regions, plus work on private clouds like Eucalyptus and Cloud.com
- multi-server configurations: combined with macros, ServerTemplates can define a complete multi-server environment, allowing you to in effect publish a full cluster config
- fine grain control of access rights: you can publish to everyone or you can control exactly who has access to the ServerTemplates you publish
- ability to attach EULA: you can upload EULAs and attach them to ServerTemplates such that users get prompted during the import process
- ability to track usage: you can track how your users use your ServerTemplates, how many hours they run and on which types of servers; for public ServerTemplates the usage is anonymous, otherwise you can track it by account
- ability to meter usage: the tracking of usage enables metering so you can bill on a usage basis
- customizable: your users can easily import your ServerTemplate, try it out, then clone it to modify pieces to better suit their needs, e.g. by integrating other software on the server for security, monitoring, logging or other purposes
- built-in versioning: published ServerTemplates are automatically versioned, users can diff and merge changes
One example I'm really excited about is the memcache and membase ServerTemplates that our partner NorthScale has just published. Almost all our customers are using memcache and I can't even count how many memcache clusters our largest gaming customers are running. Sometimes it seems most of EC2 must be just a giant memcache ;-). Anyway, the NorthScale ServerTemplates contain the clustered versions that can automatically distribute the data across the cluster, making them ready to scale up.
Here's how this looks in the library:
And here you can see how the user is asked to accept a EULA as part of the import process, which has been a hotly requested feature by our partners:
But our publishing options are not just for ISVs: our larger customers, especially in enterprise settings, also use them for internal publishing or sharing. The canonical example is a power-user IT team preparing ServerTemplates in one account and sharing them with end-user accounts within the same enterprise. This way the end users can be handed self-service configurations that they can launch when they need them and shut them down again when they're done. The key here is that the power user team retains control over the software configurations but can easily deliver agility of resources: users decide how much they need and when they need it.
All this publishing and sharing in RightScale is unique. The vast majority of software publishing systems only support the free-for-all model of publishing free versions to anyone. That's nice and we're strong open source supporters, but the reality is that many businesses need to publish software in a much more restricted and controlled manner, including many forms of internal publishing, sharing within an organization and collaborating across organizational boundaries. We've been at work for years at RightScale to enable all these forms of sharing software configurations and ready-to-run IT resources. The idea is simple yet there's really a rather complex system underneath to make it possible. Last week's release marks a major milestone in enabling publishing in the cloud. We hope you like it!