Creation Review

Type
Creation
State
Successful
End Date of the Review Period

Reviews run for a minimum of one week. The outcome of the review is decided on this date. This is the last day to make comments or ask questions about this review.

Proposal

Eclipse Symphony

Thursday, November 9, 2023 - 12:31 by Haishi Bai
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please login and add your feedback in the comments section.
Parent Project
Proposal State
Created
Background

Navigating the complexities of diverse and ever-changing edge environments is no small feat for edge solution developers. The landscape is riddled with challenges—ranging from the coexistence of various operating systems and hardware profiles to the intricacies of juggling different tool chains. While solutions exist for managing individual facets of these dynamic edge setups, the task of seamlessly orchestrating these tools becomes a labyrinthine and error-prone endeavor.

In response to this intricate web of challenges, we have embarked on a mission to revolutionize the edge computing experience. Symphony aims to forge a cohesive and streamlined solution, offering an end-to-end, uniform experience that transcends the boundaries of disparate toolchains. By doing so, we strive to empower edge solution developers and adopters with a more efficient, reliable, and user-friendly approach to managing the multifaceted intricacies of their edge environments.

Scope

Eclipse Symphony provides a versatile API specifically designed for managing workloads in complex edge computing environments. It operates as an orchestrator, seamlessly harmonizing diverse toolchains and services, offering developers and adopters a dynamic and adaptive orchestration solution tailored to their specific requirements.

Description

Eclipse Symphony enables end-to-end orchestration experience and addresses it as a distinct concern. Its objective is to provide an easy-to-adopt, cost-effective, and consistent application programming interface (API) for managing workloads that involve multiple device types and service vendors at multiple locations. Eclipse Symphony enables developers and adopters to utilize their current systems as-is, without making any alterations, and to unify disparate systems into a coherent entirety. The key benefit of Eclipse Symphony is its ability to codify a consistent workflow across these systems and tool chains, ensuring their seamless integration and harmonious operation.

Eclipse Symphony enables solution orchestration by a separation of concerns into 3 constructs, Unified Object Model, Orchestration API, and Providers.

  • Unified Object Model defines the units of orchestration and the target state for these units.
  • Orchestration API provides the orchestration capabilities that are state seeking, information graph and workflow.
  • Providers encapsulate and isolate platform-specific operations for each of the systems and devices that participate in the system orchestration task and enable extensibility.
Future Work

We'll keep improving code quality for production usage and keep engaging with adopters and the community at large to grow the project. We've assigned engineering resources to work on the project, and we'll set up regular community engagements like steering committee meetings, maintainer meetings. And we'll also advocate the project with available channels.

Project Scheduling

The code is ready to be contributed.

Initial Contribution

We've been developing the code base in the past 2 years. The intention has been to release the code under MIT license and contribute project to an open community. We've gone through dependency license review (along with security and compliance reviews) and there are no concerns to release under the MIT license. The code is currently hosted under the Azure org under GitHub but we are open to relocate the repo.

Source Repository Type