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 making changes to a server from its console and bundling the machine once it's stable, the process does not scale well. Additionally, there is no tracking mechanism when using the console to make changes. The versioning and diff/merge features of RightScripts and 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 lose a 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), but 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 must create and bundle 32 and 64 bit images.
Bundling an image with RightScripts on it is not a best practice is not recommendedy for the listed here.