Log in

goodpods headphones icon

To access all our features

Open the Goodpods app
Close icon
headphones
Make it Work

Make it Work

Gerhard Lazu

We talk about software that gets us excited, then share our screens and show what that means in practice. Expect initiatives that span years including: building a single-purpose CDN, rolling out a modern CI/CD platform & operating a new type of content platform 🚀
bookmark
Share icon

All episodes

Best episodes

Top 10 Make it Work Episodes

Goodpods has curated a list of the 10 best Make it Work episodes, ranked by the number of listens and likes each episode have garnered from our listeners. If you are listening to Make it Work for the first time, there's no better place to start than with one of these standout episodes. If you are a fan of the show, vote for your favorite Make it Work episode by adding your comments to the episode page.

Make it Work - 80ms response SLO

80ms response SLO

Make it Work

play

02/29/24 • 37 min

Alex Sims, Solutions Architect & Sr. Software Engineer at James and James Fulfilment, talks about their journey to 80ms response SLO with PHP & React.

Alex shares how they optimised API performance, specifically highlighting improvements made by altering interactions with Amazon S3 and Redis. Key points include the transition from synchronous to asynchronous S3 processes, the impact of Amazon's SLO on write speed, and the significant runtime reduction achieved through JIT compilation in PHP 8.

We conclude with insights into decision-making in technology architecture, emphasising the balance between choosing cutting-edge technology and the existing skill set of the team.

🎬 View the video part of this episode at 80ms response SLO with PHP & React

🎁 Access the audio & video as a single conversation at makeitwork.gerhard.io

EPISODE CHAPTERS

  • (00:00) - Introduction
  • (00:50) - 2023: A Year of Productive Chaos at James & James
  • (02:43) - Alex's Journey throughout our Conversations
  • (03:33) - What does James & James do?
  • (04:29) - What does Alex do at James & James?
  • (05:33) - Technical Challenges in 2023
  • (06:37) - Who is James?
  • (08:21) - Why do you - Alex - do what you do?
  • (10:52) - 2023 Highlights
  • (16:22) - Where does Kubernetes fit?
  • (18:03) - LESSON 1: Be aware of the different EC2 node type behaviour
  • (21:05) - instances.vantage.sh
  • (22:46) - LESSON 2: Understand the time cost of AWS S3 writes
  • (24:19) - LESSON 3: Connecting to Redis is expensive
  • (25:58) - Be careful when mixing persistent connections and transactions in Redis
  • (26:41) - LESSON 4: Always check for SELECT *
  • (28:15) - Lessons recap
  • (29:35) - OODA
  • (30:24) - SCREEN SHARING
  • (31:02) - Wrap-up
  • (35:58) - Planning for the next conversation
bookmark
plus icon
share episode
Make it Work - Automation Engine

Automation Engine

Make it Work

play

02/29/24 • 24 min

Today we delve into BuildKit and Dagger, focusing on their significance in the development and deployment of containerized applications, as well as Kubernetes integration.

  • BuildKit's Role: Essential for anyone using Docker Build, facilitating efficient, dependency-aware container builds with advanced caching mechanisms. It's not just for Docker but serves as a versatile execution engine across various projects, including Dagger.
  • Eric's Attraction to BuildKit: The power of BuildKit's DAG (Directed Acyclic Graph) execution model and its parallelization and deduplication capabilities drew Eric to maintain and contribute to the project.
  • First BuildKit Project: Eric's initial project, bincastle, aimed to build a development environment from source, highlighting BuildKit's ability to handle complex builds.
  • Introduction of Dagger: Dagger builds on top of BuildKit, enhances automation by allowing developers to use familiar programming languages without being confined to a specific domain-specific language (DSL). It aims to simplify and optimize automation tasks, particularly in CI/CD environments.
  • Dagger's Enhancements over BuildKit: Dagger introduces a language-agnostic layer, making automation more accessible and scalable. It incorporates features like remote caching and a services layer, potentially positioning it as a simpler alternative to Kubernetes for certain use cases.
  • Future Directions: The podcast touches on ongoing developments, such as modules for sharing automation code within Dagger, aiming to foster an ecosystem where developers can easily reuse and contribute to collective automation solutions.

