Как не потерять деньги на IT-инфраструктуре в кризис. Мы сократили расходы и сэкономили 100 тысяч долларов

Пошаговая инструкция, как не паниковать и помочь своей компании.

Курс доллара растет. Зарубежные сервисы дорожают. Счета на оплату IT-инфраструктуры начинают превышать болевой порог для бюджета вашей компании.

Как не потерять деньги на IT-инфраструктуре в кризис. Мы сократили расходы и сэкономили 100 тысяч долларов

Откуда набегают деньги

Любой IT-проект подобен живому организму, ему свойственно расти. Сервисы постоянно развиваются. Команда что-то добавляет, от чего-то отказывается, разруливает инциденты. За рост и ошибки надо платить.

Каждое отдельное действие команды не ведет к драматическому увеличению стоимости. Однако за год может набежать кругленькая сумма. Это нормально, за этим просто надо следить. Руководитель IT-отдела и финансовый директор должны ежемесячно проверять счета. И бить тревогу, если что-то пошло не так.

Я работаю инженером по обслуживанию инфраструктуры.

Мы с командой Fevlake наводим порядок в растущих инфраструктурах. На примере работы в одной иностранной компании я расскажу об опыте сокращения расходов. Сейчас он полезен как никогда.

Читайте мои советы ниже.

Василий Озеров, Founder Fevlake / DevOps

Пару слов о компании, в которой мы начали считать деньги

Это была онлайн-платформа по аналитике различных событий от пользователей. Мы принимали ивенты и строили красивые отчеты.

Как это часто бывает, инфраструктура была разрозненной. Разные дата-центры и провайдеры, облачные решения от большой тройки — AWS / GCP / Azure, и небольшие сервисы типа SendGrid, Mailgun, PagerDuty. Трекеры, репозитории, софт. Огромный список сервисов, который съедает деньги каждый день.

(Ваша инфраструктура устроена похожим образом? Тогда нам точно по пути).

От руководства поступила задача: привести инфраструктуру в порядок и установить лимит по расходам в N процентов от оборота компании. Мол, делайте, что хотите, перекладывайте трафик руками, но лимит не превышайте.

Первое: получите полномочия

Руководитель должен представить вас команде. Он может написать письмо или собрать стендап. Главное, чтобы все в компании знали, что вы теперь занимаетесь сокращением расходов.

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

Для сокращения расходов на инфраструктуру вам потребуется помощь финансового отдела, вы будете обсуждать и ставить задачи разработчикам. Возможно понадобится участие отдела эксплуатации и юристов. Если люди не будут знать про вас и про вашу задачу, вы ничего не добьетесь.

Экономия: вы сэкономите время и нервы.

Второе: идите в бухгалтерию и ищите денежный след

Когда все предупреждены и разрешения получены, можно начинать.

Начните с аудита. Но не с аудита серверов, как многие могли подумать. Не бросайтесь смотреть биллинги на GitHub. Идите в бухгалтерию. Изучите списания, которые бухгалтерия относит к сфере IT.

Важно пробежаться глазами по всем подходящим операциям, спросить финансистов нет ли у них чего-то подозрительного. Подвергайте сомнению абсолютно все. Часто расходы по IT попадают в отделы закупок или маркетинга.

Совет: ищите так страстно, словно вы — хороший детектив. Бумажный, денежный след всегда есть. Кто-то списывает деньги по непонятной для бухгалтерии причине? Уже можно разбираться почему.

Вы можете начать снизу, пойти по разработчикам и админам. Спросить о серверах, которые они используют. Но как показывает практика, траты не ограничиваются оплатой серверов. Сегодня вы подключили аккаунт на Jira, а завтра про него забыли. В итоге каждый месяц улетает 10 баксов.

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

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

Экономия: до 5% расходов на сервисы, которые покупались для теста, но про них уже все забыли.

Третье: получите доступ к биллинг-панели каждого сервиса

Следующий шаг — это детально разобраться в каждом сервисе из нашей гугл-таблицы.

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

Запаситесь терпением. Нередко доступы к биллинг-аккаунтам лежат у человека, который давно уволился. Также часто биллинг-редактором назначают рядового разработчика, который не пользуется этим сервисом, и деньги списывают просто так.

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

Совет: Не жалейте комментариев к списку сервисов. С каждой проблемой вам еще предстоит разобраться.

Важно выяснить за какой именно функционал вы платите. За сервер, за трафик, за аренду? Мы убрали 10% надбавку за электроэнергию в счетах от дата-центра после отключения буквально нескольких ненужных хостов.

