What happens if I bundle a running RightScale Server instance that has booted and run all the RightScripts?
While you can bundle any running instance we do not recommend this for a number of reasons:
- It forever locks that server image to its installed versions.
- You can no longer dynamically change the input variables. They are locked down.
- Some configuration boot RightScripts cannot be run twice. Running it once will configure a server. Running it a second time will not reconfigure the server. (However, many of the RightScript boot scripts are now "reboot safe.")
- Bundling is time consuming and uses large amounts of disk space.
- Once you have a number of bundled images it becomes very difficult to keep track of the current state each server/image. Although you may be accustomed to tweaking a server from its console and bundling the machine once it's solid the process is very ad-hoc and not repeatable. In a console, there is no accountability or trace of changes. The versioning and diff/merge features of RightScripts or ServerTemplates allow you to track each change so that you know exactly what changed, who changed it, and when it was changed.
- By using RightScripts at boot time you can control the state of the server by precisely using Input variables or changing the values over time. Once you bundle a machine, it is static forever. You no longer have that level of control and customization.
- Bundled images are cloud-specific and require manual replication across different clouds (AWS US-EAST-1, US-WEST-1, EU-WEST-1, AP-SOUTHEAST-1, Rackspace, etc), where ServerTemplates that are using our RightImages are cloud agnostic.
- When you scale vertically and change to an instance type that requires a different base image (e.g. m1.small (32-bit) to m1.large (64-bit) in AWS), you will need to create and bundle 32 and 64 bit images.
Bundling an image with RightScripts on it is certainly not a best practice, and we strongly recommend you do not do this for the reasons stated above.