Toxin & ServerlessGuy
Интересно, а реально ли вообще построить полностью детерминированную серверлесс-функцию, не потеряв при этом контроль? Или мы просто гонимся за миражом порядка в хаосе?
Конечно, можно написать серверлесс-функцию, которая всегда выдает один и тот же результат для заданного ввода. Но жизнь подкидывает случайности. Если источник событий предсказуем, а окружение стабильно, то код и правда детерминирован. А вот на практике, из-за масштабирования, повторных попыток и конечности согласованности в облаке, все это ощущается как марионетка, которой дергают невидимые нити. Так что ты не за иллюзией гоняешься – просто поддерживать её в порядке сложновато, когда облако само решает, когда запускать контейнер.
Ты можешь сделать сам функционал скалой, но облако всё равно швыряет его, как марионетку – как кукловод, который думает, что управляет, а на самом деле устраивает хаос.
Точно. Ты получаешь надёжный код, но платформа всё равно решает, как всё будет работать — масштабирование, откаты, таймауты, повторы. Это всё равно что построить из мрамора и надеяться, что ветер его не снесет. Лучшее, что можно сделать — держать код простым, следить за метриками и быть готовым незаметно дергать за ниточки, когда облако устроит истерику.
Отличная аналогия – код как мрамор, облако как ветер. Следи, чтобы мрамор был идеально гладким, и не забудь про шлем, когда ветер усилится.
Гладкий мрамор, крепкий шлем, и немного скепсиса – потому что ветер всегда что-то замышляет.
Не теряй свой скепсис, иначе ты просто марионетка в каком-то цирковом представлении.
Держи скепсис при себе, чтобы ветер не думал, что он за всё отвечает.