Blog
/
Authors
/
Harness Team

Author Profile

Harness Team

Harness

at
Harness

Harness delivers intelligent AI automation, so your team ships code faster, safer, and smarter.

Latest from

Harness Team

A pinned write-up worth starting with.

All posts by

Harness Team

Technical

ChainDrop npm Worm Shows Why Valid Provenance Is Not Enough

The ChainDrop npm worm compromised hundreds of packages while retaining valid SLSA provenance, exposing a critical gap between build integrity and source integrity.

ChainDrop npm Worm Shows Why Valid Provenance Is Not Enough

Technical

Engineering

API Failure: 7 Causes and How to Fix Them

An API failure is any response that doesn’t conform to the system’s expected behavior. Learn seven API failures and how to fix them.

API Failure: 7 Causes and How to Fix Them

Events

How to Secure AI Systems From Pipeline to Production: DevSecOps Summit 2025

Industry leaders, security practitioners, and AI innovators are converging at The DevSecOps Summit 2025 to discuss how to secure AI systems from the first line of code to production deployment and beyond.

How to Secure AI Systems From Pipeline to Production: DevSecOps Summit 2025

Technical

Engineering

API Failure: 7 Causes and How to Fix Them

An API failure is any response that doesn’t conform to the system’s expected behavior. Learn seven API failures and how to fix them.

API Failure: 7 Causes and How to Fix Them

Technical

ChainDrop npm Worm Shows Why Valid Provenance Is Not Enough

The ChainDrop npm worm compromised hundreds of packages while retaining valid SLSA provenance, exposing a critical gap between build integrity and source integrity.

ChainDrop npm Worm Shows Why Valid Provenance Is Not Enough

Technical

Engineering

API Failure: 7 Causes and How to Fix Them

An API failure is any response that doesn’t conform to the system’s expected behavior. Learn seven API failures and how to fix them.

API Failure: 7 Causes and How to Fix Them

Technical

Split Embraces OpenFeature

Split joins OpenFeature to help define a vendor-neutral standard for feature flagging, advancing progressive delivery across all industries.

Split Embraces OpenFeature

Technical

The benefits of streaming architecture for feature flags

Split introduces real-time streaming architecture for faster feature flag updates with improved performance and reduced latency.

The benefits of streaming architecture for feature flags

Technical

Serverless Applications Powered by Split Feature Flags

Learn how to integrate Split feature flags in serverless environments using AWS Lambda, Redis ElastiCache, and the Split Synchronizer.

Serverless Applications Powered by Split Feature Flags

Technical

How Feature Flags Can Improve Your Logging

Use feature flags to dynamically control log levels and sampling, reducing noise and cost while staying ready for production incidents.

How Feature Flags Can Improve Your Logging

Technical

When to Use a Holdback Pattern

Use holdback experiments to validate long-term impact while delivering short-term value to most users.

When to Use a Holdback Pattern

Technical

Database Migrations with Feature Flags

Use feature flags to manage database migrations safely, preserving backward compatibility and reducing risk through gradual rollout.

Database Migrations with Feature Flags

Technical

Testing AI Models Using Split

Use Split to safely test and fine-tune AI model parameters in production with feature flags and dynamic configuration for faster, data-driven iteration.

Testing AI Models Using Split

Technical

Managing Feature Flag Retirement and Technical Debt

Manage feature flag sprawl by planning expirations, enforcing removals, and reducing technical debt through intentional flag lifecycle practices.

Managing Feature Flag Retirement and Technical Debt

Technical

Feature Management Architecture & Security

Best practices for building secure and scalable feature flag systems.

Feature Management Architecture & Security

Technical

Why You Should Use Undefined Instead of Null in Javascript

Avoids type coercion and improves clarity by preferring `undefined` over `null` in JavaScript logic.

Why You Should Use Undefined Instead of Null in Javascript

Technical

Build an API with Node.js, Express, and TypeScript

Build a RESTful API with Node, Express, and TypeScript, and integrate Split feature flags to safely manage feature rollout and experimentation.

