Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

What are External Service Abstractions?

External Service Abstractions are unified APIs that allow your Uzumibi application to access platform-specific services (like key-value stores, caches, databases, etc.) through a common interface. This abstraction layer enables you to write code once and deploy to multiple platforms without platform-specific modifications.

Each edge platform provides different services with different APIs:

  • Cloudflare Workers has KV, R2, Durable Objects
  • Fastly Compute has KV Store, Edge Dictionary
  • Spin has Key-Value Store, SQLite
  • Cloud Run can access Google Cloud services

External Service Abstractions provide a unified Ruby API that translates to the appropriate platform-specific implementation at runtime.

Benefits

  • Write Once, Deploy Anywhere: Same code works across platforms
  • Platform Independence: Switch platforms without rewriting service access code
  • Consistent API: Familiar Ruby interface regardless of underlying platform
  • Type Safety: Well-defined interfaces reduce errors

Status

Current Status: TBA (To Be Announced)

The External Service Abstractions layer is currently under development. The following sections describe the planned architecture and APIs.