Skip to content

Latest commit

 

History

History
110 lines (79 loc) · 7.02 KB

File metadata and controls

110 lines (79 loc) · 7.02 KB

Symphony docs

(last edit: 9/18/2023)

Welcome to Symphony!

Symphony

Have you encountered the complexities of manually orchestrating multiple toolchains to oversee your edge infrastructure and solutions? Symphony orchestrates existing services and tools to form an end-to-end, consistent intelligent edge experience. Symphony unites various device classes, software artifacts, and service toolchains, seamlessly harmonizing them into a unified system. With Symphony, you become the maestro, holding the complete vision and exerting precise control while enabling each component to realize its full potential, regardless of whether it's on heavy edge, light edge, or tiny edge, and irrespective of whether it's running on Kubernetes, in the cloud, or on-premises services.

Features

To enable your edge solution orchestration, Symphony:

  • Projects resources as Kubernetes custom resources, allowing the control plane to be managed using K8s native tools such as kubectl.
  • Supports different application model formats, including Helm charts, and a ModuleGroup format that is designed to group multiple Azure IoT Edge modules.
  • Supports hardware-accelerated AI payloads using media pipelines through Live AI, OpenVINO, etc.
  • Shares the same solution management, security management, and device management logic to ensure consistent behavior across cloud and edge.
  • Works well with AKS, Arc, IoT Hub and other Azure services.
  • Supports dynamic device discovery and update through Akri.
  • Supports additional computational nodes such as Azure Sphere through Virtual Kubelet.
  • Supports end-to-end observability with distributed tracing using OpenTelemetry.

Key application scenarios

Symphony aims to deploy and manage secured, hardware-accelerated intelligent edge payloads on a K8s-based fabric that offers adaptive workload scheduling for HA and resource balancing. Some key application scenarios include:

  • Manage intelligent payloads on a highly available field gateway cluster, such as an HCI cluster, that manages attached sensors like brown-field cameras.
  • Manage intelligent payloads on a in-vehicle cluster for smart cars, construction vehicles, and/or airplanes.
  • Provide business continuity for occasionally connected or disconnected environments.
  • Manage intelligent payloads on a fully virtualized environments for large-scale scenarios such as simulation and testing.

Get started

First, install Symphony on your device using one of the following methods:

Then, try one of the quickstart scenarios that use Symphony to deploy a sample solution:

Scenario Requires K8s Requires Azure Requires Azure IoT Edge Requires Docker Requires RTSP Camera
Deploy a Prometheus server to a K8s cluster Yes - - - -
Deploy a Redis container with standalone Symphony - - - Yes -
Deploy a simulated temperature sensor Solution to an Azure IoT Edge device Yes Yes Yes - -
Manage RTSP cameras connected to a gateway Yes Yes - - Yes

Concepts

Use Symphony

Sample scenarios

Advanced

Contribute to Symphony

Architecture

Additional topics

Supported technologies

Symphony is platform neutral and protocol neutral. Through its extensible architecture, Symphony supports a broad range of AI frameworks, devices, hardware, services and many more. The following table summarizes some of the supported technologies and the list grows rapidly.

Area Supported Technologies
AI Pipeline ONNX OpenCV, DeepStream*
Application Model  Helm, Symphony, Radius*, ARM*
Device Updates GitOps Flux*, ADU for IoT Hub, Arc pyOCD*
Discovery ONVIF OPC UA*, udev (via Akri)
Hardware Azure Stack HCI, MIMXRT1170-EVK, Nvidia Jeston Orin, Nvidia dGPU
K8s Distributions Kubernetes Azure Kubernetes Service MicroK8s Kind K3s AKS-IoT
Observability Open Telemetry, Azure Monitor
OS Ubuntu Windows 10 MacOS, CBL-Mariner, Azure RTOS
Other Azure Service Azure Storage, Azure Logic Apps, Azure Functions
Policies Gatekeeper, Kyverno
Runtime Azure IoT Edge, Kubernetes, Windows 10, Samsung DERAM*
Scripting Bash, PowerShell, Windows Batch

*:upcoming