This document outlines 7 best practices for running OpenStack successfully in production based on lessons learned from managing over 50 OpenStack deployments:
1. Instrument and monitor logs, health metrics, and services
2. Implement high availability configurations to prevent single points of failure
3. Backup controller databases and state regularly and test restore processes
4. Automate upgrades and rollouts of controller and compute node software
5. Segregate workloads into tiers based on factors like environment or hardware
6. Use hardened messaging libraries to ensure reliable communication between components
7. Be prepared for troubleshooting and debugging unexpected issues