Build an API with Node.js, Express, and TypeScript

Technical

Automating Trunk-Based Development With CI/CD

Automate trunk-based development with CI/CD to improve speed, reduce errors, boost quality, and deliver reliable software at scale.

Automating Trunk-Based Development With CI/CD

Technical

Add Feature Flags to Your Angular App in 10 Minutes

Build a feature-flagged Angular app with Split to streamline development, manage experiments, and track user behavior with real-time event monitoring.

Add Feature Flags to Your Angular App in 10 Minutes

Technical

Split’s Simple How-To Guide for A/B Testing

Use A/B testing and feature flags to optimize user experience, drive business growth, and make confident, data-driven product decisions.

Split’s Simple How-To Guide for A/B Testing

Technical

Splitting a Monolith With Feature Flags

Safely split monoliths using feature flags, smart service selection, and progressive rollout strategies to reduce risk and improve scalability.

Splitting a Monolith With Feature Flags

Technical

Optimize Your DevOps With Feature Flag as a Service

Feature Flags as a Service enable faster releases, safer deployments, better experimentation, and lower technical debt across growing engineering teams.

Optimize Your DevOps With Feature Flag as a Service

Technical

5 Proven Strategies for Testing in Production with Feature Flags

Start testing in production with feature flags by targeting teammates, using canary releases, automating flows, and managing toggle debt effectively.

5 Proven Strategies for Testing in Production with Feature Flags

Technical

Centrally Manage Your Split Users & Groups With SCIM Support

Streamline feature releases and improve developer efficiency with centralized user and group management using SCIM. Simplify targeting rules, automate rollouts, and gain valuable insights to optimize your product development process.

Centrally Manage Your Split Users & Groups With SCIM Support

Technical

Introducing Datadog RUM and Split

Improve your product development process! This blog post explores how Split integrates with Datadog RUM to give product teams valuable insights into user experience.

Introducing Datadog RUM and Split

Technical

Continuous Deployment in Angular

Simplify your Angular deployment process and gain greater control over feature releases. Discover how to set up continuous deployment and leverage feature flags to deliver a better user experience.

Continuous Deployment in Angular

Technical

How to Build a CRUD Application With Spring Boot and Angular

Take your Spring Boot and Angular app to the next level. Learn how to implement CRUD operations and feature flags.

How to Build a CRUD Application With Spring Boot and Angular

Technical

Crafting a Github Pull Request Template

Improve code review efficiency and team communication with a pull request template. Learn how to craft a template that includes all the essential information for reviewers, and boost collaboration on your next project.

Crafting a Github Pull Request Template

Technical

How You Can Use Feature Flags to Simplify Your Rollback Plan

Feature flags can simplify rollback plans by enabling quick deactivation of features and automation of rollback processes, making rollbacks more efficient and reliable.

How You Can Use Feature Flags to Simplify Your Rollback Plan

Technical

How SCIM Provisioning Automates User Identity Management

SCIM provisioning automates user identity management by establishing a common schema for creating, managing and deleting users across applications, streamlining authentication.

How SCIM Provisioning Automates User Identity Management

Technical

How to Mitigate Risk in AI Software Development

AI offers immense potential, but risks lurk beneath the surface. Discover how to navigate these challenges through data quality, model transparency, and rigorous testing.

How to Mitigate Risk in AI Software Development

Technical

The evolution of feature toggles in software development

Feature toggles enable gradual rollouts, experimentation, and risk reduction. Learn their history, benefits, challenges, and how teams use them effectively.

The evolution of feature toggles in software development

Technical

Advanced Feature Flagging: It’s All About the Data

Unlock the power of data-driven feature flagging for A/B testing, gradual rollouts, and more. Learn how to implement randomization, conduct comparative analysis, and avoid common pitfalls.

Advanced Feature Flagging: It’s All About the Data

Technical

Creating End-to-End Type Safety in a Modern JS Stack

Ensure the correctness of your JavaScript codebase with end-to-end type safety. Learn how to set up a type-safe development environment and discover the benefits.

Creating End-to-End Type Safety in a Modern JS Stack

