awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
google avatar

google/go-cloud

0
View on GitHub↗
9,891 stars·851 forks·Go·Apache-2.0·9 viewsgocloud.dev↗

Go Cloud

go-cloud is a toolkit of cloud-agnostic libraries that provide portable Go interfaces for interacting with common cloud services. It enables multi-cloud application development by decoupling business logic from specific provider API implementations.

The project utilizes a driver-based system to map generic interface calls to vendor-specific requests. This allows applications to switch between different cloud backends for blob storage, relational databases, and asynchronous publish-subscribe messaging without changing the core application code.

Beyond storage and messaging, the toolkit includes a manager for tracking and updating dynamic configuration variables at runtime without requiring a process restart. It also provides a standardized observability layer for distributed tracing, request logging, and health checking.

Features

  • Cloud Provider Abstractions - Provides portable Go interfaces that decouple application logic from vendor-specific cloud and hypervisor APIs.
  • Resource Abstraction Interfaces - Defines unified Go interfaces that decouple business logic from specific cloud resource implementations.
  • Bucket Abstraction Drivers - Provides a unified type for blob storage buckets to interact with multiple cloud backends via drivers.
  • Relational Database Connectors - Integrates relational database services using portable connectors that prevent vendor lock-in.
  • Database Connectivity Interfaces - Offers a standardized interface and driver set for connecting to relational databases across different cloud vendors.
  • Blob Storage Management - Standardizes binary data operations and bucket management across multiple cloud blob storage providers.
  • Cloud Object Storage - Offers a unified API for managing unstructured binary data and buckets across multiple cloud storage backends.
  • Cloud Storage Wrappers - Provides abstraction wrappers that decouple application code from specific cloud blob storage provider APIs.
  • SQL Database Connectivity - Establishes portable connections to SQL databases by abstracting provider-specific connection details.
  • Driver-Based Provider Architectures - Implements a driver-based architecture allowing interchangeable cloud service providers via a common plugin system.
  • Publish-Subscribe Messaging - Enables low-latency asynchronous communication between distributed services through a cloud-agnostic publish-subscribe model.
  • Pub-Sub Messaging - Provides a consistent, cloud-agnostic interface for implementing publish-subscribe messaging patterns.
  • Multi-Cloud Application Abstractions - Enables the development of software that can run on different cloud providers using a single portable interface for common services.
  • Dynamic Configuration Management - Provides a system for managing application settings in a remote store and propagating updates in real time.
  • Dynamic Configuration Updates - Enables real-time modification of application settings and environment variables without requiring a process restart.
  • Cloud Native Observability - Provides cloud-native observability by standardizing request logging, tracing, and health checks.
  • Observability Suites - Ships an integrated toolkit for request logging, distributed tracing, and health checking to monitor distributed system health.
  • Unified Observability Interfaces - Integrates health checks, distributed tracing, and logging into a unified interface for consistent cross-environment monitoring.
  • Server Health Monitoring - Includes a standardized observability layer for tracking server diagnostics via integrated request logging, tracing, and health checks.
  • DevOps & Infrastructure - Library for building portable cloud-native applications.
  • Infrastructure and Containers - Library and tools for open cloud development.

Star history

Star history chart for google/go-cloudStar history chart for google/go-cloud

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does google/go-cloud do?

go-cloud is a toolkit of cloud-agnostic libraries that provide portable Go interfaces for interacting with common cloud services. It enables multi-cloud application development by decoupling business logic from specific provider API implementations.

What are the main features of google/go-cloud?

The main features of google/go-cloud are: Cloud Provider Abstractions, Resource Abstraction Interfaces, Bucket Abstraction Drivers, Relational Database Connectors, Database Connectivity Interfaces, Blob Storage Management, Cloud Object Storage, Cloud Storage Wrappers.

What are some open-source alternatives to google/go-cloud?

Open-source alternatives to google/go-cloud include: fog/fog — Fog is a Ruby cloud infrastructure SDK that provides a standardized interface for managing compute, storage, and… userver-framework/userver — userver is a comprehensive C++ backend application platform and asynchronous framework designed for building scalable… hazelcast/hazelcast — Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to… apache/incubator-pulsar — Apache Pulsar is a cloud-native message queue and distributed publish-subscribe messaging system. It serves as a… winglang/wing — Wing is a cloud infrastructure programming language and infrastructure-as-code framework that unifies cloud resource… deepstreamio/deepstream.io — deepstream.io is an open-source realtime server that synchronizes JSON records, events, and remote procedure calls…

Open-source alternatives to Go Cloud

Similar open-source projects, ranked by how many features they share with Go Cloud.
  • fog/fogfog avatar

    fog/fog

    4,297View on GitHub↗

    Fog is a Ruby cloud infrastructure SDK that provides a standardized interface for managing compute, storage, and network resources across multiple cloud providers. It utilizes a multi-cloud abstraction layer to translate generic resource requests into provider-specific API calls, unifying infrastructure control through a consistent set of Ruby objects. The project includes a cloud API mocking framework that simulates provider responses and resource behavior in memory. This allows for the testing of infrastructure integration logic without making actual network requests or incurring provider c

    Ruby
    View on GitHub↗4,297
  • userver-framework/userveruserver-framework avatar

    userver-framework/userver

    2,811View on GitHub↗

    userver is a comprehensive C++ backend application platform and asynchronous framework designed for building scalable microservices. It provides a high-performance execution environment for deploying services that communicate via gRPC and HTTP using a middleware-based request pipeline. The platform distinguishes itself through a distributed service orchestration toolset that manages shared state, distributed locking, and dynamic configuration updates without requiring process restarts. It utilizes a coroutine-based asynchronous execution model and event-loop network I/O to handle high-concurr

    C++asyncasynchronouscoroutines
    View on GitHub↗2,811
  • hazelcast/hazelcasthazelcast avatar

    hazelcast/hazelcast

    6,570View on GitHub↗

    Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to support real-time analytics and event-driven applications. It functions as a partitioned, distributed key-value store that replicates data across cluster nodes to provide low-latency access and high availability. The platform also serves as a distributed SQL query engine, allowing users to execute standard SQL statements against both in-memory datasets and external data sources. What distinguishes Hazelcast is its use of a distributed consensus subsystem to maintain strongly consis

    Javabig-datacachingdata-in-motion
    View on GitHub↗6,570
  • apache/incubator-pulsarapache avatar

    apache/incubator-pulsar

    15,270View on GitHub↗

    Apache Pulsar is a cloud-native message queue and distributed publish-subscribe messaging system. It serves as a multi-tenant event streaming platform designed to route data streams for asynchronous communication between producers and consumers. The system distinguishes itself through geo-replication, synchronizing data across multiple geographic regions to ensure high availability and low latency. It implements a multi-tenant architecture that provides isolation and resource management for millions of independent topics. The platform covers high-throughput data streaming and event-driven da

    Java
    View on GitHub↗15,270
See all 30 alternatives to Go Cloud→