Назад | Перейти на главную страницу

EC2 экономичное масштабирование веб-приложений

У меня есть веб-приложение, работающее в учетной записи Media Temple VPS, и в настоящее время я оцениваю преимущества перехода на Amazon EC2. Он работает под веб-сервером Apache 2.

Это веб-приложение на данный момент почти не имеет обычного доступа, с некоторыми большими пиками использования, о которых известно за несколько дней до уведомления.

Прямо сейчас в Media Temple у нас есть сервер с 2 ГБ памяти, чего достаточно для больших пиков использования. По мере того, как мы переходим на Amazon, я думаю о двух экземплярах - микро для нормального использования и малый или даже средний для пиков.

Я пытаюсь найти лучший способ сделать это, чтобы это могло сработать. Сначала я мог бы изменить DNS, перенаправив клиентов на более крупный сервер, когда наступят эти пики. Но на мой взгляд это было бы довольно опасно, поэтому я хотел бы знать, как это можно сделать правильно.

Спасибо!

Канонический способ сделать это - иметь несколько серверов приложений за балансировщиком нагрузки (который, если вы используете AWS, может быть их продуктом балансировки нагрузки, ELB). Таким образом, вы можете увеличивать и уменьшать количество серверов приложений по запросу. Обычно это называется горизонтальным масштабированием.

Вам необходимо выяснить, будет ли это работать с вашим приложением. Внедрение нескольких серверов приложений может потребовать от вас некоторой реинжиниринга.

Если это не сработает, то вы обычно застреваете в вертикальном масштабировании (увеличении и уменьшении ресурсов на одной машине), которое не так просто масштабировать вверх и вниз.

Amazon предоставляет несколько услуг, которые помогут вам в этом:

Вам не придется менять DNS, вы можете просто добавить серверы в пул, когда они вам понадобятся, и удалить их, когда закончите.

РЕДАКТИРОВАТЬ: только что видел вопрос в комментарии выше: тестирование в AWS легко, вы можете развернуть пару серверов и балансировщик нагрузки в течение 10 минут или около того и попробовать.