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

Proposal: Provide a collection of app delivery patterns and a development framework for them #167

Closed
joshgav opened this issue Nov 29, 2021 · 2 comments
Labels
proposals Ideas for new initiatives. wg-platforms Related to cooperative delivery initiatives.

Comments

@joshgav
Copy link
Contributor

joshgav commented Nov 29, 2021

This issue is to discuss and reach consensus on a) developing a collection of code patterns representing recommended cloud-native app delivery practices and b) providing a high-level framework for proposing and publishing new such patterns.

Why?

In order to learn, developers require examples of recommended, mature practices for cloud-native app delivery. These examples must include straightforward documentation and runnable code to enable developers to learn quickly. They also should be vendor-neutral, vetted by subject matter experts, and published at easily-discoverable locations.

One of TAG App Delivery's tactics (listed here) is to provide patterns and practices for the likes of gradual delivery, declarative delivery, and delivery of infrastructure. As such, TAG App Delivery is the ideal candidate to maintain a collection of recommended app delivery patterns.

podtato-head is an early example of a project intended to demonstrate recommended practices. We should continue to leverage and extend it for this purpose.

What?

This proposes two deliverables:

  1. A published collection of recommended code patterns.
  2. A framework for proposing, implementing and publishing code patterns representing recommended practices.

How?

  1. Propose and gain consensus on a high-level process for proposing, implementing and publishing recommended patterns (see following).
  2. Propose, implement and publish the first recommended pattern (see Pattern proposal: Provision databases and their bindings on demand from any provider #168).

Proposed process

  1. Propose and discuss patterns as Issues in the App Delivery GitHub repo (like this one!)
  2. Implement proposed patterns.
    • Write runnable code and include continuously-runnable tests. This enables fast feedback and iteration on the pattern.
    • Provide concise docs following a standard template. This enables fast understanding and usage by end developers.
    • Progress work in individual repos, then publish to a repo managed by TAG App Delivery. This enables fast discovery of published, recommended patterns.
  3. Leverage and extend shared foundations like podtato-head and CNCF/open source projects
  4. Proposal and implementation are complete when an end-to-end tutorial with code and documentation has been approved and published to the common repo.
@roberthstrand roberthstrand added the wg-platforms Related to cooperative delivery initiatives. label Dec 1, 2021
@joshgav
Copy link
Contributor Author

joshgav commented Dec 8, 2021

In today's Cooperative WG meeting we discussed how to publish approved patterns - i.e., at the end of step 4 above. One proposal is to maintain code in repos like podtato-head and put docs with tutorials/patterns in relevant subdirectories here in the TAG App Delivery repo. For example, the tutorial for #168 would go in the cooperative-delivery-wg/patterns folder; and perhaps the existing scenarios in the delivery directory in podtato-head would go in a root patterns directory here too.

cc @roberthstrand @thschue

@thschue
Copy link
Contributor

thschue commented Aug 23, 2022

Closing this issue as there are no further action items associated with it.

@thschue thschue closed this as completed Aug 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
proposals Ideas for new initiatives. wg-platforms Related to cooperative delivery initiatives.
Projects
None yet
Development

No branches or pull requests

3 participants