-
Notifications
You must be signed in to change notification settings - Fork 99
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
rad env init
for self-hosted is taking too long to initialize (~3/4 minutes in average)
#2582
Comments
I super agree with the feedback. We should reassess this when we get rid of the old CustomRP code. Right now the CustomRP runs Mongo in the cluster, which has a really big image size and slow startup. |
I just tested this locally AFTER the removal of the Radius CustomRP + Mongo. It took 5m36s. This numbers were all taken on my machine with my slow home internet. Pull times will have less of an impact in the cloud, so consider these a worst-case.
Recieptsappcore-rp ucpd bicep-extensibility deployments |
Radius needs a diet 🥗 🥗 🥗 🥗 🥗 🥗 🥗 🥗 🥗 🥗 |
I think it's also worth looking into why the ucpd binary is 44mb https://www.cockroachlabs.com/blog/go-file-size/ |
I think we should be able to do some trimming (hopefully) for the .NET images. |
We should be able to get to ~60mb for .NET-based images with just assembly-level trimming. |
triage decision: We need to make improvements here for v0.12. If the work ends up taking longer than we expect, we might decide not to hold the release for it. Comparison: Dapr installation takes ~45 sec and installs more containers than we do. Let's aim to get radius install time down to 90 sec by v0.12. @rynowak - has some ideas here for low hanging fruit. |
@emily-potyraj @rynowak can we just not install dapr as a starting point? |
That's already planned. The time taken (because of download size) just for the radius part is unacceptable even if we remove Dapr. |
FYI in our CI runs it looks like this is taking about 1 minute from end to end. So this confirms that download size is the biggest factor. |
For AppCoreRP we should be able to get down to ~40mb with distroless and avoiding redundant copies. We should use the way the UCP and CustomRP images are built as the starting point For the two .NET projects we need to move them to alpine as self-contained apps. We can then add assembly-level trimming which will get them down to ~50mb or less. I'm not sure if we build the These steps will remove ~ 550mb of deadweight. |
Part of: #2582 This change switches us to distroless for the appcore rp docker image from mariner. The overall impact is that the reduces the size from 245mb to 53mb. Additionally added ca-certificates to the UCP image. We will need these to proxy to clouds like AWS and Azure, so adding them now.
Part of: #2582 This change switches us to distroless for the appcore rp docker image from mariner. The overall impact is that the reduces the size from 245mb to 53mb. Additionally added ca-certificates to the UCP image. We will need these to proxy to clouds like AWS and Azure, so adding them now.
Part of: #2582 This change switches us to distroless for the appcore rp docker image from mariner. The overall impact is that the reduces the size from 245mb to 53mb. Additionally added ca-certificates to the UCP image. We will need these to proxy to clouds like AWS and Azure, so adding them now.
Great investigation. let's call it done for v0.12. filed #2952 for possibly removing Dapr installation in the future. |
I think removing contour will be a no-go for now, but great work here Ry dawg. |
Great, removed this from the board for now. |
Observed behavior
rad env init
for self-hosted is taking too long to initialize (~3/4 minutes in average), we should improve this to less than 1 minute to meet a good user experience aligned with our OKR: Developers love using azureDesired behavior
A self-hosted rad environment should start within at most 60 sec
OS/rad version
Any
Screenshots
Additional context
AB#6945
The text was updated successfully, but these errors were encountered: