Cloud-Native Apps: нелегкая судьба в России

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

Недавно позвонил мне старый знакомый, Павел Петрович – ИТ-директор одной окологосударственной организации, «перетереть за облака». Зная, что у них весьма консервативный подход к инфраструктуре, я был мягко говоря заинтригован. В уютной кафешке за рюмочкой кофе Петрович объяснил мне свой интерес очень просто.

«Понаберут в управляющую компанию всяких CDO, CDTO и прочих дятлов, вот они и начинают стучать в черепушку: давай проекты по цифровизации! Ёлки-палки, зайди ко мне в серверную, посмотри, на каком металлоломе там все крутится, а потом про цифровую трансформацию рассказывай! В общем, поставил нам товарищ задачу – перейти на облачную архитектуру, чтобы софт, который мы сами пишем и активно используем, был прям Cloud-Native приложениями. Ты человек в теме, объясни на пальцах, чем мне это грозит?»

Ну, тут главное подобрать правильный пример… Вот что сейчас твои программы? Это такие огромные массивные черные ящики, которые каким-то магическим образом превращают входные данные в нужный результат. Почему магические? Да потому что ни один программер у тебя не знает, как это чудо работает. Там куча легаси-кода, старых библиотек и такой извращенной логики, что, потерев строчку в одном месте, никогда не догадаешься, в каком другом месте что отвалится. Верно говорю?

Павел утвердительно вздохнул.

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

А теперь перечислю твой флеш-рояль проблем, хотя он вообще типичный для старых приложений.

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

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

  3. Вас скорее всего тоже напрягли с импортозамещением, и ты вообще не представляешь, как тебе уходить с базового «вражеского ПО», чем заменить VMWare и Microsoft.

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

Павел Петрович нахохлился: «Ты что, подсматриваешь за нами что ли?»

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

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

Что это дает? Обновления можно выпускать просто непрерывно, даже не останавливая работу системы. Нужно что-то изменить – создал новый ящичек, сообщил об этом дирижеру, и в ус не дуешь.

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

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

С импортозамещением тоже все нормально, все необходимое можно найти среди свободного ПО на Sourceforge.

И как вишенка на торте: ты больше не будешь зависеть от программеров-патриархов. Есть микросервис, который кто-то когда-то собрал, а потом заартачился или свалил в закат? Без проблем, написал новый, подключил вместо старого. Никто на былых заслугах паразитировать не сможет. По забугорному это называется коммодитизация: все просто и взаимозаменяемо.

Павел Петрович, горячо одобрявший мой рассказ кивками и междометиями, вдруг остекленел. «Вот оно как. Понятно. Спасибо, что предупредил». И как-то быстро стал сворачиваться. Но пребывал в недоумении я недолго. Через знакомых вдруг выяснилось, что сын Павла работает у него главным архитектором, является автором некоторых основных алгоритмов и вообще чувствует себя в конторе весьма уверенно. Незаменимый человек. И никакие микросервисы ему не нужны. Добро пожаловать в Россию, Cloud-Native!

Источник: https://habr.com/ru/post/657177/


Интересные статьи

Интересные статьи

С начала марта зарубежные IT-компании ограничивают или полностью закрывают доступ к своим продуктам пользователям из России. В списке, среди прочих, — Microsoft, Oracle, Amazon и другие крупные компан...
Как составить список востребованных профессий в IT, ориентируясь не только на виденье отдельных людей, но и на цифры? Конечно провести свое собственное исследование! Это ...
Несколько лет назад я читал на Хабре про скандал разраба Алексея Адамовского с компанией Xored. Липкий кейс, компания не заплатила человеку деньги, и для меня сразу стал очевиден ...
Безопасность продуктов питания, равно как и продуктовая безопасность – два краеугольных камня спокойной и стабильной жизни любой страны. Если по второму пункту полнота информации скрыта от по...
Реализация ORM в ядре D7 — очередная интересная, перспективная, но как обычно плохо документированная разработка от 1с-Битрикс :) Призвана она абстрагировать разработчика от механики работы с табл...