Бывают случаи, когда сервис не имеет личного кабинета и панели. Я так познакомился с двумя братьями, которые владеют дата-центром в Америке. Они скидывали инвойсы нашим финансистам просто по почте. У них хранились порядка 300 серверов. Каждому серверу они уделили несколько строк в таблице. В деле помогло, но эти строчки были перемешаны. Пришлось попотеть. Первой строкой могла стоять оплата за аренду сервера, а потом через 3 страницы строчка расходов про этот же сервер.

Пример инвойса от DigitalOcean
Пример инвойса от DigitalOcean

Приготовьтесь копаться в бумажках и скрупулезно искать нужную инфу.
После того как вы проделаете эту работу, у вас появится огромный гугл-док с информацией. Он должен отвечать на вопрос, куда уходят деньги.

Экономия: выключив все ненужное, вы сбережете еще до 10%.

Четвертое: поговорите с разработчиками, поймите их потребности, уберите лишнее

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

Следующий шаг — это обстоятельный разговор с руководителем по разработке в компании. Главное на этом этапе понять, чем реально пользуется отдел разработки и какие сервисы нужны для комфортной работы.

Сверьте информацию по сотрудникам, которые указаны в сервисах. Часто после завершения проекта аккаунты не выпиливаются, и за них платит компания. Ищите нестыковки, удаляйте пользователей и блокируйте аккаунты. Один созвон с директором по разработке помогает значительно сократить расходы. Тот случай, когда 20% усилий дают 80% результата.

Совет: найдите человека, ответственного за сервис, и задайте ему вопросы. Действительно ли нужны все эти фичи? Так ли жизненно необходим премиум тариф? Ваша цель сэкономить, отсечь все лишнее, но не повлиять на работоспособность отдела.

После таких интервью у вас появится отдельный документ со списком косяков, которые надо будет чинить. Так, скорее всего, вы найдете системных пользователей, которые были добавлены некорректно, в результате чего списывались деньги. Предстоит переписать интеграцию, чтобы доступ к сервису был через API, а не через пользовательский аккаунт. И такого добра вы встретите много.

Список будет расти с пугающей скоростью, но зато вы будете в курсе всех недостатков.

Экономия: все зависит от вашего усердия и аппетита разработчиков, может получиться до 20%.

Пятое: разберитесь с серверами

Следующим этапом идет инфраструктура. В 90% случаев вы сможете избавиться от 1-2% серверов сходу. Часто их берут под конкретный проект. Потом он закрывается, но сервера не отключают. В нашем случае мы отключили 15 из 300 серверов. Они просто стояли без дела, никто не знал что это за сервера.

Как определить чей сервер? Первый вариант — спросить, кто использует этот IP-адрес. Если никто не использует, то в панели DNS посмотрите имена, которые принадлежат этому айпишнику. Как правило, люди вспоминают имена, и можно вычислить сервис, который там крутится (или не крутится).

Совет: не называйте свои сервера Юпитер, Меркурий, Марс и тому подобным. Вы потом запутаетесь. Давайте понятные DNS-имена.

Если вы не разобрались чей это сервер, попросите провайдера, или локальный дата-центр посниффать трафик. Запросите информацию по серверу, возможно у них есть внутренняя панель мониторинга. Проверьте насколько сервер загружен, включен или выключен, к кому он обращается, что он делает.

Не сработает — пробейте IP-адрес по другим серверам, к которым у вас есть доступы. Вдруг какой-то сервер ломится к нему на какой-нибудь известный порт.

Способ для решительных: вырубите сервер и посмотрите на реакцию. Что-то отвалится на сайте, кто-то точно начнет кричать и выдаст себя (just a joke).

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

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

Экономия: уверенные 10%.

Шестое: создайте архитектурную схему ваших сервисов

Набросайте схему на бумаге или в любом редакторе. Даже самая простая визуализация, сделанная карандашом от руки, поможет понять многое про вашу инфраструктуру.

Фрагмент архитектурной схемы
Фрагмент архитектурной схемы

Покажите как сервисы связаны между собой. Обозначьте куда приходит трафик, на какие сервера он распространяется, какие приложения там крутятся, какие зависимости используют эти приложения. Куда складываются бэкапы.

В этот момент в вашей голове родятся интересные решения.

