Serverless архитектура.
Существует 2 популярных видения Serverless архитектуры – Это дорого – Это про функцию как сервис Оба в корне неверных и обычно говорят о непонимании ключевого принципа Serverless архитектуры.
В традиционном серверном решении 90% кода – это мусор. Передать параметры из одного места в другое, поменять тип данных, сохранить/считать данные. И только 10% реально относятся к ключевой бизнес логике.
Особенность мусорного кода в том, что его нужно писать и поддерживать. Самая важная проблема этого подхода – более долгий time to market. Менее важная но очень ощутимая проблема – это очень дорого. HR косты доминируют в современном мире разработки.
Теорию по этой теме вы сами можете запросто найти, но я вам дам практику. Я с нуля разрабатывал FinOps продукт, который сокращает затраты на инфраструктуру у Fortune 100 компаний. Я лично руками изучал затраты этих компаний на инфраструктуру – зарплата 1 команды DevOps инженеров значительно перекрывает затраты на инфраструктуру всей такой огромной компании. Железо – комодити как буханка хлеба. В долгую перспективу оно всегда только дешевеет.
Serverless позволяет делегировать 90% мусорного кода готовым Serverless решениям и сфокусироваться на написании самых важных 10% кода.
Но ведь дешевле будет развернуть все на онпремис? Инфраструктура будет дешевле точно, но HR косты значительно вырастут и будут доминировать. Общая стоимость решения будет значительно дороже Serverless аналога. Зачем экономить на комодити? Именно эту ошибку вы увидите в критики Serverless подхода, часто это сознательные манипуляции.
Помимо инфраструктуры есть процессы вокруг нее. С Serverless мы получаем бесконечное и автоматическое масштабирование, высокую доступность, durability и прочее. С серверным решением это все нужно делать дорогим экспертам ручками и поддерживать это тоже нужно ручками тем же экспертам.
Что изменил AI? Серверное решение, которое бы писали год, с помощью AI мы можем заменить на Serverless решение за несколько дней – сгенерировать конфигурацию и минимальный код.
Пример. В аттаче вы видите Serverless архитектуру типичного веб приложения. Используются сервисы AWS, как наиболее продвинутые в мире, но остальные публичные облака стараются их догонять, включая Яндекс Облако. Рядовые пользователи выполняют действия над данными. Их менеджеры видят аналитику по работе рядовых пользователей. Минимальный код необходим только в областях, выделенных красным – фронтенд и минимальная дата трансформация в стриминге.
Вот такой современный мир архитектуры.