Как можно раздуть стоимость проекта на 1.5 пользователя? Об AWS, девопсе, контейнерах и микросервисах
Помню когда только начиналась эра devops и докеров, то контейнеризация преподносилась как тулза, которая, среди прочего, экономит ресурсы. Вот, мол, есть у вас машина, то есть пул ресурсов, а контейнеры его между собой поделят.
Потом пришел Kubernetis, и эта идея стала мегапопулярной. Я думаю многие из вас набирали EC2 инстансы и разворачивали на них кластеры. Очень удобно. К примеру, набрал три EC2 инстанса по 16ГБ и 4CPU, и твои 10 микросервисав кубернетис по ним раскатал равномерно. И отказоустойчивость вам, и доступность, и еще и экономия ресурсов за счет шаринга.
Потом AWS сказал, а зачем вам вообще парится с этими EC2 инстансами, которые являются виртуальный машиной по-сути. Мы вам дадим Fargate. Вы нам просто говорите сколько каждому контейнеру(ок, ПОДу) нужно. А дальше мы уж сами разместим их как нужно. Казалось бы, действительно хорошо. У нас на один уровень инфраструктуры стало меньше. Разработчики рады, девопсы пьют пиво. Но заметили ли вы, что мы уже ушли от идеи шаринга ресурсов? Теперь мы каждому контейнеру(хорошо, хорошо ПОДу) выделяем фиксированные ресурсы. И если у вас контейнер потребляет по пол ложки CPU в час, AWS не забудет билить вас за весь CPU.
И вот, изначальная, очень хорошая идея экономии куда-то испарилась.
Теперь вспомним как начинается любой проект: Tech lead становится к доске и рисует микросервисы будущего проекта. Надо по-больше, чтобы в резюме хорошо смотрелось. Да и заказчик, зачастую приходит с запросом навалить ему микросервисов по-больше, ибо модно. И еще не забыть про отказоустойчивость и доступность.
И в итоге, приложение, которым будет пользоваться 35 человек 8ч часов будет крутиться на AWS за 10К USD в месяц.
Это реальный кейс. 35 пользователей и 10k USD в месяц. И никого это не смущает.
Вот и ролик в тему вам под кофеек: https://www.youtube.com/watch?v=nqa_Uyz1pBE
Post #130
2.01K