Architecture

Rapid Prototyping as a way to validate your idea
Rapid prototyping is more than quick coding — it is a structured discipline for learning fast and making smarter product investment decisions. In this episode, Chris is joined by Andrew Greenstein, CEO of SF AppWorks and host of "The Next Great Thing" podcast, to explore three distinct types of rapid prototyping: design sprints, iterative feature development, and platform proof-of-concepts. The conversation draws on Kent Beck's product development triathlon (explore, expand, extract), Saras Saraswathy's effectuation theory, and a West Elm innovation case study — where rapid prototyping an AI image-matching feature and a chatbot delivered measurable revenue gains.
Chaos Engineering for Cloud native Apps
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.

Beyond Monitoring: The Rise of Observability Platform
Cloud with ChrisAs 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.

Tools of a Software Architecture for Everyone!
Cloud with ChrisSoftware architecture is not just the domain of dedicated architects — the tools, practices, and communication patterns it relies on apply to every engineer on every team. In this episode, Chris is joined by John Kilminster, a software architect and Azure MVP, who walks through the essential toolbox he has built up over years in the role. Covering C4 diagrams, Architecture Decision Records, Tech Radars, Docs as Code, and Spotify's Backstage developer portal, this episode delivers practical guidance for any team looking to improve how they document, communicate, and align on technical decisions.

Microservices have communication issues, especially when they fail
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
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.
Building Serverless Cloud-Native applications with Azure Container Apps
Technology is always evolving. We’ve seen physical machines turn into virtual. Virtual machines turn into containers. But often, those containers need an orchestrator like Kubernetes to reap the full benefits. What if there was a simpler option? Join Tighe and Chris as they introduce you to Azure Container Apps (Preview), Dapr and Keda - Helping you get started on your serverless cloud native journey.

ToolUp Tuesday - #6
Chris and Matt wire up Dapr state management for their .NET player state service, configure VS Code debugging for multi-service development, and document game use cases covering player enrollment, world event ticks, and decision lifecycle.

ToolUp Tuesday - #5
Chris and Matt refactor their Go player decisions API, restructuring packages and project layout. They compare the Gin and Gorilla Mux HTTP frameworks, explore Go interfaces and dependency injection patterns, and discuss unit testing and mocking strategies in Go.

ToolUp Tuesday - #4
Chris and Matt dive into Go (Golang) for the first time on stream, building a player decisions REST API for their game project. They explore Go fundamentals including structs, pointers, packages, and the Gin HTTP framework while comparing Go patterns to C# and .NET conventions.
