astefanutti commented on code in PR #865: URL: https://github.com/apache/camel-website/pull/865#discussion_r908107145
########## content/blog/2022/06/Optimizing-Camel-K-Integration-Build-Time/index.md: ########## @@ -0,0 +1,100 @@ +--- +title: "Optimizing Camel-K Integration Build Time" +date: 2022-06-24 +draft: false +authors: ["SubhasmitaSw", "astefanutti"] +categories: ["Camel-K"] +preview: "Scaling the Camel K operator vertically to improve the integration build time." +--- + +The Integration is the resource which represents the actual Camel application and building a container image that packages the integration within an elevated cloud platform (be it locally in a Minikube or K8s hosted cluster to Openshift clusters) takes ample amount of time. + +### Enhancing the Camel-K Integration build time + +Our goal was to reduce overhead and improve user experience. We were able to narrow down the major contributors that had a significant influence on the integration build time. + +We identified that the CPU resources available to the operator can have a significant impact on integration build time. Following that, we modified the Camel-K operator to be aware of the CPU quota set on the operator container, and then we made the Maven process and container image layers push scaling vertically based on the CPU quota. Users may use Maven to download dependencies in parallel by configuring a group of concurrent threads. We modified the technique for configuring the build by default to account for the maximum number of CPU cores available simultaneously. In addition we modified the container Image push method to use the parallelization. + +The effect of faster build times may be seen in the benchmark comparisons below. + +### System Configuration + + +| Device | Chip | Total Number of Cores | Memory | +| ------- | ----- | -------- |--------| +|MacBook Air (M1)| Apple Sillicon M1 | 8 core CPU (4 performance and 4 efficiency), 7 Core GPU | 8GB + +### Environment Configuration + +The tests are graded using the following configurations: + +1. **Minikube Version:** v1.25.2 +2. **Minimum no. of cores:** 2 +3. **Maximum no. of cores:** 4 +4. **Maximum memory used:** 3933 MB +5. **Registry Addon:** Enabled + +*PS: These metrics are exclusive to my system; they may differ for others.* + +### Evaluating Performing + +1. Start a new minikube cluster with minimum permissible cores and maximum memory (as per docker desktop) + ``` Review Comment: It seems it's needed to explicitly specify the language for command blocks, i.e., `` ```shell` ``, otherwise the inferred one is different. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
