Category
video
Date
20 Nov 24
Author
John Allwright
Dapr
News
ideas
Nov 20, 2024

Taming Your Application’s Environments with Dapr, Crossplane, Dagger, ArgoCD and Knative

Mauricio "Salaboy" Salatino and Marcos Lilljedahl explore three techniques for leveling up your SDLC using popular open source projects.
John Allwright

How coupled are your applications code and pipelines to its target cloud or on-prem environment? Kubernetes helps us to abstract how we run our workloads. However, there are other aspects, like infrastructure dependencies, service configuration, build process, deployment descriptors, etc., which need to be considered to make an application portable across multiple environments. Focusing on these aspects make a big difference when migrating apps to reduce costs, meeting compliance requirements or leveraging a specific tech only available somewhere else.

Join us to cover three techniques you can implement to level up your SDLC: - Modularizing and enhancing our delivery pipelines to simplify complex environments (Crossplane and Dagger) - Building consistent experiences around well-known interfaces (CloudEvents, Dapr, and OpenFeature) to minimize runtime drift. - Design with separation of concerns to enable fast feedback loops between development and operation teams (Argo CD, Knative)


Taming Your Application’s Environments: Best Practices for Software Engineers

Managing application environments is a critical challenge for modern software engineering teams. Applications often need to run seamlessly across a diverse set of environments, ranging from local development machines to CI pipelines, staging setups, and production clusters. In their presentation, Marcos Lilljedahl (Dagger) and Mauricio "Salaboy" Salatino (Diagrid) explore innovative techniques and tools to address these challenges, emphasizing portability, consistency, and collaboration.

Understanding the Complexity of Environments

The concept of an environment varies widely across organizations. It can include traditional stages like testing and production or even local developer setups and CI pipelines. Despite these differences, all environments share a common goal: to provide the necessary infrastructure and orchestration for applications to run effectively. Achieving portability between environments involves addressing:

  1. Infrastructure Dependencies
  2. Service Configurations
  3. Build Processes
  4. Deployment Descriptors

By abstracting these aspects, organizations can reduce costs, ensure compliance, and leverage specific technologies unique to each environment.

Key Strategies for Environment Management

1. Modularizing Delivery Pipelines

Tools like Crossplane and Dagger enable modular and extensible pipelines, simplifying complex environment setups. By viewing pipelines as integral parts of the application, engineers can encode workflows in programming languages, promoting reusability and reducing redundancy.

Dagger, in particular, stands out by leveraging containerization to:

  • Provide a consistent CI experience.
  • Enable developers to codify and share components.
  • Streamline transitions between environments.

2. Minimizing Runtime Drift with Consistent Interfaces

Adopting well-defined interfaces, such as CloudEvents, Dapr, and OpenFeature, minimizes discrepancies between environments. These technologies:

  • Facilitate synchronous and asynchronous communication between services.
  • Enable seamless replacement of components (e.g., swapping RabbitMQ with Google Pub/Sub) without altering application code.
  • Enhance observability and resilience.

Dapr, for instance, injects sidecars into clusters, exposing APIs that simplify integration with various infrastructure components, whether on-premises or cloud-native.

3. Designing for Separation of Concerns

A clear separation between development and operations is essential for fast feedback loops and collaborative workflows. Tools like Argo CD and Knative empower teams to:

  • Automate deployment processes.
  • Monitor application states effectively.
  • Decouple application logic from environment-specific configurations.

A Unified Software Delivery Pipeline

Establishing a unified software factory ensures a smooth flow from development to deployment. Key principles include:

  • Treating pipelines as applications with their own lifecycle.
  • Leveraging containerized tools to standardize workflows.
  • Integrating preview environments for rapid feedback on pull requests.

For example, Dagger’s ability to treat pull requests as isolated environments allows developers to test changes without needing to locally rebuild the application. This reduces overhead and accelerates development.

Demonstration Highlights

During their presentation, the speakers showcased:

  • Deploying a distributed application with synchronous and asynchronous communication using RabbitMQ and Dapr.
  • Codifying build processes in Dagger to manage dependencies and reduce configuration complexities.
  • Utilizing lightweight Kubernetes distributions like K3s to simulate production environments locally.

Conclusion: Embrace Innovation and Collaboration

Lilljedahl and Salatino concluded by encouraging engineers to take pride in their ability to craft sophisticated software factories. By leveraging technologies like Dapr and Dagger, teams can transform software delivery pipelines into powerful, flexible applications. They emphasized the importance of community collaboration in advancing best practices and exploring innovative solutions.

As you rethink your approach to managing application environments, consider the tools and strategies discussed here to streamline processes, improve portability, and foster collaboration across your teams.

More videos

No items found.
Jan 23, 2026
This is some text inside of a div block.

Run Your Mission Critical Workloads Reliably with Diagrid Catalyst

See how Catalyst brings stateful workflows, durable execution, and built-in governance together to run distributed applications and AI agents reliably in production.

Dapr
Jan 13, 2026
This is some text inside of a div block.

Dapr, Simple APIs, & Distributed Systems | RedMonk Conversation with James Governor

Mark Fussell discusses Dapr, a runtime designed to simplify the development of distributed applications.

Dapr
Catalyst
Dec 10, 2025
This is some text inside of a div block.

Dapr University - Running Dapr Workflows with Catalyst

Catalyst streamlines your development efforts and provides greater observability and governance.

Diagrid newsletter

Signup for the latest Dapr & Diagrid news:
Dapr
News
ideas