Пятнадцать лет строю и масштабирую распределённые системы — застал переход индустрии от bare-metal серверов и монолитов к cloud-native, Kubernetes и GitOps. Берусь за то, что команды откладывают: технический долг, CI/CD с нуля и удержание систем в строю.
API / Backend — Node.js, TypeScript, OpenAPI, gRPC, NGINX
Референсная архитектура. Клиентский код под NDA, поэтому страница описывает устройство системы и логику решений, а не конкретное внедрение.
Публичная REST-поверхность поверх gRPC между сервисами, оба генерируются из одного контракта. Написанные руками клиенты расходятся с сервером на следующей же неделе; сгенерированные вместо этого валят сборку — единственная обратная связь, приходящая достаточно рано, чтобы быть полезной.
Версионирование явное и только аддитивное: новые поля опциональны, удаление требует окна устаревания, шлюз умеет отдавать две версии сразу. Скучно — и именно это позволяет бэкенд-команде выпускать, не согласуясь с каждым потребителем.