Well, with Ruby anyway, at least as a scripting framework.
Learned two excellent principles for getting WebSphere to work well in on-demand virtualization environments like the Amazon EC2 cloud:
- Use Dynamic DNS and scripting. WebSphere must know in advance what nodes are in a cell, and nodes are tied to hostnames. EC2 won't give you a hostname until you boot, and you cannot predict or control what you get. Solution ... as part of your post boot sequence call out to one of the many Dynamice DNS services and "tell" the service the IP address of your node name. From then on your dynamic instance will answer to the hostname in DNS. Note: this has security implications beyond the scope of a quick blog entry but you can deal with impersonation, etc. by using your own domain, not one on offer by the DynDNS service
- As much as possible keep your EC2 image simple and download customizations to it at boot time. Otherwise the image build cycle will make your life deeply unpleasant. The folks at RightScale have it down to an art.