Благодаря архитектурной схеме вы задумаетесь, например, об объединениях и слияниях. Последний год за инфраструктурой не следили, только пилили задачи и наращивали мощность. Остановитесь, пересмотрите архитектуру с разработчиками. Внесите правки, исправьте ошибки, избавьтесь от ненужного.

Наведите порядок пока есть возможность. Это тоже сократит расходы.

Экономия: до 30% после воплощения в жизнь всех стратегических решений.

Седьмое: продумайте план миграции, но не переезжайте любой ценой

Иногда нет возможности сократить расходы напрямую. Если вы используете GitHub с приватными репозиториями, вы не сможете удалить пользователя.

Логичный выход из ситуации — сменить сервис. Вам придется потрудиться: составить список аналогов, сравнить все фичи, проверить, что всего будет в достатке. Затем прийти к директору по разработке и предложить ему продуманный план миграции. Если вы просто скажете “давайте переедем”, уверяю вас, никто никуда не переедет.

Составьте бесшовный план миграции. Разработчики охотно согласятся с вашим планом, если не будут в нем замешаны. Они поменяют настройки приложений, пропишут новые адреса репозитория. Но не станут переносить сам Git-репозиторий. Им будет лень.

И еще, давайте представим, что мы переезжаем с GitHub на GitLab. Верхнеуровнево выглядит все хорошо. GitHub съедает тысячу долларов в месяц. Мы переезжаем на бесплатный GitLab, его возможностей хватает нам за глаза. Казалось бы, все отлично.

Но мы кое-что забыли. Давайте-ка учтем сервер, на котором мы будем хостить наш GitLab инстанс. Учтем резервный сервер для переезда в случае падения. Сделаем автоматическое переключение между серверами, например, с помощью балансировщиков. Учтем бэкапы, которые будем хранить в облаке. И, конечно, учтем сам момент миграции, потому что переезд — это время сотрудников. Они не будут заниматься задачами, они будет перевозить GitLab.

Допустим переезд займет месяц. Месячная зарплата всех сотрудников, занятых в нем, тоже уйдет в стоимость переезда.

Общие затраты на переезд могут превысить годовой платеж на старом сервисе. Так стоит ли его сокращать?

Совет: учитывайте не только стоимость нового сервиса, но и затраты на переезд.

Экономия: до 30% после продуманной миграции, если она необходима.

Восьмое: изучите условия досрочного расторжения договоров

Ваша компания могла заключить договоры с энтерпрайз-решениями. Идите в отдел к юристам, посмотрите документы. Найдите дату окончания срока действия договора. Изучите штрафы за разрыв отношений и условия расторжения.

Некоторые контракты подписываются на 5 лет без возможности расторжения. Если вы расторгаете договор, то выплачиваете всю сумму за 5 лет.

Совет: подружитесь с юристами компании. Они помогут выйти из многих, казалось бы, патовых ситуаций.

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

Планируйте переезды исходя из даты расторжения договора. Вам нужно успеть переехать, иначе вы попадете на следующий период, в пролонгацию.

Экономия: все зависит от условий, от 0% до 15%.

Девятое: не покупайте на сайте, торгуйтесь с менеджерами

Я люблю рассказывать историю про бургер. Вернее, про бургер и выгодный контракт.

Однажды я работал в проекте, где мы переносили зоны DNS на Cloudflare DNS. Переезд избавлял компанию от огромного платежа и был лучшим решением: по скорости ответа Cloudflare входит в топ-3 сервисов по версии авторитетного dnsperf.com.

Компания не планировала использовать все возможности сервиса, поэтому мы решили получить более комфортное предложение по оплате. Я нажал кнопку Contact Sales на сайте и договорился с менеджером созвониться вечером.

Был конец рабочего дня. Я решил не терять времени и перекусить прямо во время созвона. Забежал в кафе, расположился за столиком, и мы созвонились. Объяснив, что меня не интересует весь функционал, я замьютил звук и принялся ужинать. Мне как раз принесли здоровенный бургер.

Менеджер завел длинный разговор о деньгах. Пока он рассказывал о всех преимуществах нашего сотрудничества, я в спешке наворачивал свой ужин. Американец добрался до деталей контракта и предложил платить 3000 долларов в месяц.

Если честно, мы планировали уложиться в полторы тысячи. Но торговаться с набитым ртом? Камон, я счел это как минимум комичным. Повисла неловкая пауза.