The conversation highlights the evolving landscape of development tools, where BuildKit and Dagger play pivotal roles in making containerized development and deployment more efficient and user-friendly. Eric and Gerhard discuss the potential for these tools to simplify and enhance automation, reflecting on past projects and future possibilities.

🎬 View the video part of this episode: Deploying and Experimenting with Dagger 0.9 on Kubernetes 1.28

🎁 Access the audio & video as a single conversation at makeitwork.gerhard.io

LINKS

dagger --mod github.com/sipsma/daggerverse/yamlinvaders@8071646e5831d7c93ebcd8cca46444250bf25b8c shell play

EPISODE CHAPTERS

  • (00:00) - Intro
  • (01:43) - What attracted you to BuildKit?
  • (03:23) - What was the first project that you used BuildKit for?
  • (06:03) - Four years later, do you still want to see that idea through?
  • (06:44) - What is Dagger?
  • (08:18) - How much does Dagger add on top of BuildKit?
  • (10:42) - How does Gerhard think of Dagger in relation to BuildKit?
  • (12:48) - Dagger Modules - a way to share automation code
  • (14:01) - If someone installs Dagger today, what happens under the hood?
  • (14:47) - Why is the Engine distributed as a container image?
  • (16:02) - If the Dagger Engine was a single binary, how would you run it?
  • (17:05) - Thoughts on BuildKit caching?
  • (18:15) - What about remote caching?
  • (20:53) - Let's run Dagger on K8s on this Latte Panda Sigma
  • (21:43) - SCREEN SHARE
  • (22:06) - As we approach KubeCon, what is on your list?
  • (23:19) - An idea for next time when we get together
bookmark
plus icon
share episode
Make it Work - How much CPU & Memory?
play

02/29/24 • 35 min

This episode looks into the observability tool Parca & Polar Signals Cloud with Frederic Branczyk and Thor Hansen. We discuss experiences and discoveries using Parca for detailed system-wide performance analysis, which transcends programming languages.

We highlight a significant discovery related to kube-prometheus and the unnecessary CPU usage caused by Prometheus exporter's attempts to access BTRFS stats, leading to a beneficial configuration change for Kubernetes users globally.

We also explore Parca Agent's installation on Kubernetes 1.28 running on Talos 1.5, the process of capturing memory profiles with Parca, and the efficiency of the Parca Agent in terms of memory and CPU usage.

We touch upon the continuous operation of the Parca Agent, the importance of profiling for debugging and optimization, and the potential of profile-guided optimizations in Go 1.22 for enhancing software efficiency.

🎬 Screensharing videos that go with this episode:

  1. First impressions: Parca Agent on K8s 1.28 running as Talos 1.5
  2. See where your Go code allocates memory
  3. How to debug a memory issue with Parca?
  4. See which line of your Go code allocates the most memory

🎁 Access the audio & all videos as a single conversation at makeitwork.gerhard.io

LINKS

EPISODE CHAPTERS

  • (00:00) - Intro
  • (02:21) - kube-prometheus discovery & fix
  • (06:29) - Parca Agent on K8s 1.28 running as Talos 1.5
  • (06:49) - How to capture memory profiles with Parca?
  • (08:42) - pprof.me
  • (10:42) - Data retention in Parca
  • (11:42) - A real-world memory issue debugging example
  • (16:05) - How much memory is Parca Server expected to use?
  • (17:39) - How much memory is the Parca Agent expected to use?
  • (19:42) - What about Parca Agent CPU usage?
  • (21:57) - Is Parca Agent meant to run continously?
  • (23:03) - Other Parca stories worth sharing
  • (25:19) - What are the things that you are looking forward to in 2024?
  • (27:23) - Golang Profile Guided Optimisations with Parca
  • (30:22) - Frederic's surprise screen share
  • (34:02) - Wrap-up
bookmark
plus icon
share episode
Make it Work - KubeCon EU 2024

KubeCon EU 2024

