cncf / sandbox

Applications for Sandbox go here! ⏳📦🧪
Apache License 2.0
128 stars 19 forks source link

[Sandbox] Threeport #69

Open lander2k2 opened 9 months ago

lander2k2 commented 9 months ago

Application contact emails

lander2k2@protonmail.com,richard@qleet.io

Project Summary

Cloud native application orchestrator

Project Description

Threeport is an application orchestrator and software delivery control plane. It allows a user to define a workload and declare its dependencies, orchestrating the delivery of the workload with all of those dependencies connected and available.

As an alternative to continuous delivery pipelines that use git as the source of truth, Threeport stores state in a database instead of git. It leverages software controllers that access the database and reconcile the desired state to gracefully manage delivery, eliminating the need for sprawling DevOps tools and configuration languages.

Furthermore, Threeport provides a unified, global control plane for workloads. It functions as an orchestration system that manages cloud provider infrastructure and the software utilizing it across any region, all through a single, scalable control plane.

Org repo URL (provide if all repos under the org are in scope of the application)

N/A

Project repo URL in scope of application

https://github.com/threeport/threeport

Additional repos in scope of the application

No response

Website URL

https://threeport.io/

Roadmap

https://github.com/threeport/threeport/blob/main/ROADMAP.md

Roadmap context

No response

Contributing Guide

https://github.com/threeport/threeport/blob/main/docs/contributing.md

Code of Conduct (CoC)

https://github.com/threeport/threeport/blob/main/docs/code-of-conduct.md

Adopters

No response

Contributing or Sponsoring Org

https://qleet.io/

Maintainers file

https://github.com/threeport/threeport/blob/main/MAINTAINERS.md

IP Policy

Trademark and accounts

Why CNCF?

Being a part of the CNCF provides the Threeport project with exposure to a community of users that would find the project useful. We chose the CNCF because it embraces open source collaboration. Those that look to the CNCF as a reference point for cloud native projects tend to have the same values which aligns well with the aims of the Threeport project: provide valuable software and encourage participation in helping develop the project further.

Benefit to the Landscape

Software delivery and dependency management for distributed workloads in cloud native environments is challenging. Threeport exists to manage the deployment of a workload and its dependencies using a control plane as an alternative to continuous delivery pipelines. Threeport manages cloud infrastructure, Kubernetes clusters, managed services (provided by 3rd party providers) and support services (run on Kubernetes with tenant workloads) as dependencies of your application. It provides simplified abstractions for developers to provision and use Kubernetes to run their workloads. It puts Kubernetes within reach for more organizations and enhances the software delivery operations for those that already use it.

Cloud Native 'Fit'

With regard to the CNCF landscape, Threeport fits best in the Orchestration & category. Threeport is a cloud native project in the following respects:

"Cloud native" usually means using containers, Kubernetes and other API-driven systems such as cloud infrastructure providers. Threeport is a control plane for managing application delivery in this environment.

Cloud Native 'Integration'

Threeport uses CNCF projects such as Kubernetes and cert-manager to orchestrate dependencies for user applications. We will be expanding the CNCF projects integrated, soon to add Prometheus and Fluentbit for orchestrating observability concerns for user applications.

Cloud Native Overlap

Threeport has some overlap with Crossplane in that Threeport is extensible and can be thought of as a tool for building cloud native control planes. It also has some overlap with various GitOps projects such as ArgoCD in that Threeport provides application delivery mechanisms.

Similar projects

I don't know of any projects that are approaching application orchestration in the way Threeport does.

Landscape

No

Business Product or Service to Project separation

Qleet provides fully hosted Threeport control planes as a service. The source code Qleet services live in an entirely separate github org from Threeport. Threeport also has it's own website and documentation. Threeport has its own release cycle and exists independently of Qleet, the company and service.

Project presentations

N/A

Project champions

No response

Additional information

No response

joshgav commented 9 months ago

Hi @lander2k2 and thanks for the submission! We'd love to hear about this project in TAG App Delivery.

Our next open slot for presentations is December 20 in our TAG general meeting - would you be able to attend that day? We ask for a presentation for about 25 minutes on the architecture and features of your project, here's the tracking issue for you: https://github.com/cncf/tag-app-delivery/issues/512. We'll take notes and share the recording here for TOC's review too.

FWIW threeport seems to be architected similarly to Radius - see #65.

lander2k2 commented 9 months ago

@joshgav I totally can present on Dec 20. Looking forward to it.

Yes, there are indeed similarities between Threeport and Radius. I like what they're doing! We chatted with the Radius team at Kubecon and found a lot of common ground in how we're approaching our projects. I'd be happy to talk about the similarities and differences at the TAG general meeting if helpful.

jberkus commented 8 months ago

Since the TAG-App Delivery presentation won't be until after the next Sandbox review, can you briefly explain here a bit of compare and contrast between Threeport, Crossplane, and ArgoCD to the best of your knowledge? What things do they do the same, and what differently? What are the tradeoffs between the platforms? In what contexts could the projects be used together?

CNCF has a "no kingmaker" policy so competing with accepted projects is not regarded as a problem. My questions are more around understanding how a user would evaluate using Threeport vs. other options.

amye commented 8 months ago

We have more time, this project is not currently scheduled for review.

lander2k2 commented 8 months ago

@jberkus I add some project comparisons for Crossplane and ArgoCD (as well as Radius) to our documentation here: https://docs.threeport.io/#comparable-projects

lander2k2 commented 7 months ago

@joshgav wondering what next steps here might be. Any questions I can answer? Or any more info I can supply for this application?

dims commented 4 months ago

@jberkus I add some project comparisons for Crossplane and ArgoCD (as well as Radius) to our documentation here: https://docs.threeport.io/#comparable-projects

interesting that we have Radius under review as well in https://github.com/cncf/sandbox/issues/65

Looks like EKS is deployed under the covers on AWS (not custom k8s installation on EC2)

lander2k2 commented 4 months ago

Looks like EKS is deployed under the covers on AWS (not custom k8s installation on EC2)

@dims That is correct. Threeport uses the aws-builder library to deploy EKS clusters (as well as RDS and S3 when used as part of an app stack). We opted to use this library - and the aws-sdk-go-v2 - instead of an intermediate tool or abstraction for maximum flexibility and to ensure we didn't hit any limitations in some dependent tooling.

TheFoxAtWork commented 4 months ago

@lander2k2 The TOC determined on today's call the following milestones should be achieved by the project in order to be reviewed at a later date:

please reapply no earlier than 6 months from now once support for additional cloud services has been added, there are more active contributors, and it has grown a bit more.

lander2k2 commented 4 months ago

Thanks for the feedback @TheFoxAtWork . Really appreciate the TOC taking the time to review. For the milestones:

Thanks for considering our application. We'll resubmit after 6 months has gone by and we've reached these milestones.