SPEKTRA Edge Architecture

Understanding the SPEKTRA Edge architecture.

SPEKTRA Edge allows the customer to:

  1. Deploy and manage applications running on dedicated servers
  2. Manage SPEKTRA Edge applications running on end-user laptops
  3. Create their services on top of SPEKTRA Edge.

As a platform, SPEKTRA Edge contains ready-to-use services:

  • Service meta.goten.com is used for service registration/discovery.
  • Service iam.edgelq.com is responsible for Identity and Authorization Management (IAM). It provides management of accounts (users, service accounts, groups), scopes (projects, organizations, services) and permissions (roles, permissions, role bindings).
  • Service audit.edgelq.com is storage where the activity of all services is recorded (API Access and changes to resources).
  • Service logging.eddgelq.com provides generic storage for logs
    • other services can register their log descriptors.
  • Service monitoring.edgelq.com provides generic storage for numerical, time-series data - other services can declare their own metric/resource descriptors. Since monitoring focuses on numeric data types (floats, integers, distributions), it also provides alignment over time range & aggregation over keys.
  • Service limits.edgelq.com allows us to define the maximum amount of resources entities can have in any service. It is generic and other services can provide their plans with resource types.
  • Service proxies.edgelq.com provides connectivity (bidirectional streams) to edge devices/services via tunneling.
  • Service secrets.edgelq.com provides secrets management.
  • Service devices.edgelq.com provides base edge device (hardware) management. It is integrated with a droplet application which is added to all SPEKTRA Edge OS devices.
  • Service applications.edgelq.com builds on top of devices management, by providing Distribution/Pods management. Pods are scheduled on Devices and droplet runtime ensures pods are running locally. third party services on top of SPEKTRA Edge can decide if they want to run their clients on their own or ship within pods managed by applications.edgelq.com.

As a service development framework, SPEKTRA Edge comes with Goten, which provides tools for building a service (schema, server, controller, and basic clients). Goten allows and even encourages, the construction of a larger ecosystem of services, consisting of multiple regional clusters, each containing multiple services, using various versions. It allows for multi-region, multi-service, and multi-version dimensions. All core SPEKTRA Edge services were built using Goten.

Therefore, the SPEKTRA Edge platform inherits Goten service properties:

  • It can be deployed in many clusters (regions), achieving a multi-region setup. Services built on top of SPEKTRA Edge can be deployed on all or selected regions offered by the platform. It is highly recommended to run its clusters within proximity to synchronized SPEKTRA Edge deployment.
  • All services can be versioned, meta.goten.com provides information about what services are running, in which version, and where.
  • All services use gRPC/REST protocols.
  • Resources, requests, and responses are modeled using protobuf.
  • Database drivers are Mongo/Firestore - no-SQL document storage types (like JSON). Goten provides its proto annotations that allow to declare references (Blocking, cascade unset/delete with asynchronous variants).

SPEKTRA Edge Core Controller Services

Understanding the SPEKTRA edge core controller services.

SPEKTRA Edge Device OS

Understanding the SPEKTRA edge OS.

SPEKTRA Edge Third-Party Controller Services

Understanding the SPEKTRA edge third-party controller services.