Microservices

Chaos Engineering for Cloud native Apps

Chaos Engineering for Cloud native Apps

2022-11-03

Chaos engineering is the discipline of proactively experimenting on distributed systems to build confidence in their ability to withstand production failures. Chris is joined by Ashish Balgath (Cloud Solution Architect at Thoughtworks) to explore how to introduce fault-injection experiments incrementally — from a developer's local machine all the way to production — using tools such as Chaos Monkey and fault-injection simulator tools.

ToolUp Days #15

ToolUp Days #15

2022-10-21

Chris and Matt pick up inside GitHub Codespaces, getting the Player State service running locally on the first attempt thanks to Dapr's environment-variable secret store and Codespaces secrets. They then wire up the World Events Engine with Azure Storage Queue bindings and Table Storage state before hitting a stubborn .NET minimal API routing bug — becoming the cliffhanger that sets up the next session.

Beyond Monitoring: The Rise of Observability Platform

Beyond Monitoring: The Rise of Observability Platform

As systems grow in complexity across distributed architectures and microservices, traditional monitoring is no longer sufficient to maintain reliability and user experience. Observability goes beyond monitoring by correlating logs, metrics, and traces to rapidly pinpoint root causes across hybrid and multi-cloud landscapes. In this episode, Chris is joined by Samir Pradka, Enterprise Architect at Artos, to explore how organisations can build an observability platform incrementally, leverage AIOps for predictive analytics, and implement self-healing infrastructure using tools like Ansible and Azure Resource Manager.

ToolUp Days #14

ToolUp Days #14

2022-10-07

Chris and Matt solve a recurring ToolUp Days pain point — inconsistent developer environments — by setting up GitHub Codespaces with a custom dev container. They extend a community .NET template to include Go, configure Dapr component files for local Azure Storage access, and leverage Codespaces secrets as injected environment variables to avoid storing credentials in source code. By the end of the session they have a fully reproducible, cloud-hosted development environment that spins up in seconds.

ToolUp Days #13

ToolUp Days #13

2022-09-20

Chris and Matt spend this episode tracking down why the World Events Engine keeps crashing on startup in Azure Container Apps — tracing the root cause to a missing GitHub Container Registry credentials block in the Infrastructure as Code and a GitHub Actions token permissions gap. The session also covers Dapr component naming conventions, storage queue message formatting, container app log analysis, and planning a dedicated GitHub Codespaces episode.

ToolUp Days #12

ToolUp Days #12

2022-09-06

Chris and Matt deploy the World Events Engine to Azure Container Apps — encountering and fixing a real-world GitHub Actions deployment bug caused by parallel runs generating duplicate container names. The episode covers Dapr storage queue bindings, service invocation between microservices, random bar-type modifier logic, and a viewer-prompted conversation about using GitHub Codespaces to standardise the development environment.

Microservices have communication issues, especially when they fail

Microservices have communication issues, especially when they fail

2022-09-01

Communication between microservices is one of the trickiest challenges in distributed systems — especially when things go wrong. In this episode, Chris is joined by Francesco, a software engineer building a real-world payment gateway, to explore microservices communication patterns. They dive deep into the Saga pattern for managing multi-step distributed transactions, covering orchestration-based Sagas with AWS Step Functions, compensating transactions for graceful rollbacks, and event-driven messaging via EventBridge. The conversation also covers observability in distributed systems and applying Occam's Razor to architecture decisions.

ToolUp Days #11

ToolUp Days #11

2022-08-23

The series officially rebrands from ToolUp Tuesday to ToolUp Days, giving Chris and Matt the flexibility to keep a consistent cadence. This episode focuses on rethinking the game's data model — simplifying the player state object, introducing a BarType enum, and scaffolding both a player creation API and a bar management controller, with GitHub Copilot generating much of the boilerplate in real time.

ToolUp Tuesday - #9

ToolUp Tuesday - #9

2022-06-28

Chris and Matt debug deployment issues in Azure Container Apps, restructure their Bicep infrastructure as code into separate lifecycles, and configure Dapr state store components backed by Azure Storage.

ToolUp Tuesday - #8

ToolUp Tuesday - #8

2022-05-31

Chris and Matt deploy their containerized microservices to Azure Container Apps for the first time, pulling images from GitHub Packages and exploring the Dapr, KEDA, and Envoy integrations that Container Apps provides.