Slide 1

Slide 1 text

Building polyglot developer experiences in 2024 AppDeveloperCon EU, Paris

Slide 2

Slide 2 text

Building polyglot developer experiences in 2024 Building “Cloud Native” apps without dying in the process Disclaimer: Almost no YAML has been produced for this presentation.

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

K8s! K8s!

Slide 7

Slide 7 text

Why are we here? - Show a solutions-based way to code, build and ship applications - New tools are constantly introduced, it is hard to judge the impact on developers teams - Teams suffer from slow feedback loop cycles due fragmentation in tools ecosystem and complex environments - It is hard to create consistent experiences when glueing tools that were conceived with different use cases in mind

Slide 8

Slide 8 text

Core idea Remember how it felt when you were able to have a good understanding of the system mostly by mostly checking at the code

Slide 9

Slide 9 text

Marcos Lilljedahl (@marcosnils) Software engineer @Dagger Mauricio Salatino (@salaboy) Software engineer @Diagrid @Knative @Dapr @Keptn - Distributed systems - Developer tools - Platform engineering (before it was cool) - OSS maintainer & contributor

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

Let’s look at this “simple" system Forked from : https://github.com/dockersamples/example-voting-app 41 Yaml # File changes 2019 - 2024: 40 Yaml 30 CS 17 Dockerfile

Slide 13

Slide 13 text

- Containers, configurations and Environments - Services are tied to the provided infrastructure - Different delivery pipeline and practices with very little reuse, small difference can cause slowdowns and issues Challenges

Slide 14

Slide 14 text

Let’s zoom in a bit more

Slide 15

Slide 15 text

How could we improve this?

Slide 16

Slide 16 text

Databases KV Stores Message Brokers Secret Stores A unified programming model exposing application-level APIs for building distributed apps using best practice software patterns and practices with complete code portability across cloud and edge. Distributed Application Runtime

Slide 17

Slide 17 text

Dapr Building Blocks

Slide 18

Slide 18 text

Dapr version: https://github.com/salaboy/example-voting-app

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

Dagger is CI as code (and much more)! Transform your messy scripts into code pipelines that run the same way locally and in CI

Slide 25

Slide 25 text

Dagger ● Your team's "designated devops person", hoping to replace a pile of artisanal scripts with something more powerful. ● A platform engineer writing custom tooling, with the goal of unifying application delivery across organizational silos. ● A cloud-native developer advocate or solutions engineer, looking to demonstrate a complex integration on short notice.

Slide 26

Slide 26 text

VOTE APP DEMO DAGGER

Slide 27

Slide 27 text

27 Dagger API https://docs.dagger.io/api/reference/ ● Container ● Directory ● File ● Secret ● Service ● Socket

Slide 28

Slide 28 text

name: dagger on: push: branches: [main] jobs: build: name: build runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Call Dagger Function uses: dagger/dagger-for-github@v5 with: workdir: go/result verb: call args: test --dir . 28 .github/workflows/dagger.yml

Slide 29

Slide 29 text

Dagger + Dapr

Slide 30

Slide 30 text

Dagger Module for Dapr (Ecosystem) - Anyone can now create consistent experiences to work across environments for teams to leverage tools like Dapr or any other - We can rely on an a vibrant ecosystem of integrations to build API based solutions independently of the underlying language

Slide 31

Slide 31 text

Bringing the experience closer to developers

Slide 32

Slide 32 text

Takeaways - Hide complexity behind APIs - Build beautiful experiences for your teams - Always aim to reduce your teams’ cognitive load

Slide 33

Slide 33 text

Thank you! If you are interested in these topics don’t miss out: The IaC Evolution - on Open Source & Everything Else - Sharone Zitzman, RTFM Please; Mandi Walls, PagerDuty; Roni Frantchi, env0; Solomon Hykes, Dagger.io; Eran Bibi, Firefly Thursday, March 21 • 11:55 - 12:30 Keynote: A 10-year Detour: The Future of Application Delivery in a Containerized World - Solomon Hykess, CEO, Dagger.io Friday, March 22 • 09:15 - 09:30 Thursday, March 21 • 11:55 - 12:30 Unlocking New Platform Experiences with Open Interfaces - Thomas Vitale + Mauricio Salatino