Всем привет! Сегодня мы поговорим о том, как «профессионально сэкономить» деньги при использовании облачных сервисов Amazon Web Services при хостинге веб-решений, адаптированных для России.
Мы активно пользуемся услугами этого облачного провайдера для проектов компании уже почти 2 года и постоянно оптимизируем расходы.
Довольно странно, что очищенная от маркетинговой ерунды важная тема оптимизации затрат на Amazon Web Services как-то не особо представлена в Интернете.
Я постараюсь предметно поделиться своим опытом и обозначить очевидные преимущества и ошибки, которые следует учитывать при проектировании веб-систем.
Где запустить приложение?
В США (Вирджиния, Орегон) стоимость почасовой аренды виртуальные машины существенно дешевле, чем, например, в Европе и других регионах AWS. Но это все равно цветы.Ягоды - если брать виртуальные машины оптом на год вперед - тогда за виртуальные машины в Европе вы заплатите почти на 50% меньше, а в США - на 60% меньше (мы используем стандартные виртуальные машины: m1*, m2*, c*).
Если вы покупаете автомобили на 3 года вперед, экономия будет еще больше.
Кроме того, Amazon запускает в производство новые полезные технологии, обычно сначала в США.
Например диски с гарантированным и заданным количеством IOPS при создании - поставил минимум 1500 IOPS на 4-х дисках в рейде 10 и забыл о производительности MySQL :-) Также, облачный кэш И СМС-уведомления из облака впервые появились в американских дата-центрах Amazon. То есть, если вы хотите быть на шаг впереди и платить меньше за услуги — запускайте в дата-центрах в США.
Однако размещение российских проектов в США имеет и свои недостатки.
Один из них — задержка 150 мс — но если статические ресурсы передаются в Амазон CDN или внутренний CDN — тогда задержка практически незаметна, поскольку клиент получает статические данные с ближайших к браузеру серверов с минимальной задержкой (единицы, максимум десятки мс).
Во-вторых, дата-центры в США, особенно крупнейший в Вирджинии, падают, мягко говоря, чаще, чем ближайший европейский в Ирландии.
Видимо в США грозы случаются чаще :-) В общем, если вы хотите новые эффективные технологии в облаке, дешевле, вы готовы настроить CDN для возврата статических данных и разместить приложение как минимум в 2-х локальных дата-центрах в регионе Amazon для переключения трафика с одного DC на другое незаметное для клиента попадание молнии или другого предмета - можете смело выбирать США и размещать там свое веб-решение (это не сарказм, это минимум, чтобы клиент почти ничего не заметил :-) ).
Ээкономия за счет архитектуры веб-решения
Вот самая интересная часть.Оказывается, если внимательно прочитать об облачных кирпичах, предлагаемых Amazon, таких как автомасштабирование групп машин И балансировщики нагрузки Выпив крепкий кофе, мы видим, что вы можете запускать части вашего веб-приложения.
на неиспользуемых мощностях облачный провайдер, стоимость которого В НЕСКОЛЬКО РАЗ ниже номинальной почасовой ставки - т.е.
почти даром :-) Те.
Если:
- Ваше приложение не хранит файлы на виртуальном диске, а хранит данные в базе данных и/или памяти.
- Образ виртуальной машины запускается контроллер группы автоматического масштабирования - например, в зависимости от нагрузки (у нас именно так)
- Клиенты получают доступ к кластеру машин через облачный балансировщик
Нагрузку возьмет на себя «копеечная» группа, со стоимостью машин, скажем, 8 центов в час (описываю реальный пример из производства) — и в редких случаях удорожания спотовых инстансов.
, нагрузка автоматически будет принята на себя основной группой машин.
В любом случае вы сэкономите в несколько раз на почасовой стоимости.
Вот конкретный пример:
Розничная стоимость виртуальной машины c1.xlarge в регионе us-east-1: 0,58 доллара США.
Стоимость той же виртуальной машины, арендованной в качестве спотового инстанса в обмен на неиспользованные ресурсы, порой поднимается выше $0,08. Те.
если у вас есть кластер из 15 c1.xlarge — сделайте 2 кластера, один с «дешевыми» машинами размера 13, и один из стандартных машин размером 2 за $0,58. В случае возможного повышения цены спотовых инстансов выше номинальной каждые несколько месяцев вы автоматически масштабируете стандартный кластер.
Однако отмечу, что такой большой экономии можно добиться, к сожалению, только в американских регионах Amazon — в Европе спотовые инстансы стоят не так дешево, но и существенно дешевле обычных (0,17 доллара вместо 0,08 доллара в данном примере).
И важно, конечно, понимать ограниченность спотовых инстансов — их цена колеблется и может подняться даже выше розничной почасовой ставки (это, по нашим наблюдениям, случается крайне редко) — в этом случае кластер спотовых инстансов начинает гасите машины (разумеется, mysql на машинах держать нельзя, а апачи не умеют).
Ваше веб-приложение должно иметь возможность обрабатывать этот случай и автоматически расширять кластер обычных компьютеров.
Мы решили эту проблему, совместив тест использования ЦП в CloudWatch с группами автомасштабирования — работает «из коробки» без головной боли.
Полученные результаты
Это не все способы «экономить как профессионал» с помощью AmazonWebServices. В следующих статьях я расскажу о других, не менее эффективных методах — например, копирование корзины s3 в корзину s3 без сжигания трафика и т. д. В статье я постарался объективно обосновать плюсы и минусы, риски использования американских регионов Amazon для российских веб-проектов и на примере показал, что заложив масштабируемую кластерную архитектуру для веб-решения, можно существенно сэкономить на аренда мощности виртуальной машины.Желаю всем удачи, побольше хороших идей и эффективных архитектурных решений и приглашаю всех на конференция , посвященный отказоустойчивости веб-приложений как на обычном хостинге, так и в облаках! Теги: #1С-Битрикс #amazon #кластеризация #Разработка сайтов
-
Отдам Домен И Сайт Pastebin.ru.
19 Oct, 24