recoder: (Default)
[personal profile] recoder

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

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

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

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

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

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

Date: 2021-09-14 01:26 pm (UTC)
From: [identity profile] lj-frank-bot.livejournal.com
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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

December 2024

S M T W T F S
1234567
891011121314
15161718192021
22232425 262728
293031    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 26th, 2025 05:49 pm
Powered by Dreamwidth Studios