We have a Java EE application (EAR file deployed on JBoss, MySQL, MongoDB) which we would like to deploy on an Amazon EC2 instance. I have several questions regarding deployment best practices.
- What is the most commonly used Linux AMI which we can rely on for a robust deployment (There are so many Linux variants, and I am not sure which AMI is commonly used, is it Fedora, CentOS, Red Hat, SUSE ...)
- How do we handle production upgrades (EAR file modifications or schema upgrades)? Are there any tools which are available to handle this installation or rollback of these changes?
- What kind of data backup capability is available for the database?
- Should I rely on Amazon RDS for MySQL support?
- How should I handle support for MongoDB?
This is the first time, I am hosting a web app, and would appreciate some inputs on how to manage the production instance.