Technical

3 Reasons to Automate Your Kill Switch (and 2 Reasons You Shouldn’t)

Feature flags and kill switches can be used to mitigate risk and improve the release process. Automating kill switches can be risky, but it can be beneficial if the risk of keeping them on outweighs the drawbacks of automation.

3 Reasons to Automate Your Kill Switch (and 2 Reasons You Shouldn’t)

Technical

Instant Feature Flags With Next.js

Unlock the power of feature flags in Next.js! Discover how to decouple deployments from feature releases and gain insights into feature performance using this approach.

Instant Feature Flags With Next.js

Technical

The Surprising Complexities of Building Audit Logs

This article explores the complexities of building audit logs for enterprise software, detailing the challenges of maintaining compliance, handling data permanence, and the importance of thoughtful design. It shares valuable insights from the author's experience in expanding audit logs at Split, pr…

The Surprising Complexities of Building Audit Logs

Technical

Understanding A/B testing versus multivariate testing

Unsure if A/B testing or multivariate testing is the best fit for your website? Explore the differences between the two methods to help you optimize your webpages and features.

Understanding A/B testing versus multivariate testing

Technical

Best practices for effective feature flag management

Want to accelerate software delivery and reduce risks? Feature flags are the key. Discover best practices for managing, monitoring, and retiring flags to optimize your release process and improve user experience.

Best practices for effective feature flag management

Technical

Kill Your Code Freeze Before Next Holiday Season

Code freezes can disrupt development and increase risk. Learn how feature flags can help you avoid unnecessary freezes and improve your software release process.

Kill Your Code Freeze Before Next Holiday Season

Technical

Do You Really Need that Change Advisory Board?

Change Advisory Boards (CABs) are often used to manage software delivery, but can they slow down the process without improving safety? This article explores CABs, their role, and suggests alternative approaches for safe and speedy delivery.

Do You Really Need that Change Advisory Board?

Technical

Parity Testing With Feature Flags

Feature flags simplify parity testing by enabling real-time comparisons between old and new systems. This technique helps catch hidden errors during system migrations, ensuring smooth transitions with minimal risk.

Parity Testing With Feature Flags

Technical

Understanding Rollbacks in Software Development

Discover essential software rollback strategies to ensure system stability and seamless recovery. Optimize deployments with Harness’s feature flag solutions.

Understanding Rollbacks in Software Development

Technical

How to Build a CRUD API Using Node.js and Express: Complete Tutorial

Learn how to build a basic CRUD API using Node.js and Express. This guide covers setting up the server, handling requests, and structuring routes to interact with a database for efficient data management.

How to Build a CRUD API Using Node.js and Express: Complete Tutorial

Technical

Monoliths vs Microservices vs Serverless: Choosing the Right Architecture for Your Team

Monolithic, microservices, and serverless architectures each offer distinct advantages in scalability, deployment, and maintenance. Choosing the right approach depends on your project’s needs, growth potential, and resource demands.

Monoliths vs Microservices vs Serverless: Choosing the Right Architecture for Your Team

Technical

The Seven Phases of the Software Development Life Cycle

Discover the 7 phases of the Software Development Life Cycle (SDLC): Planning, Requirements Analysis, Design, Implementation, Testing, Deployment, and Maintenance, each with tasks and objectives.

The Seven Phases of the Software Development Life Cycle

Technical

Best Practices for Kubernetes Labels and Selectors

Learn how to effectively use Kubernetes labels for organizing, managing, and scaling your applications. Discover best practices and advanced techniques today.

Best Practices for Kubernetes Labels and Selectors

Technical

Microservices With NestJS, Kafka, and TypeScript

Learn how to build scalable microservices using NestJS, Kafka, and TypeScript. This guide covers setting up NestJS, integrating Kafka for event-driven communication, and leveraging advanced features to optimize your microservices architecture.

Microservices With NestJS, Kafka, and TypeScript

Technical

The Basics of a Release Branching Strategy

Release branching ensures code stability by isolating final tweaks and bug fixes before deployment. This strategy enhances development workflows, balances parallel development, and streamlines efficient release preparation.