Make it Work

play

04/30/24 • 52 min

For our 4th episode, we have four conversations from KubeCon EU 2024.

We talk to Jesse Suen about Argo CD & Kargo, Solomon Hykes shares the next evolution of Dagger, and Justin Cormack dives into Docker & AI. We also catch up with Frederic Branczyk & Thor Hansen on the latest Parca & Polar Signals Cloud updates since our last conversation.

Each conversation has a video version too:

  1. Jesse Suen: 🎬 GitOps & ClickOps beyond Kubernetes
  2. Solomon Hykes: 🎬 Pipelines as Functions
  3. Justin Cormack: 🎬 Works on my Computer
  4. Frederic Branczyk & Thor Hansen: 🎬 always BPF

LINKS

1. Jesse Suen

What's New in Kargo v0.5.0

🎬 Navigating Multi-stage Deployment Pipelines via the GitOps Approach

2. Solomon Hykes

Introducing Dagger Functions

A Keynote heard around the world - KubeCon EU 2024 Recap

🎬 Local & open-source AI Developer Meetup

3. Justin Cormack

AI Trends Report 2024: AI’s Growing Role in Software Development

Building a Video Analysis and Transcription Chatbot with the GenAI Stack

4. Frederic Branczyk & Thor Hansen

Correlating Tracing with Profiling using eBPF

LET'S MAKE IT BETTER

If you enjoyed this episode, I will appreciate your feedback on Apple Podcasts or Spotify.

If there is something that would have made it better for you, let me know: [email protected]

  • (00:00) - Intro
  • (00:39) - Jesse Suen (JS)
  • (00:56) - JS: Hardest ArgoCD question that you got today
  • (01:54) - JS: Rendered YAML branches
  • (04:06) - JS: What is top of your mind?
  • (06:12) - JS: Kargo beyond Kubernetes
  • (08:20) - JS: Trusting Kargo with production
  • (09:49) - JS: GitOps for leadership, UIs for app devs
  • (12:11) - JS: How is this KubeCon different?
  • (12:55) - JS: Anything that you will do different after this KubeCon?
  • (14:58) - Solomon Hykes (SH)
  • (15:10) - SH: What are you most excited about?
  • (16:12) - SH: What is different about functions this time?
  • (16:40) - SH: What makes functions fun for you?
  • (18:01) - SH: Anything significant that happened at this KubeCon?
  • (19:38) - SH: Thoughts on Dagger in production
  • (20:21) - SH: What does Dagger 1.0 mean?
  • (21:28) - SH: Asks for the Dagger Community
  • (23:04) - SH: How do Dagger SDKs work with Modules?
  • (25:02) - SH: Thoughts on the tech industry
  • (27:19) - Justin Cormack (JC)
  • (27:35) - JC: Docker & AI
  • (32:14) - JC: Docker Build Cloud
  • (35:30) - JC: Web Assembly & WASM
  • (39:37) - JC: KubeCon Community
  • (42:01) - Frederic Branczyk (FB) & Thor Hansen (TH)
  • (42:23) - TH: Excited to announce Polar Signals Cloud
  • (42:47) - FB & TH: Most exciting feature since launch
  • (45:24) - FB & TH: How is this KubeCon different?
  • (47:14) - TH & FB: What are you going to do different after this KubeCon?
  • (49:06) - FB & TH: Plans for next KubeCon?
  • (50:24) - FB & TH: Anything apart from AI that is exciting?
  • (51:25) - TH & FB: Any hot takes?
  • (52:12) - Outro
bookmark
plus icon
share episode
Make it Work - Ninjastructure - Move fast & break nothing
play

10/26/24 • 30 min

This is the audio version version of 🎬 Ninjastructure - Move fast & break nothing

Matias Pan, a professional maté drinker & Senior Software Engineer at Dagger, is showing us an approach to Infrastructure as Code built with Pulumi.

We look at Go code, discuss procedural (imperative) vs. declarative, spend some time on state management & introduce the concept of Ninjas in the context of infrastructure: move fast & break nothing.

