An important concept to understand is why RightImages are recommended for launching servers in the cloud.
What is a machine image?
In order to launch a server in any public/private cloud, you must use an appropriate machine image that's compatible with the instance that type you're going to launch in that particular cloud. Machine images are cloud-specific and are cloud resources that must exist in that cloud's resource pool. For many clouds, images are either publicly available or reserved for private use only. Typically, an image will be a bundled version of an instance you're going to launch, which includes a base operating system, software installations and other networking tools and configurations.
Problems with machine images
- Server-specific - Custom images can be useful for launching identical instances that are never going to change. As a result, you'll have to create a custom image for each type of server you're going to launch. If you're not careful, bundling images can become a maintenance and versioning nightmare. See Why should I use RightImages instead of building custom images?
- Cloud-specific - An image can only be used in the cloud in which it exists. You cannot use a custom image that you built in one cloud (region) and use it to launch an instance in another cloud.
- User-specific - Obviously, if you're going to use your own custom images, then you're going to be the one creating and managing all of those images. Instead of putting all of your customizations into the image, it's recommended that you use the ServerTemplate model and create scripts that will install and configure your server accordingly after a base RightImage is installed. By using ServerTemplates and scripts to customize the server along with a lightweight RightImage, you will never have to worry about creating your own images and can focus your time and effort on improving your application.
- No Upgrade Path - If you build a custom image, you will only be able to use it in the cloud in which it was built. For AWS, EC2 images are also architecture-specific. Therefore, if you are using an 'm1.small' instance type and you later want to vertically scale to a larger instance type, you will need to create a new 64-bit image from scratch because you cannot use a 32-bit image to launch an 'm1.large' instance type. Similarly, if you want to change from one AWS region to another, you will also have to manually replicate it to the other region or rebuild the custom image again from scratch.
What is a RightImage?
Glossary of Terms
See FAQ 178 - What's inside of a RightImage?
Benefits of using RightImages
- Built-in RightScale Support - RightScale can manage servers launched with RightImages in a more optimal and secure manner. Only servers that are launched with RightImages or equivalent RightScale-enabled images support the following RightScale features: real-time monitoring, alerts, log data, audit entries, the execution of scripts, and many more.
- Easy Upgrade Path - If you want to take advantage of a newer RightImage that was recently released, you can simply import the new MultiCloud Image (MCI) from the MultiCloud Marketplace and update your server's configuration or ServerTemplate accordingly. Vertically scaling is also easy if you're using RightImages because all you have to do is select the appropriate version that supports the instance type. For example, if you're upgrading from an 'm1.small' to an 'm1.large' instance type in EC2, all you have to do is select the 64-bit version of the RightImage.
- Cloud Portability - Since every RightImage that is published by RightScale is replicated and made available across all RightScale supported clouds, you'll be able to easily change where a server will be launched.
- Production-ready Images - All RightImages are thoroughly tested by RightScale before being published and are suitable for launching servers in production environments.
- Consistency - Simplify your deployment setup by using the same RightImages for all servers to maintain server consistency at the image level.
Can I create a RightImage of my own?
RightScale produces RightImages for the most commonly used OS distributions. See OS and Software Package Support. However, your application may have unique requirements that may not be supported by one of the available RightImages. In such cases, you can create your own RightScale-friendly image by following one of our RightLink installer tutorials. See Creating RightScale-enabled Images with RightLink. RightLink must be included in your custom images in order to take advantage of all the automation features within the RightScale platform. Also, you can only successfully use ServerTemplates published by RightScale if you're using an image that includes RightLink.