Перейти к основному содержимому

Ресурсы функции

· 9 мин. чтения

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

Паттерн Outbox

· 5 мин. чтения

Паттерн Outbox решает проблему двойной записи, которая возникает в распределенных системах, когда одна операция включает в себя как операцию записи в базу данных, так и отправку сообщения или уведомления.

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

Ошибка в одной из этих операций может привести к не консистентным данным.

Логирование в облачных функциях

· 5 мин. чтения

В принципе тут все просто и логирование в облачных функциях работает «из коробки». Т.е. все что вы залогируете во время выполнения функции будет доступно в Cloud Logging. Но есть некоторые нюансы, о которых я хочу рассказать.

Асинхронный вызов облачных функций в Яндекс Облаке

· 5 мин. чтения

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

Как организовать write-only доступ к Object Storage

· 4 мин. чтения

Write-only доступ к Yandex Cloud Object Storage может быть полезен в различных сценариях, когда вам нужно разрешить только запись данных в определенный бакет Object Storage, но не давать доступ к чтению данных из этого бакета.

Важен ли порядок полей в JWT

· 2 мин. чтения

Всем известна проблема, что JSON по умолчанию не гарантирует порядок полей. Но ведь в JWT порядок полей важен, ведь так? Нам же нужно подписать полученные строки, а они каждый раз могут быть разные. Давайте разберемся.

Cloud Logging: долгосрочное хранение и анализ

· 4 мин. чтения

Изначально, во время preview, Yandex Cloud Logging предоставлял возможность хранения логов в течение 3 дней. С выходом сервиса в general availability в ноябре 2023 срок хранения логов в Cloud Logging был увеличен до 31 дней по умолчанию. Но так как это квота, вы можете запросить увеличение срока хранения.

Однако вопрос как организовать долгосрочное хранение логов остается. Для этого нам понадобится создать Data Stream, лог группу, которая будет в него писать, а так же Data Transfer, которы сможет перекладывать данные в какое-то долгосрочное хранилище. В этом примере я буду использовать Yandex Cloud Object Storage (аналог AWS S3). Это самый дешевый из возможных вариантов, при этом обеспечивающий не только хранение, но и с выходом Yandex Query и возможность анализа хранимых логов.

Serverless Full Text Search на Go

· 10 мин. чтения

В прошлом Serverless Full Text Search я рассмотрел JavaScript библиотеку для in-memory полнотекстового поиска Lyra. Почему я выбрал именно ее? Во-первых, именно на доклад про неё я наткнулся на YouTube. Во-вторых, мне понравилась её универсальность и возможность притащить её в браузер.

Serverless Full Text Search

· 9 мин. чтения

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

Но что же делать, если хочется сохранить низкие расходы на инфраструктуру и получить быстрый полнотекстовый поиск?

Генерация приватных ключей Ed25519 на Go

· 8 мин. чтения

Небольшая предыстория. Мне понадобилось собрать Ubuntu 22.04 Jammy Jellyfish при помощи Packer используя ssh provisioner. А для дебага этого процесса захотелось научиться сохранять создаваемые пакером ключи на диск, чтобы с их помощь можно было зайти на ВМ.

Запуск Serverless Container по триггеру

· 3 мин. чтения

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

Пишем логи из Managed K8s в Yandex Cloud Logging при помощи Fluentbit

· 8 мин. чтения

Если вы хотите отгружать логи из Managed Kubernetes в Yandex Cloud, для этого есть как минимум два пути:

  1. Можно установить helm из магазина приложений.
  2. Можно разобраться и гибко настроить все самому.

Тут конечно же мы рассмотрим второй способ.

Spectral Ruleset for Yandex Cloud API Gateway

· 3 мин. чтения

Я сначала начал писать заголовок на русском, но получилось что-то типа «Набор правил для валидации специфичных для Яндекс Облака расширений, для интеграции с другими облачными сервисами, спецификации OpenAPI 3.0, используемой для конфигурации сервиса API Gateway.» Потом посмеялся и стер всё.