In the second half, Matias uses diagrams to talk through different ideas of rolling this out into production. Which of the two approaches would you choose?

LINKS

EPISODE CHAPTERS

  • (00:00) - Why Pulumi instead of Terraform?
  • (02:40) - Procedural or declarative?
  • (07:19) - What is Ninjastructure?
  • (08:47) - First thing that gets provisioned in an AWS account
  • (11:18) - How does the network module work?
  • (14:29) - Biggest advantage to using Pulumi over Terraform
  • (17:02) - Stacks = different environments
  • (18:20) - Where is state stored?
  • (20:18) - Where did you choose to store the state?
  • (21:46) - How to use this in production?
  • (24:32) - The GitOps approach
  • (29:17) - Outro
bookmark
plus icon
share episode
Make it Work - Let's build a CDN - Part 1
play

05/27/24 • 24 min

This started as a conversation between James A Rosen & Gerhard in August 2023. Several months later, it evolved into a few epic pairing sessions captured in these GitHub threads:

  1. thechangelog#480 (reply in thread)
  2. thechangelog#486

The last pairing session eventually lead to 🎧 Kaizen! Should we build a CDN? This is the follow-up to that. How far did we get in 1 hour?

LINKS

EPISODE CHAPTERS

  • (00:00) - Intro
  • (02:08) - The 5-hour CDN
  • (03:44) - Varnish container image
  • (05:00) - Varnish container image command
  • (06:31) - Local-friendly Varnish container image
  • (06:44) - Varnish command-line options
  • (08:30) - Varnish parameters
  • (09:45) - Experimenting with Varnish locally
  • (12:36) - Varnish purging
  • (15:22) - Backend fetch failed
  • (16:20) - Varnish debug mode & logs
  • (17:29) - Why can't we query the backend?
  • (21:08) - Why is the backend sick?
  • (22:49) - That's the problem!
bookmark
plus icon
share episode
Make it Work - Modern CI/CD - Part 1
play

07/07/24 • 24 min

What does it look like to build a modern CI/CD pipeline from scratch in 2024? While many of you would pick GitHub Actions and be done with it, how do you run it locally? And what do you need to do to get caching to work?

Tom Chauveau joins us to help Alex Sims build a modern CI/CD pipeline from scratch. We start with a Remix app, write the CI/CD pipeline in TypeScript and get it working locally. While we don't finish, this is a great start (according to Alex).

This was recorded in January 2024, just as Dagger was preparing to launch Functions in the v0.10 release. While many things have improved in Dagger since then, the excitement & the joy of approaching CI/CD with this mindset have remained the same.

LINKS

EPISODE CHAPTERS

  • (00:47) - Intro
  • (01:35) - Current CI/CD pipeline
  • (03:40) - Why not a single pipeline stage?
  • (04:29) - Dagger expectations
  • (05:18) - Thinking of retiring GitHub Actions
  • (05:48) - Why the GitHub Actions & Jenkins split?
  • (06:46) - TypeScript in Dagger Modules
  • (08:40) - Modules extend the Engine API
  • (09:45) - Plan for today
  • (10:57) - Pairing session conclusions
  • (12:11) - Is it faster?
  • (13:10) - Re-using the cache between runs
  • (14:50) - Key takeaways
  • (19:04) - What comes next?
  • (22:43) - Not if you are using Jenkins
  • (23:33) - Thank you
bookmark
plus icon
share episode
Make it Work - Access your Kubernetes pods anywhere
play

08/12/24 • 33 min

How does Michal Kuratczyk, Staff Software Engineer at RabbitMQ, access Kubernetes workloads securely, from anywhere? Regardless whether it's a Google Kubernetes Engine (GKE) cluster or Kubernetes in Docker (KiND), Tailscale is a simple solution for this particular use case. This also makes it easy to share private services with all devices on a tailnet, including with friends that want to access them on a smartphone.

Watch the demo 🎬 Access your Kubernetes pods anywhere

If you want to watch the full, 32 minutes-long video, go to 🎁 https://makeitwork.gerhard.io

LINKS

