Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Sandbox] Threeport #69

Closed
2 tasks done
lander2k2 opened this issue Nov 27, 2023 · 11 comments
Closed
2 tasks done

[Sandbox] Threeport #69

lander2k2 opened this issue Nov 27, 2023 · 11 comments
Assignees
Labels
App Delivery Postponed Project is not ready for inclusion in the CNCF

Comments

@lander2k2
Copy link

Application contact emails

[email protected],[email protected]

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

  • If the project is accepted, I agree the project will follow the CNCF IP Policy

Trademark and accounts

  • If the project is accepted, I agree to donate all project trademarks and accounts to the CNCF

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:

  • Native support for deploying containerized workloads on Kubernetes.
  • Manages cloud provider infrastructure and managed services, e.g. RDS and S3, in response to application dependency requirements.
  • Orchestrates workload dependencies installed on Kubernetes, e.g. ingress, TLS termination using other cloud native projects.
  • Allows workloads to be declared as dependencies of other workloads, supporting a distributed or microservice architecture.

"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
Copy link

joshgav commented Nov 28, 2023

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: cncf/tag-app-delivery#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
Copy link
Author

@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
Copy link

jberkus commented Dec 8, 2023

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
Copy link

amye commented Dec 8, 2023

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

@lander2k2
Copy link
Author

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

@amye amye moved this from 📋 New to 🏗 Upcoming in Sandbox Application Board Jan 2, 2024
@lander2k2
Copy link
Author

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

@dims
Copy link
Member

dims commented Apr 1, 2024

@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 #65

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

@lander2k2
Copy link
Author

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 TheFoxAtWork self-assigned this Apr 9, 2024
@amye amye moved this from 🏗 Upcoming to ⏲ Waiting in Sandbox Application Board Apr 9, 2024
@TheFoxAtWork
Copy link
Contributor

@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:

  • Support for additional cloud service providers beyond AWS
  • While the project has a few active contributors, we'd like to see an increase in the community as it appears one person is the primary contributor.
  • We think this project is interesting and we would like to see it mature further

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
Copy link
Author

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

  • We've given a lot of consideration to more cloud provider support. We agree it's important. As such, we've added Azure support to our roadmap. GCP will come as well - where it sits in priorities is TBD.
  • While I've added the most commits, I'm definitely not the sole primary contributor. I've provided 60% of lines of code contributed while our two other contributors have committed about 20% each in terms of lines of code. That said, we'd love to attract more contributors and will endeavor to do exactly that before we re-submit.
  • We're very happy to hear you think Threeport is interesting and we'll continue to work hard at maturing the project.

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

@TheFoxAtWork
Copy link
Contributor

Apologies for the delay - this application should be labeled as postponed and closed given the discussion from April 10th, anticipating the project to reapply when they are ready.

@TheFoxAtWork TheFoxAtWork added Postponed Project is not ready for inclusion in the CNCF and removed New New Application labels Oct 8, 2024
@github-project-automation github-project-automation bot moved this from 🌮 Postponed to ✅ Done in Sandbox Application Board Oct 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
App Delivery Postponed Project is not ready for inclusion in the CNCF
Projects
Status: Done
Development

No branches or pull requests

6 participants