Global Edge Fabric

Serverless Edge for Web, Mobile, IoT & APIs

The Global Edge Fabric provides application developers and architects a Platform as a Service (PaaS) to build and run applications globally across 25 worldwide regions.

Unlike existing cloud platforms that require you to build your backend in one cloud region, Macrometa automatically distributes, orchestrates and synchronizes your code and data across a network of worldwide edge cloud regions.  Your user's application requests are always routed to the nearest edge and serviced instantly without delays or latency.

The Global Edge Fabric is for apps like:

  • Single Page Apps (SPAs): Query a rich database at the edge to power  SPAs with GraphQL or RESTful API driven data.
  • Progressive Web Apps (PWAs): Build offline first, native mobile apps with low latency, real-time and event-driven logic.
  • Server-side rendering (Traditional web backend): Extend your existing apps by surgically moving latency sensitive or data intensive parts to the edge.
  • APIs and microservices powered by GraphQL or REST: Write lean backends that expose data and query interfaces as APIs using GraphQL and RESTful APIs.

Global Database in 60 secs

Create a distributed, multi-region, multi-master, real-time database with strong consistency guarantees in minutes. Share data worldwide instantly.

Global Streams & Pub/Sub

Create multi-region, global or geo-fenced streams, global pub/sub with delivery guarantees. Process events, messages, logs from devices and users instantly.

Compute Service

Create serverless functions & containers for your code. Write edge applications or APIs in any language. Deploy execute your code worldwide instantly.

An Edge Native Database:
Globally Distributed, Multi-Master and Consistency Guarantees

Macrometa is a globally distributed database that responds with local latencies while maintaining consistent views of data worldwide. Application builders use Macrometa to improve low latency data access, achieve high data availability, ensure guaranteed disaster recovery, and meet their business requirements.

Adaptive Consistency: Strong Session Consistency for all clients connected to an Edge location (read your writes, read all other writes made to that edge) and Strong Eventual Consistency across the network (read your writes, read writes from other Edge locations that have replicated). 

Concurrent Change Conflict Handling: Unlike eventually consistent databases, Macrometa manages changes granularly at the atomic field level and merges changes made across the network to maintain a single version of the truth.  Concurrent conflicts only occur when two clients make the same operation to the same field of the same document in the same collection - and Macrometa reconciles the conflict by using smart operation ordering using intent prioritization.

 

Multi-Model: 4 Flavors of Data, One Data Model

Deploying multiple types of databases and integrating them to support applications is very complex and expensive. And trying to do that for applications that run globally is virtually impossible.  Macrometa offers a universal multi-model interface. Query & process your data using any of the following interfaces:

  • Key/Value Database: Perform single key lookups and key/value pair insertions and updates.
  • Document Database: Store JSON format documents with sophisticated query and nesting types. Supported types include atomics - number, strong, boolean or null or compounds - array or nested objects.
  • Graph: Perform graph queries to discover semantic relationships by extending documents with edges and vertices (directionality and distance).
  • Streams: Query, process and store streams (and messages)  like regular data collections. 

Real-Time Data

Most databases take a pull-based approach to provide data by polling the database. When your code polls for data it becomes slow, unscalable, and cumbersome to maintain. Macrometa supports both pull and push-based updates across multiple Edge locations. This makes building real-time, globally distributed apps dramatically easier. It is a great choice when your applications benefit from real-time data feeds.

Global Stream Processing and Pub/Sub

Streams are a type of database collection in Macrometa that capture data in motion. Messages are sent via streams by publishers to consumers who then do something with the message using event hooks and function triggers.

Macrometa's Global Streams unify queuing and pub/sub messaging into a single converged messaging model that provides flexibility to users to consume messages in a way that is best for the use case at hand. Macrometa's Global Streams offer the following capabilities:

  • Global, regional or Edge only streams
  • Persistent or ephemeral streams
  • "At least Once" or "Effectively Once" Delivery Semantics
  • Exclusive, Shared or Failover Consumption Semantics

Global Function and Container Service

Macrometa’s global compute service is a framework for building, deploying and running serverless functions with Docker and Kubernetes on any combination of Macrometa Edge locations. Any process can be packaged as a function, enabling you to consume the full suite of data platform services (Multi-model database, real-time updates, streams, etc.) and web events using native language client drivers or REST API calls.

Global Compute Services offer the following capabilities:

  • Freedom of choice: Write and run code in any language or runtime that can be packaged as a Docker container.
  • Long-lived services: Functions and containers will run the process till exit without preemptive termination.
  • CLI & GUI:  Create, package and deploy functions.
  • Serverless Templating: Write a handler in your chosen language and our toolchain will use a template to bundle it into a Docker container and deploy it as a serverless function.
  • In-Situ Processing: Containers and functions are scheduled in close physical proximity to data either on the same server or in the same pod providing data locality to the multi-model database and streams.