March 2020 Summaries
10 posts from Harness
Filter
Month:
Year:
Post Summaries
Back to Blog
Harness Platform streamlines Continuous Delivery by simplifying pipeline configurations, offering a quicker and less manual deployment process compared to Tekton's more complex approach. While Tekton is evolving to power systems like OpenShift and Jenkins X Pipelines, it requires significant setup, including creating Tekton Tasks and Pipelines, and managing Custom Resource Definitions. Harness, on the other hand, provides a user-friendly interface that abstracts these complexities, making it easier to deploy applications like Nginx to Kubernetes clusters such as Amazon EKS. The article emphasizes how Harness's abstraction model facilitates rapid deployment success and contrasts this with the more engineering-heavy demands of tools like Tekton, Spinnaker, and Jenkins.
Mar 31, 2020
1,212 words in the original blog post.
Harness Service Reliability Management conducted an analysis revealing that 97% of logged errors in production environments are caused by only 10 unique exceptions, with the NullPointerException being the most prevalent, accounting for 70%. This information allows teams to focus on resolving the most significant errors, thereby enhancing system reliability. The study, based on data from over a thousand applications, also highlights other common exceptions, such as NumberFormatException, IllegalArgumentException, and RuntimeException, each contributing to the error landscape to varying degrees. The findings underscore the importance of addressing these recurring exceptions to improve software performance and reliability, aligning with the Pareto principle where a small number of causes lead to the majority of issues. By leveraging tools like Harness, teams can quickly identify and rectify these top exceptions, fostering a more efficient and error-resilient production environment.
Mar 29, 2020
1,205 words in the original blog post.
During the COVID-19 pandemic, Harness observed a 10-15% decline in deployments as organizations implemented change freezes to ensure business continuity amid unforeseen challenges. These freezes are reminiscent of those during high-demand periods like Black Friday, as companies prioritize stability. Despite the temporary decline, the demand for IT changes persists, and organizations are preparing to resume deployments as they adapt to new norms. Harness emphasizes the importance of continuous delivery pipelines in managing risk and maintaining confidence during deployments. The company offers support to help organizations navigate these challenging times and encourages them to explore their resources for enhancing business continuity.
Mar 26, 2020
683 words in the original blog post.
Walmart Labs emphasizes the importance of experimentation in its engineering processes, ensuring new features either demonstrate their value or undergo improvement before release. This approach, led by Sonali Sheel, is central to the development of the Walmart Grocery mobile app, which has expanded significantly since its 2013 pilot to nearly every Walmart across the U.S., benefiting around 90% of the population. The team employs two main strategies: "Test to Learn," which focuses on understanding customer behavior and validating hypotheses through iterative testing, and "Test to Launch," which involves gradual feature rollouts to minimize risk and avoid negative impacts on key metrics. By using their custom-built experimentation platform, Expo, Walmart Labs mitigates risks associated with new feature releases while maximizing positive outcomes. This methodology aligns with broader industry practices that advocate for structured experimentation and progressive delivery to ensure features deliver meaningful impact without compromising business metrics.
Mar 25, 2020
1,029 words in the original blog post.
The integration of Argo and Flux into Argo Flux represents a significant development in GitOps tools, providing a more efficient approach to Kubernetes deployments. This collaboration emerged from the partnership between two open-source projects, Argo from Applatix (acquired by Intuit) and Flux from Weaveworks, around KubeCon North America 2019. Although there is no single product called "Argo Flux," the projects are merging through the GitOps Engine to enhance their capabilities. The author shares insights from their experience using Argo on Amazon EKS, noting that while Argo was easier to install compared to other GitOps tools, challenges remain in structuring projects within GitHub. The Harness Platform offers flexibility in deployment methodologies, accommodating various infrastructures and supporting GitOps principles, even if not strictly adhering to the trifecta of Git, infrastructure as code, and Kubernetes.
Mar 25, 2020
844 words in the original blog post.
Harness has introduced several new features and updates to improve software delivery efficiency, including Kustomize support for Kubernetes deployments, a global search function for easier configuration management, and conditional workflow steps for streamlined processes. The platform now also supports Open ID Connect authentication and OpenShift v3.11 deployment. HarnessU offers educational opportunities aimed at tech professionals seeking to enhance their skills in Continuous Delivery with Kubernetes. The company encourages users to share unique tips and tricks for using Harness, with incentives for those who provide innovative use cases.
Mar 23, 2020
567 words in the original blog post.
Parallel streams in Java 8 offer notable performance enhancements for both IO-intensive and CPU-intensive tasks compared to single-threaded solutions, providing up to 7.25 times faster execution for IO tasks and 4.2 times for CPU tasks. This performance boost, however, requires careful configuration of thread pool sizes to prevent overhead and performance degradation. A series of tests comparing ExecutorService, Fork/Join Framework, and Parallel Streams revealed that while parallel streams deliver superior results for large-scale IO tasks, they can also underperform if not properly configured, especially on machines running other multithreaded applications. The tests emphasized that while parallel streams generally handle thread overloads better, selecting the appropriate method depends on the specific task and system configuration. For CPU-intensive tasks, all implementations showed similar best results, with parallel streams being consistently reliable across different thread counts. The study underscores the importance of understanding hardware capabilities and the total number of threads in an application when applying parallelism, suggesting that similar tests should be conducted in a staging environment to optimize performance outcomes.
Mar 22, 2020
1,537 words in the original blog post.
Transitioning from Jenkins X to Harness significantly reduced deployment time from over 90 minutes to just 5 minutes for an Nginx image on Amazon EKS, demonstrating Harness's efficiency in continuous delivery. Jenkins, a pivotal tool in the DevOps movement, originated from Hudson and introduced Continuous Integration to a wide audience. The article discusses the complexities and hurdles encountered when using Jenkins X, particularly in terms of installation issues and adapting to stringent GitOps models, which involve a steep learning curve. While Jenkins X is evolving by incorporating Tekton as its pipeline engine, the author highlights the challenges of learning new paradigms like GitOps when coupled with tool complexity. Despite these challenges, the author acknowledges the significant contributions of Jenkins to DevOps and expresses enthusiasm for exploring Jenkins X, while also appreciating Harness's ability to offer streamlined delivery processes without fully embracing the latest CNCF stack.
Mar 18, 2020
1,124 words in the original blog post.
Harness has incorporated Kustomize into its platform, simplifying Kubernetes deployments by allowing configuration management without additional clients and offering a streamlined Kubernetes Delegate setup. This integration complements the existing support for Helm, with Kustomize serving as a configuration manager, unlike Helm, which doesn't claim this function. Harness provides detailed documentation to help users leverage Kustomize across their infrastructure, offering steps to install and configure a Kubernetes Delegate on platforms like Amazon EKS. By linking the Kustomize GitHub repository to Harness, users can create applications and services with environmental variants, using examples such as Kustomize's Multibases for dev/production overlays. The setup includes creating environments, infrastructure definitions, and workflows to manage deployments, with the process enhanced by the Harness Software Delivery Platform for continuous delivery.
Mar 09, 2020
1,142 words in the original blog post.
Utilizing jstack for debugging live Java production servers offers the advantage of obtaining stack traces of all Java threads, helping identify performance bottlenecks and stuck threads without adding performance overhead. However, it has limitations, such as not providing variable states and requiring manual activation during issues. To enhance its utility, the text suggests techniques like creating stateful thread data by setting meaningful thread names to provide context and parameters, and automating jstack activation for continuous monitoring by invoking it programmatically under certain conditions. This approach allows developers to capture necessary data without impacting the application's stability while ensuring detailed logging for troubleshooting.
Mar 02, 2020
1,782 words in the original blog post.