Видит бог, я старался покончить с бургером как можно быстрее. И хоть что-то ответить. Наконец, когда я расправился с ним и потянулся размьютить зум, менеджер произнес: “Окей-окей, я все понимаю. Это дорого для вас. Минимальное, что я могу предложить — это 1500 долларов в месяц”.

Молчание — золото. Конечно, тогда мне просто повезло. Обычно переговоры — это отдельный навык и тяжелая работа.

Совет: всегда знакомьтесь с менеджерами продуктов, которыми пользуетесь. Это помогает напрямую решать вопросы. Например, когда служба поддержки молчит. Условия оплаты, отсрочки, акции, скидки — у вас есть тысяча и один повод, чтобы позвонить менеджеру. И сэкономить деньги компании.

Начальная цена покупки лицензии аналитической базы данных — десятки тысяч долларов. Мне предложили купить ежегодную лицензию за 75 тысяч долларов. После пары созвонов с менеджерами и попытки уйти (платить такие-то бабки!), цена быстро упала до 20 тысяч долларов за год.

Энтерпрайз любят длинные контракты. На этой слабости тоже можно сыграть. Хороший аргумент в переговорах: ребят, сделайте нам скидку 20%, и мы подпишем контракт не на полгода, а на 2 года.

Если у вас есть свободные деньги, просите также дополнительную скидку за единовременный платеж. Компаниям нравится, когда на счет приходит сразу 12 тысяч долларов, а не полторы тысячи каждый месяц.

Скидки можно выбить практически везде. Не пренебрегайте общением. Вспомните мою историю с бургером.

Экономия: если у вас подвешен язык, вы точно сэкономите.

Десятое: начните сейчас

Вы уже поняли, что сокращать расходы — это не быстро и совсем не просто. Начните ставить задачи команде и прежде всего себе прямо сейчас. Впереди ни один месяц работы.

Еще раз:

1. Получите полномочия.
2. Найдите денежный след.
3. Получите доступ к биллинг-панели всех сервисов.
4. Поговорите с разработчиками, поймите их потребности, уберите лишнее.
5. Разберитесь с серверами.
6. Создайте архитектурную схему сервисов.
7. Продумайте план миграции, не переезжайте любой ценой.
8. Изучите условия досрочного расторжения договоров.
9. Не покупайте на сайте, торгуйтесь с менеджерами.
10. Начните сейчас.

Таблица поможет контролировать процесс и будет вам помогать. Возьмите себе за правило, что первого числа каждого месяца вы смотрите расходы по сервисам за предыдущий месяц. И вбиваете в табличку сумму, которую потратила компания.

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

Гугл-таблица с сервисами
Гугл-таблица с сервисами

Будете наглядно понимать — вы идете вниз или вверх. Если все ваши ячейки красные — поздравляю, вы не справились. А вот если они зеленеют — вы молодец!

К тому же вы избежите инвентаризации каждые полгода. Актуальная картина будет всегда перед глазами. Так с помощью таблицы я заметил, как счет Амазон вырос на 3000 долларов. Выяснилось, что ребята из отдела дата-саенс начали выкачивать терабайты данных на наши сервера. Исходящий трафик у Амазона стоит баснословных денег. Положить файл можно бесплатно, а вот вытащить — очень дорого.

Хорошо, что успели предотвратить. Деньги уходили бы, и никто не подозревал бы о списании до следующей инвентаризации.

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

Экономия: после 5 месяцев наведения порядка, переговоров и переездов мы сэкономили 100 тысяч долларов заказчика.

Следите за своей инфраструктурой, не тратьте много денег впустую

Если вы задумались о сокращении расходов, команда Fevlake будет рада помочь. Мы 10 лет занимаемся проектированием и поддержкой IT-инфраструктур.

Прямо сейчас помогаем компаниями переезжать на Яндекс.Облако.

Каждый месяц мы выделяем несколько слотов под бесплатные аудиты. Можете оставить заявку здесь — заявка на бесплатный аудит.

1818
4 комментария

Да уж, статья полезна, как никогда. Расходы на инфраструктуру, как и многие другие, стремительно полетели ввысь.

2
Ответить

Статья очень полезная, спасибо)

1
Ответить

такс, а вот это интересно
поделюсь со своими пожалуй мыслями

Ответить

Отличная статья! Раскрыты все нюансы работы с инфраструктурным бюджетом!) очень знакомо. Мы прошли этот путь год назад и разработали multicloud решение с поддержкой AWS/Azure/GCP/Yandex/VK/Openstack. Готовы поделиться опытом и самим решением)

Ответить