The Basics of a Release Branching Strategy

Technical

How to Build Microservices in Spring Boot in 15 Minutes

Spring Boot streamlines building microservices by simplifying development and deployment. It supports rapid iteration, scalability, and robust integration, helping developers focus on innovation rather than infrastructure.

How to Build Microservices in Spring Boot in 15 Minutes

Technical

Understanding the Software Release Lifecycle: From Alpha to Live Production

Mastering the software release lifecycle—spanning alpha, beta, and production stages—is key to efficient development. Embracing Agile and DevOps methods, along with innovative tools like feature flags, ensures smoother, faster releases.

Understanding the Software Release Lifecycle: From Alpha to Live Production

Technical

GitHub Flow vs. Git Flow: Choosing the Right Branching Strategy for Your Team

Git Flow offers a structured approach with multiple branches for feature development, releases, and fixes, ideal for larger teams. GitHub Flow streamlines this with a focus on continuous delivery, making it more agile for smaller projects.

GitHub Flow vs. Git Flow: Choosing the Right Branching Strategy for Your Team

Technical

Rolling vs Blue-Green Deployment: Understanding the Key Differences

Rolling and blue-green deployments offer distinct benefits for software delivery: rolling deployments ensure a gradual, stable release, while blue-green deployments enable instant rollbacks. Choose the strategy that aligns with your team's needs.

Rolling vs Blue-Green Deployment: Understanding the Key Differences

Technical

How to Choose the Right Cloud Deployment Model for Your Organization

Choosing the right cloud deployment model means balancing security, control, and cost-efficiency. Learn how private, public, hybrid, community, and multi-cloud approaches each meet different business needs effectively.

How to Choose the Right Cloud Deployment Model for Your Organization

Technical

Differences Between Smoke Testing and Sanity Testing

Learn smoke testing vs sanity testing, key differences, examples, when to use each, and how modern CI/CD and feature flags improve reliability.

Differences Between Smoke Testing and Sanity Testing

Technical

Comparing Smoke Tests to Regression Tests

Smoke testing offers a quick check on software stability, while regression testing ensures updates don’t break existing features. Both are essential for high-quality software, accuracy and efficiency.

Comparing Smoke Tests to Regression Tests

Technical

What Is Trunk-Based Development? Your Complete Implementation Guide

Trunk-based development promotes frequent code commits to a single source of truth, reducing merge conflicts and accelerating release cycles. It boosts productivity through continuous integration, automated testing, and rapid deployment.

What Is Trunk-Based Development? Your Complete Implementation Guide

Technical

A Git Branching Strategy for Efficient Software Development

Efficient software development relies on a well-defined Git branching strategy, balancing collaboration and release management. Explore proven workflows and best practices to streamline your team’s development process.

A Git Branching Strategy for Efficient Software Development

Technical

Getting Started With Express TypeScript: Setup, APIs, and Advanced Features

→ Express TypeScript combines Express.js flexibility with static typing to improve code quality and productivity. Learn setup, APIs, and advanced features.

Getting Started With Express TypeScript: Setup, APIs, and Advanced Features

Technical

Best Practices for Implementing Value Stream Management

Implementing Value Stream Management (VSM) enables software teams to eliminate inefficiencies, set measurable goals, and foster an environment that boosts productivity and morale. Harnessing these best practices can empower teams to deliver higher-quality products faster and more effectively.

Best Practices for Implementing Value Stream Management

Technical

Implementing CI/CD for Microservices Architecture

Here are some best practices and tools you should consider if you want to implement a successful CI/CD pipeline for your microservices deployment.

Implementing CI/CD for Microservices Architecture

Technical

How to Remove Sensitive Data From a Git History

Learn two methods to remove an API key or other sensitive data from a Git commit using either the Git Command Line Tool or the BFG Repo-Cleaner tool.

How to Remove Sensitive Data From a Git History

Technical

How to Branch by Abstraction with Feature Flags

