devfile / api

Kube-native API for cloud development workspaces specification
Apache License 2.0
261 stars 63 forks source link

Real life samples for devfile #419

Closed rtaniwa closed 1 month ago

rtaniwa commented 3 years ago

Problem: We are missing devfiles for a sample project that will reflect different aspects of the capabilities of devfiles + associated tools that are leveraging devfiles

Goal: In order to deliver coherent experiences across our tools, we should be:

Choosing a sample real life project Implement and build the devfile, and documenting every steps we had to follow Look at how the developer experience is looking like, from different tools: ODO, OpenShift Connector, CRW, ODC. The application should be at least:

One back-end service One front-end service A database A cache We need to look at different scenarios (not exhaustive):

All source code for each microservices on the same repo Separate repo for each microservices Consuming external services (managed DB or others) Why is it important? Without getting that real example, we are focusing on code samples that are not realistic to what our customers are doing. This creates discrepancies in the experiences and gap in our story.

elsony commented 3 years ago

Some potential apps to start with: https://github.com/mcouliba/cloud-native-workshop (we can start with this one) https://github.com/jbossdemocentral/coolstore-microservice

jduimovich commented 3 years ago

Another option https://github.com/jduimovich/graphtuitous for sample It is single repo, a microservice in 3 languages (quarkus, node, go) and some graphs in realtime. The app has a local dev mode (desktop) and a gitops deploy mode live to kubernetes using github actions. Missing but to be added 1) a database or kafka and 2) and external service (proposed stock service ticker price) and and 3) A/B rollout for gitops

elsony commented 3 years ago

More details on the requirements:

  1. Create the devfile for an existing project
  2. Integrate the project in OpenShift and show the value-added of devfile when integrating with OpenShift. i. Get the ability to edit the source code ii. Show how it could fasten interaction with Pipelines, or debugging
  3. Identify nest-step and problem to solve i. Check what needs to be adapted from the specification ii. If I was to import the project, without having the devfile yet into the source code - how would we help the user to import his source code and get settled properly. = how do we help the user to create the devfile for/with him. iii. How to best provide the integration with build/pipelines iv. How can we “expand” the devfile. Example:
    1. I’m adding one new service to my application, how does that affect the devfile v. Can we expand the import/devfile onboarding flow - to a “Deploy on OpenShift” story?
    2. Goal would be to allow people to easily test their application running on OpenShift and experience the developer experience we are providing.
    3. devsandbox.com/githubURL
  4. Publish a set of materials, that based on the sample will showcase devfile use cases. i. Blog post ii. Docs iii. Videos
  5. Another potential app: https://developers.redhat.com/articles/2021/06/14/bee-travels-microservices-coding-adventure#conclusion
  6. Interop with tools like JKube, investigate how devfile can fit in (e.g. test out on a tool other than odo to refer to k8s yaml from devfile, see if we can consume the dockerfile generated by JKube for outer loop, etc.)
yangcao77 commented 3 years ago

A sample devfile application with 4 subprojects using microservice architecture has been created. Differences and gaps found for Odo scenarios and Che scenarios

More details on those two scenarios can be found in doc: https://docs.google.com/document/d/1Jwsr0RvdFpfmKqpvLIialn8sZHdP1QI2AhDY7alwtGE/edit?usp=sharing

This doc also includes the ideal unified experience on devfile applications using different tools, as well as a proposed solution.

github-actions[bot] commented 3 months ago

This issue is stale because it has been open for 90 days with no activity. Remove stale label or comment or this will be closed in 60 days.