
80ms response SLO
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
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
Previous Episode

Automation Engine
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
Next Episode

KubeCon EU 2024
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:
- Jesse Suen: 🎬 GitOps & ClickOps beyond Kubernetes
- Solomon Hykes: 🎬 Pipelines as Functions
- Justin Cormack: 🎬 Works on my Computer
- Frederic Branczyk & Thor Hansen: 🎬 always BPF
LINKS
1. Jesse Suen
🎬 Navigating Multi-stage Deployment Pipelines via the GitOps Approach
2. Solomon Hykes
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
If you like this episode you’ll love
Episode Comments
Generate a badge
Get a badge for your website that links back to this episode
<a href="https://goodpods.com/podcasts/make-it-work-340598/80ms-response-slo-49592767"> <img src="https://storage.googleapis.com/goodpods-images-bucket/badges/generic-badge-1.svg" alt="listen to 80ms response slo on goodpods" style="width: 225px" /> </a>
Copy