Branch by abstraction enables continuous deployment by isolating changes. With feature flags, teams can test safely, reduce risk, and transition smoothly.

How to Branch by Abstraction with Feature Flags

Technical

Integrating Feature Flags in Next.JS React Applications

Easily incorporate feature flags into Next.js applications, gaining precise control over feature rollouts. Streamline deployment workflows and boost flexibility, helping developers manage dynamic releases with confidence.

Integrating Feature Flags in Next.JS React Applications

Technical

An Overview of Application Security Testing

Discover essential tips for application security testing. Use proactive testing and automation to safeguard against vulnerabilities.

An Overview of Application Security Testing

Technical

Black Box Testing vs White Box Testing: Key Differences Explained

Discover the key differences between black box and white box testing, including their advantages, disadvantages, and use cases in software development

Black Box Testing vs White Box Testing: Key Differences Explained

Technical

SPACE Metrics: What They Are and Why They're Important

Discover the SPACE framework's holistic approach to developer productivity, focusing on satisfaction, performance, and collaboration.

SPACE Metrics: What They Are and Why They're Important

Technical

The Engineering Knowledge Graph: The Missing Link to Unlocking Engineering Productivity

An Engineering Knowledge Graph (EKG) can be an effective tool in helping organizations better understand their bottlenecks.

The Engineering Knowledge Graph: The Missing Link to Unlocking Engineering Productivity

Technical

MTTR: How This DORA Metric Measures System Recovery Time and Reduces Downtime

A deep dive into MTTR, a DORA metric that measures the amount of time it takes, on average, for a system to recover, from a disruption of service.

MTTR: How This DORA Metric Measures System Recovery Time and Reduces Downtime

Technical

3 Critical Challenges Teams Face Measuring DORA Metrics in Azure DevOps

A look at the challenges of accessing and measuring DORA metrics in the Azure DevOps platform.

3 Critical Challenges Teams Face Measuring DORA Metrics in Azure DevOps

Technical

SPACE Metrics: How to Get Started

Learn how SPACE metrics provide a holistic approach to measuring developer productivity, focusing on well-being and satisfaction.

SPACE Metrics: How to Get Started

Technical

23 Software Development Metrics Every Engineering Team Should Track

Just about everything you need to know about metrics and how you can use them in software engineering.

23 Software Development Metrics Every Engineering Team Should Track

Technical

Sprint Retrospective: What It Is, Why It Matters, and How to Run Effective Meetings

Tips for improving your sprint retrospective meetings.

Sprint Retrospective: What It Is, Why It Matters, and How to Run Effective Meetings

Technical

DevOps DORA Metrics – Everything You Need to Know

A close look at DORA metrics and how they can help you deliver software faster.

DevOps DORA Metrics – Everything You Need to Know

Technical

Benchmark: How Misusing Streams Can Make Your Code 5 Times Slower

Streams are an exciting feature in Java 8 but you need to be careful when using them.

Benchmark: How Misusing Streams Can Make Your Code 5 Times Slower

Technical

The Must Have Metrics Any DevOps and SRE Manager Should Measure

To understand what's happening inside each company, we need to measure the performance of DevOps and SRE teams.

The Must Have Metrics Any DevOps and SRE Manager Should Measure

Technical

How to Automatically Recover from Java Deadlocks in Legacy Production Systems

A creative workaround for a Jstack deadlock.

How to Automatically Recover from Java Deadlocks in Legacy Production Systems

Technical

Fork/Join Framework vs. Parallel Streams vs. ExecutorService: The Ultimate Fork/Join Benchmark

A close look at how the fork/join framework behaves with different configurations.

Fork/Join Framework vs. Parallel Streams vs. ExecutorService: The Ultimate Fork/Join Benchmark

Technical

The Top 10 Exception Types in Production Java Applications – Based on 1B Events

Learn about the top 10 exceptions in production Java applications and how to avoid them.

The Top 10 Exception Types in Production Java Applications – Based on 1B Events

Technical

Thread Magic Tricks: 5 Things You Never Knew You Can Do with Java Threads

Some lesser-known techniques for using Java threads.

