recoder: (Default)
recoder ([personal profile] recoder) wrote2021-09-14 09:25 am
Entry tags:

Дивный Новый Облачный Мир

Переменчивая судьба забросила меня из уютной среды C++ разработки на передний край боевых действий - в облачные технологии. И вот уже которую неделю я пребываю в состоянии лёгкого офигевания...

Справедливости ради надо сказать что у нас и в направлении C++ последние годы движуха началась. Как десять лет назад отцы пообещали раз в три года перетряхивать стандарты, так и клепают новые фичи всё забористее и забористее. Чуть отвлёкся - и всё, перестаёшь понимать язык называемый Modern C++. Как завещала Чёрная Королева - "здесь приходится бежать со всех ног, чтобы только остаться на том же месте!" Добром эта гонка в пучины сложности не кончится, но какие альтернативы?

И вот я, старый C++ программист, привыкший к строгой типизации и оптимизации вплоть до порядка машинных инструкций, окунаюсь в новомодные облачные технологии. Что же я вижу?

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

Вот он какой оказался - этот дивный новый облачный мир... Будем надеяться все эти жертвы будут не напрасны.

В любом случае - спасибо судьбе за очередную возможность проверить себя: не слишком ли я стар для этого нового дерьма?

[identity profile] lj-frank-bot.livejournal.com 2021-09-14 01:26 pm (UTC)(link)
Hello!
LiveJournal categorization system detected that your entry belongs to the following categories: IT (https://www.livejournal.com/category/it?utm_source=frank_comment), Технологии (https://www.livejournal.com/category/tehnologii?utm_source=frank_comment).
If you think that this choice was wrong please reply this comment. Your feedback will help us improve system.
Frank,
LJ Team

[identity profile] lj-frank-bot.livejournal.com 2021-09-15 08:31 pm (UTC)(link)
Рад вас видеть!

[identity profile] ulrith.livejournal.com 2021-09-14 01:29 pm (UTC)(link)
чот странные какие-то жалобы - в aws vcpu - это как раз один процессорный thread
ну а память считать в Kb в наше время как-то глупо совсем

[identity profile] bamsic.livejournal.com 2021-09-14 02:06 pm (UTC)(link)
Помню старые времена, когда оптимизировал программки на ассемблере, чтобы уложиться в 500 байт :)
bluedrag: (Default)

[personal profile] bluedrag 2021-09-14 02:54 pm (UTC)(link)
Если удаётся построить действительно горизонтально масштабируемую систему (неважно, в облаке или нет), то получается очень полезное свойство, что производительность можно купить за деньги (а можно и не покупать). То есть вместо технической проблемы это становится чисто бизнес-проблемой, что, мне кажется, для всех полезно — и для начальства, и для программистов.

[identity profile] avnik.livejournal.com 2021-09-14 11:12 pm (UTC)(link)
Тогда кстати и оптимизации можно _продавать_ начальству. Мол вот выкинули пару циклов -- экономия пару килобаксов в месяц )

[identity profile] smirnfil.livejournal.com 2021-09-15 01:31 am (UTC)(link)
Ага и сразу видишь цену всей этой оптимизации, когда альтернатива — написали новую фичу и получили контракт на несколько десятков килобаксов, а оптимизацию когда-нибудь потом.

[identity profile] smirnfil.livejournal.com 2021-09-16 01:09 am (UTC)(link)
С одной стороны да, с другой стороны в прошлом году я узнал, что такое настоящий дедлайн. У нас из-за ковида в конторе полностью прекратились продажи и денег после всех оптимизаций было на 3 месяца потом пришлось бы начинать увольнять сотрудников. Причем продажи старого продукта не восстановились до сих пор(софт для организации больших эвентов и конференций).

Поэтому с новым софтом у нас было все просто — или за 3 месяца с момента идеи оно должно начать приносить хорошую прибыль или у фирмы огромные проблемы, а поскольку фирма порядка 50 человек, то это проблемы у всех, мы не корпорация где проблемы можно игнорировать годами. В такой ситуации очень хорошо понимаешь, в чем плюсы быстрой разработки, облаков и прочей "ерунды".
bluedrag: (Default)

[personal profile] bluedrag 2021-09-15 09:26 pm (UTC)(link)
Безусловно, просто эта такая новая интересная парадигма, которой раньше не было.

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

Ну а так-то ты абсолютно прав. Все мы знаем, корнем чего является преждевременная оптимизация.
yury: (default)

[personal profile] yury 2021-09-14 03:13 pm (UTC)(link)
Я могу многое простить за 73й символ. :-)
yury: (default)

[personal profile] yury 2021-09-15 08:52 pm (UTC)(link)
В приснопамятные времена моей студенческой молодости, когда программированию нас учили на ЕС-1036 под вечноживым языком PL/1, код можно было писать только в первых 72 знаках строки. Всё, что дальше, автоматически считалось комментарием. Это шло со времён перфокарт, а мы уже, как цивилизованные люди, стучали по клавишам терминалов, но компилятор был строг и новомодных перемен не признавал.
Так у меня потом несколько лет заняло отучиться от этого предрассудка.
yury: (default)

[personal profile] yury 2021-09-17 02:12 am (UTC)(link)
Хаааааа!

[identity profile] as-pushkin-by.livejournal.com 2021-09-15 06:49 am (UTC)(link)
Забавно ещё, что очень часто приложения, заточенные под "облако", невозможно запустить без "облака".

[identity profile] as-pushkin-by.livejournal.com 2021-09-16 06:14 am (UTC)(link)
"Облако" нужно для быстрого масштабирования, и всё. Если твоё приложение никак не запускается без облака, то в какой-то момент оно станет неподдерживаемым, потому что для любого мелкого изменения тебе придётся выкатывать всё в облако и тестировать. И поддерживать огромную инфраструктуру для тестового и реального окружения. Особенно это бесит, когда есть куча микросервисов (реально "микро"), которые занимают два-три пода, но тебе всё равно надо перевыкатывать на тестовое окружение, чтобы проверить, правильно ли работает новое поле в твоём JSON-ответе.

Это очень сильно замедляет разработку. В апреле мне нужно было добавить одну фичу: по сути, ещё одну строку в дропдаун. Казалось бы, добавь это дело в базу и, возможно, обработчик — и фпирьот! Но хрен там! Надо было протянуть всё это через 3 или 4 сервиса, их надо было выкатывать в определённой последовательности, и каждый шаг аккуратно тестировать. Да, это не "облако" виновато, а криврукость разработчиков. "Облако" всего лишь создаёт иллюзию, что вот так через жопу — это правильно.