EPISODE CHAPTERS

  • (00:00) - INTRO
  • (05:12) - DEMO STARTS
  • (06:11) - RabbitMQ in Kubernetes
  • (07:32) - Tailscale in Kubernetes
  • (11:59) - Magic DNS
  • (13:31) - Let me connect to it
  • (15:33) - Is this the last RabbitMQ 3 minor?
  • (17:12) - An alternative way to expose a service
  • (19:11) - Works on any tailnet device
  • (22:04) - How do we continue?
  • (23:26) - Have you tried upgrading the operator?
  • (24:23) - Can we try it?
  • (25:43) - DEMO ENDS
  • (25:54) - Exit nodes & subnet routers
  • (28:50) - OUTRO
bookmark
plus icon
share episode
Make it Work - TalosCon 2024

TalosCon 2024

Make it Work

play

09/28/24 • 71 min

We have 3 conversations from TalosCon 2024:

1. Vincent Behar & Louis Fradin from Ubisoft tell us how how they are building the next generation of game servers on Kubernetes. Recorded in a coffee shop.

2. We catch up with David Flanagan on the AI stack that he had success with in the context of rawkode.academy. David also tells us the full story behind his office burning down earlier this year. Recorded in the hallway track.

3. As for the last conversation, Gerhard finally gets together with Justin Garrison in person. They talked about TalosCon, some of the reasons behind users migrating off Cloud, and why Kubernetes & Talos hold a special place in their minds. Recorded in the workshop cinema room.

LINKS

EPISODE CHAPTERS

  • (00:00) - Intro
  • (00:52) - Vincent + Louis: Cinema conference talk
  • (02:09) - Vincent + Louis: What do you do?
  • (03:06) - Vincent + Louis: How do you split work?
  • (04:58) - Vincent + Louis: Game servers on Kubernetes
  • (08:07) - Vincent + Louis: What made you choose Omni & Talos?
  • (11:14) - Vincent + Louis: What could be better about them?
  • (12:58) - Vincent + Louis: Tell us about your talk
  • (16:50) - Vincent + Louis: What if Omni didn't exist?
  • (18:11) - Vincent + Louis: Last takeaway for the listeners
  • (18:53) - David: What is your AI stack for creating content?
  • (20:31) - David: Can AI guide me through running OCR on a video?
  • (21:18) - David: Which AI tools worked best for you?
  • (23:09) - David: Any nice AI tools which are worth mentioning?
  • (24:20) - David: My office went on fire in March
  • (26:13) - David: Which Linux distro do you use?
  • (27:18) - David: The extended version behind the office fire
  • (30:37) - David: What are you looking forward to?
  • (33:07) - David: What tech stack runs rawkode.academy?
  • (38:44) - Justin: Finally meeting in person!
  • (39:13) - Justin: What was your contribution to TalosCon 2024?
  • (41:21) - Justin: What would you improve for next time?
  • (43:59) - Justin: What did you love about this conference?
  • (46:00) - Justin: Help us visualize the venue
  • (47:16) - Justin: What are you thinking for the next TalosCon?
  • (49:22) - Justin: What is most interesting for you in Talos & Omni?
  • (55:25) - Justin: What is missing?
  • (01:00:25) - Justin: How do you see the growing discontent with the Cloud & Kubernetes?
  • (01:07:55) - Justin: What are your takeaways from TalosCon 2024?
bookmark
plus icon
share episode

Show more best episodes

Toggle view more icon

FAQ

How many episodes does Make it Work have?

Make it Work currently has 9 episodes available.

What topics does Make it Work cover?

The podcast is about Infrastructure, Cloud, Devops, Kubernetes, Podcasts and Technology.

What is the most popular episode on Make it Work?

The episode title 'How much CPU & Memory?' is the most popular.

What is the average episode length on Make it Work?

The average episode length on Make it Work is 37 minutes.

How often are episodes of Make it Work released?

Episodes of Make it Work are typically released every 35 days, 23 hours.

When was the first episode of Make it Work?

The first episode of Make it Work was released on Feb 29, 2024.

Show more FAQ

Toggle view more icon

Comments