Thread Magic Tricks: 5 Things You Never Knew You Can Do with Java Threads

Technical

CLR vs JVM: Understanding How C# and Java Virtual Machines Really Work

The battle between Java and C# is never ending. Find out how differences at the VM-level affect this debate.

CLR vs JVM: Understanding How C# and Java Virtual Machines Really Work

Technical

Garbage Collectors – Serial vs. Parallel vs. CMS vs. G1 (and what’s new in Java 8)

Learn about the different types of garbage collectors available in Java 8.

Garbage Collectors – Serial vs. Parallel vs. CMS vs. G1 (and what’s new in Java 8)

Technical

ServiceNow for CI/CD Pipelines

Harness can manage multiple instances of ServiceNow and has complete role-based access control (RBAC) for separation of duties. Harness CD-as-a-Service.

ServiceNow for CI/CD Pipelines

Technical

Harness CI/CD Pipelines for .NET and Azure

Getting CI/CD done with .NET applications. Harness CD follows 4 concepts: Services, Environments, Workflows, Pipelines.

Harness CI/CD Pipelines for .NET and Azure

Technical

JFrog Artifactory & Harness - Don’t Get Bogged Down With Continuous Delivery

JFrog has been a pioneer and leader in how artifacts are managed. Learn more about integrating Artifactory in Harness today.

JFrog Artifactory & Harness - Don’t Get Bogged Down With Continuous Delivery

Technical

A Time Series Machine Learning Model for Canary Deployments

Are you looking to learn how to showcase the time series machine learning model for canary analysis? See a breakdown of that process here.

A Time Series Machine Learning Model for Canary Deployments

Technical

Harness Continuous Delivery for Red Hat OpenShift

Deploy pipelines in minutes with Red Hat OpenShift support using Harness Continuous Delivery. Learn how with a step-by-step tutorial.

Harness Continuous Delivery for Red Hat OpenShift

Technical

Harness Extends Continuous Verification To Dynatrace

Integrate Harness with Dynatrace and automatically verify application performance across deployment pipelines. Learn how with our tutorial!

Harness Extends Continuous Verification To Dynatrace

Technical

Comparing Harness and Jenkins

Jenkins is a CI solution that can be extended to CD. Harness provides both CI and CD modules. Master CI/CD with Harness.

Comparing Harness and Jenkins

Technical

Build a Canary Deployment in 4 Mins with Harness CD

Learn how to create a canary deployment in just a few minutes using Harness, ensuring safe, phased rollouts of new software.

Build a Canary Deployment in 4 Mins with Harness CD

Technical

The Dependency and Plugin Hell That is Jenkins

Jenkins’ plugin model has become the “Slippers cat and duck” story of CI/CD. It’s not good.

The Dependency and Plugin Hell That is Jenkins

Technical

Declarative Continuous Delivery for Kubernetes: A Closer Look at Argo CD

Explore Argo CD's declarative approach for continuous delivery in Kubernetes. Learn about its features, benefits, and integration strategies.

Declarative Continuous Delivery for Kubernetes: A Closer Look at Argo CD

Technical

How to Build CI Pipelines with GitHub Actions and Deploy to Kubernetes with Harness

Integrate GitHub Actions with Harness for streamlined CI/CD. Learn to build, test, and deploy applications efficiently with step-by-step guidance.

How to Build CI Pipelines with GitHub Actions and Deploy to Kubernetes with Harness

Technical

Continuous Delivery vs. Continuous Deployment: What’s the Difference?

Understand the differences between continuous delivery and continuous deployment, when to use each approach, and best practices for safe, fast releases.

Continuous Delivery vs. Continuous Deployment: What’s the Difference?

Technical

Harness CI and Harness CD - Your First True CI/CD Pipeline

Let’s take a look at what leveraging a Harness CI / Drone Pipeline to build then leveraging Harness CD to deploy to a Kubernetes cluster.

Harness CI and Harness CD - Your First True CI/CD Pipeline
No items found.

More voices from the Harness team

Engineers, security leads, and platform folks worth following.

All authors