рекомендуются ли одноцелевые экземпляры?

#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/