Открытая платформа и CLI для проверки безопасности и соответствия требованиям в AWS, Azure, GCP и других облачных средах.
google/go-cloud
Библиотека Go с переносимыми API для объектного хранилища, pub/sub, баз данных и секретов — одна кодовая база работает в любом крупном облаке.
- Звёзды
- 9,920
- Форки
- 863
- Открытые issues
- 2
- Последний коммит
- 5 дней назад
Что это?
Go Cloud Development Kit (Go CDK) позволяет разработчикам на Go создавать облачные приложения, используя стабильные идиоматичные интерфейсы для распространённых сервисов — например, объектного хранилища, баз данных и обмена сообщениями. Код приложения вызывает единый API, а драйверы для конкретных провайдеров берут на себя особенности каждого облака, поэтому одну и ту же программу можно развертывать у разных облачных провайдеров.
В набор входят API для объектного хранилища, publish/subscribe, переменных, меняющихся во время выполнения, хранения документов и секретов, а также для подключения к MySQL/PostgreSQL. Кроме того, есть серверные утилиты для логирования запросов, трассировки и проверки работоспособности. Архитектура набора основана на пакете Go database/sql. Он дополняет генератор кода Wire, который создаёт понятный для чтения код и импортирует только те облачные SDK, которые использует приложение.
API имеют статус alpha. Сопровождающие предпочитают не добавлять новые драйверы в этот репозиторий, а оставлять здесь уже существующие; для новых провайдеров они предлагают использовать отдельные репозитории.
Ключевые возможности
- 01Переносимый API объектного хранилища, работающий с S3, Google Cloud Storage и другими бэкендами.
- 02API для pub/sub, переменных времени выполнения, хранения документов и секретов — для каждого есть единый интерфейс.
- 03Поддержка подключений к MySQL (включая MariaDB) и PostgreSQL.
- 04Встроенные средства логирования запросов, трассировки и проверки работоспособности серверов.
- 05Набор рассчитан на совместное использование с Wire: в сборку попадают только используемые вами облачные SDK.
Сценарии использования
- Создание сервиса на Go, который должен работать в AWS, GCP или Azure без переписывания кода для хранилищ.
- Абстрагирование объектного хранилища, чтобы в локальных тестах и в production можно было использовать разные бэкенды.
- Добавление переносимой работы с секретами или pub/sub в мультиоблачное приложение на Go.
Быстрый старт
- 1
Установите модуль Go CDK в свой проект на Go
go get gocloud.dev - 2
Ознакомьтесь с документацией и руководствами на сайте проекта
Что важно знать
- Согласно README, API пока находятся на стадии альфа-тестирования.
- Проект предпочитает поддерживать существующие драйверы, поэтому новые драйверы в основной репозиторий, скорее всего, не примут.
- Нужные вам драйверы для конкретных облачных платформ могут находиться в отдельных внешних репозиториях.
Темы
Частые вопросы
- Что такое go-cloud?
- Библиотека Go с переносимыми API для объектного хранилища, pub/sub, баз данных и секретов — одна кодовая база работает в любом крупном облаке. Go Cloud Development Kit (Go CDK) позволяет разработчикам на Go создавать облачные приложения, используя стабильные идиоматичные интерфейсы для распространённых сервисов — например, объектного хранилища, баз данных и обмена сообщениями. Код приложения вызывает единый API, а драйверы для конкретных провайдеров берут на себя особенности каждого облака, поэтому одну и ту же программу можно развертывать у разных облачных провайдеров.
- go-cloud можно использовать бесплатно? Какая у него лицензия?
- go-cloud распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- go-cloud всё ещё поддерживается?
- Активно поддерживается. Последний коммит в go-cloud — 2 нояб. 2026 г..
- Для чего можно использовать go-cloud?
- Создание сервиса на Go, который должен работать в AWS, GCP или Azure без переписывания кода для хранилищ. Абстрагирование объектного хранилища, чтобы в локальных тестах и в production можно было использовать разные бэкенды. Добавление переносимой работы с секретами или pub/sub в мультиоблачное приложение на Go.
- Как установить go-cloud?
- Установите модуль Go CDK в свой проект на Go: go get gocloud.dev Ознакомьтесь с документацией и руководствами на сайте проекта
- Где скачать go-cloud?
- Исходный код и инструкции по установке — на GitHub: https://github.com/google/go-cloud
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Оценка стоимости облачной инфраструктуры в Terraform, Terragrunt, CloudFormation и AWS CDK до её развёртывания.
Мультиязычный фреймворк для облачных бэкендов: определяет инфраструктуру по коду приложения и развёртывает её в AWS, GCP или Azure.
CLI и движок Infrastructure as Code для описания и развертывания облачных ресурсов на языках программирования общего назначения.
CLI и конвейер данных для синхронизации метаданных облачной и SaaS-инфраструктуры с хранилищем данных — для SQL-запросов, инвентаризации ресурсов и анализа безопасности.
Создаёт диаграммы облачной архитектуры AWS, Azure и GCP по запросам к ИИ, JSON-графам или коду Terraform, используя официальные облачные иконки.