tag-app-delivery
tag-app-delivery copied to clipboard
Proposal: Provide a collection of app delivery patterns and a development framework for them
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:
- A published collection of recommended code patterns.
- A framework for proposing, implementing and publishing code patterns representing recommended practices.
How?
- Propose and gain consensus on a high-level process for proposing, implementing and publishing recommended patterns (see following).
- Propose, implement and publish the first recommended pattern (see #168).
Proposed process
- Propose and discuss patterns as Issues in the App Delivery GitHub repo (like this one!)
- 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.
- Leverage and extend shared foundations like podtato-head and CNCF/open source projects
- Proposal and implementation are complete when an end-to-end tutorial with code and documentation has been approved and published to the common repo.
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
Closing this issue as there are no further action items associated with it.