Вложенный класс является очень общим термином: каждый класс, который не является верхним, представляет собой вложенный класс. Внутренний класс - это нестатический вложенный класс. Джозеф Дарси написал очень приятное объяснение о Nested, Inner, Member и Top-Level Classes .
Ответ зависит от ожидаемой нагрузки и ресурсов, необходимых для выполнения всех задач администрирования.
Если вы ожидаете большой или переменной нагрузки, есть много причин, почему бы не развернуть производственное приложение PHP + MySQL на EC2.
Здесь приведены некоторые преимущества развертывания в Elastic Beanstalk вместо конфигурации EC2, настроенной вручную:
Вы получаете контроль версий каждого развертывания.
Вы можете автоматически увеличивать или уменьшать масштаб, если вам нужно больше / меньше экземпляров для обработки новой нагрузки.
Вы получаете балансировщик нагрузки перед вашими экземплярами EC2 с кучей готовых «рекомендуемых» конфигураций.
Что касается MySQL, если вы выбираете экземпляр Amazon RDS, вы можете обрабатывать репликацию, мониторинг и автоматическое резервное копирование с довольно небольшими усилиями. Многие конфигурации, которые вам необходимо настроить, теперь доступны через группы параметров.
С другой стороны, если вы хотите иметь полный контроль над всем, что происходит на вашем сервере (это означает, что у вас есть время для мониторинга, резервного копирования и выполнения задач обслуживания, что не в моем случае :), или если вы не планируйте много трафика, или, если вам нужен менее дорогой вариант, вы должны использовать недорогой экземпляр EC2.
По моему опыту (после 2 лет работы с AWS с 10 производственными приложениями я являюсь обычным пользователем AWS) практически во всех настройках или изменениях, которые мне требовались как в RDS, так и в EBS, я смог их настроить и заставить его работать, так что я вполне доволен выбором опции EBS + RDS.