Best practices in the cloud¶
As you learn about and experiment with the many options available to you in the Rackspace Cloud, remember these best practices:
- Assume failure can happen and design accordingly. Don't rely on individual resources such as VMs and storage to always be available.
- Decompose your application into smaller individually scalable parts. Don't have a monolithic server that scales up as your demand grows.
- When you must stop or reboot an active server, always do so via the operating system. Using the Cloud Control Panel to initialize a running server can lead to data loss and should generally be avoided.
- Deploy a load balancer to allow you to more easily scale and update your application. Follow the configuration guidelines at Configure a Load Balancer.
- Deploy backup and/or monitoring for your most important servers. Configure Cloud Backup as discussed at Rackspace Cloud Backup overview.
Other best practices relate to specific services, options, and configurations:
Best practices for orchestration¶
- Always configure services and applications to restart upon reboot.
- Use config drive and cloud-init to bootstrap your servers as described at Using Cloud-init with Rackspace cloud.
- For Cloud Images, use the UUID where possible because the UUID of an image cannot change, whereas the name cannot be guaranteed to be constant.
- Use base images rather than snapshots for build-time performance.
- Automate configuration tasks whenever possible.
Best practices for security¶
Best practices for storage¶
- Use attached storage whenever possible because it will allow you to resize, backup, and plan for failure more gracefully. Follow the tutorial at Create and Attach a Cloud Block Storage Volume.