Gerhard started Ship It as an extension of the work he was doing on Changelog, focusing on infrastructure and the process of taking applications to production. The podcast was a way to share the insights and experiences gained over years of working in this space.
Dagger is a tool that allows teams to replace YAML and scripts in CI/CD pipelines with code they are familiar with, such as Python, Go, or TypeScript. It helps scale automation for teams and makes it easier to share and reuse modules, reducing the need for templated YAML or Jenkins files.
Dagger's key features include the ability to write automation in familiar programming languages, shareable modules, OpenTelemetry integration for tracing, and a shell for interactive discovery of automation. It also ensures consistent execution across local and CI environments.
Documentation provides a blueprint for understanding inefficiencies and ensures that automation is built on a solid foundation. It helps teams avoid mistakes and provides a reference for future changes, making it essential before any automation is implemented.
The vision for Dagger is to become the standard for automation, similar to how containers revolutionized application packaging. It aims to make automation more consumable, shareable, and documented, reducing the need for repetitive tasks like downloading and validating packages.
At scale, Dagger faces challenges such as managing distributed caching, ensuring reliable pipeline execution, and optimizing costs. Running thousands of CPUs for testing can be expensive, and the tool must balance performance with cost efficiency.
Dagger allows application teams to own their CI/CD pipelines by writing automation in their preferred language, unlike traditional tools where DevOps teams often drop in Jenkins files. This shifts the responsibility to the application teams, making CI/CD more aligned with their workflows.
Dagger modules are shareable packages of automation code that can be written in various languages. They allow teams to reuse and combine functions, making it easier to build pipelines without reinventing the wheel. Modules are self-documenting and can be discovered and used by anyone.
OpenTelemetry in Dagger captures detailed traces of every operation within a pipeline run, providing insights into execution times, caching efficiency, and step performance. This data is visualized in Dagger Cloud, helping teams optimize their automation workflows.
Dagger's portability allows teams to run the same automation locally and in CI environments, making it easier to test and debug pipelines. It also enables teams to choose where to run their pipelines, whether on-prem or in the cloud, based on cost and performance needs.
Gerhard Lazu joins the show to discuss how Ship It! started and why you might want a general purpose language for your CI/CD.
Changelog++) members save 8 minutes on this episode because they made the ads disappear. Join today!
Sponsors:
Sentry) – When your app breaks, fix it faster with Sentry Use the code CHANGELOG
when you sign up to get $100 off the team plan. Learn more about what they shipped for Launch Week) and Session Replay for Mobile.)
Fly.io) – The home of Changelog.com — Deploy your apps close to your users — global Anycast load-balancing, zero-configuration private networking, hardware isolation, and instant WireGuard VPN connections. Push-button deployments that scale to thousands of instances. Check out the speedrun) to get started in minutes.
Featuring:
Show Notes:
Justin and Autumn’s new podcast coming in 2025 fafo.fm)
Something missing or broken? PRs welcome!)