#amazon-web-services #amazon-ec2 #cloud
#amazon-web-services #amazon-ec2 #облако
Вопрос:
Рекомендуется ли всегда создавать одноцелевые экземпляры при создании приложения / системы, которые должны выполняться в облаке (например, AWS)?
Например, должен ли я иметь два экземпляра под управлением MySQL (master slave), а затем два экземпляра веб-сервера вместо объединения web MySQL в один (возможно, больший) экземпляр?
Каковы плюсы и минусы, кроме разделения проблем?
Ответ №1:
Основными причинами, по которым лучше иметь одноцелевые экземпляры, являются:
1) Это проще масштабировать. (например: просто увеличьте узкие места, а не масштабируйте весь стек)
2) Это более безопасно (например: ваша база данных MySQL не находится на сервере, у которого открыт порт 80, потому что он также должен принимать ваш http-трафик)
Единственная веская причина не использовать одноцелевые экземпляры — это цена. Это стоит денег, и для некоторых людей это слишком дорого.
Если вы занимаетесь какой-либо электронной коммерцией, то обязательно используйте одноцелевые инстансы, поскольку этого требует большинство стандартов безопасности (например, PCI-DSS). Если вы используете сайт с контентом, который не имеет компонентов электронной коммерции и не принимает конфиденциальные данные от ваших пользователей, тогда вы, вероятно, можете быть немного свободнее, чтобы сэкономить несколько долларов, но я не рекомендую это.
Ответ №2:
Разделение базы данных отдельно от интерфейсных веб-серверов является стандартной рекомендацией.
Вот хорошая рецензия на некоторые из вопросов, которые следует рассмотреть:
http://www.mysqlperformanceblog.com/2006/10/16/should-mysql-and-web-server-share-the-same-box/