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

Discussion on switching to use universal developer image in devfile samples #674

Closed
yangcao77 opened this issue Nov 10, 2021 · 6 comments
Closed
Labels
area/registry Devfile registry for stacks and infrastructure

Comments

@yangcao77
Copy link
Contributor

Which area/kind this issue is related to?

/area registry

Issue Description

Che team is planning to move to a universal image for their scenarios. Should devfile samples/stacks in our registry be updated to use the developer image?

Can we update tools container of those devfiles to use the developer image like quay.io/devfile/universal-developer-image:ubi8-d433ed6 instead of the quay.io/eclipse/che-java11-maven:nightly images that no longer exists ?

Originally posted by @benoitf in devfile-samples/devfile-sample-java-springboot-basic#1 (comment)

@openshift-ci openshift-ci bot added the area/registry Devfile registry for stacks and infrastructure label Nov 10, 2021
@kadel
Copy link
Member

kadel commented Nov 11, 2021

I just want to make sure that everyone understand the trade-offs of using universal developer images.

I understand that this will help Che with startup time. But on the other hand it will increase startup time for anyone using odo with CRC or minikube. Those users will have to download 1.5Gb image into their CRC/Minikube. For a lot of people downloading 1.5Gb might be a problem.
@slemeur, what do you think about this? I'm worried about impacting this CRC/Minikube users.

@yangcao77
Copy link
Contributor Author

Here's the size and download time of the images, the developer image took a significant amount of time for the first time download.

Image size first time download time
developer image 1.4G 1m18s
java-quarkus 808MB 59s
java-springboot 334MB 23s
python 68MB 6s

If we want to update all samples to use developer image, it does have pros and cons:
cons:

  • first time build takes longer, can notice huge time difference for smaller images(python/node)
  • will be a problem for Minikube/CRC users with big image size

pros:

  • convenient to developers: contains a lot tools, easier to exec into image and debug
  • with the universal image, no need to download different images for different samples. after the first time download of the developer image, and following build time of all samples will be shorter.

@l0rd
Copy link
Contributor

l0rd commented Nov 16, 2021

I understand that this will help Che with startup time. But on the other hand it will increase startup time for anyone using odo with CRC or minikube.

Please do not make it a Che vs odo thing. Che is used on CRC and minikube too, reducing the size of our images has always been important (just come at Che community call and ask if alpine is better than ubi and you will see :-)). That said today priorities have shifted from local and on-prem to managed services. For those scenarios a universal developer image makes more sense (for both odo and Che).

@kadel
Copy link
Member

kadel commented Nov 22, 2021

For those scenarios a universal developer image makes more sense (for both odo and Che).

I'm afraid that this is not entirely true

As I understand, Che has mechanism that will make sure that that image is cached on all nodes on the cluster, so every time the devworkspace is started it is quick. I can see how managing just one big VM like image makes sense here.

Odo doesn't have anything like this and will never have. This means that from odo's point of view this will just slow down startup significantly. And not just the first one, every time the Pod is scheduled on a new node it will have to wait for 1.4Gb to be downloaded again :-/

I want to make sure that everyone is aware that this has also its downsides (and in my option they are not small one)

@l0rd
Copy link
Contributor

l0rd commented Nov 22, 2021

@kadel you are completely right for customer managed clusters. I am talking about cluster managed by Red Hat, clusters that are setup and optimized by us to run developers tools (with Che, odo etc...).

The main difference is that we are optimizing Che to be a managed service rather than a service managed by a customer but odo doesn't have the same requirement. That's completely fair.

@Jdubrick
Copy link
Contributor

Jdubrick commented Mar 4, 2024

Closing issue. It looks like our samples are using UBI currently and no additions to the discussion here have been made in some time.

@Jdubrick Jdubrick closed this as not planned Won't fix, can't repro, duplicate, stale Mar 4, 2024
@github-project-automation github-project-automation bot moved this to Done ✅ in Devfile Project Mar 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/registry Devfile registry for stacks and infrastructure
Projects
Status: Done ✅
Development

No branches or pull requests

4 participants