Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: added draft statement

DRAFT - In Progress

Project Proposal Template

...

Required Information

Responses (Please list N/A if not applicable)

Name of Project

Open Horizon

Project Description (what it does, why it is valuable, origin and history)

Description

Open Horizon is software to autonomously and securely manage the service software lifecycle of global or local fleets of edge compute nodes in various connected states.  It interoperates with existing orchestration tools and conventions. 

It can be considered as a single component of a complete Cloud-to-Edge workload management solution; covering both services and related metadata, including machine learning assets.

Value and Ethos

  • Autonomy – When fleets of devices number in the tens of thousands to millions and more, conventional software management techniques do not scale. Open Horizon provides a policy-driven mechanism for specifying device properties, business requirements, and service objectives and monitors those conditions continually for matches.
  • Security – The underlying philosophy is to minimize attack surfaces. Open Horizon does not allow software management parties to communicate directly. All communication is encrypted.
  • Connectivity – Device nodes may not always be connected to the Internet. Software management must allow for partially- and completely-disconnected operations.

History

  • IBM began Horizon development mid 2015, demo at IoT World Forum 12/2015
  • Previously named Project Mountain, then Blue Horizon, now Open Horizon
  • IBM has a commercial offering, IBM Edge Application Manager, built with Open Horizon

Focus & Technology

  • Targeting the Edge Gateway/Controller and Device tiers of Edge Computing
  • Works with Linux variants and OSX, x86_64 and armhf, 32- and 64-bit
  • Written in Golang and Scala

Statement on alignment with Foundation Mission Statement

"LF Edge provides a neutral structure for building a diverse open source community capable of driving better, more secure development at the edge. It also unifies an aligned vision for the diverse and complex edge projects being built today." - from the LF Edge FAQ.

In order to further the mission of LF Edge, Open Horizon's goals include:

  • To enlist partners as stakeholders
  • To build an active, thriving community of developer contributors
  • To establish our approaches as de facto standards and blueprints and speed industry adoption
  • To create an ecosystem of components and services from LF-contributed code to enable enterprise-ready solutions 
  • To provide a migration path from individual projects to complete enterprise-ready solutions
High level assessment of project synergy with existing projects under LF Edge, including how the project compliments/overlaps with existing projects, and potential ways to harmonize over time. Responses may be included both here and/or in accompanying documentation. 

Whether thinking about component solutions that could be assembled for a complete Cloud-to-Edge workload management implementation, or projects that would work together to solve a specific use case, Open Horizon is designed to work together with other solutions in an open, standardized approach.

Open Horizon is already incubating with EdgeX Foundry and building an integration project with them that will live in their holding respository.  We are hoping to learn valuable techniques and processes from this effort that can be used to inform other integration and collaboration efforts within LF Edge going forward.

Open Horizon works with EdgeX Foundry, and potentially Fledge, to deliver and manage their solution and to synchronize any needed ML assets with their origin.

Open Horizon is planning to collaborate with Home Edge to synchronize ML assets from the cloud to the home gateway.

Open Horizon could use Project EVE as a device management solution and to bootstrap the Open Horizon Agent.

Open Horizon is in discussions with several Akraino Blueprint Family owners on contributing to their blueprints as a portion of their solutions in the areas of workload management on edge devices and delivery of assets in an ML deployment pipeline.

Link to current Code of Conduct

none yet, in progress

2 TAC Sponsors, if identified (Sponsors help mentor projects) - See full definition on Project Stages: Definitions and Expectations

Joe Pearson, IBM

Frank Zdarsky, Red Hat

...

Project license

Apache 2.0

https://github.com/open-horizon/anax/blob/master/LICENSE.txt

Source control (GitHub by default)

https://github.com/open-horizon

Issue tracker (GitHub by default)

https://github.com/open-horizon

External dependencies (including licenses)

Auto-generated dependency lists:

Release methodology and mechanics

Agile with Kanban
Scrums twice a week
Two-week sprints ending with a scrum of scrums
Releases when features complete, historically 3-6 months

Names of initial committers, if different from those submitting proposal

Joe Pearson, IBM

David Booz, IBM

Bruce Potter, IBM

Carl Girouard, IBM

Jon McGuire, IBM

Current number of code contributors to proposed project14
Current number of organizations contributing to proposed projectOne, IBM
Briefly describe the project's leadership team and decision-making processThe project leadership team is composed of the Project Chair, Chief Architect, Dev Lead, QA/Test Lead, DevOps Lead, and Offering Lead. At the beginning of a release cycle the backlog, roadmap, and any outstanding community requests are weighed to determine what can be reasonable delivered in the next release.
Preferred maturity level (see stages here)Stage 1, aiming for Stage 2 in about six months or so
For Projects applying at the Growth (Phase 2) or Impact Stage (Phase 3), please outline how your project successfully meets/exceeds the requirements as defined under each category. Responses may be included both here and/or in accompanying documentation.n/a
List of project's official communication channels (slack, irc, mailing lists)using EXF's Slack and Groups.io for integration work, plan to use LF Edge Slack and Groups.io after acceptance at Stage 1
Link to project's websiteunder development

Links to social media accounts

none, will use LF Edge social media
Existing financial sponsorshipIBM
Infrastructure needs or requests (to include GitHub/Gerrit, CI/CD, Jenkins, Nexus, JIRA, other ...)GitHub, Jenkins Pipelines, investigating additional solutions including Cloud-based offerings provided free to open source projects
Currently Supported Architecturex86, ARM 32 & 64
Planned Architecture Supportnone
Project logo in svg format (see https://github.com/lf-edge/lfedge-landscape#logos for guidelines)https://github.com/open-horizon/artwork/blob/master/color/open-horizon-color.svg
Trademark statusn/a
Does the project have a Core Infrastructure Initiative security best practices badge? (See: https://bestpractices.coreinfrastructure.org)no
Any additional information the TAC and Board should take into consideration when reviewing your proposal?

Open Horizon Info

GitHub:  https://github.com/open-horizon

Open Horizon lives on the network edge, and typically on constrained devices. Open Horizon is designed to help place your software as close as possible to where the data is being created and right where actions need to be taken. A fully autonomous Open Horizon Agent runs on every edge device to orchestrate and manage the software lifecycles of your containers (e.g., download, verify, sandbox, run, restart, remove) on its device. Open Horizon is mostly decentralized, and designed for massive scale. Driven only by a software deployment pattern you have configured, or by policies (properties and constraints) that you have set, the Open Horizon Agent makes its own decisions about which software to run on its device. The Agent has a very small footprint, currently requiring less than 30MB of RAM at runtime, and supports small Linux amd64, arm64v8, and arv32v6/v7 devices (with as little as 512MB RAM).

Video resources:

Open-Horizon: How It Works (15 minute overview followed by 16 minute technical deep dive)

Hands On: Software Deployment Patterns Versus Policies (9 minutes)


...


Project Proposal - Mapping Criteria and Data:

...