February 2023 Summaries
12 posts from Harness
Filter
Month:
Year:
Post Summaries
Back to Blog
DORA metrics, developed by the DevOps Research and Assessment Team at Google, provide a comprehensive framework for evaluating software delivery performance through four key measures: Lead Time for Changes, Deployment Frequency, Mean Time to Recover, and Change Failure Rate. These metrics enable teams to assess how often, quickly, consistently, and reliably they deliver software, serving as benchmarks for continuous improvement rather than competition. Feature flags, also known as feature toggles, are emphasized as a powerful tool to enhance DORA metrics by allowing safe experimentation and rapid feature deployment directly in production without the need for extensive staging environments. By utilizing feature flags, teams can improve lead times, deployment frequency, and mean time to recovery by quickly deactivating problematic features and conducting controlled releases. The use of feature flags also helps reduce the impact of failures before they affect all users, thereby improving the Change Failure Rate metric. Harness's Feature Management and Experimentation platform supports these practices by enabling teams to deploy safely, conduct feature experiments, and connect feature flags to contextual data for informed decision-making.
Feb 24, 2023
946 words in the original blog post.
Trunk-based development (TBD) combined with Continuous Integration (CI) and Continuous Delivery (CD) is revolutionizing software development by enhancing collaboration, shortening release cycles, and increasing software reliability. By committing changes directly to the main branch and frequently integrating and validating the codebase, TBD minimizes merge conflicts and ensures a constantly usable state. CI/CD automates tasks such as building, testing, and deploying, allowing teams to focus on innovation and improving user experience while reducing errors and deployment time. Popular CI/CD tools like Jenkins, GitLab CI/CD, and CircleCI aid in setting up effective pipelines that facilitate rapid feedback and efficient scaling. This approach is bolstered by automated testing, which improves code quality and maintainability, while also addressing challenges related to version control, security, and dependency management. The future of TBD with CI/CD looks promising with trends towards increased automation, enhanced collaboration, and integration of AI and machine learning, which will further streamline development processes and ensure high-quality software delivery.
Feb 23, 2023
2,728 words in the original blog post.
Feature flagging is a powerful technique used by software teams to separate code deployment from feature release, allowing for more efficient A/B testing, gradual rollouts, and multivariate experiments. This approach aids in risk mitigation by enabling teams to identify and address bugs before exposing new features to all users. By combining feature flags with comprehensive data analysis, teams can optimize feature rollouts and swiftly detect performance issues. Advanced strategies such as randomization and hashing help ensure controlled studies and consistent user experiences across experiments. Management consoles and platforms like Split provide tools for monitoring and analyzing feature flag performance, offering proactive alerting and data-driven insights that enhance software development efficiency. These platforms not only facilitate feature management but also foster continuous improvement and innovation by providing real-time feedback and collaboration opportunities.
Feb 15, 2023
1,623 words in the original blog post.
In the fast-paced world of software development, the HugOps mindset emphasizes collaboration and psychological safety to enhance teamwork and improve incident response, thus fostering trust and creating resilient development environments. Developer burnout, exacerbated by the pandemic, poses significant challenges, including long hours, blurred work-life boundaries, and a lack of spontaneous colleague interactions, leading to exhaustion and inefficacy. Addressing burnout requires understanding its root causes, such as high workloads and agile methodologies that overwhelm developers, and promoting self-care, mental well-being, and supportive environments. HugOps, a human-oriented approach to DevOps, encourages collaboration across silos using technology like feature flags, which facilitate safe experimentation and quick changes without new deployments, enhancing transparency and trust. By shifting focus from perfection to continuous improvement and celebrating successes, HugOps nurtures a culture where developers are recognized as innovators and builders, ultimately improving productivity and innovation while safeguarding their well-being.
Feb 14, 2023
2,056 words in the original blog post.
Ephemeral environments are temporary, isolated setups that significantly enhance the software development process by allowing rapid testing and deployment without the need for permanent infrastructure changes. These environments facilitate asynchronous collaboration, are cost-effective, agile, and flexible, providing developers with an efficient means to test and experiment with code while automatically shutting down when no longer needed. Harness offers a streamlined method for setting up such environments, requiring minimal configuration and enabling developers to focus on software development rather than infrastructure management. By utilizing ephemeral environments, teams can increase productivity, reduce operational costs, and improve security and reliability, making them a valuable tool for modern DevOps practices.
Feb 14, 2023
1,213 words in the original blog post.
Harness commemorates Black History Month by sharing personal stories from team members Ashley Despanza, Chris Deshazor, and Corryn Hutchinson, highlighting the importance of education, support, and allyship in honoring Black history and culture. This celebration, rooted in the 1915 efforts by Dr. Carter D. Woodson and the Association for the Study of African American Life and History (ASALH), serves as an opportunity to appreciate the vast contributions of people of African descent. Despanza emphasizes supporting Black-owned businesses and educating oneself, while Deshazor focuses on learning from others and celebrating Black excellence. Hutchinson shares the influence of a school counselor, Kasimu Harley, who fostered a love for art and science in Black students. The article highlights the necessity of continuous education and the role of empathy in being an ally to the Black community, encouraging participation in local organizations and cultural activities. By amplifying employee voices, Harness aims to empower diversity and inclusion, fostering an equitable workplace.
Feb 10, 2023
1,399 words in the original blog post.
Adopting methodologies such as GitOps, DevSecOps, Chaos Engineering, Feature Management with CI/CD, and Policy-as-Code can greatly enhance software delivery by improving various aspects like developer experience, security, system reliability, feature rollout control, and compliance automation, ultimately leading to faster, safer, and more efficient deployments. GitOps centralizes source control for cloud-native applications, streamlining development processes and boosting productivity. DevSecOps integrates security practices throughout the software delivery lifecycle, ensuring vulnerabilities are addressed promptly and effectively. Chaos Engineering intentionally introduces system failures to evaluate resilience and prevent costly downtimes. Feature Management with CI/CD allows developers to control feature deployment using feature flags, enhancing both development speed and risk management. Policy-as-Code automates policy decisions, balancing developer autonomy with compliance requirements, thereby maintaining governance without hindering innovation. Together, these approaches represent a modern framework for optimizing software delivery in today's fast-paced technological landscape.
Feb 09, 2023
889 words in the original blog post.
Navigating the complex maze of policies within the United States federal government, particularly in defense and intelligence, poses significant challenges for IT operations. The Defense Intelligence Agency highlights the extensive breadth of policies that cybersecurity professionals must manage, often leading to conflicts and compliance difficulties. Traditionally, policy implementation has relied on manual processes, requiring expensive IT specialists who face burnout due to the growing mental load. Efforts to streamline policy management include using AI tools like Gamechanger and compliance frameworks such as FedRAMP, though these often involve substantial upfront investments and lengthy timelines. A promising development is the adoption of policy-as-code, which allows for automated policy compliance, reducing manual toil while maintaining security and compliance standards. This method leverages tools such as the Harness platform, which integrates policy management and change management processes, enabling automated and efficient DevSecOps practices. However, some manual verification remains necessary, indicating a hybrid approach that combines automation with human oversight.
Feb 07, 2023
1,402 words in the original blog post.
Split's engineering team is embedding experimentation into their development process through their initiative, Split @ Split, which utilizes their own feature management platform to enhance product improvement. This effort involves close collaboration between internal teams and Experimentation Advisors, focusing on the use of feature flagging, progressive rollout, monitoring, measurement, and testing to refine user experiences. One key experiment led by Frontend Engineer Nicolino Ayerdi aims to improve functionality for editing or deleting environments, driven by qualitative and quantitative data insights. The experimentation process emphasizes thorough preparation, teamwork, and post-experiment cleanup to manage technical debt and foster continuous learning. The initiative not only aims to refine Split's platform but also to gather insights applicable to their customer base, reinforcing their commitment to enabling efficient and reliable feature management and experimentation practices.
Feb 07, 2023
1,245 words in the original blog post.
The guide explores building scalable microservices using NestJS, Kafka, and TypeScript, emphasizing the benefits of a microservices architecture, such as flexibility, independent scalability, and simplified maintenance. It details setting up NestJS to create efficient server-side applications with TypeScript, highlighting its modular architecture and integration with Express. The text also delves into using Kafka for event-driven communication between microservices, facilitated by the @nestjs/microservices package, which simplifies integrating Kafka into NestJS applications. Advanced features of NestJS, such as pipes, guards, interceptors, and providers, are discussed as tools to enhance microservices development. Best practices for managing a microservices architecture are emphasized, including decoupling services, ensuring statelessness, and using load balancers for scalability. The guide encourages staying engaged with the latest developments and communities to continually refine microservices skills.
Feb 04, 2023
1,633 words in the original blog post.
API debugging can be streamlined with the use of mockups, which simulate request bodies to test an API's response to various input scenarios without sending actual requests. Mocking, particularly useful for APIs in development or undergoing updates, allows developers to validate functionality and make necessary adjustments before deployment. It also helps test an API's behavior in controlled environments, safeguarding systems from potential negative impacts of genuine requests, such as those involving sensitive data or large payloads. There are two main types of request body mockups—static and dynamic—each serving different testing needs, and tools like Postman, WireMock, and Mountebank facilitate the creation and management of these mockups. Despite their advantages, mockups have limitations, such as not fully replicating an API's behavior or covering all possible scenarios, so they should be used in conjunction with actual requests for comprehensive testing. Adhering to best practices like keeping mockups up-to-date and using realistic data ensures accurate testing, ultimately leading to reliable API performance in live environments.
Feb 03, 2023
2,368 words in the original blog post.
Harness provides tools and methods to securely remove sensitive data from Git repositories, enhancing data security and compliance. Sensitive data, such as encryption keys and API tokens, can be compromised if pushed to a remote repository. To address this, tools like git-filter-repo and BFG Repo-Cleaner are recommended for purging sensitive information from a repository's commit history. The git-filter-repo tool, a flexible and open-source option requiring Python, can remove sensitive data from the entire repository history. BFG Repo-Cleaner, a simpler and faster alternative using Java, also effectively cleans sensitive data. Both methods require creating a backup, cleaning up sensitive data, and updating remote repositories. It is best practice to add sensitive file paths to a .gitignore file to prevent their addition to the Git index, and any sensitive files can be removed from the index using git commands.
Feb 01, 2023
893 words in the original blog post.