Yandex Cloud состоит из множества микросервисов, доступ к которым для внешних пользователей предоставляет сервис, реализующий паттерн API Gateway. Для коммуникации используются единообразные gRPC- и REST-интерфейсы, описанные с использованием Protobuf-спецификаций, что даёт простоту использования, а также позволяет командам сервисов управлять доступностью функций для клиентов. Для упрощения жизни пользователей облака существуют несколько SDK:
Go SDK, Python SDK, Java SDK, NodeJs SDK. Мы отвечаем за Go и Python.
Одно из важных направлений работы нашей команды – развитие YC CLI и Terraform Provider Yandex, которые общаются с API Gateway через Go SDK. А для внутренних нужд мы разрабатываем и поддерживаем приватные версии перечисленных инструментов (точнее говоря, их генераторы). Часть артефактов нашей (и не только) работы находится в открытом доступе.