<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Home on Chris Reddington</title><link>https://chrisreddington.com/</link><description>Recent content in Home on Chris Reddington</description><generator>Hugo</generator><language>en-gb</language><lastBuildDate>Thu, 05 Feb 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://chrisreddington.com/index.xml" rel="self" type="application/rss+xml"/><item><title>GitHub Copilot SDK demo: Creating "Flight School"</title><link>https://chrisreddington.com/video/2026-02-05-copilot-sdk-flight-school/</link><pubDate>Thu, 05 Feb 2026 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2026-02-05-copilot-sdk-flight-school/</guid><description>&lt;p&gt;Chris Reddington demonstrates &amp;ldquo;Flight School,&amp;rdquo; a custom Next.js application built to personalize his learning journey using the GitHub Copilot SDK.&lt;/p&gt;
&lt;p&gt;Key topics covered:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Agentic workflows&lt;/strong&gt; — leveraging the Copilot SDK to generate daily coding challenges based on a GitHub profile&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AI-powered evaluation&lt;/strong&gt; — evaluating solutions against test cases with automated feedback&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Project export&lt;/strong&gt; — automatically exporting completed projects to new GitHub repositories&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Personalized learning&lt;/strong&gt; — habit tracking, dynamic learning topics, real-time skill customization, and integration with the GitHub MCP server for enhanced developer growth&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Rubber Duck Thursdays - Let's build with GitHub Copilot SDK</title><link>https://chrisreddington.com/video/2026-01-29-rubber-duck-thursdays/</link><pubDate>Thu, 29 Jan 2026 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2026-01-29-rubber-duck-thursdays/</guid><description>&lt;p&gt;Join us for Rubber Duck Thursdays! A lighthearted and informal stream where we live code on some projects. This week we explore how to bring the power of GitHub Copilot into your apps with the GitHub Copilot SDK, building hands-on examples and discussing patterns for integrating AI-powered coding assistance directly into developer tools and workflows.&lt;/p&gt;</description></item><item><title>Flight School</title><link>https://chrisreddington.com/project/flight-school/</link><pubDate>Mon, 26 Jan 2026 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/project/flight-school/</guid><description>&lt;p&gt;Flight School is an AI-powered coding practice platform built with the GitHub Copilot SDK. It delivers personalized challenges, real-time evaluation, and learning guidance based on your GitHub profile.&lt;/p&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Personalized Challenges&lt;/strong&gt;: Generates coding exercises tailored to your skill level and GitHub activity&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Real-time Evaluation&lt;/strong&gt;: Instant feedback on your solutions powered by AI&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Learning Guidance&lt;/strong&gt;: Contextual hints and explanations to help you grow&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Integration&lt;/strong&gt;: Leverages your GitHub profile to understand your strengths and areas for improvement&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Context windows, Plan agent, and TDD: What I learned building a countdown app with GitHub Copilot</title><link/><pubDate>Tue, 20 Jan 2026 00:00:00 +0000</pubDate><guid/><description>&lt;p&gt;Learn how I managed context to keep Copilot focused, used the Plan agent to sharpen vague requirements, and required Test Driven Development practices to catch bugs before users.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - It's time to build!</title><link>https://chrisreddington.com/video/2026-01-08-rubber-duck-thursdays/</link><pubDate>Thu, 08 Jan 2026 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2026-01-08-rubber-duck-thursdays/</guid><description>&lt;p&gt;Chris showcases Timestamp (gh.io/timestamp), an open-source countdown timer app that evolved from the 2025 holiday streams into a fully extensible project with multiple themes, comprehensive testing, and GitHub automation.&lt;/p&gt;
&lt;h2 id="timestamp--open-source-countdown-timer"&gt;Timestamp — Open Source Countdown Timer&lt;/h2&gt;
&lt;p&gt;The app is built with vanilla TypeScript and Vite, featuring:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Multiple themes&lt;/strong&gt; — contribution graph (GitHub-style squares that fill as midnight approaches), fireworks celebration (powered by fireworks.js), and a scaffoldable ring theme&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;World map wall clock&lt;/strong&gt; — an interactive SVG map using Natural Earth public domain data with day/night visualization&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Time zone support&lt;/strong&gt; — countdown to midnight in any city worldwide with a drop-down and map selector&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Light/dark mode&lt;/strong&gt; — system-aware theme switching with per-theme styling&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Accessibility&lt;/strong&gt; — built-in reduced motion support, keyboard navigation, and WCAG considerations&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="copilot-custom-instructions-vs-agents-vs-prompt-files"&gt;Copilot Custom Instructions vs Agents vs Prompt Files&lt;/h2&gt;
&lt;p&gt;Chris shares key lessons learned from structuring his Copilot configuration:&lt;/p&gt;</description></item><item><title>Timestamp</title><link>https://chrisreddington.com/project/timestamp/</link><pubDate>Thu, 08 Jan 2026 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/project/timestamp/</guid><description>&lt;p&gt;Timestamp is a countdown app where &lt;strong&gt;every countdown is a URL&lt;/strong&gt;. Pick a date, choose a theme, add a message — your countdown gets a unique link that works for anyone who opens it. Pure client-side magic.&lt;/p&gt;
&lt;h2 id="use-cases--countdown-modes"&gt;Use Cases &amp;amp; Countdown Modes&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Use Case&lt;/th&gt;
 &lt;th&gt;Mode&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;th&gt;Try It&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;🎆 New Year&amp;rsquo;s Eve with friends&lt;/td&gt;
 &lt;td&gt;🏠 Local Time&lt;/td&gt;
 &lt;td&gt;Counts down to midnight in each viewer&amp;rsquo;s timezone&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://chrisreddington.com/timestamp?mode=wall-clock&amp;amp;target=2027-01-01T00:00:00&amp;amp;theme=fireworks"&gt;New Year 2027&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;🚀 Product launches&lt;/td&gt;
 &lt;td&gt;🌐 Same Moment&lt;/td&gt;
 &lt;td&gt;Everyone sees the same countdown to an exact UTC instant&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://chrisreddington.com/timestamp?mode=absolute&amp;amp;target=2026-07-16T00:00:00Z&amp;amp;theme=contribution-graph&amp;amp;message=Launch%20Day!"&gt;Launch Day&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;☕ Meeting breaks&lt;/td&gt;
 &lt;td&gt;⏱️ Timer&lt;/td&gt;
 &lt;td&gt;Quick countdowns for time-boxed activities&lt;/td&gt;
 &lt;td&gt;&lt;a href="https://chrisreddington.com/timestamp?mode=timer&amp;amp;duration=300&amp;amp;theme=ring"&gt;5 Minutes&lt;/a&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Instant URL Sharing&lt;/strong&gt;: Every configuration generates a shareable URL that updates automatically&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Progressive Web App&lt;/strong&gt;: Install from your browser for offline support, full-screen mode, and automatic updates&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;World Map&lt;/strong&gt;: Wall-clock mode shows a day/night map with real-time solar position&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Multiple Themes&lt;/strong&gt;: Choose from beautiful themes including GitHub contribution graph style and dynamic fireworks&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Accessibility&lt;/strong&gt;: Full keyboard navigation, screen reader support, and reduced motion options&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>2025 saw an explosion in CVEs: Here's what the data shows</title><link>https://chrisreddington.com/media/cves-in-2025-analysis/</link><pubDate>Mon, 05 Jan 2026 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/media/cves-in-2025-analysis/</guid><description>&lt;h2 id="context"&gt;Context&lt;/h2&gt;
&lt;p&gt;A record 48,185 CVEs were published in 2025, including over 8,000 cross-site scripting (XSS) bugs. This analysis piece by The Stack explores the trends, including the &amp;ldquo;WordPress Effect&amp;rdquo; where plugin security firms now drive CVE volume, and discusses the implications for developers and security teams.&lt;/p&gt;
&lt;p&gt;I provided commentary on how developers can address these persistent security challenges, particularly around tooling and AI-assisted development.&lt;/p&gt;
&lt;h2 id="key-quotes"&gt;Key Quotes&lt;/h2&gt;
&lt;p&gt;On integrating security into the development lifecycle:&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Let's build our way into 2026!</title><link>https://chrisreddington.com/video/2025-12-18-rubber-duck-thursdays/</link><pubDate>Thu, 18 Dec 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-12-18-rubber-duck-thursdays/</guid><description>&lt;p&gt;In the last European-timezone-friendly stream of 2025, Chris builds a New Year countdown app from scratch — and reveals a GitHub contribution graph-themed countdown he built earlier.&lt;/p&gt;
&lt;h2 id="building-a-countdown-app-from-scratch"&gt;Building a Countdown App from Scratch&lt;/h2&gt;
&lt;p&gt;Chris scaffolds a new project using Vite with vanilla TypeScript and Tailwind CSS v4, using GitHub Copilot to generate the initial countdown logic, HTML structure, and styling. The app counts down to midnight on New Year&amp;rsquo;s with large digits and subtle animations.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Let's build down tech debt</title><link>https://chrisreddington.com/video/2025-12-11-rubber-duck-thursdays/</link><pubDate>Thu, 11 Dec 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-12-11-rubber-duck-thursdays/</guid><description>&lt;p&gt;Chris reviews the latest GitHub changelog and explores the major VS Code December release, then continues building custom agents for a game MCP server project.&lt;/p&gt;
&lt;h2 id="github-changelog-highlights"&gt;GitHub Changelog Highlights&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;CodeQL 2.23.6&lt;/strong&gt; adds Swift 6.2.1 and new C# security queries&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GPT-5.1 Codex Max&lt;/strong&gt; now in public preview for GitHub Copilot across VS Code, GitHub.com, and GitHub Mobile&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Workflow dispatch inputs&lt;/strong&gt; limit increased from 10 to 25&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copilot code generation metrics&lt;/strong&gt; now available in the enterprise insights dashboard&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Enterprise teams&lt;/strong&gt; limits increased over 10x — up to 2,500 teams and 5,000 users per team&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dependabot-based dependency graphs for Go&lt;/strong&gt; now provide more complete transitive dependency trees&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;npm classic tokens revoked&lt;/strong&gt; — replaced with session-based and CLI token management&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Repository custom properties&lt;/strong&gt; now support GraphQL management and a URL type with built-in validation&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub MCP server&lt;/strong&gt; adds tool-specific configuration, lockdown mode for untrusted contributors, and default content sanitization against prompt injection&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Enterprise Server 3.19&lt;/strong&gt; GA with rule set history import/export, SSH/TLS cipher configuration, and OpenTelemetry metrics&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Auto model selection&lt;/strong&gt; GA in VS Code for all Copilot plans&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="vs-code-december-release--agent-features"&gt;VS Code December Release — Agent Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Agent HQ&lt;/strong&gt; for managing multiple coding agents — background, cloud, or local — working simultaneously&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Background agents with git worktrees&lt;/strong&gt; for isolated workspaces, enabling multiple agents to work in parallel without file conflicts&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Custom agents for organizations&lt;/strong&gt; — share agents at the org level via &lt;code&gt;.github-private&lt;/code&gt; repositories&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sub-agents via run sub agent&lt;/strong&gt; — delegate tasks to specialized sub-agents with their own context windows to avoid context bloat&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Claude skills support&lt;/strong&gt; — reuse existing Claude Code skills within VS Code agents&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Session management improvements&lt;/strong&gt; — integrated sessions view, compact and side-by-side layouts, and persistent local agent sessions&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="live-coding--custom-agents-and-background-agents"&gt;Live Coding — Custom Agents and Background Agents&lt;/h2&gt;
&lt;p&gt;Chris demonstrates the new VS Code agent features by continuing work on a tic-tac-toe game with an MCP server backend. He creates a testing specialist agent using a TDD workflow, experiments with background agents running in git worktrees, and explores sub-agent delegation for specialized tasks like code quality review.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Let's build with custom agents (again!)</title><link>https://chrisreddington.com/video/2025-12-04-rubber-duck-thursdays/</link><pubDate>Thu, 04 Dec 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-12-04-rubber-duck-thursdays/</guid><description>&lt;p&gt;Chris continues building custom agents for the SDLC, exploring the awesome-copilot repository for inspiration and live-building a GitHub Actions workflow agent with plan mode.&lt;/p&gt;
&lt;h2 id="topics-covered"&gt;Topics Covered&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub Changelog Roundup&lt;/strong&gt; — Blocking repo admins from installing GitHub Apps now GA, Copilot Spaces with public spaces and code view support, secret scanning updates for November 2025, GitHub Enterprise Server 3.19 RC, assigning issues to Copilot via GraphQL and REST APIs, and Claude Opus 4.5 availability across more IDEs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Agent Inspiration from awesome-copilot&lt;/strong&gt; — Reviewing partner-built agents and the awesome-copilot repository for ideas including test writers, security reviewers, tech debt analyzers, documentation generators, PR review assistants, and onboarding guides.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Agent Consolidation&lt;/strong&gt; — Discussing whether to keep agents separate or consolidate them based on shared tool access, output formats, and domain overlap.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Building a GitHub Actions Agent&lt;/strong&gt; — Using plan mode to design a custom agent for authoring and updating GitHub Actions workflows, including monorepo build order awareness and minimal permissions guidance.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Actions Instructions File&lt;/strong&gt; — Creating a companion instructions file with repository-specific CI/CD conventions, build order, environment variables, and recommended practices for workflow definitions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Plan Mode Workflow&lt;/strong&gt; — Demonstrating the iterative plan-then-implement workflow where Copilot asks clarifying questions before generating code, and switching between plan and agent modes.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Rubber Duck Thursdays - Let's build with custom agents</title><link>https://chrisreddington.com/video/2025-11-27-rubber-duck-thursdays/</link><pubDate>Thu, 27 Nov 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-11-27-rubber-duck-thursdays/</guid><description>&lt;p&gt;Chris explores Copilot custom agents and custom instructions, restructuring project context files and creating meta instruction files for a more effective AI-assisted development workflow.&lt;/p&gt;
&lt;h2 id="topics-covered"&gt;Topics Covered&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub Changelog Roundup&lt;/strong&gt; — Enterprise bring-your-own-key for Copilot, linter integration with Copilot code review (ESLint, PMD), GitHub Actions cache size exceeding 10 GB, Claude Opus 4.5 in public preview, and secret scanning updates.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Custom Instructions Deep Dive&lt;/strong&gt; — Restructuring &lt;code&gt;copilot-instructions.md&lt;/code&gt; to include monorepo tech stack details, build order, service boundaries, security guidelines, and testing conventions using recommended practices from the docs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Meta Instruction Files&lt;/strong&gt; — Creating instruction files that teach Copilot how to write better custom instructions and custom agents, pulling in recommended practices from the GitHub and VS Code documentation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Plan Mode for Agent Design&lt;/strong&gt; — Using Copilot&amp;rsquo;s plan mode to iterate on ideas before implementation, demonstrating how follow-up questions help refine requirements like rubber duck debugging.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Context Engineering&lt;/strong&gt; — Discussion on supplying the right context to Copilot, balancing context window size, and the importance of being requirements-driven for high-quality code generation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Community Q&amp;amp;A&lt;/strong&gt; — Topics including sustainable engineering pace, avoiding burnout, handling merge conflicts, and the fundamentals of software quality.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Rubber Duck Thursdays - Let's build</title><link>https://chrisreddington.com/video/2025-11-20-rubber-duck-thursdays/</link><pubDate>Thu, 20 Nov 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-11-20-rubber-duck-thursdays/</guid><description>&lt;p&gt;Chris catches up on several weeks of GitHub releases and then returns to the turn-based game MCP server project to fix a dependency upgrade issue.&lt;/p&gt;
&lt;h2 id="topics-covered"&gt;Topics Covered&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub Changelog Roundup&lt;/strong&gt; — Managing Copilot coding agent tasks in VS Code, new OIDC token claims for GitHub Actions, GPT-5.1 and Codex models, configuring the coding agent as a bypass actor for rulesets, MCP registry and allowlist controls in VS Code Stable, plan mode and isolated sub-agents in public preview, Gemini 3 Pro, and CodeQL updates.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MCP Server for Games&lt;/strong&gt; — Revisiting the tic-tac-toe MCP server project and demonstrating how tool calls allow natural language game interaction with a backend API.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fixing Dependency Upgrades with Copilot&lt;/strong&gt; — Using agent mode across multiple models (Codex, Gemini 3 Pro) to diagnose and resolve a type check failure caused by a Dependabot SDK version bump.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Adding Bluesky Comments to My Hugo Site</title><link>https://chrisreddington.com/blog/bluesky-comments-integration/</link><pubDate>Tue, 18 Nov 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/bluesky-comments-integration/</guid><description>&lt;p&gt;I&amp;rsquo;ve been thinking about how to better connect my blog with the conversations happening on social platforms. I wanted something that felt natural and didn&amp;rsquo;t require readers to signup to my own comments system to engage. That&amp;rsquo;s when I came across &lt;a href="https://ashley.dev/posts/bluesky-integration/"&gt;Ashley Willis&amp;rsquo;s approach&lt;/a&gt; on her Astro-powered site.&lt;/p&gt;
&lt;p&gt;This approach uses the &lt;a href="https://atproto.com/"&gt;AT Protocol&amp;rsquo;s&lt;/a&gt; public API. I thought - &amp;ldquo;this could also work with Hugo&amp;rdquo; (which is what I use for my blog), and set about adapting the approach. In this post, I&amp;rsquo;ll walk through what I&amp;rsquo;ve built and how it works.&lt;/p&gt;</description></item><item><title>Building smarter interactions with MCP elicitation: From clunky tool calls to seamless user experiences</title><link/><pubDate>Thu, 04 Sep 2025 00:00:00 +0000</pubDate><guid/><description>&lt;p&gt;Explore how MCP elicitation transforms AI tool interactions by gathering missing information upfront.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Time to build!</title><link>https://chrisreddington.com/video/2025-09-04-rubber-duck-thursdays/</link><pubDate>Thu, 04 Sep 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-09-04-rubber-duck-thursdays/</guid><description>&lt;p&gt;Join us for Rubber Duck Thursdays! A lighthearted and informal stream where we live code on some projects.&lt;/p&gt;
&lt;p&gt;In this stream, we explore adding a 3D visualization to the turn-based game MCP server using Three.js, built with help from Copilot coding agent. We demo switching between 2D and 3D views of tic-tac-toe games while playing against the MCP server, and discuss the iterative process of prompting Copilot — including the importance of specifying requirements like piece orientation and camera controls.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Let's keep building!</title><link>https://chrisreddington.com/video/2025-08-28-rubber-duck-thursdays/</link><pubDate>Thu, 28 Aug 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-08-28-rubber-duck-thursdays/</guid><description>&lt;p&gt;Join us for Rubber Duck Thursdays! A lighthearted and informal stream where we live code on some projects.&lt;/p&gt;
&lt;p&gt;In this stream, we recap the turn-based game MCP server and demo the elicitation feature for gathering user preferences, then shift gears into a deep dive on GitHub Actions. Starting from an empty repository, we build workflows from scratch — covering YAML structure, event triggers (issues, issue_comment, push, pull_request, workflow_dispatch), jobs running in parallel, job dependencies using the &lt;code&gt;needs&lt;/code&gt; property, conditional steps with &lt;code&gt;if&lt;/code&gt;, and matrix strategies for cross-platform builds across multiple OS and Node.js versions.&lt;/p&gt;</description></item><item><title>Building your first MCP server: How to extend AI tools with custom capabilities</title><link/><pubDate>Fri, 22 Aug 2025 00:00:00 +0000</pubDate><guid/><description>&lt;p&gt;Learn Model Context Protocol by building a turn-based game server that shows how to extend GitHub Copilot with custom tools, resources, and prompts.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Building a turn-based-game MCP server</title><link>https://chrisreddington.com/video/2025-08-07-rubber-duck-thursdays/</link><pubDate>Thu, 07 Aug 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-08-07-rubber-duck-thursdays/</guid><description>&lt;p&gt;Join us for Rubber Duck Thursdays! A lighthearted and informal stream where we live code on some projects.&lt;/p&gt;
&lt;p&gt;In this stream, we continue building our turn-based game MCP server, focusing on implementing elicitation — a Model Context Protocol feature for gathering additional user input when creating games. We consolidate duplicate tool calls (create game, play game) into generic handlers, reducing code duplication and improving maintainability. The session also covers using Copilot coding agent to automate refactoring tasks like extracting shared constants and removing duplicated difficulty badge logic.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Build for the love of code</title><link>https://chrisreddington.com/video/2025-07-24-rubber-duck-thursdays/</link><pubDate>Thu, 24 Jul 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-07-24-rubber-duck-thursdays/</guid><description>&lt;p&gt;In this episode, we recap the latest GitHub changelog including GitHub Spark entering public preview and coding agent support for instructions.md files. We introduce the &lt;a href="https://gh.io/love-of-code"&gt;Build for the love of code&lt;/a&gt; hackathon, prototype a rubber duck debugging app with GitHub Spark, and build an MCP server from scratch using TypeScript while exploring tools, prompts, and resources.&lt;/p&gt;
&lt;h2 id="topics-covered"&gt;Topics covered&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub changelog recap&lt;/strong&gt; — M2 Pro hosted runners, GitHub Issues quality-of-life updates, Azure endpoint deprecation for GitHub Models, PR files changed improvements, Copilot code review policy changes, GitHub Spark public preview for Copilot Pro Plus, coding agent support for instructions.md custom instructions, and base branch selection for coding agent tasks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Build for the love of code hackathon&lt;/strong&gt; — Introduced the &lt;a href="https://gh.io/love-of-code"&gt;gh.io/love-of-code&lt;/a&gt; hackathon running July 16 to September 22 with six categories: hardware projects, AI agents, terminal tools, games, web apps, and wildcard entries. Brainstormed duck-themed project ideas with Copilot.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Spark prototyping&lt;/strong&gt; — Used GitHub Spark (now in public preview) to rapidly prototype a rubber duck debugging web app with animated duck companions and different debugging personalities.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Building an MCP server from scratch&lt;/strong&gt; — Scaffolded a TypeScript MCP server project from an empty repository, covering server initialization with the MCP SDK, registering tools with Zod schema validation, defining prompts and resources, and setting up repository foundations including dev containers, Dependabot configuration, and GitHub Actions CI workflows.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Debugging UI with AI: GitHub Copilot agent mode meets MCP servers</title><link/><pubDate>Tue, 22 Jul 2025 00:00:00 +0000</pubDate><guid/><description>&lt;p&gt;Explore how I use agentic tools like GitHub Copilot agent mode and the Playwright MCP server to accelerate troubleshooting and debugging of UI issues, while revisiting the importance of clear requirements.&lt;/p&gt;</description></item><item><title>Github-Informatiker verrät seine 4 besten KI-Prompts</title><link>https://chrisreddington.com/media/grunderszene-prompts/</link><pubDate>Tue, 22 Jul 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/media/grunderszene-prompts/</guid><description>&lt;h2 id="context"&gt;Context&lt;/h2&gt;
&lt;p&gt;Featured in a Gründerszene profile where I shared my 4 best AI prompts that help me focus on higher-value tasks requiring human judgment and creativity. The article explores how I use AI tools daily in my role at GitHub to automate repetitive work.&lt;/p&gt;
&lt;h2 id="key-quotes"&gt;Key Quotes&lt;/h2&gt;
&lt;p&gt;On using AI to enhance productivity:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;KI hilft Github-Informatiker Reddington dabei, seine Rolle effizienter und effektiver zu erfüllen. „Ich habe immer noch die Kontrolle und treffe letztlich die Entscheidungen&amp;quot;, sagt er.&lt;/p&gt;</description></item><item><title>From chaos to clarity: Using GitHub Copilot agents to improve developer workflows</title><link/><pubDate>Tue, 15 Jul 2025 00:00:00 +0000</pubDate><guid/><description>&lt;p&gt;Explore how you can set Copilot coding agent up for success with custom instruction and Copilot setup steps.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Copilot agent mode, coding agent and MCP servers</title><link>https://chrisreddington.com/video/2025-07-10-rubber-duck-thursdays/</link><pubDate>Thu, 10 Jul 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-07-10-rubber-duck-thursdays/</guid><description>&lt;p&gt;In this episode, we review the latest GitHub changelog including remote MCP server support for coding agent and Copilot code review on mobile. We use the Playwright MCP server with Copilot agent mode to debug and fix UI issues in the Octo Arcade project, discuss the differences between ask, edit, and agent modes in VS Code, and explore MCP server concepts like tools, prompts, and resources.&lt;/p&gt;
&lt;h2 id="topics-covered"&gt;Topics covered&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub changelog recap&lt;/strong&gt; — Agents page for Copilot coding agent, CodeQL Rust support, improved repository creation experience, dependency auto-submission for Python, Copilot code review on GitHub Mobile, remote MCP server support for coding agent, and delegating tasks via the GitHub MCP server.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Playwright MCP server for UI debugging&lt;/strong&gt; — Used Copilot agent mode with the Playwright MCP server to debug and fix game sizing issues in the Octo Arcade project, including viewport overflow, header overlap, and mobile responsiveness for pong, brick breaker, and matching games.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ask vs Edit vs Agent mode&lt;/strong&gt; — Walked through the practical differences between VS Code Copilot modes: ask for conversational code suggestions that must be manually applied, edit for targeted file changes, and agent mode for autonomous multi-step workflows that can run builds, tests, and use MCP tools.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MCP server concepts&lt;/strong&gt; — Explored MCP server fundamentals including the three main primitives: tools (executable functions), prompts (predefined conversation templates), and resources (contextual data for the AI).&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Rubber Duck Thursdays - Let's build</title><link>https://chrisreddington.com/video/2025-07-03-rubber-duck-thursdays/</link><pubDate>Thu, 03 Jul 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-07-03-rubber-duck-thursdays/</guid><description>&lt;p&gt;In this stream, Chris returns from vacation to catch up on weeks of GitHub updates and demonstrates adding internationalization to apps using Copilot coding agent, custom VS Code chat modes, and agent mode in Xcode.&lt;/p&gt;
&lt;h2 id="topics-covered"&gt;Topics Covered&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub Changelog Review&lt;/strong&gt; — Updates including model evaluations CLI for GitHub Models, remote GitHub MCP server in public preview, Copilot coding agent now available for business users, GitHub Models pay-as-you-go billing, Claude Sonnet 4 and Opus 4 GA, CodeQL updates for Go and Swift, Actions Runner Controller release, and Copilot code review with custom instructions support&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Custom Chat Modes in VS Code&lt;/strong&gt; — Creating a custom planning mode in VS Code Insiders to generate implementation plans and create GitHub issues, integrating the GitHub MCP server as a tool within the chat mode&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Remote GitHub MCP Server&lt;/strong&gt; — Setting up and authenticating with the new remote GitHub MCP server, eliminating the need for local Docker containers and personal access tokens via OAuth&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copilot Coding Agent for Internationalization&lt;/strong&gt; — Assigning a GitHub issue to Copilot to add English, French, and Spanish language support to the Copilot Airways Next.js web app, reviewing the AI-generated pull request&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Xcode Agent Mode&lt;/strong&gt; — Demonstrating agent mode in Xcode to add internationalization to a Swift iOS version of the Copilot Airways app with a language selector&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Issue Creation with Copilot&lt;/strong&gt; — Using Copilot on github.com to draft well-structured GitHub issues from natural language descriptions&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>From idea to PR: A guide to GitHub Copilot’s agentic workflows</title><link/><pubDate>Tue, 01 Jul 2025 00:00:00 +0000</pubDate><guid/><description>&lt;p&gt;A practical guide to GitHub Copilot’s agentic coding agent, chat modes, and remote MCP server so you turn issues into tested PRs with clear steps (and no hype).&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Let's build with agents</title><link>https://chrisreddington.com/video/2025-06-19-rubber-duck-thursdays/</link><pubDate>Thu, 19 Jun 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-06-19-rubber-duck-thursdays/</guid><description>&lt;p&gt;In this episode, we recap the latest GitHub changelog updates including Copilot coding agent availability for pro users and the new Playwright MCP browser capability. We update Copilot custom instructions and setup steps for a GitHub Action project, use the Playwright MCP server to build interactive UI features on a trend radar app, and leverage Copilot coding agent to identify and fix technical debt.&lt;/p&gt;
&lt;h2 id="topics-covered"&gt;Topics covered&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub changelog recap&lt;/strong&gt; — Copilot coding agent for Copilot Pro users, GitHub Actions fine-grain permissions, upgraded Llama models, improved PR file experience, Dependabot minimum package age configuration, and Copilot coding agent Playwright MCP browser support.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copilot custom instructions and setup steps&lt;/strong&gt; — Updated custom instructions for a validate-file-exists GitHub Action project and created a Copilot setup steps YAML to configure the coding agent environment with Node.js and dependencies.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Playwright MCP server for UI development&lt;/strong&gt; — Used the Playwright MCP server with Copilot coding agent to build drag-and-drop functionality and point editing on a trend radar web app, demonstrating how the agent can interact with a running application.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Technical debt with Copilot coding agent&lt;/strong&gt; — Prompted Copilot to identify technical debt in the project, then created GitHub issues for package metadata fixes, documentation inconsistencies, and input validation improvements. Copilot coding agent autonomously submitted a PR addressing all three items with new tests.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Rubber Duck Thursdays - Copilot coding agent and Copilot agent mode</title><link>https://chrisreddington.com/video/2025-06-05-rubber-duck-thursdays/</link><pubDate>Thu, 05 Jun 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-06-05-rubber-duck-thursdays/</guid><description>&lt;p&gt;In this stream, Chris returns after Microsoft Build to dive deep into Copilot coding agent, demonstrating how to assign GitHub issues to Copilot and review the resulting pull requests.&lt;/p&gt;
&lt;h2 id="topics-covered"&gt;Topics Covered&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Microsoft Build Recap&lt;/strong&gt; — Highlights from the event including Copilot coding agent announcements, agent mode availability in Eclipse, Xcode, and IntelliJ editors, and GitHub Models updates&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Changelog Review&lt;/strong&gt; — Three weeks of updates including Claude Sonnet 4 and Opus 4 in GitHub Copilot, Copilot Spaces, GPT-4o Copilot model update, coding agent on GitHub Mobile, secret scanning pattern expansions, and GitHub Enterprise Server 3.17&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copilot Coding Agent Deep Dive&lt;/strong&gt; — Live demo with Copilot Airways app showing how to assign issues to Copilot, review AI-generated pull requests for refactoring and CI/CD deployment, and iterate through code review comments&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MCP Integration with Notion&lt;/strong&gt; — Demonstrating Model Context Protocol by connecting Copilot coding agent to a Notion MCP server to pull requirements from external tools and implement features automatically&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Issue Scoping Best Practices&lt;/strong&gt; — Structuring GitHub issues with overview, problem statement, acceptance criteria, implementation details, and file pointers for optimal Copilot coding agent results&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copilot Code Review&lt;/strong&gt; — Using automated code review on pull requests with actionable suggestions for code quality&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Extend GitHub Copilot coding agent with custom MCP tools</title><link>https://chrisreddington.com/video/2025-06-01-copilot-coding-agent-mcp/</link><pubDate>Sun, 01 Jun 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-06-01-copilot-coding-agent-mcp/</guid><description>&lt;p&gt;This video demonstrates an end-to-end MCP-powered workflow with the GitHub Copilot coding agent, using the &amp;lsquo;Copilot Airways&amp;rsquo; travel guide as the demo application.&lt;/p&gt;
&lt;p&gt;Key topics covered:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Creating a GitHub Issue from Copilot Chat&lt;/strong&gt; on GitHub.com: asking Copilot to formulate a structured issue from a verbal description, including a link to the Notion document for traceability between the product team&amp;rsquo;s requirements and the engineering backlog&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Assigning the issue to Copilot coding agent&lt;/strong&gt; directly from the Copilot Chat interface—no need to navigate away to the Issues tab&lt;/li&gt;
&lt;li&gt;How the &lt;strong&gt;Notion MCP server&lt;/strong&gt; is configured to give Copilot access to external product documentation, bridging the gap between the product team&amp;rsquo;s tools and the engineering workflow&lt;/li&gt;
&lt;li&gt;Inspecting the &lt;strong&gt;session view&lt;/strong&gt; to see multiple MCP tool calls used to fetch information from Notion, which were then incorporated into Copilot&amp;rsquo;s implementation plan and code changes&lt;/li&gt;
&lt;li&gt;How &lt;strong&gt;MCP servers and their associated tools are provisioned within GitHub Actions&lt;/strong&gt; when Copilot is being set up for a coding agent task—visible in the workflow run logs&lt;/li&gt;
&lt;li&gt;Navigating a large pull request using &lt;strong&gt;Copilot&amp;rsquo;s PR change summary&lt;/strong&gt; to gain the right context before diving into a detailed code review&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Assign issues to GitHub Copilot from the GitHub mobile app</title><link>https://chrisreddington.com/video/2025-05-27-copilot-coding-agent-mobile/</link><pubDate>Tue, 27 May 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-05-27-copilot-coding-agent-mobile/</guid><description>&lt;p&gt;The GitHub Copilot coding agent isn&amp;rsquo;t just a desktop experience—you can assign issues and track Copilot&amp;rsquo;s progress directly from the GitHub Mobile app or a mobile browser, making it useful during a commute or whenever you&amp;rsquo;re away from your laptop.&lt;/p&gt;
&lt;p&gt;The video demonstrates the following mobile-first workflow using the &amp;lsquo;Copilot Airways&amp;rsquo; demo repository:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Navigating the &lt;strong&gt;issues backlog&lt;/strong&gt; and assigning a GitHub Pages deployment task to Copilot directly from the &lt;strong&gt;GitHub Mobile app&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Copilot acknowledging the assignment with the 👀 emoji reaction and immediately creating a pull request&lt;/li&gt;
&lt;li&gt;Switching to &lt;strong&gt;github.com in a mobile browser&lt;/strong&gt; to open the pull request and tap &amp;lsquo;View session&amp;rsquo;&lt;/li&gt;
&lt;li&gt;Reviewing how Copilot explored existing CI workflow files, formed a plan, updated configuration files, and modified the existing workflow to add the GitHub Pages deployment step&lt;/li&gt;
&lt;li&gt;Copilot running &lt;strong&gt;linters, builds, and tests&lt;/strong&gt; as quality checks during the agentic loop to ensure the CI pipeline remains healthy&lt;/li&gt;
&lt;li&gt;Using the &lt;strong&gt;&amp;lsquo;Approve and Run&amp;rsquo;&lt;/strong&gt; button on mobile to authorize GitHub Actions execution against the AI-generated changes&lt;/li&gt;
&lt;li&gt;Marking the pull request as ready for review and merging once checks pass—all without touching a laptop&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Copilot Agent Mode is now available in GitHub Copilot for Xcode</title><link>https://chrisreddington.com/video/2025-05-23-copilot-xcode-agentmode/</link><pubDate>Sat, 24 May 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-05-23-copilot-xcode-agentmode/</guid><description>&lt;p&gt;GitHub Copilot for Xcode has added agent mode, bringing the same agentic capabilities available in Visual Studio Code to native Apple platform development. This video covers the key features and a practical demonstration.&lt;/p&gt;
&lt;p&gt;Topics and demos include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The new &lt;strong&gt;ask/agent mode toggle&lt;/strong&gt; in the Copilot chat pane within Xcode—ask mode for back-and-forth conversation, agent mode for autonomous task execution that can invoke tools and run terminal commands&lt;/li&gt;
&lt;li&gt;Configuring &lt;strong&gt;Model Context Protocol (MCP)&lt;/strong&gt; via the Xcode settings page: navigating to the MCP tab, editing the configuration JSON, and reviewing available tools based on what&amp;rsquo;s already configured&lt;/li&gt;
&lt;li&gt;Adding the &lt;strong&gt;GitHub MCP server&lt;/strong&gt; to give Copilot access to GitHub repository data (issues, pull requests, etc.) directly from within Xcode&lt;/li&gt;
&lt;li&gt;Using agent mode to &lt;strong&gt;look up open issues and summarize the state of work&lt;/strong&gt; across the repository, helping prioritize what to tackle next&lt;/li&gt;
&lt;li&gt;A hands-on fix: identifying that instant (on-first-keystroke) form validation creates a poor user experience in an iOS app, writing a clear instruction with explicit expectations for Copilot to follow, and watching it explore workspace files and apply the targeted change&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Verifying the fix in the iOS simulator&lt;/strong&gt;: confirming that input fields no longer show red validation errors on first load, and that error messages appear correctly when invalid data is entered&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Assigning Copilot ad-hoc tasks through Copilot chat</title><link>https://chrisreddington.com/video/2025-05-22-copilot-coding-agent-adhoc-tasks/</link><pubDate>Thu, 22 May 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-05-22-copilot-coding-agent-adhoc-tasks/</guid><description>&lt;p&gt;The GitHub Copilot coding agent isn&amp;rsquo;t limited to work assigned from GitHub Issues—you can also delegate tasks directly from a Copilot Chat session in Visual Studio Code while actively working in the codebase.&lt;/p&gt;
&lt;p&gt;The video walks through the following workflow on the &amp;lsquo;Copilot Airways&amp;rsquo; demo app:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Opening Copilot Chat in &lt;strong&gt;ask mode&lt;/strong&gt; in Visual Studio Code and invoking the &lt;code&gt;@github&lt;/code&gt; chat participant&lt;/li&gt;
&lt;li&gt;Describing naming inconsistencies found across the codebase and asking Copilot to raise a pull request that standardizes the naming conventions across all implementations&lt;/li&gt;
&lt;li&gt;Reviewing Copilot&amp;rsquo;s proposed plan (including documentation improvements to make conventions explicit) and confirming before it proceeds&lt;/li&gt;
&lt;li&gt;Copilot creating the pull request and returning a direct link within the chat session&lt;/li&gt;
&lt;li&gt;Viewing the &lt;strong&gt;session log&lt;/strong&gt; to see how Copilot mapped out the refactoring approach&lt;/li&gt;
&lt;li&gt;Letting Copilot work asynchronously in the background—running lint and build steps to verify code quality—while continuing with other work&lt;/li&gt;
&lt;li&gt;Returning to the pull request, using the &lt;strong&gt;&amp;lsquo;Approve and Run&amp;rsquo;&lt;/strong&gt; button to trigger GitHub Actions checks, and progressing to merge once all checks pass&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>How to get the most out of the Copilot coding agent</title><link>https://chrisreddington.com/video/2025-05-21-copilot-coding-agent-tips-tricks/</link><pubDate>Wed, 21 May 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-05-21-copilot-coding-agent-tips-tricks/</guid><description>&lt;p&gt;The GitHub Copilot coding agent works best when given rich context and a consistent environment. This video breaks down four concrete practices that help set Copilot up for success before a single line of code is written.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. Write well-scoped GitHub Issues&lt;/strong&gt; — Can the issue be resolved in a single pull request? Does it include a clear problem description, acceptance criteria, pointers to the relevant files, and a loose implementation plan to follow?&lt;/p&gt;</description></item><item><title>The GitHub Copilot coding agent *NEW*</title><link>https://chrisreddington.com/video/2025-05-19-coding-agent-overview/</link><pubDate>Mon, 19 May 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-05-19-coding-agent-overview/</guid><description>&lt;p&gt;GitHub Copilot coding agent lets you assign GitHub Issues to Copilot, which works asynchronously in the background while you continue with other tasks. This overview video uses the &amp;lsquo;Copilot Airways&amp;rsquo; flight booking app to demonstrate the full workflow from issue assignment to merged pull request.&lt;/p&gt;
&lt;p&gt;The video covers:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Assigning a GitHub Issue (adding form input validation) to Copilot with a single click&lt;/li&gt;
&lt;li&gt;How Copilot acknowledges the assignment, creates a pull request, and keeps the PR description updated as it progresses&lt;/li&gt;
&lt;li&gt;Viewing the Copilot session to understand how it explored the repository, formed a plan, and created a new GitHub Actions workflow file&lt;/li&gt;
&lt;li&gt;How Copilot runs tools such as linters, builds, and tests to self-verify code quality during the agentic loop&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;&amp;lsquo;Approve and Run&amp;rsquo; safety gate&lt;/strong&gt;, which requires explicit human approval before any GitHub Actions workflow executes against AI-generated code&lt;/li&gt;
&lt;li&gt;Adding review comments to the PR (requesting a CI workflow) and watching Copilot acknowledge and act on the feedback&lt;/li&gt;
&lt;li&gt;The final result: a form updated with real-time validation and an improved user experience, ready to merge&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>VS Code, Live — Straight from Microsoft Build! 🪐</title><link>https://chrisreddington.com/talk/2025-05-19-vscode-live/</link><pubDate>Mon, 19 May 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/2025-05-19-vscode-live/</guid><description>&lt;p&gt;Join VS Code, Live! at Microsoft Build. For the first time ever, VS Code, Live! is going on stage—in person—and you’re invited! Get an inside look at what the team’s building, featuring live conversations with devs and creators. Whether you’re deep into VS Code or just curious about what’s next, this is your dev-first, code-forward pass to what’s new.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Building from requirements with Agent Mode</title><link>https://chrisreddington.com/video/2025-05-15-rubber-duck-thursdays/</link><pubDate>Thu, 15 May 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-05-15-rubber-duck-thursdays/</guid><description>&lt;p&gt;In this stream, Chris walks through building a GitHub CLI extension in Go from scratch, taking a spec-driven and test-driven development approach powered by Copilot Agent Mode.&lt;/p&gt;
&lt;h2 id="topics-covered"&gt;Topics Covered&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub Changelog Review&lt;/strong&gt; — Model updates in GitHub Models (Mistral, Cohere, Llama), GPT-4.1 as the new default Copilot model, updated rate limits for unauthenticated requests, and the VS Code April release with MCP support and prompt files&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Microsoft Build Preview&lt;/strong&gt; — A look ahead at sessions and events for the following week&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Building gh-demo from Scratch&lt;/strong&gt; — Bootstrapping a new Go-based GitHub CLI extension using VS Code&amp;rsquo;s new workspace creation with Copilot, the Cobra library, and a spec-driven approach starting from a product requirements document&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Test-Driven Development with Copilot&lt;/strong&gt; — Writing tests first for a hydrate subcommand that reads JSON files to create GitHub issues, discussions, and pull requests, with content type filtering and label collection&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Actions CI&lt;/strong&gt; — Creating a build, test, and lint workflow for the new CLI extension&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Custom Instructions&lt;/strong&gt; — Setting up a copilot-instructions.md file to guide Copilot&amp;rsquo;s behavior around path handling and project conventions&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Rubber Duck Thursdays - Agent mode and custom instructions</title><link>https://chrisreddington.com/video/2025-05-08-rubber-duck-thursdays/</link><pubDate>Thu, 08 May 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-05-08-rubber-duck-thursdays/</guid><description>&lt;p&gt;Chris continues exploring Copilot Agent Mode and custom instructions by building a memory sequence game for the GitHub CLI extension project in Go. The changelog segment covers GitHub CLI accessibility improvements, Copilot Code Review expanding to all languages, and the introduction of Copilot premium requests.&lt;/p&gt;
&lt;h2 id="changelog-highlights"&gt;Changelog Highlights&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub CLI accessibility improvements&lt;/strong&gt; — speech synthesis, screen reader support, enhanced prompting and progress indicators&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copilot Code Review&lt;/strong&gt; now supports all languages with AI-powered suggestions and contextual feedback&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copilot Autofix&lt;/strong&gt; updates for automated pull request suggestions&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copilot premium requests&lt;/strong&gt; — announcement of upcoming premium model usage limits and visibility controls in VS Code and Visual Studio&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub CLI extension repo&lt;/strong&gt; transferred to the github-samples organization&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="live-coding--memory-game-with-agent-mode"&gt;Live Coding — Memory Game with Agent Mode&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Recapped custom instructions from the previous week and their impact on Copilot output quality&lt;/li&gt;
&lt;li&gt;Built a &lt;strong&gt;memory sequence game&lt;/strong&gt; (colors: red, yellow, green, blue) as a new subcommand in the Go-based GitHub CLI extension using Copilot Agent Mode&lt;/li&gt;
&lt;li&gt;Used the Cobra command library and Bubble Tea for terminal UI interactions&lt;/li&gt;
&lt;li&gt;Wrote detailed specs in chat — game mechanics, lives system, sequence display timing — and let Agent Mode scaffold the implementation and tests&lt;/li&gt;
&lt;li&gt;Played live demos of coin toss, higher/lower, and word guess games from the CLI&lt;/li&gt;
&lt;li&gt;Discussed potential future projects including VS Code extension development&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Rubber Duck Thursdays - The one with custom instructions</title><link>https://chrisreddington.com/video/2025-05-01-rubber-duck-thursdays/</link><pubDate>Thu, 01 May 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-05-01-rubber-duck-thursdays/</guid><description>&lt;p&gt;This episode dives deep into Copilot custom instructions — what they are, how to write them, and why they matter for guiding AI-assisted development. Chris reviews the GitHub Changelog and then live codes a higher/lower game for a Go-based GitHub CLI extension using Agent Mode with detailed custom instructions.&lt;/p&gt;
&lt;h2 id="changelog-highlights"&gt;Changelog Highlights&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Copilot Code Review&lt;/strong&gt; now supports C, C++, Kotlin, Swift, and more&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CodeQL&lt;/strong&gt; improves JavaScript and Ruby analysis in version 2.21.1&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Models playground&lt;/strong&gt; adds a prompt improvement feature to refine prompts with AI&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copilot Edits&lt;/strong&gt; for JetBrains IDEs is now generally available&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Credential revocation API&lt;/strong&gt; for exposed tokens is now GA — supports bulk revocation via REST API&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Task lists retirement&lt;/strong&gt; on April 30th — code scanning alert references deprecated&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mistral Small 3.1&lt;/strong&gt; replaces Mistral Small in GitHub Models&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Actions Runner Controller&lt;/strong&gt; now supports running Dependabot on self-hosted Kubernetes runners&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="live-coding--custom-instructions-deep-dive"&gt;Live Coding — Custom Instructions Deep Dive&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Explored how &lt;strong&gt;Copilot custom instructions&lt;/strong&gt; provide repository context, coding standards, and structural guidance to every Copilot request&lt;/li&gt;
&lt;li&gt;Demonstrated writing detailed instructions for a Go-based GitHub CLI extension — specifying test commands, linting rules, folder structure, and game design patterns using the Cobra library&lt;/li&gt;
&lt;li&gt;Live coded a &lt;strong&gt;higher/lower guessing game&lt;/strong&gt; using Copilot Agent Mode with Claude 3.7 Sonnet, showcasing how rich instructions lead to higher quality scaffolded code&lt;/li&gt;
&lt;li&gt;Showed the Copilot Airways app built with Agent Mode from a screenshot, demonstrating vision capabilities and custom instruction-guided development&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Rubber Duck Thursdays - Back to building GitHub CLI Extensions</title><link>https://chrisreddington.com/video/2025-04-24-rubber-duck-thursdays/</link><pubDate>Thu, 24 Apr 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-04-24-rubber-duck-thursdays/</guid><description>&lt;p&gt;In this episode, Chris reviews the GitHub Changelog covering organization-level Copilot custom instructions, CodeQL for Actions workflow security analysis, Copilot Code Review language expansion, secret scanning alert dismissals, and GitHub Mobile updates. The coding segment tackles theme switching for the Copilot Airways web app and a Tailwind CSS upgrade using GitHub Codespaces and Copilot Agent Mode.&lt;/p&gt;
&lt;h2 id="changelog-highlights"&gt;Changelog Highlights&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Organization custom instructions&lt;/strong&gt; for Copilot enterprise customers&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MAI-DSR1&lt;/strong&gt; — Microsoft AI-refined version of DeepSeek R1 available in GitHub Models&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copilot Code Review&lt;/strong&gt; now supports C, C++, Kotlin, and Swift — covering over 90% of file types&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CodeQL for GitHub Actions&lt;/strong&gt; workflow security analysis is now generally available&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Secret scanning alert dismissal requests&lt;/strong&gt; with REST API support&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copilot for Xcode&lt;/strong&gt; adds @workspace context, Claude 3.7 Sonnet, and GPT-4.5&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Mobile&lt;/strong&gt; updates including multi-model Copilot Chat and sub-issues&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dependabot&lt;/strong&gt; scheduling with cron expressions&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="live-coding"&gt;Live Coding&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Fixed dark mode and light mode theme switching on the &lt;strong&gt;Copilot Airways&lt;/strong&gt; web app&lt;/li&gt;
&lt;li&gt;Attempted a &lt;strong&gt;Tailwind CSS upgrade&lt;/strong&gt; in a fresh GitHub Codespace&lt;/li&gt;
&lt;li&gt;Discussion of Copilot Agent Mode workflows and custom instructions for guiding AI-assisted development&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Rubber Duck Thursdays - Building with Agent Mode and MCP</title><link>https://chrisreddington.com/video/2025-04-17-rubber-duck-thursdays/</link><pubDate>Thu, 17 Apr 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-04-17-rubber-duck-thursdays/</guid><description>&lt;p&gt;An especially announcement-heavy week focused on new AI model availability across GitHub Copilot and GitHub Models, plus hands-on experiments with those models in agent mode and GitHub Actions workflows.&lt;/p&gt;
&lt;p&gt;The extensive changelog review covers GPT-4.1 rolling out to all Copilot plans, Gemini 2.5 Pro entering public preview, O3 and O4 mini availability, Meta Llama 4 Scout and Maverick models in GitHub Models, macOS 15 and Windows 2025 GA for Actions runners, Windows ARM64 hosted runners in preview, expanded vision support beyond GPT-4o to Claude and Gemini models, CodeQL 2.21.0 with TypeScript 5.8 support, Copilot Chat for Eclipse GA, secret scanning pattern expansions, and the new Codespaces agent mode button on pull requests.&lt;/p&gt;</description></item><item><title>Trend Radar Interactive App</title><link>https://chrisreddington.com/project/trend-radar/</link><pubDate>Sun, 13 Apr 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/project/trend-radar/</guid><description>&lt;p&gt;This modern web app provides you with an interactive trend radar. It is used to visualise and manage potential threats and opportunities across Political, Economic, Social and Technological dimensions. These strategic points are displayed in a concentric circle diagram.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The outer ring represents trends with the lowest likelihood of occurrence, whereas the inner rings represent trends with increasing likelihood.&lt;/li&gt;
&lt;li&gt;The size of a point represents its potential impact, with larger points indicating a higher impact.&lt;/li&gt;
&lt;li&gt;The colour of a point indicates the preparedness level, ranging from red (low preparedness) to green (high preparedness).&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Rubber Duck Thursdays - Building with Agent Mode and MCP</title><link>https://chrisreddington.com/video/2025-04-10-rubber-duck-thursdays/</link><pubDate>Thu, 10 Apr 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-04-10-rubber-duck-thursdays/</guid><description>&lt;p&gt;A big announcements week — this episode unpacks Copilot Agent Mode going stable in VS Code and the launch of the official GitHub MCP server, then puts both to work building a real app from scratch.&lt;/p&gt;
&lt;p&gt;The GitHub Changelog segment covers the VS Code Copilot March release (agent mode GA, MCP support, next edit suggestions), the GitHub MCP server launch, Copilot Pro Plus tier, Copilot Code Review GA, security campaigns GA with automated issue creation, GitHub Issues and Projects improvements (sub-issues, issue types, 50K item limit), Helm support for Dependabot version updates, and more.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Sshh, let's talk about secrets.</title><link>https://chrisreddington.com/video/2025-04-03-rubber-duck-thursdays/</link><pubDate>Thu, 03 Apr 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-04-03-rubber-duck-thursdays/</guid><description>&lt;p&gt;This episode focuses on why secrets should never exist in source code and how GitHub&amp;rsquo;s newly unbundled security products help prevent and detect secret leaks.&lt;/p&gt;
&lt;p&gt;After the weekly GitHub Changelog review — covering the new GPT-4o Copilot completions model, repository ownership limits, GitHub Desktop updates, Copilot mobile multi-model support, and GitHub Issues dashboard improvements — Chris dives into the headline topic: GitHub Advanced Security splitting into two standalone products, Secret Protection ($19/month) and Code Security ($30/month), now available for GitHub Team plans without requiring Enterprise.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Creating a brickbreaker walkthrough</title><link>https://chrisreddington.com/video/2025-03-27-rubber-duck-thursdays/</link><pubDate>Thu, 27 Mar 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-03-27-rubber-duck-thursdays/</guid><description>&lt;p&gt;Chris live-codes a GitHub-themed brick breaker game walkthrough using Copilot agent mode, demonstrating how prompt framing and context shape AI-generated code. The session covers bootstrapping project structure from an existing Game of Life template, Copilot custom instructions, and the latest GitHub changelog including enterprise rulesets, Copilot edits in JetBrains, and dependency label improvements.&lt;/p&gt;
&lt;p&gt;In this episode, Chris sets out to build an educational walkthrough — similar to an existing Conway&amp;rsquo;s Game of Life sample — but for a brick breaker game styled with GitHub&amp;rsquo;s contribution graph colors. Using Copilot agent mode, he bootstraps the project structure by referencing the Game of Life walkthrough as context, then iterates on lesson pages focused on teaching prompt engineering for agent mode. The live coding demonstrates key concepts: how vague prompts produce incomplete results, how adding specific requirements (responsive containers, keyboard and mouse controls, bouncing physics) improves output, and how Copilot custom instructions (including a fun &amp;ldquo;talk like a pirate&amp;rdquo; experiment) modify agent behavior. Chris also briefly showcases the OctoSnap arcade concept and discusses ideas for making brick breaker use GitHub contribution data for brick colors and scoring. The changelog segment covers Mistral Small 3.1 in GitHub Models, upcoming GitHub Actions cache service changes, Copilot edits in JetBrains IDEs, enterprise custom properties and rulesets going GA, and Maven dependency labeling in the dependency graph.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Exploring GitHub Models</title><link>https://chrisreddington.com/video/2025-03-20-rubber-duck-thursdays/</link><pubDate>Thu, 20 Mar 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-03-20-rubber-duck-thursdays/</guid><description>&lt;p&gt;Chris explores GitHub Models as an AI prototyping playground, demonstrates Copilot on the command line for learning Linux commands, and shows off a new leaderboard system for the OctoSnap card game. The session also covers two weeks of GitHub changelog updates including fine-grained personal access tokens going GA, enterprise-owned GitHub Apps, instant semantic code search indexing, and Copilot updates across VS Code, JetBrains, Xcode, and Eclipse.&lt;/p&gt;
&lt;p&gt;Returning from a week off, Chris opens by demonstrating the GitHub CLI Copilot extension — using &lt;code&gt;gh copilot suggest&lt;/code&gt; and &lt;code&gt;gh copilot explain&lt;/code&gt; to translate natural language into shell commands, explain complex terminal commands, and learn Linux tooling interactively. He then showcases the OctoSnap leaderboard backed by Cosmos DB on Azure, and uses Copilot agent mode live to fix a bug where usernames with the &lt;code&gt;@&lt;/code&gt; symbol caused issues, including adding backend validation and tests. The second half focuses on GitHub Models, where Chris walks through the model catalog and playground, comparing models like GPT-4o and DeepSeek V3 for a computer science quiz scenario. He demonstrates system prompts, prompt presets, the prompt editor, quick actions for switching between cheaper and faster models, and how to generate integration code for JavaScript and Python. The changelog roundup covers Copilot custom instructions going GA, code referencing in JetBrains, enterprise-owned GitHub Apps, fine-grained PATs reaching general availability, actions performance metrics, and Copilot for Xcode chat becoming generally available.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Building a scoring system</title><link>https://chrisreddington.com/video/2025-03-06-rubber-duck-thursdays/</link><pubDate>Thu, 06 Mar 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-03-06-rubber-duck-thursdays/</guid><description>&lt;p&gt;Chris walks through building &amp;ldquo;OctoSnap,&amp;rdquo; a GitHub-themed memory card matching game using Next.js and JavaScript. The session dives deep into designing a scoring model with GitHub Copilot — covering difficulty multipliers, time-based rewards, and penalty mechanics — and reviews the latest GitHub changelog including new AI models, GitHub Advanced Security pricing changes, secret scanning push protection APIs, and code scanning improvements for GitHub Actions workflows.&lt;/p&gt;
&lt;p&gt;In this episode, Chris steps away from the Go-based CLI game extension built in previous weeks and introduces OctoSnap, a browser-based card matching game featuring artwork from the GitHub Octodex. He demonstrates the game across easy, medium, and hard difficulty modes, showing how image transformations like rotation and color filters increase challenge. The core focus is on iterating with Copilot to build a nuanced scoring system that balances mode difficulty multipliers, time duration bonuses, perfect play ratios, and random click penalties. Chris shares how he broke the problem into granular prompts for Copilot and visualized the scoring curves to ensure fair overlap between difficulty tiers. The changelog segment covers new models in GitHub Copilot and GitHub Models, GitHub Advanced Security being split into Secret Protection and Code Security standalone products, delegated alert dismissal, expanded CodeQL support for GitHub Actions and Go 1.24, and GitHub Mobile updates including Copilot chat and sub-issues.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Lizard, Spock</title><link>https://chrisreddington.com/video/2025-02-27-rubber-duck-thursdays/</link><pubDate>Thu, 27 Feb 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-02-27-rubber-duck-thursdays/</guid><description>&lt;p&gt;In this episode, the team extends the Rock Paper Scissors game to include Lizard and Spock using GitHub Copilot Vision — feeding an image of the game&amp;rsquo;s relationship diagram directly into Copilot, which interprets it and generates the extended game logic without explicitly naming the game. The stream also adds a hidden flag for the extended mode, demonstrating prompt engineering with Copilot&amp;rsquo;s multimodal capabilities.&lt;/p&gt;
&lt;p&gt;The GitHub changelog review covers Copilot autofix expansion for CodeQL alerts, Claude 3.7 Sonnet availability in Copilot, Docker Compose support in Dependabot, Copilot code review in public preview, and Copilot in Windows Terminal Canary. The latter portion demonstrates Dependabot version updates configured for Go modules and GitHub Actions ecosystems, with a live review of a dependency update pull request. A GitHub Codespaces session is used to verify the gh-skyline CLI extension still works after a dependency bump, and repository settings for auto-deleting branches and auto-merging pull requests are configured.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Rock, Paper, Scissors</title><link>https://chrisreddington.com/video/2025-02-20-rubber-duck-thursdays/</link><pubDate>Thu, 20 Feb 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-02-20-rubber-duck-thursdays/</guid><description>&lt;p&gt;In this episode, I add a Rock Paper Scissors game to the gh-game GitHub CLI extension. The stream begins with a comprehensive GitHub changelog review covering the new GPT-4o Copilot code completion model, Copilot availability in Eclipse and Xcode, repository ruleset enhancements, secret scanning improvements, Copilot Workspace updates, and GitHub Issues and Projects feature updates.&lt;/p&gt;
&lt;p&gt;The coding session uses GitHub Copilot Agent Mode to build the Rock Paper Scissors game in Go, taking advantage of Next Edit Suggestions and the new GPT-4o code completion model. A significant portion of the stream focuses on improving test coverage using Copilot&amp;rsquo;s inline chat in the terminal, progressing from 42.6% to 100% statement coverage by generating targeted test cases for uncovered functions. The episode also covers merging the Tic Tac Toe pull request from the previous week and shipping a new release of the CLI extension.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Tic, Tac, Toe</title><link>https://chrisreddington.com/video/2025-02-13-rubber-duck-thursdays/</link><pubDate>Thu, 13 Feb 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-02-13-rubber-duck-thursdays/</guid><description>&lt;p&gt;In this episode, the team continues building the gh-game GitHub CLI extension by adding a Tic Tac Toe game written in Go. The stream kicks off with a demo of GitHub Spark, a GitHub Next experiment for creating micro apps from natural language prompts, followed by a walkthrough of the latest GitHub changelog updates including Gemini 2.0 Flash availability, Copilot Vision, and Agent Mode in VS Code Insiders.&lt;/p&gt;
&lt;p&gt;The main coding session uses GitHub Copilot Agent Mode, Copilot Chat, and Copilot Edits to scaffold and iterate on the Tic Tac Toe implementation. Along the way, CodeQL code scanning is enabled on the repository, catching issues with missing workflow permissions and unpinned GitHub Actions versions. The episode also covers the CI/CD pipeline setup with build and test steps in GitHub Actions, and improving code readability through Copilot-assisted refactoring.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Actions, Codespaces and Coin Toss</title><link>https://chrisreddington.com/video/2025-02-06-rubber-duck-thursdays/</link><pubDate>Thu, 06 Feb 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-02-06-rubber-duck-thursdays/</guid><description>&lt;p&gt;Continuing the gh-game CLI extension project, this episode covers setting up a complete development workflow. Chris creates a GitHub Codespace with a dev container configuration, installs Go and the GitHub CLI as features, and demonstrates how Codespaces provide a consistent environment for contributors.&lt;/p&gt;
&lt;p&gt;The stream then covers creating a CI workflow using GitHub Actions with build and test steps, followed by writing Go tests for the coin toss game. A key segment focuses on refactoring the coin toss input from manual text entry to interactive selection menus using the &lt;code&gt;go-gh&lt;/code&gt; prompter package, demonstrating how context and accurate prompting is essential when working with GitHub Copilot. Chris uses multiple Copilot models including Gemini 2.0 Flash and O3 Mini throughout the session.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - Creating gh-game CLI extension</title><link>https://chrisreddington.com/video/2025-01-30-rubber-duck-thursdays/</link><pubDate>Thu, 30 Jan 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-01-30-rubber-duck-thursdays/</guid><description>&lt;p&gt;This episode dives into GitHub Actions, starting with a walkthrough of the build, linter, and release workflows configured for the GitHub Skyline CLI extension. Chris explains workflow triggers, permissions, and demonstrates cutting a live release using semantic versioning and the &lt;code&gt;cli/gh-extension-precompile&lt;/code&gt; action to generate cross-platform binaries.&lt;/p&gt;
&lt;p&gt;The second half focuses on creating a brand new GitHub CLI extension from scratch. Using &lt;code&gt;gh extension create&lt;/code&gt;, Chris bootstraps the gh-game project and builds a coin toss game in Go with the Cobra package. GitHub Copilot assists with scaffolding the command structure, applying code changes, and generating commit messages. The stream also covers publishing the repository using &lt;code&gt;gh repo create&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Rubber Duck Thursdays - GitHub Skyline</title><link>https://chrisreddington.com/video/2025-01-23-rubber-duck-thursdays/</link><pubDate>Thu, 23 Jan 2025 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2025-01-23-rubber-duck-thursdays/</guid><description>&lt;p&gt;In this inaugural Rubber Duck Thursdays episode, Chris introduces GitHub Skyline — a GitHub CLI extension written in Go that generates 3D STL models and ASCII art visualizations of your GitHub contribution history. The stream demonstrates the &lt;code&gt;gh skyline&lt;/code&gt; command, including the &lt;code&gt;--full&lt;/code&gt; flag for rendering your entire contribution history across all years as a single 3D model suitable for 3D printing.&lt;/p&gt;
&lt;p&gt;The main coding activity focuses on refactoring the Skyline Go codebase using GitHub Copilot. Chris uses Copilot Chat for rubber ducking on code structure, then leverages Copilot Edits to split a monolithic &lt;code&gt;main.go&lt;/code&gt; into modular components — separating the root command, browser interface, GitHub client, and skyline generation logic into individual files. The stream also covers GitHub Codespaces and dev containers for setting up a consistent development environment, and discusses community files like CODE_OF_CONDUCT, CONTRIBUTING, and LICENSE for open source projects.&lt;/p&gt;</description></item><item><title>How we built the GitHub Skyline CLI extension using GitHub</title><link/><pubDate>Wed, 15 Jan 2025 00:00:00 +0000</pubDate><guid/><description>&lt;p&gt;GitHub uses GitHub to build GitHub, and our CLI extensions are no exception. Read on to find out how we built the GitHub Skyline CLI extension using GitHub!&lt;/p&gt;</description></item><item><title>Game of Life Walkthrough</title><link>https://chrisreddington.com/project/game-of-life-walkthrough/</link><pubDate>Wed, 18 Dec 2024 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/project/game-of-life-walkthrough/</guid><description>&lt;p&gt;This is a companion walkthrough for the hero Game of Life video that was published on the GitHub YouTube channel. It provides a step-by-step guide to the concepts covered in the video, including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GitHub Actions&lt;/li&gt;
&lt;li&gt;GitHub Codespaces&lt;/li&gt;
&lt;li&gt;GitHub Copilot&lt;/li&gt;
&lt;li&gt;GitHub Copilot Chat&lt;/li&gt;
&lt;li&gt;GitHub Copilot Edits&lt;/li&gt;
&lt;li&gt;GitHub Copilot Instructions&lt;/li&gt;
&lt;li&gt;GitHub Copilot Extensions&lt;/li&gt;
&lt;li&gt;GitHub Pages&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Build Conway's Game of Life with GitHub Copilot Free</title><link>https://chrisreddington.com/video/2024-12-18-copilot-conways-game-of-life/</link><pubDate>Mon, 16 Dec 2024 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2024-12-18-copilot-conways-game-of-life/</guid><description>&lt;p&gt;This is a demo video showing GitHub Copilot in an end-to-end scenario, by building Conway&amp;rsquo;s Game of Life. The video covers the following specific topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Selecting the Claude Sonnet 3.5 model in the GitHub Copilot Chat model picker in Visual Studio Code&lt;/li&gt;
&lt;li&gt;Writing specific, clear prompts: requesting a single-file implementation with a responsive layout and configurable cell size&lt;/li&gt;
&lt;li&gt;Tips on effective prompt engineering: keeping prompts simple and specific to reduce ambiguous output&lt;/li&gt;
&lt;li&gt;Reviewing generated code before inserting it, then customising the colour scheme to match the GitHub contribution graph&lt;/li&gt;
&lt;li&gt;Using the &amp;ldquo;Apply in Editor&amp;rdquo; button with speculative decoding to apply targeted diffs across an existing file&lt;/li&gt;
&lt;li&gt;Refactoring from a single HTML/CSS/JS file to separate files using Copilot Edits for multi-file changes&lt;/li&gt;
&lt;li&gt;Reviewing multi-file diffs in the Copilot Edits view and accepting changes per file&lt;/li&gt;
&lt;li&gt;Using drag-and-drop to add files as context to Copilot Chat and Copilot Edits sessions&lt;/li&gt;
&lt;li&gt;Improving readability with Copilot Edits: grouping variables, adding a new class, and nesting methods&lt;/li&gt;
&lt;li&gt;Using a Copilot instructions file to enforce team coding standards (HTML5 meta tags, JSDoc comments) in subsequent edits&lt;/li&gt;
&lt;li&gt;Inline chat slash commands: &lt;code&gt;/doc&lt;/code&gt; to generate documentation for a function and &lt;code&gt;/explain&lt;/code&gt; to learn about an unfamiliar concept (torus topology)&lt;/li&gt;
&lt;li&gt;Using Copilot Extensions to integrate Copilot&amp;rsquo;s natural language interface with external tools and services&lt;/li&gt;
&lt;li&gt;Generating a project README with Copilot Edits, summarising the app, implementation, and contribution guidelines&lt;/li&gt;
&lt;li&gt;Writing a GitHub Actions deployment workflow to publish the static site to GitHub Pages&lt;/li&gt;
&lt;li&gt;Using Copilot to suggest a commit message, committing, pushing, and verifying the live GitHub Pages deployment&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Govern your repositories with push rulesets</title><link>https://chrisreddington.com/video/2024-12-14-push-rulesets/</link><pubDate>Sat, 14 Dec 2024 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2024-12-14-push-rulesets/</guid><description>&lt;p&gt;This is a demo video showcasing repository push rulesets. The video covers the following specific topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Use cases for push rulesets: protecting sensitive files like GitHub Actions workflow YAML files, and enforcing code hygiene by blocking large or unwanted file types&lt;/li&gt;
&lt;li&gt;Configuring push rules based on file path patterns, file extensions, and file sizes&lt;/li&gt;
&lt;li&gt;How a blocked push appears to the developer (clear rejection message in the terminal)&lt;/li&gt;
&lt;li&gt;Adding bypass rules to allow specific individuals or roles to override the rule when authorised&lt;/li&gt;
&lt;li&gt;Viewing the push insights dashboard to audit blocked push attempts and any bypass activity&lt;/li&gt;
&lt;li&gt;Scope of push rulesets: rules apply to the entire fork network of a repository, protecting all entry points&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>gh-skyline</title><link>https://chrisreddington.com/project/gh-skyline/</link><pubDate>Mon, 09 Dec 2024 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/project/gh-skyline/</guid><description>&lt;p&gt;A GitHub CLI extension that generates 3D-printable STL files of your GitHub contribution graph.&lt;/p&gt;
&lt;h2 id="features"&gt;Features&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Generate a Binary STL file from GitHub contribution data for 3D printing&lt;/li&gt;
&lt;li&gt;Customizable year selection (single year and multi-year)&lt;/li&gt;
&lt;li&gt;Automatic authentication via GitHub CLI or specify a user&lt;/li&gt;
&lt;li&gt;ASCII art loading preview of contribution data unique to each user and year&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Passionate about the project? Please &lt;a href="https://github.com/github/gh-skyline"&gt;join the community&lt;/a&gt; in making contributions!&lt;/p&gt;</description></item><item><title>Manage your repositories at scale across the enterprise</title><link>https://chrisreddington.com/video/2024-12-04-repo-management-at-scale/</link><pubDate>Wed, 04 Dec 2024 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2024-12-04-repo-management-at-scale/</guid><description>&lt;p&gt;This is a demo video showcasing Enterprise Repository Policies. The video covers the following specific topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The need for enterprise-level repository governance: ensuring repositories meet naming, visibility, and operational standards across many organizations&lt;/li&gt;
&lt;li&gt;Introduction to enterprise repository policies: restricting visibility changes, repository creation, deletion, transfer, and naming patterns&lt;/li&gt;
&lt;li&gt;Configuring a policy enforcement status (active or disabled) and designating exempt roles or teams&lt;/li&gt;
&lt;li&gt;Targeting policies across specific organizations and repositories within the enterprise account&lt;/li&gt;
&lt;li&gt;Demonstrating a delete-prevention policy applied to the oct-academy organization, blocking repository deletion at the UI level&lt;/li&gt;
&lt;li&gt;Flexible repository targeting using repository properties, mirroring the approach available in branch and repository rule sets&lt;/li&gt;
&lt;li&gt;Repository properties at the enterprise account level: defining properties that are inherited and visible across all organizations&lt;/li&gt;
&lt;li&gt;Organization admins seeing enterprise-defined properties in their own property views&lt;/li&gt;
&lt;li&gt;Requiring properties to be set when a new repository is created, keeping metadata well-maintained from day one&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>How AI can unleash the creativity of developers with the right attitude to productivity</title><link/><pubDate>Tue, 03 Dec 2024 00:00:00 +0000</pubDate><guid/><description>&lt;p&gt;AI tools are transforming software development by freeing developers from repetitive tasks, fostering creativity, and enabling meaningful contributions across organisations. Chris Reddington from GitHub explains how&amp;hellip;&lt;/p&gt;</description></item><item><title>Use GitHub Spark to create a podcast timer apps</title><link>https://chrisreddington.com/video/2024-11-04-github-spark-podcast-timer/</link><pubDate>Mon, 04 Nov 2024 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2024-11-04-github-spark-podcast-timer/</guid><description>&lt;p&gt;This is a demo video showcasing GitHub Spark. The video covers the following specific topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GitHub Spark&amp;rsquo;s mobile-first design philosophy: building apps on the go using natural language&lt;/li&gt;
&lt;li&gt;Creating a podcast session timer app from a plain-language description&lt;/li&gt;
&lt;li&gt;Iteratively adding controls via natural language: start, pause, and reset for each timer segment&lt;/li&gt;
&lt;li&gt;Adding a reverse progress bar to give hosts a visual sense of remaining time&lt;/li&gt;
&lt;li&gt;Implementing a color-coded time indicator: green (&amp;gt;50% remaining), amber (25–50%), red (&amp;lt;25%)&lt;/li&gt;
&lt;li&gt;Triggering a red flashing alert when a timer reaches zero&lt;/li&gt;
&lt;li&gt;Using Spark&amp;rsquo;s built-in LLM integration to allow users to create timer segments from a natural language description (e.g. &amp;ldquo;two 5-minute stanzas and a 3-minute outro&amp;rdquo;)&lt;/li&gt;
&lt;li&gt;Using the Spark sidebar to view and edit managed state (timer data) directly and see updates reflected in the app&lt;/li&gt;
&lt;li&gt;Renaming and starring the app to keep it accessible from the dashboard&lt;/li&gt;
&lt;li&gt;Sharing the finished app via a read-only or write-access link for collaboration&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>How GitHub Next took Copilot Workspace from concept to code</title><link>https://chrisreddington.com/talk/2024-10-31-github-universe-copilot-workspace/</link><pubDate>Thu, 31 Oct 2024 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/2024-10-31-github-universe-copilot-workspace/</guid><description>&lt;p&gt;Whether you’re addressing an issue, iterating on a pull request, or bootstrapping a project, GitHub Copilot Workspace helps jumpstart your tasks by describing what you want in natural language. You remain in control as you move between tasks, specs, plans, and code. Join GitHub&amp;rsquo;s Chris Reddington, senior program manager of DevRel, and Cole Bemis, research engineer on GitHub Next, for an introduction to Copilot Workspace, a Copilot-native dev environment launched in April 2024 by GitHub Next. Learn how Copilot Workspace works, how we got here, and what we&amp;rsquo;ve learned so far from the technical preview.&lt;/p&gt;</description></item><item><title>Hands on with Anthropic Claude 3.5 Sonnet in GitHub Copilot</title><link>https://chrisreddington.com/talk/2024-10-31-github-universe-hands-on-anthropic-claude-35-sonnet/</link><pubDate>Wed, 30 Oct 2024 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/2024-10-31-github-universe-hands-on-anthropic-claude-35-sonnet/</guid><description>&lt;p&gt;Come to this session to be the first in the world to get a deep-dive demo of the exciting Claude 3.5 Sonnet model from Anthropic built right into GitHub Copilot. Learn what this powerful new model will help you achieve and why you should use it for your development teams.&lt;/p&gt;</description></item><item><title>Use GitHub Spark to create a travel log app</title><link>https://chrisreddington.com/video/2024-10-29-github-spark-travel-app/</link><pubDate>Tue, 29 Oct 2024 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2024-10-29-github-spark-travel-app/</guid><description>&lt;p&gt;This is a demo video showcasing GitHub Spark. The video covers the following specific topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GitHub Spark&amp;rsquo;s positioning as an AI-native micro-app platform from GitHub Next: build, use, and share apps through natural language without managing deployments&lt;/li&gt;
&lt;li&gt;Building a city travel log app by describing it in plain language and receiving an immediately interactive app (no code shown)&lt;/li&gt;
&lt;li&gt;Using the built-in theme editor to switch light/dark mode and customise accent colours and border radii&lt;/li&gt;
&lt;li&gt;Iterating on the app via natural language: adding latitude/longitude capture for each city entry&lt;/li&gt;
&lt;li&gt;Using the data tab to view and manage stored state without any database or connection string configuration&lt;/li&gt;
&lt;li&gt;Extending the app to support editing and deleting entries, and plotting city ratings on an interactive map&lt;/li&gt;
&lt;li&gt;Adding AI-powered city suggestions: using Spark&amp;rsquo;s built-in LLM integration to recommend three destinations based on existing ratings&lt;/li&gt;
&lt;li&gt;Using the variant generator when a prompt is ambiguous (&amp;ldquo;make it more sunny and fun&amp;rdquo;), producing multiple distinct UI options to choose from&lt;/li&gt;
&lt;li&gt;Navigating the revision history sidebar to review, revert, or branch off prior states&lt;/li&gt;
&lt;li&gt;Renaming and starring the app for quick dashboard access&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>5 tips and tricks when using GitHub Copilot Workspace</title><link/><pubDate>Wed, 09 Oct 2024 00:00:00 +0000</pubDate><guid/><description>&lt;p&gt;GitHub Next launched the technical preview for GitHub Copilot Workspace in April 2024. Since then, we’ve been listening to the community, learning, and have some tips to share on how to get the most out of it!&lt;/p&gt;</description></item><item><title>GitHub Copilot Chat and o1-preview: Building a maze generator!</title><link>https://chrisreddington.com/video/2024-10-03-copilot-chat-o1-preview/</link><pubDate>Thu, 03 Oct 2024 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2024-10-03-copilot-chat-o1-preview/</guid><description>&lt;p&gt;This is a demo video showcasing GitHub Copilot and o1-preview. The video covers the following specific topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Accessing the model picker in GitHub Copilot Chat within Visual Studio Code (GPT-4o, o1 mini, o1 preview)&lt;/li&gt;
&lt;li&gt;Writing a specific, multi-requirement prompt for o1-preview: a JavaScript maze generator with keyboard navigation, variable maze sizing, and a maze-solve button&lt;/li&gt;
&lt;li&gt;Understanding o1-preview&amp;rsquo;s extended internal reasoning, which produces longer response times but handles complex requirements more reliably&lt;/li&gt;
&lt;li&gt;Reviewing the generated code and copying it into the VS Code editor; initial iteration produces a working maze with BFS and DFS visualisation&lt;/li&gt;
&lt;li&gt;Iterating with a follow-up prompt to enhance the solution path display (black dot trail, no-path notification)&lt;/li&gt;
&lt;li&gt;Testing edge cases with a 50×50 maze and a distant starting position to observe depth-first search behaviour visually&lt;/li&gt;
&lt;li&gt;Comparing o1-preview output quality against the expectation for GPT-4o on the same multi-constraint task&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Beyond Code With Github the AI Revolution in Software Development</title><link>https://chrisreddington.com/talk/beyond-code-with-github-the-ai-revolution-in-software-development/</link><pubDate>Wed, 04 Sep 2024 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/beyond-code-with-github-the-ai-revolution-in-software-development/</guid><description>&lt;p&gt;As AI continues to reshape the way businesses innovate, the conversation shifts beyond the mere integration of new technology. Chris emphasizes that adopting AI-powered software development is a significant cultural shift, requiring more than just technical tools. It demands a top-down approach, where leadership support and change management are critical to fostering a progressive culture within development teams.&lt;/p&gt;</description></item><item><title>GitHub Models</title><link>https://chrisreddington.com/video/2024-08-01-github-models/</link><pubDate>Thu, 01 Aug 2024 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2024-08-01-github-models/</guid><description>&lt;p&gt;This is a demo video for the launch of GitHub Models. The video covers the following specific topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;GitHub Models on the GitHub Marketplace: a curated collection of top AI models available under your existing GitHub account entitlements&lt;/li&gt;
&lt;li&gt;Exploring GPT-4o in the interactive playground, including adjusting the system prompt and temperature parameter&lt;/li&gt;
&lt;li&gt;Side-by-side model comparison: switching from GPT-4o to phi-3 mini instruct and evaluating responses to the same prompt&lt;/li&gt;
&lt;li&gt;Navigating model detail pages (README, evaluation, and transparency tabs) to inform model selection&lt;/li&gt;
&lt;li&gt;Getting started in code using the built-in code samples and GitHub Codespaces, pre-configured with SDKs and no API key setup required&lt;/li&gt;
&lt;li&gt;Updating the streaming sample to target a specific model (phi-3 mini 4K instruct) and customising prompts&lt;/li&gt;
&lt;li&gt;Using GitHub Models from the GitHub CLI: generating first-year computer science quiz questions with an AI model call&lt;/li&gt;
&lt;li&gt;Combining GitHub CLI commands with model calls, such as summarising the last 10 commits of a repository using phi-3 mini instruct&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Private Mirrors App</title><link>https://chrisreddington.com/video/2024-07-26-private-mirrors-app/</link><pubDate>Fri, 26 Jul 2024 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2024-07-26-private-mirrors-app/</guid><description>&lt;p&gt;This is a walkthrough of GitHub&amp;rsquo;s newly introduced Private Mirrors App. The video covers the following specific topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The challenge open source program offices (OSPOs) face balancing upstream contribution benefits (staying current, developer happiness, brand reputation, code reuse) against risks (IP leakage, secrets, PII, contributor licence agreements, incompatible licences)&lt;/li&gt;
&lt;li&gt;How standard forking falls short for private review workflows, since a fork of a public repository must also be public&lt;/li&gt;
&lt;li&gt;Architecture of the Private Mirrors App: a web front-end and service that maintains private mirrors mapped to public forks within a GitHub organization&lt;/li&gt;
&lt;li&gt;Forking an upstream project (the GitHub org-metrics dashboard) and navigating to the fork in a GitHub organization&lt;/li&gt;
&lt;li&gt;Configuring a new private mirror via the Private Mirrors App, including targeting a separate Enterprise Managed Users (EMU) organization&lt;/li&gt;
&lt;li&gt;Managing multiple team mirrors for the same upstream project without overlap&lt;/li&gt;
&lt;li&gt;Enabling quality gates (builds, tests, policy automation) that must pass before merging into the private mirror&amp;rsquo;s main branch&lt;/li&gt;
&lt;li&gt;Automatic sync from the private mirror&amp;rsquo;s main branch back to the public fork when changes are merged&lt;/li&gt;
&lt;li&gt;Completing the upstream contribution process by raising a pull request from the public fork to the upstream repository&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>AI-Powered Software Development Will Enhance Developers’ Skills</title><link/><pubDate>Mon, 08 Jul 2024 00:00:00 +0000</pubDate><guid/><description>&lt;p&gt;AI coding tools are not just for the production of code, they accelerate existing processes, help developers learn and drive innovation&lt;/p&gt;</description></item><item><title>GitHub Galaxy 2024 Amsterdam</title><link>https://chrisreddington.com/talk/github-galaxy-2024-amsterdam/</link><pubDate>Wed, 12 Jun 2024 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/github-galaxy-2024-amsterdam/</guid><description>&lt;p&gt;Ready to explore our blueprint for AI-powered development? Join us to network with local tech leaders and learn the key to addressing tech debt, modernizing the software development lifecycle, and transforming your enterprise.&lt;/p&gt;</description></item><item><title>AI-powered software development hinges on effective change management</title><link/><pubDate>Thu, 30 May 2024 00:00:00 +0000</pubDate><guid/><description>&lt;p&gt;AI-powered software is not just about integrating new tools&lt;/p&gt;</description></item><item><title>GitHub Galaxy 2024 Paris</title><link>https://chrisreddington.com/talk/github-galaxy-2024-paris/</link><pubDate>Wed, 29 May 2024 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/github-galaxy-2024-paris/</guid><description>&lt;p&gt;Ready to explore our blueprint for AI-powered development? Join us to network with local tech leaders and learn the key to addressing tech debt, modernizing the software development lifecycle, and transforming your enterprise.&lt;/p&gt;</description></item><item><title>GitHub Galaxy 2024 Stockholm</title><link>https://chrisreddington.com/talk/github-galaxy-2024-stockholm/</link><pubDate>Wed, 22 May 2024 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/github-galaxy-2024-stockholm/</guid><description>&lt;p&gt;Ready to explore our blueprint for AI-powered development? Join us to network with local tech leaders and learn the key to addressing tech debt, modernizing the software development lifecycle, and transforming your enterprise.&lt;/p&gt;</description></item><item><title>Code from your phone with Github Copilot Workspace</title><link>https://chrisreddington.com/video/2024-05-03-copilot-workspace-mobile/</link><pubDate>Fri, 03 May 2024 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2024-05-03-copilot-workspace-mobile/</guid><description>&lt;p&gt;This is a demo video for the technical preview of GitHub Copilot Workspace. The video covers the following specific topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Accessing GitHub Copilot Workspace from the GitHub mobile app on a phone or tablet&lt;/li&gt;
&lt;li&gt;Entering a task using typed text or the device&amp;rsquo;s built-in voice dictation&lt;/li&gt;
&lt;li&gt;Reviewing, editing, and approving the AI-generated specification (current state and proposed state)&lt;/li&gt;
&lt;li&gt;Progressing from specification to plan and reviewing the proposed file changes on mobile&lt;/li&gt;
&lt;li&gt;Inspecting code diffs and making edits directly on the mobile interface&lt;/li&gt;
&lt;li&gt;Running unit tests from the built-in terminal to verify the implementation before raising a PR&lt;/li&gt;
&lt;li&gt;Creating a pull request with an AI-generated description from within the mobile workflow&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>How to use Copilot Workspace for inspiration</title><link>https://chrisreddington.com/video/2024-05-01-copilot-workspace-template-repo/</link><pubDate>Wed, 01 May 2024 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2024-05-01-copilot-workspace-template-repo/</guid><description>&lt;p&gt;This is a demo video for the technical preview of GitHub Copilot Workspace. The video covers the following specific topics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Starting Copilot Workspace from a GitHub template repository as a creative springboard&lt;/li&gt;
&lt;li&gt;Generating a specification that outlines the current state (template) and proposed state (customised to-do app)&lt;/li&gt;
&lt;li&gt;Progressing from specification to a step-by-step implementation plan&lt;/li&gt;
&lt;li&gt;Using the live app preview pane alongside the plan and code for in-flow iteration&lt;/li&gt;
&lt;li&gt;Streaming code changes into the environment and installing new npm dependencies via the integrated terminal&lt;/li&gt;
&lt;li&gt;Using undo/redo to navigate through Copilot Workspace change history while the live preview updates in sync&lt;/li&gt;
&lt;li&gt;Switching to GitHub Codespaces to make direct code edits (layout, styling, form) that sync back into Copilot Workspace&lt;/li&gt;
&lt;li&gt;Sharing the in-progress workspace with collaborators via the share button&lt;/li&gt;
&lt;li&gt;Creating the repository from Copilot Workspace, which triggers a GitHub Actions build and deployment to production automatically&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Transform issues into plans with GitHub Copilot Workspace</title><link>https://chrisreddington.com/video/2024-05-01-copilot-workspace-template-repo-copy/</link><pubDate>Mon, 29 Apr 2024 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/2024-05-01-copilot-workspace-template-repo-copy/</guid><description>&lt;p&gt;This is a demo video for the technical preview of GitHub Copilot Workspace. Chris was responsible for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Writing the script&lt;/li&gt;
&lt;li&gt;Creating a demo environment&lt;/li&gt;
&lt;li&gt;Recording the demo&lt;/li&gt;
&lt;li&gt;Recording the voiceover&lt;/li&gt;
&lt;li&gt;Production and Editing&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>GitHub Galaxy 2024 London</title><link>https://chrisreddington.com/talk/github-galaxy-2024-london/</link><pubDate>Thu, 25 Apr 2024 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/github-galaxy-2024-london/</guid><description>&lt;p&gt;Ready to explore our blueprint for AI-powered development? Join us to network with local tech leaders and learn the key to addressing tech debt, modernizing the software development lifecycle, and transforming your enterprise.&lt;/p&gt;</description></item><item><title>GitHub Galaxy 2024 Berlin</title><link>https://chrisreddington.com/talk/github-galaxy-2024-berlin/</link><pubDate>Tue, 16 Apr 2024 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/github-galaxy-2024-berlin/</guid><description>&lt;p&gt;Ready to explore our blueprint for AI-powered development? Join us to network with local tech leaders and learn the key to addressing tech debt, modernizing the software development lifecycle, and transforming your enterprise.&lt;/p&gt;</description></item><item><title>Beyond version control: Using GitHub throughout your development lifecycle</title><link>https://chrisreddington.com/talk/ddd-north-beyond-version-control/</link><pubDate>Sat, 02 Mar 2024 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/ddd-north-beyond-version-control/</guid><description>&lt;p&gt;GitHub is well-known for version control, and its work with the open source community. But did you know you can use GitHub throughout your development lifecycle?&lt;/p&gt;
&lt;p&gt;Join Chris Reddington from GitHub&amp;rsquo;s Developer Relations team as he explores how you can use GitHub to plan, code, build, and deploy your work. Learn how the platform comes together in GitHub Issues, Projects, Codespaces, Actions, Copilot and Advanced Security!&lt;/p&gt;</description></item><item><title>Why AI will push enterprises to eliminate the silos that slow innovation</title><link/><pubDate>Mon, 12 Feb 2024 00:00:00 +0000</pubDate><guid/><description>&lt;p&gt;Generative AI offers a way to transform developer productivity, by expediting a cultural shift in the way enterprises organise themselves&lt;/p&gt;</description></item><item><title>London Reactor Meetup | DevOps meets AI</title><link>https://chrisreddington.com/talk/london-reactor-meetup-jan-2024/</link><pubDate>Tue, 16 Jan 2024 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/london-reactor-meetup-jan-2024/</guid><description>&lt;p&gt;DevOps is inherently a cultural shift with a mass of technologies involved at many stages of the lifecycle. Over the past year we have seen a huge change in the AI sector and these developers, entrepreneurs and businesses are all starting to adopt this technology and make it a part of their everyday development. With this being the case, the DevOps lifecycle is going to pivot and change for everyone in one way or another, so let&amp;rsquo;s dive into how this is happening!&lt;/p&gt;</description></item><item><title>Moving from a product to a service mindset</title><link/><pubDate>Thu, 13 Jul 2023 00:00:00 +0000</pubDate><guid/><description>&lt;p&gt;Thanks to DevOps, cloud computing and other industry trends, many organizations are shifting from a product mindset to a service mindset. Here’s how you can implement a service-led strategy.&lt;/p&gt;</description></item><item><title>Applying GitOps principles to your operations</title><link/><pubDate>Fri, 02 Jun 2023 00:00:00 +0000</pubDate><guid/><description>&lt;p&gt;Could we use our Git repository as the source of truth for operational tasks, and somehow reconcile changes with our real-world view?&lt;/p&gt;</description></item><item><title>How companies are boosting productivity with generative AI</title><link/><pubDate>Tue, 09 May 2023 00:00:00 +0000</pubDate><guid/><description>&lt;p&gt;Explore how generative AI coding tools are changing the way developers and companies build software.&lt;/p&gt;</description></item><item><title>Building a culture of innovation in your business with GitHub</title><link/><pubDate>Fri, 05 May 2023 00:00:00 +0000</pubDate><guid/><description>&lt;p&gt;Consider the typical software development practices in an organization. Projects are commonly closed, and causes friction across engineering teams. But open source communities work asynchronously, openly, remotely and at global-scale. What if our internal teams could reuse those same practices?&lt;/p&gt;</description></item><item><title>Building organization-wide governance and re-use for CI/CD and automation with GitHub Actions</title><link/><pubDate>Wed, 05 Apr 2023 00:00:00 +0000</pubDate><guid/><description>&lt;p&gt;Many of us are aware of the benefits that a strong focus on automation can bring, particularly in our development workflow and DevOps lifecycle. But silos across businesses can lead to duplication of effort, and potential to lose out on best practices. In this post, we’ll explore how CI/CD can be shared across your entire organization alongside policies, for a well-governed experience with GitHub Actions.&lt;/p&gt;</description></item><item><title>How GitHub accelerates development for embedded systems</title><link/><pubDate>Thu, 09 Mar 2023 00:00:00 +0000</pubDate><guid/><description>&lt;p&gt;In a world where software and hardware is ubiquitous, GitHub can help enable secure development for mission-critical embedded systems.&lt;/p&gt;</description></item><item><title>How to build a consistent workflow for development and operations teams</title><link/><pubDate>Tue, 28 Feb 2023 00:00:00 +0000</pubDate><guid/><description>&lt;p&gt;Explore how using GitHub and HashiCorp together enables enterprises to develop and ship to their customers faster and more secure with consistent workflows and actions.&lt;/p&gt;</description></item><item><title>3 ways to meet compliance needs without slowing down agility</title><link/><pubDate>Fri, 24 Feb 2023 00:00:00 +0000</pubDate><guid/><description>&lt;p&gt;Learn how to enable developer productivity and collaboration while staying secure and compliant. Stay compliant without slowing down your business. From security to CI/CD, automate every step of your software workflow—so your developers can stay focused on what matters most: building.&lt;/p&gt;</description></item><item><title>Automate Azure infrastructure change reviews by using Bicep and GitHub</title><link>https://chrisreddington.com/video/automate-azure-infrastructure-change-reviews-by-using-bicep-and-github/</link><pubDate>Wed, 25 Jan 2023 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/automate-azure-infrastructure-change-reviews-by-using-bicep-and-github/</guid><description>&lt;p&gt;Add checks to pull requests that run automatically during your code reviews. Run the Bicep linter on your code, and deploy the resources to a temporary environment to enable further automated and manual testing.&lt;/p&gt;</description></item><item><title>Passwordless deployments to the cloud</title><link/><pubDate>Fri, 13 Jan 2023 00:00:00 +0000</pubDate><guid/><description>&lt;p&gt;Discovering passwords in our codebase is probably one of our worst fears. But what if you didn’t need passwords at all, and could deploy to your cloud provider another way? In this post, we explore how you can use OpenID Connect to trust your cloud provider, enabling you to deploy easily, securely and safely, while minimizing the operational overhead associated with secrets (for example, key rotations).&lt;/p&gt;</description></item><item><title>Test your Bicep code by using GitHub Actions</title><link>https://chrisreddington.com/video/test-your-bicep-code-by-using-github-actions/</link><pubDate>Wed, 14 Dec 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/test-your-bicep-code-by-using-github-actions/</guid><description>&lt;p&gt;Validate and test your Bicep code in your deployment workflow. You&amp;rsquo;ll use linting, preflight validation, and the what-if operation to validate your Azure changes before you deploy, and you&amp;rsquo;ll test your resources after each deployment.&lt;/p&gt;</description></item><item><title>Rapid Prototyping as a way to validate your idea</title><link>https://chrisreddington.com/video/rapid-prototyping-validate-idea/</link><pubDate>Thu, 17 Nov 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/rapid-prototyping-validate-idea/</guid><description>&lt;p&gt;Rapid prototyping is a structured approach to validating ideas quickly — before committing significant time, budget, or architecture to a direction that may not work. But not all rapid prototyping is the same.&lt;/p&gt;
&lt;p&gt;In this episode, Chris is joined by Andrew Greenstein, CEO of SF AppWorks and host of &amp;ldquo;The Next Great Thing&amp;rdquo; podcast, who outlines &lt;strong&gt;three distinct types of rapid prototyping&lt;/strong&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Design Sprints&lt;/strong&gt; — Jake Knapp&amp;rsquo;s 5-day sprint framework for validating concepts through lightweight prototyping and user testing, without writing production code.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Iterative Feature Building&lt;/strong&gt; — Incremental development cycles where small, shippable features are tested in production to learn what users actually value.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Platform Proof-of-Concepts (POCs)&lt;/strong&gt; — Short spikes to evaluate new technologies or platforms before making a long-term architectural commitment.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Kent Beck&amp;rsquo;s product triathlon&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Building, Deploying and Observing SDKs as a Service</title><link>https://chrisreddington.com/video/building-deploying-observing-sdks-as-service/</link><pubDate>Thu, 10 Nov 2022 19:30:00 +0000</pubDate><guid>https://chrisreddington.com/video/building-deploying-observing-sdks-as-service/</guid><description>&lt;p&gt;Manually maintaining SDKs across multiple programming languages is slow, error-prone, and a constant drag on developer velocity. This episode treats SDK generation as a service—automated, containerised, and fully observable.&lt;/p&gt;
&lt;h2 id="what-youll-learn"&gt;What You&amp;rsquo;ll Learn&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Why &lt;strong&gt;SDKs reduce developer friction&lt;/strong&gt; compared to direct REST API integration (handling auth flows, retry logic, and serialisation plumbing automatically)&lt;/li&gt;
&lt;li&gt;Using &lt;strong&gt;OpenAPI Generator&lt;/strong&gt; (open-source community project) to automatically generate SDKs in 50+ languages from an OpenAPI/Swagger specification&lt;/li&gt;
&lt;li&gt;Customising SDK output using &lt;strong&gt;Mustache templates&lt;/strong&gt; to match your organisation&amp;rsquo;s coding conventions and style&lt;/li&gt;
&lt;li&gt;Deploying the &lt;strong&gt;OpenAPI Generator as a containerised service&lt;/strong&gt; for automated, pipeline-driven SDK generation triggered by API spec changes&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Testing SDKs&lt;/strong&gt; at scale: smoke testing generated clients against a live API sandbox before publishing, and why Python is a useful early canary language&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Observability with OpenTelemetry&lt;/strong&gt;: auto-tracing SDK invocations end-to-end without modifying application code (agentless instrumentation)&lt;/li&gt;
&lt;li&gt;Using &lt;strong&gt;Lumigo&lt;/strong&gt; for distributed tracing and visualising the full invocation chain across microservices and serverless functions&lt;/li&gt;
&lt;li&gt;The importance of &lt;strong&gt;contributing back&lt;/strong&gt; to open-source communities whose tools power your production systems&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="guest"&gt;Guest&lt;/h2&gt;
&lt;p&gt;This episode features &lt;strong&gt;Steve Kuching&lt;/strong&gt;, developer advocate and OpenTelemetry practitioner, discussing the intersection of SDK automation, observability, and the open-source ecosystem.&lt;/p&gt;</description></item><item><title>Chaos Engineering for Cloud native Apps</title><link>https://chrisreddington.com/video/chaos-engineering-cloud-native-apps/</link><pubDate>Thu, 03 Nov 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/chaos-engineering-cloud-native-apps/</guid><description>&lt;p&gt;Chaos engineering is the discipline of proactively experimenting on distributed systems to build confidence in their ability to withstand production failures. In this episode, Chris is joined by Ashish Balgath (Cloud Solution Architect at Thoughtworks) to explore why resilience testing requires a fundamentally different mindset to traditional unit testing.&lt;/p&gt;
&lt;p&gt;Ashish explains how chaos engineering can be thought of as a fire drill for software: practising failure scenarios in a controlled environment so that teams build the muscle memory they need to respond quickly when real incidents occur. The conversation covers key prerequisites — mature observability, health checks, and structured logging — and explains why these must be in place before introducing chaos experiments safely.&lt;/p&gt;</description></item><item><title>ClickOps over GitOps</title><link>https://chrisreddington.com/video/clickops-over-gitops/</link><pubDate>Thu, 27 Oct 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/clickops-over-gitops/</guid><description>&lt;p&gt;The gap between raw Kubernetes and a developer-friendly PaaS is where the most interesting tooling is being built today. GitOps gives teams a declarative, version-controlled way to manage their clusters — but the infrastructure expertise required can be a steep barrier. ClickOps offers a different angle: let developers click a dashboard, and let the platform handle the YAML.&lt;/p&gt;
&lt;p&gt;In this episode, Chris is joined by Laszlo Folgas, founder of Gimlet.io, to explore how you can combine the accessibility of a UI with the reliability of a GitOps-driven workflow.&lt;/p&gt;</description></item><item><title>3 strategies for consolidating your toolkit and boosting productivity</title><link/><pubDate>Wed, 26 Oct 2022 00:00:00 +0000</pubDate><guid/><description>&lt;p&gt;Explore how GitHub Enterprise can help you transform your software engineering organization and practices.&lt;/p&gt;</description></item><item><title>ToolUp Days #15</title><link>https://chrisreddington.com/video/toolup-days-15/</link><pubDate>Fri, 21 Oct 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/toolup-days-15/</guid><description>&lt;p&gt;ToolUp Days is all about showing the thought process and decisions made when creating an application from scratch. Episode 15 continues the Codespaces-based development workflow from the previous session, validating the Dapr + Codespaces secrets pattern end-to-end and extending local debugging to a second microservice — before landing in a genuinely puzzling .NET minimal API routing problem.&lt;/p&gt;
&lt;h2 id="quick-context"&gt;Quick Context&lt;/h2&gt;
&lt;p&gt;The episode opens with conference highlights from South Coast Summit and some quick hiring news before getting into the technical work.&lt;/p&gt;</description></item><item><title>Beyond Monitoring: The Rise of Observability Platform</title><link>https://chrisreddington.com/video/beyond-monitoring-rise-of-observability-platform/</link><pubDate>Tue, 18 Oct 2022 19:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/beyond-monitoring-rise-of-observability-platform/</guid><description>&lt;p&gt;Monitoring tells you &lt;em&gt;that&lt;/em&gt; something is broken. Observability tells you &lt;em&gt;why&lt;/em&gt;. In this episode Chris sits down with Samir Pradka, Enterprise Architect and Distinguished Expert in Modern Applications at Artos, to trace the evolution from primitive task-manager debugging through APM dashboards to today&amp;rsquo;s full-stack observability platforms.&lt;/p&gt;
&lt;p&gt;Key topics covered in this episode:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Monitoring vs. observability&lt;/strong&gt; — why APM tooling falls short for distributed, cloud-native systems at enterprise scale&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The three pillars&lt;/strong&gt; — ingesting and correlating logs, metrics, and traces into a unified observability data lake&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AIOps integration&lt;/strong&gt; — adding machine learning to detect anomalies, predict failures, and generate actionable insights before users are impacted&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Self-healing infrastructure&lt;/strong&gt; — using Infrastructure as Code tools such as Ansible and Azure Resource Manager (ARM) to drive automated remediation when thresholds are breached&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hybrid and multi-cloud coverage&lt;/strong&gt; — extending a single observability pane of glass across on-premises workloads, single-cloud, and multi-cloud deployments&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Incremental adoption&lt;/strong&gt; — starting with a proof of concept, building a sprint backlog, and maturing the platform over time rather than trying to instrument everything at once&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Whether you are running a handful of microservices or a global platform comparable to the scale of Walmart or Amazon, this episode gives you a practical framework for moving beyond reactive monitoring towards a proactive, intelligent observability strategy.&lt;/p&gt;</description></item><item><title>Passwordless deployments to Microsoft Azure with GitHub Actions</title><link>https://chrisreddington.com/talk/southcoast-passwordless-deployments-to-azure/</link><pubDate>Sat, 15 Oct 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/southcoast-passwordless-deployments-to-azure/</guid><description/></item><item><title>End-to-end InnerSourcing and Secure Development with GitHub</title><link>https://chrisreddington.com/talk/devoxx-belgium-2022-end-to-end-innersourcing/</link><pubDate>Thu, 13 Oct 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/devoxx-belgium-2022-end-to-end-innersourcing/</guid><description/></item><item><title>From 'It works on my machine' to 'It was written by a machine' - GitHub Codespaces &amp; Copilot</title><link>https://chrisreddington.com/talk/devoxx-belgium-2022-works-on-my-machine/</link><pubDate>Mon, 10 Oct 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/devoxx-belgium-2022-works-on-my-machine/</guid><description/></item><item><title>ToolUp Days #14</title><link>https://chrisreddington.com/video/toolup-days-14/</link><pubDate>Fri, 07 Oct 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/toolup-days-14/</guid><description>&lt;p&gt;ToolUp Days is all about showing the thought process and decisions made when creating an application from scratch. In this episode, Chris and Matt tackle the messy reality of developer environment drift — different machines, multiple WSL variants, forgotten installs — and make the case for a Codespaces-first workflow backed by a declarative dev container.&lt;/p&gt;
&lt;h2 id="the-problem-environment-drift"&gt;The Problem: Environment Drift&lt;/h2&gt;
&lt;p&gt;After several sessions where progress stalled because neither host could reproduce their earlier setup, the team decides to invest time in a reproducible development environment. Chris has also recently migrated the project&amp;rsquo;s Azure resources to a new tenant, which becomes an unexpected validation of the earlier OpenID Connect and GitHub Actions work: apart from updating a single OIDC connection, the entire deployment pipeline continued working across a new subscription and tenant.&lt;/p&gt;</description></item><item><title>Transform your software engineering practices with GitHub Enterprise</title><link/><pubDate>Tue, 04 Oct 2022 00:00:00 +0000</pubDate><guid/><description>&lt;p&gt;Go beyond knowing GitHub as the home of open source and explore how GitHub Enterprise can help you transform your software engineering organization and practices.&lt;/p&gt;</description></item><item><title>From 'It works on my machine' to 'It was written by a machine' - GitHub Codespaces &amp; Copilot</title><link>https://chrisreddington.com/talk/halfstack-on-thames-dev-experience/</link><pubDate>Fri, 23 Sep 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/halfstack-on-thames-dev-experience/</guid><description/></item><item><title>ToolUp Days #13</title><link>https://chrisreddington.com/video/toolup-days-13/</link><pubDate>Tue, 20 Sep 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/toolup-days-13/</guid><description>&lt;p&gt;Coming off a session where the World Events Engine was &amp;ldquo;deployed but not quite working,&amp;rdquo; Chris and Matt open this episode by pulling up the Azure Container Apps logs and working methodically through the failure chain. What follows is a live debugging session that touches container image authentication, GitHub Actions permission models, Dapr component configuration, and storage queue message formatting.&lt;/p&gt;
&lt;h2 id="tracing-the-container-startup-failure"&gt;Tracing the container startup failure&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Container image pull failure&lt;/strong&gt; — logs show the engine container failing with an image pull error against the GitHub Container Registry. Comparing the IaC for the working Player State container app against the World Events Engine IaC reveals the root cause: a registry credentials block (&lt;code&gt;loginServer&lt;/code&gt;, &lt;code&gt;username&lt;/code&gt;, &lt;code&gt;password&lt;/code&gt;) was never added when the World Events Engine IaC was created — a copy-paste omission that had gone unnoticed.&lt;/p&gt;</description></item><item><title>Policy as [versioned] code - you're doing it wrong</title><link>https://chrisreddington.com/video/policy-as-versioned-code/</link><pubDate>Thu, 15 Sep 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/policy-as-versioned-code/</guid><description>&lt;p&gt;Chris Nesbitt-Smith presents the case for treating governance policy the same way we treat source code — versioned, iterable, peer-reviewed, and continuously improved. Drawing on his experience advocating modern engineering practices within UK government, Chris explains why policies fail and what it takes to make them work.&lt;/p&gt;
&lt;h2 id="key-topics-covered"&gt;Key Topics Covered&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Why policies fail&lt;/strong&gt;: Policies are usually written once, emotionally, as a reaction to a specific incident. They quickly become outdated, overcomplicated, and disconnected from real risk — leading developers to work around them rather than with them.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The lift pitch&lt;/strong&gt;: Using a story of a CIO, Product Manager, developer, and cleaner sharing a lift, Chris illustrates the different stakeholder perspectives on policy — risk ownership, delivery velocity, and day-to-day practicality — and how good policy serves all of them simultaneously.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Policy as code&lt;/strong&gt;: Storing policy in version control (Git/GitHub), enforcing it through automated CI/CD pipelines, and treating compliance as a test suite lets teams iterate on policy as fast as the threat landscape changes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kubernetes admission control&lt;/strong&gt;: The specific technical context — using Kubernetes policy engines (such as OPA/Gatekeeper or Kyverno) to enforce rules at deployment time, giving developers fast and understandable feedback in their existing workflow.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Iterative, not waterfall&lt;/strong&gt;: Attempting to write perfect policy upfront causes the same failures as waterfall software delivery. Small, incremental improvements with clear rationale are more effective and more trusted by the teams subject to them.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Culture over tooling&lt;/strong&gt;: Tooling is the easy part. The real challenge is helping people understand &lt;em&gt;why&lt;/em&gt; a policy exists. When developers understand the consequence, they follow the spirit of the policy — not just its letter.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;From this talk you&amp;rsquo;ll learn how to use a software development pattern and product ways of thinking towards how your organization can manage policy; achieve continual updates to policy allowing the risk mitigations to move as fast as the risk does, not get in the way and be easy to measure compliance.&lt;/p&gt;</description></item><item><title>Git and GitHub for the Data Professional</title><link>https://chrisreddington.com/talk/southampton-data-ug/</link><pubDate>Wed, 14 Sep 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/southampton-data-ug/</guid><description/></item><item><title>Tools of a Software Architecture for Everyone!</title><link>https://chrisreddington.com/video/tools-of-a-software-architecture-for-everyone/</link><pubDate>Thu, 08 Sep 2022 19:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/tools-of-a-software-architecture-for-everyone/</guid><description>&lt;p&gt;Software 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 with a background in e-commerce and high-traffic systems, who walks through the practical toolbox he has assembled over years in the role.&lt;/p&gt;
&lt;p&gt;John begins by clarifying what a software architect actually does — it is less a progression from senior developer and more a shift to a different type of work: setting guard rails across teams, evaluating third-party options, providing cross-team context, and taking a longer-term, more holistic view of technical direction.&lt;/p&gt;</description></item><item><title>Using GitHub Actions to Deploy to Azure</title><link>https://chrisreddington.com/talk/dotnet-south-west-github-actions/</link><pubDate>Wed, 07 Sep 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/dotnet-south-west-github-actions/</guid><description/></item><item><title>ToolUp Days #12</title><link>https://chrisreddington.com/video/toolup-days-12/</link><pubDate>Tue, 06 Sep 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/toolup-days-12/</guid><description>&lt;p&gt;With the game&amp;rsquo;s microservices architecture designed and a clear definition of done in hand, Chris and Matt turn their attention to getting the &lt;strong&gt;World Events Engine&lt;/strong&gt; working end-to-end. The session opens with an unexpected obstacle: Chris had inadvertently broken all the GitHub Actions builds in the run-up to the stream.&lt;/p&gt;
&lt;h2 id="diagnosing-the-github-actions-deployment-bug"&gt;Diagnosing the GitHub Actions deployment bug&lt;/h2&gt;
&lt;p&gt;Two workflows were triggered simultaneously, both defaulting to the same container name (derived from the workflow filename). Deploying two Azure Container App revisions with identical names into the same resource group created a race condition — one deployment could not start because the other was already in progress under the same name.&lt;/p&gt;</description></item><item><title>End-to-end InnerSourcing and Secure Development with GitHub</title><link>https://chrisreddington.com/talk/lsy-dev-conference-2022/</link><pubDate>Thu, 01 Sep 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/lsy-dev-conference-2022/</guid><description/></item><item><title>Microservices have communication issues, especially when they fail</title><link>https://chrisreddington.com/video/microservices-have-communication-issues/</link><pubDate>Thu, 01 Sep 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/microservices-have-communication-issues/</guid><description>&lt;p&gt;Communication between entities has been a long-lasting topic in software engineering. IPC, message brokers, and queues are only a few of the main actors in this drama. Building distributed microservices that communicate reliably — and fail gracefully — is one of the hardest engineering challenges teams face today.&lt;/p&gt;
&lt;p&gt;In this episode, Chris is joined by Francesco, a software engineer based in Dublin building a payment gateway, to explore practical microservices communication patterns. Francesco shares lessons from handling real-world distributed transactions in production, including why naive REST-over-HTTP calls break down at scale and under failure conditions.&lt;/p&gt;</description></item><item><title>Automate Azure Role Based Access Control (RBAC) using Github</title><link>https://chrisreddington.com/video/automate-azure-rbac-using-github/</link><pubDate>Thu, 25 Aug 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/automate-azure-rbac-using-github/</guid><description>&lt;p&gt;Managing Azure Role-Based Access Control (RBAC) manually is one of those governance problems that scales badly — custom role definitions drift, changes lack audit trails, and there is no systematic way to review or approve modifications. In this episode, Chris is joined by Marcel Lupo, DevOps MVP and Solutions Architect at Avanade, who demonstrates a practical approach to automating the entire RBAC role definition lifecycle using GitHub Actions.&lt;/p&gt;
&lt;p&gt;This is not a typical &amp;ldquo;developers building applications&amp;rdquo; GitHub story. Marcel focuses on the operational and governance angle: treating Azure RBAC definitions as code, version-controlled in a GitHub repository, with automated CI/CD pipelines to deploy and maintain them. The same composable, public reusability that makes GitHub Actions powerful for application development makes it equally powerful for infrastructure governance.&lt;/p&gt;</description></item><item><title>ToolUp Days #11</title><link>https://chrisreddington.com/video/toolup-days-11/</link><pubDate>Tue, 23 Aug 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/toolup-days-11/</guid><description>&lt;p&gt;This episode marks the official rebrand from &lt;strong&gt;ToolUp Tuesday&lt;/strong&gt; to &lt;strong&gt;ToolUp Days&lt;/strong&gt; — giving Chris and Matt the scheduling flexibility they need to maintain a consistent cadence. After recapping progress (multiple microservices built, GitHub Actions CI/CD in place, container images published, and Infrastructure as Code deployed), the pair set a concrete goal: reach a point where two players can independently make a decision, a &amp;ldquo;tick&amp;rdquo; happens, and there is a winner and a loser.&lt;/p&gt;</description></item><item><title>Software rotting and why you need to change your approach to security</title><link>https://chrisreddington.com/video/software-rotting-change-security-approach/</link><pubDate>Thu, 18 Aug 2022 19:30:00 +0000</pubDate><guid>https://chrisreddington.com/video/software-rotting-change-security-approach/</guid><description/></item><item><title>Code is Read</title><link>https://chrisreddington.com/video/code-is-read/</link><pubDate>Thu, 11 Aug 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/code-is-read/</guid><description>&lt;p&gt;What separates code that teams maintain with confidence from code that becomes an unmaintainable legacy burden? Chris is joined by Daniel Schreifler — developer, consultant, and author of &lt;em&gt;10 Days to Become a Better Developer&lt;/em&gt; — to explore why readability is the most foundational quality in software.&lt;/p&gt;
&lt;p&gt;The central argument: every act of development ultimately requires &lt;em&gt;changing&lt;/em&gt; code, and you cannot change code you cannot understand. Therefore, the prerequisite for the most common activity in software development is the ability to &lt;em&gt;read&lt;/em&gt; the code — making readability a first-class engineering concern, not an aesthetic preference.&lt;/p&gt;</description></item><item><title>DevOps in a Cloud World</title><link>https://chrisreddington.com/talk/mert-to-the-future-github-overview/</link><pubDate>Thu, 11 Aug 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/mert-to-the-future-github-overview/</guid><description/></item><item><title>GitHub for All - Overview</title><link>https://chrisreddington.com/blog/github-for-all-overview/</link><pubDate>Sun, 31 Jul 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/github-for-all-overview/</guid><description>&lt;p&gt;GitHub is one of my passion areas. You may have realised that already, with the amount of content that I&amp;rsquo;ve written about it. That&amp;rsquo;s only going to continue, because I&amp;rsquo;ve recently been hired there as an Enterprise Advocate.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been supporting customers in their DevOps journey for the past 9 years or so. Interestingly, there are some reoccurring themes that I&amp;rsquo;ve found that are common. One of those themes is that DevOps is an App Development concept. In fact, it&amp;rsquo;s something that can be applied across domains (e.g. Infrastructure, Data, etc.)&lt;/p&gt;</description></item><item><title>GitHub Projects is now GA! Automation Updates</title><link>https://chrisreddington.com/blog/github-projects-ga-automation-updates/</link><pubDate>Sun, 31 Jul 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/github-projects-ga-automation-updates/</guid><description>&lt;p&gt;In a couple of previous blog posts, I provided a writeup on the GitHub Projects Beta. I wrote two posts on automation within GitHub Projects (&lt;a href="https://chrisreddington.com/blog/automate-adding-gh-issues-projects-beta-users"&gt;Adding Issues to GitHub Projects with GitHub Actions for a user profile&lt;/a&gt; and &lt;a href="https://chrisreddington.com/blog/automate-adding-gh-issues-projects-beta"&gt;Adding Issues to GitHub Projects with GitHub Actions for an Organization profile&lt;/a&gt;). I&amp;rsquo;m pleased to say that the capabilities went Generally Available last week! As a result of the GA announcement and resulting changes, I need to post updates to my older samples.&lt;/p&gt;</description></item><item><title>ToolUp Day #10</title><link>https://chrisreddington.com/video/toolup-tuesday-10/</link><pubDate>Tue, 26 Jul 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/toolup-tuesday-10/</guid><description>&lt;p&gt;In this episode, Chris and Matt implement federated identity credentials (OIDC) to enable passwordless authentication from GitHub Actions to Azure — eliminating the need for stored secrets. They configure the two-way trust between an Azure App Registration and GitHub, set up OIDC token permissions in their workflow, and successfully deploy Bicep infrastructure as code through their CI/CD pipeline. The pair also plan the transition from deploying infrastructure manually to a fully automated pipeline. The episode ends with a discussion about rebranding the series from &amp;ldquo;ToolUp Tuesday&amp;rdquo; to accommodate flexible scheduling.&lt;/p&gt;</description></item><item><title>ToolUp Tuesday - #9</title><link>https://chrisreddington.com/video/toolup-tuesday-9/</link><pubDate>Tue, 28 Jun 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/toolup-tuesday-9/</guid><description>&lt;p&gt;In this episode, Chris and Matt return after a break to debug why their microservices work locally but fail when deployed to Azure Container Apps. They walk through restructuring their Bicep infrastructure as code to separate core shared resources (container app environment, Log Analytics, storage accounts) from per-microservice deployments — reflecting real-world team ownership patterns. The pair configure Dapr state store components backed by Azure Table Storage, troubleshoot container connectivity issues, and discuss the importance of lifecycle management for infrastructure as code in microservice architectures. They also explore using the draw.io VS Code plugin for architecture diagrams.&lt;/p&gt;</description></item><item><title>LunchBytes Series 1 Episode 5: See Clearly with Application Insights</title><link>https://chrisreddington.com/video/lunchbytes-see-clearly-with-application-insights/</link><pubDate>Wed, 15 Jun 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/lunchbytes-see-clearly-with-application-insights/</guid><description>&lt;p&gt;Observability across multiple components in distributed systems can be a challenge, particularly when things go wrong and need investigation. Application Insights can simplify the challenge, and give deep insights into a distributed system at multiple levels.&lt;/p&gt;</description></item><item><title>GitHub - More than just a Git repository</title><link>https://chrisreddington.com/talk/southcoast-ug-github/</link><pubDate>Tue, 07 Jun 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/southcoast-ug-github/</guid><description/></item><item><title>LunchBytes Series 1 Episode 4: Microsoft Build 2022 Recap with Panel</title><link>https://chrisreddington.com/video/lunchbytes-microsoft-build-2022-recap-with-panel/</link><pubDate>Fri, 03 Jun 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/lunchbytes-microsoft-build-2022-recap-with-panel/</guid><description>&lt;p&gt;Microsoft Build is Microsoft’s annual Developer Conference. This year, it took place from 24th – 26th May 2022. Not only were there several fantastic announcements, but we were lucky to have a regional spotlight on the UK! Join our panel of Cloud Solution Architects and Technical Specialists for an interactive discussion on the announcements from last week.&lt;/p&gt;</description></item><item><title>ToolUp Tuesday - #8</title><link>https://chrisreddington.com/video/toolup-tuesday-8/</link><pubDate>Tue, 31 May 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/toolup-tuesday-8/</guid><description>&lt;p&gt;In this episode, Chris and Matt move from local development to cloud deployment by deploying their Go microservices to Azure Container Apps — a service that had just reached general availability. They walk through the Azure portal to explain Container Apps concepts, including how it abstracts Kubernetes, Dapr, KEDA, and Envoy under the hood. The pair tackle pulling container images from GitHub Packages into Container Apps, work through authentication challenges, and discuss Bicep for infrastructure as code. Chris also shares the news of his move from Microsoft to GitHub as an enterprise advocate.&lt;/p&gt;</description></item><item><title>Tech Roundup - May 2022</title><link>https://chrisreddington.com/video/tech-roundup-2205/</link><pubDate>Sun, 29 May 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/tech-roundup-2205/</guid><description>&lt;p&gt;Your monthly digest covering May 2022 — one of the busiest months of the year thanks to Microsoft Build!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Azure Highlights&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Azure Container Apps&lt;/strong&gt; — now generally available; a standout announcement for event-driven, serverless container workloads without managing Kubernetes directly&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure OpenAI Service&lt;/strong&gt; — limited access preview with 25 OpenAI models including the GPT-3 series (ada, babbage, curie, davinci) and Codex — the technology behind AI-powered developer tools like GitHub Copilot&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure DNS Private Resolver&lt;/strong&gt; — public preview; enables hybrid name resolution and conditional forwarding, solving the long-standing challenge of resolving private Azure DNS from on-premises environments&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open Service Mesh extension for Azure Arc&lt;/strong&gt; — GA; pluggable service mesh interface enabling consistent mesh capabilities across hybrid and multi-cloud environments&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NGINX on Azure&lt;/strong&gt; — natively integrated SaaS with advanced traffic management, built-in JWT support, active health checks, and Azure Key Vault integration&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AKS host process containers&lt;/strong&gt; — public preview for privileged Windows container workloads requiring host-level access&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure Communication Services Email&lt;/strong&gt; — GA; removes the dependency on legacy SMTP/IMAP servers for application email notifications&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure Cosmos DB&lt;/strong&gt; — hierarchical partition keys, enhanced serverless elasticity, partition merge, and MongoDB API RBAC now available&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure Machine Learning&lt;/strong&gt; — managed endpoints and CLI v2 in public preview&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;GitHub Updates&lt;/strong&gt;
How GitHub uses Dependabot internally to measure and accelerate dependency remediation, plus GitHub Projects enhancements.&lt;/p&gt;</description></item><item><title>Microsoft Build 2022</title><link>https://chrisreddington.com/talk/build-2022-uk/</link><pubDate>Wed, 25 May 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/build-2022-uk/</guid><description/></item><item><title>Building Serverless Cloud-Native applications with Azure Container Apps</title><link>https://chrisreddington.com/talk/azure-thames-container-apps/</link><pubDate>Thu, 19 May 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/azure-thames-container-apps/</guid><description/></item><item><title>ToolUp Tuesday - #7</title><link>https://chrisreddington.com/video/toolup-tuesday-7/</link><pubDate>Tue, 17 May 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/toolup-tuesday-7/</guid><description>&lt;p&gt;In this episode of ToolUp Tuesday, Chris and Matt take their Go-based microservices and package them as Docker container images for the first time. They walk through creating Dockerfiles, setting up GitHub Actions workflows to build and push images, and publishing to GitHub Packages container registry using the built-in GITHUB_TOKEN for authentication. Along the way they discuss container fundamentals — the difference between images and containers, why containers solve the &amp;ldquo;works on my machine&amp;rdquo; problem, and how to use environment variables in workflows for clean, maintainable CI/CD pipelines. The episode also covers managing container image versions and permissions within a GitHub organization.&lt;/p&gt;</description></item><item><title>Interfaces in Go</title><link>https://chrisreddington.com/blog/go-interfaces/</link><pubDate>Mon, 16 May 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/go-interfaces/</guid><description>&lt;p&gt;In this post, I&amp;rsquo;ll be talking about how to use interfaces in Go. This is a continuation of my learning using the Go language. I&amp;rsquo;ll use interfaces to create an application that interacts with several types of bank accounts.&lt;/p&gt;
&lt;h2 id="what-is-an-interface"&gt;What is an interface?&lt;/h2&gt;
&lt;p&gt;Let&amp;rsquo;s start with defining the concept of an interface. An interface is a set of methods that a type must implement.&lt;/p&gt;
&lt;p&gt;In essence, this is a contract that a concrete type must implement. This can be useful when you want to loosely couple your software, so that you&amp;rsquo;re not depending on a specific implementation (and can then future-proof yourself).&lt;/p&gt;</description></item><item><title>Using GitHub Actions to summarise your Go tests</title><link>https://chrisreddington.com/blog/githubactions-testsummary-go/</link><pubDate>Mon, 16 May 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/githubactions-testsummary-go/</guid><description>&lt;p&gt;GitHub recently posted about a new GitHub Action that can be used to summarise your test results. The action is called &lt;code&gt;test-summary/action&lt;/code&gt;, available at &lt;a href="https://github.com/test-summary/action"&gt;github.com/test-summary/action&lt;/a&gt;. There are several examples on how to use the action at &lt;a href="https://github.com/test-summary/examples"&gt;github.com/test-summary/examples&lt;/a&gt;. However, there were no examples on how to use this with Go. I &lt;a href="https://github.com/test-summary/examples/pull/1"&gt;contributed a pull request&lt;/a&gt; which showed how to achieve this. In this post, I will show how to use the action with Go.&lt;/p&gt;</description></item><item><title>Why even care about Developer Velocity?</title><link>https://chrisreddington.com/talk/hybrid-ug-developer-velocity/</link><pubDate>Wed, 04 May 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/hybrid-ug-developer-velocity/</guid><description/></item><item><title>ToolUp Tuesday - #6</title><link>https://chrisreddington.com/video/toolup-tuesday-6/</link><pubDate>Tue, 03 May 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/toolup-tuesday-6/</guid><description>&lt;p&gt;Chris and Matt bring their game application components together in this ToolUp Tuesday session. They start by reviewing the existing services — the Go-based player decisions API and the .NET world event engine — and identify that the player state service may be redundant now that Dapr handles state management. After clarifying their data model through use case documentation in Markdown, they define the game loop: players enroll, world events fire on a tick schedule, players submit decisions, and the engine reconciles state. The bulk of the session focuses on integrating Dapr&amp;rsquo;s state management API into the .NET player state service, implementing save, get, and delete state operations backed by Azure Table Storage. They also tackle VS Code debugging configuration, setting up launch.json and tasks.json for multi-service debugging with Dapr sidecars. The session ends with inter-service communication via Dapr working, setting up the next episode for cross-service calls between Go and .NET.&lt;/p&gt;</description></item><item><title>Go Pointers - Using the &amp; and * operators</title><link>https://chrisreddington.com/blog/go-pointers/</link><pubDate>Sun, 01 May 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/go-pointers/</guid><description>&lt;p&gt;I&amp;rsquo;ll be transparent. The purpose of this post is to help with my own understanding of the Go &amp;amp; and * operators. It&amp;rsquo;s going to be a very short post, and I&amp;rsquo;m going to try to explain the concepts in a way that I can understand. I&amp;rsquo;ve used these operators in C previously, but whenever I&amp;rsquo;m using them - I always end up having to remember the syntax / which operator is which / what they do. For whatever reason, it doesn&amp;rsquo;t always come intuitively to me.&lt;/p&gt;</description></item><item><title>Enqueue and Dequeue messages locally with dapr, Azure Service Bus and Azure Storage Queues</title><link>https://chrisreddington.com/blog/dapr-local-example/</link><pubDate>Tue, 26 Apr 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/dapr-local-example/</guid><description>&lt;p&gt;In a &lt;a href="https://chrisreddington.com/blog/introduction-to-dapr/"&gt;previous blog post&lt;/a&gt;, I provided an overview of the Distributed Application Runtime (dapr) and explained how it is a useful framework when building microservices. In this blog post, I will show you how to use dapr to enqueue and dequeue messages locally with Azure Service Bus and Azure Storage Queues.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; If you haven&amp;rsquo;t read my &lt;a href="https://chrisreddington.com/blog/introduction-to-dapr/"&gt;previous blog post - Introduction to the Distributed Application Runtime (dapr)&lt;/a&gt;, please do so now as I will assume that you have initialised dapr and have a working local environment.&lt;/p&gt;</description></item><item><title>Set up your Go development environment with Visual Studio Code and Windows Subsystem for Linux (WSL)</title><link>https://chrisreddington.com/blog/go-dev-environment-vscode-wsl/</link><pubDate>Tue, 26 Apr 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/go-dev-environment-vscode-wsl/</guid><description>&lt;p&gt;Over the past few weeks, I have been working on a new set of pet projects. I&amp;rsquo;ve wanted to learn Go for a while, so I thought this could be a great opportunity to get hands on and try it out. It&amp;rsquo;s fair to say that my development environment was &amp;lsquo;functional&amp;rsquo;, but I wanted to revisit it to make sure that I could get the best out of it. In this blog post, I&amp;rsquo;m going to walkthrough the process of setting up Go on my machine, and then the experience of using Visual Studio Code and Windows Subsystem for Linux (WSL) with Ubuntu.&lt;/p&gt;</description></item><item><title>Tech Roundup - April 2022</title><link>https://chrisreddington.com/video/tech-roundup-2204/</link><pubDate>Sun, 24 Apr 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/tech-roundup-2204/</guid><description>&lt;p&gt;Your monthly digest of what shipped across Azure, GitHub, and Azure DevOps in April 2022.&lt;/p&gt;
&lt;h2 id="azure-updates"&gt;Azure Updates&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Generally available:&lt;/strong&gt; EB v5 VMs (memory-optimised workloads), Java 17 and Tomcat 10 on App Service, App Service networking on the Basic tier, Azure Archive Storage in Switzerland North&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure Container Apps:&lt;/strong&gt; managed identity preview (with current limitations around ACR pull and KEDA scaling rules), VS Code and Visual Studio extensions in preview, metrics and alerting in preview&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure Static Web Apps:&lt;/strong&gt; private endpoints now GA with a 99.95% SLA; stable URLs for preview environments now in public preview&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure Cosmos DB:&lt;/strong&gt; autoscale entry point reduced to 100 RU/s (down from 400); MongoDB unique index reindexing in preview&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure Monitor + Managed Grafana:&lt;/strong&gt; integration in preview — build rich dashboards without managing the backend infrastructure&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Microsoft Purview&lt;/strong&gt; (formerly Azure Purview): scope expanded beyond Azure to cover all data platforms&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Microsoft sustainability:&lt;/strong&gt; new reporting on data centre water and energy usage — relevant for manufacturing and utilities workloads&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="github-updates"&gt;GitHub Updates&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Secret scanning:&lt;/strong&gt; detects and revokes leaked passwords; organisation-level custom patterns; JD Cloud added as a scanning partner&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Security best practices:&lt;/strong&gt; five actions developers can take — enable CodeQL, use Dependabot, protect branches, audit GitHub Actions permissions, and scope the &lt;code&gt;GITHUB_TOKEN&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Discussions:&lt;/strong&gt; organisation-level discussions (great for innersourcing), polls, and Slack/Teams integrations&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Codespaces:&lt;/strong&gt; multi-repository and monorepo support now available&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Accessibility:&lt;/strong&gt; protanopia, deuteranopia, and tritanopia colour-blind themes in beta&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Required deployments:&lt;/strong&gt; merge a PR only after a successful deployment to a preview environment&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="azure-devops"&gt;Azure DevOps&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Opt-in auditing for AAD-connected organisations (rolling out in settings)&lt;/li&gt;
&lt;li&gt;Bicep validation in pull requests&lt;/li&gt;
&lt;li&gt;Community posts covering Jira-to-Azure DevOps migration, wiki automation, and DACPac deployments&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="cloud-with-chris"&gt;Cloud With Chris&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Talks delivered to Azure Youth Group Sweden (static sites on Azure) and Microsoft Learn Student Ambassadors&lt;/li&gt;
&lt;li&gt;Tool Up Tuesday series diving into Go language fundamentals, project structure, and a working Dapr API&lt;/li&gt;
&lt;li&gt;Upcoming: Azure Thames Valley in-person meetup (May 2022), Microsoft Build UK co-hosted with April Edwards&lt;/li&gt;
&lt;li&gt;Preview: a Go-based, Dapr-powered microservices event management platform running on Azure Container Apps — covering redirect links, speaker management, and multi-tenant scheduling&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>ToolUp Tuesday - #5</title><link>https://chrisreddington.com/video/toolup-tuesday-5/</link><pubDate>Thu, 21 Apr 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/toolup-tuesday-5/</guid><description>&lt;p&gt;Chris and Matt return for ToolUp Thursday (a scheduling exception) to refactor their Go player decisions API. Having separately studied Golang between sessions, they revisit the codebase with fresh eyes and immediately identify structural improvements — breaking a monolithic single-file approach into proper Go packages with separate folders for controllers, models, and routes. They compare two popular Go HTTP frameworks, Gorilla Mux and Gin, discussing trade-offs between simplicity and feature richness. Matt demonstrates his own Go project using Mux with Azure Container Apps, showcasing Go interfaces, dependency injection patterns, and the tenant service architecture. The conversation covers Go pointers, reference semantics, struct composition, and how Go&amp;rsquo;s implicit interface implementation differs from C# and .NET. They also explore unit testing and mocking challenges in Go, noting the ecosystem differences from .NET&amp;rsquo;s more integrated testing story. The session ends with planning to integrate a file-based data store and start connecting the player decisions API with the world event engine.&lt;/p&gt;</description></item><item><title>Creating a Portfolio Using Azure Static Web Apps</title><link>https://chrisreddington.com/talk/learn-ambassadors-swa/</link><pubDate>Wed, 20 Apr 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/learn-ambassadors-swa/</guid><description/></item><item><title>ToolUp Tuesday - #4</title><link>https://chrisreddington.com/video/toolup-tuesday-4/</link><pubDate>Tue, 05 Apr 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/toolup-tuesday-4/</guid><description>&lt;p&gt;Chris and Matt take on Go (Golang) for the first time on the ToolUp Tuesday live stream, building a player decisions REST API for their game application. They start with a recap of Go fundamentals — variables, types, structs, and pointers — before diving into HTTP routing with the Gin framework. The pair discuss Go project structure, comparing it to their .NET and C# backgrounds, and explore how Go handles packages, imports, and the module system. They work through setting up controllers, route handlers, and in-memory data structures, frequently mapping Go concepts back to familiar object-oriented patterns. Along the way, they troubleshoot Go environment issues including version upgrades and &lt;code&gt;GOPATH&lt;/code&gt; configuration. The session wraps with a working REST endpoint for player decisions, setting the stage for integrating state stores in future episodes.&lt;/p&gt;</description></item><item><title>Deploying Static sites to Azure the cheap and performant way</title><link>https://chrisreddington.com/talk/azure-ug-sweden-static/</link><pubDate>Sat, 02 Apr 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/azure-ug-sweden-static/</guid><description/></item><item><title>Tech Roundup - March 2022</title><link>https://chrisreddington.com/video/tech-roundup-2203/</link><pubDate>Sat, 26 Mar 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/tech-roundup-2203/</guid><description>&lt;p&gt;Overwhelmed at keeping up to date with Azure? Or how about keeping a pulse on the Latest GitHub news, Azure DevOps and more? In this episode, Chris provides a summary of updates on the latest Azure DevOps News, GitHub updates and new announcements in Azure.&lt;/p&gt;
&lt;p&gt;And if that wasn&amp;rsquo;t enough, he also gives a roundup of the latest on Cloud With Chris - including episodes, blog posts, open source projects and community work! Let Chris do the hard work keeping you on top of everything! Grab some snacks. Grab a drink. Come along and tune in for a relaxed and informative learning session!&lt;/p&gt;</description></item><item><title>LunchBytes Series 1 Episode 3: Azure Arc for Application Services</title><link>https://chrisreddington.com/talk/lunchbytes-s1e3/</link><pubDate>Wed, 23 Mar 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/lunchbytes-s1e3/</guid><description>&lt;p&gt;Azure Arc extends the use of Azure Services beyond the Azure cloud. With Azure Arc you are able to deploy and monitor Azure services in your own datacentres or other cloud providers. This event will focus on Azure Application Services and how they can be deployed outside of Azure through Kubernetes with Azure Arc.&lt;/p&gt;
&lt;p&gt;In this show you will learn:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Quick overview of Azure Arc&lt;/li&gt;
&lt;li&gt;How to deploy your own API Management Gateway through Arc&lt;/li&gt;
&lt;li&gt;How to deploy APIs and Logic Apps to Kubernetes clusters&lt;/li&gt;
&lt;li&gt;How to monitor on-premise applications through Azure&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This show is particularly suitable for Architects and Developers interested in application development and hybrid cloud approaches.&lt;/p&gt;</description></item><item><title>LunchBytes Series 1 Episode 3: Azure Arc for Application Services</title><link>https://chrisreddington.com/video/lunchbytes-azure-arc-for-application-services/</link><pubDate>Wed, 23 Mar 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/lunchbytes-azure-arc-for-application-services/</guid><description>&lt;p&gt;Azure Arc extends the use of Azure Services beyond the Azure cloud. With Azure Arc you are able to deploy and monitor Azure services in your own datacentres or other cloud providers. This event will focus on Azure Application Services and how they can be deployed outside of Azure through Kubernetes with Azure Arc.&lt;/p&gt;</description></item><item><title>Deploying Static sites to Azure the cheap and performant way</title><link>https://chrisreddington.com/talk/melbourne-azure-ug-static-content/</link><pubDate>Tue, 22 Mar 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/melbourne-azure-ug-static-content/</guid><description/></item><item><title>Things to Consider Before Migrating Old .NET Applications to Cloud</title><link>https://chrisreddington.com/video/things-to-consider-before-migrating-old-dotnet/</link><pubDate>Thu, 17 Mar 2022 19:30:00 +0000</pubDate><guid>https://chrisreddington.com/video/things-to-consider-before-migrating-old-dotnet/</guid><description>&lt;p&gt;Migrating a legacy .NET application to the cloud can unlock powerful capabilities — scalability, resilience, built-in monitoring, and more. But moving to Azure without proper preparation is a recipe for costly surprises. In this episode, Jonah Andersson — Microsoft MVP for Azure and software engineer at Forefront Consulting Sweden — shares the real story of a .NET migration that turned into a hard-won lesson.&lt;/p&gt;
&lt;h2 id="what-went-wrong-and-why"&gt;What Went Wrong (and Why)&lt;/h2&gt;
&lt;p&gt;The challenges Jonah encountered weren&amp;rsquo;t Azure problems — they were preparation problems. Key issues included:&lt;/p&gt;</description></item><item><title>Using GitHub Actions, Azure Functions, Azure API Management and Google Analytics to display top posts on a Hugo Static Site</title><link>https://chrisreddington.com/blog/top-posts-google-analytics-hugo-azure-functions-apim/</link><pubDate>Sun, 13 Mar 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/top-posts-google-analytics-hugo-azure-functions-apim/</guid><description>&lt;p&gt;In this post, I show how I use GitHub Actions to call an Azure Function (through Azure API Management) which interacts with Google Analytics as part of the process to build my Hugo Static Site. The end result is that top posts are pulled into the Static Site Generation build process, rather than calling the Google Analytics API through JavaScript at runtime.&lt;/p&gt;
&lt;p&gt;&lt;img src="images/example-website-ui.png" alt="Example of the Cloud With Chris Landing page showing the top posts populated through the Google Analytics API" title="Example of the Cloud With Chris Landing page showing the top posts populated through the Google Analytics API"&gt;&lt;/p&gt;</description></item><item><title>GitHub - More than a Git repo</title><link>https://chrisreddington.com/talk/maug-github-more-than-just-a-git-repo/</link><pubDate>Wed, 09 Mar 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/maug-github-more-than-just-a-git-repo/</guid><description/></item><item><title>LunchBytes Series 1 Episode 2: DevOps for Logic Apps</title><link>https://chrisreddington.com/talk/lunchbytes-s1e2/</link><pubDate>Wed, 09 Mar 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/lunchbytes-s1e2/</guid><description>&lt;p&gt;Quickly develop highly scalable integration solutions for your enterprise scenarios using Logic Apps. Join us as we explore the continuous integration and continuous deployment for Azure Logic Apps.&lt;/p&gt;</description></item><item><title>LunchBytes Series 1 Episode 2: DevOps for Logic Apps</title><link>https://chrisreddington.com/video/lunchbytes-devops-for-logic-apps/</link><pubDate>Wed, 09 Mar 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/lunchbytes-devops-for-logic-apps/</guid><description>&lt;p&gt;Quickly develop highly scalable integration solutions for your enterprise scenarios using Logic Apps. Join us as we explore the continuous integration and continuous deployment for Azure Logic Apps.&lt;/p&gt;</description></item><item><title>ToolUp Tuesday - #3</title><link>https://chrisreddington.com/video/toolup-tuesday-3/</link><pubDate>Tue, 08 Mar 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/toolup-tuesday-3/</guid><description>&lt;p&gt;Chris and Matt tackle the world events engine, opening the project in Visual Studio for its stronger .NET development experience compared to VS Code. They connect the engine to the Player State models using .NET project references — acknowledging it as a pragmatic but temporary shortcut that will need refactoring into proper NuGet packages later.&lt;/p&gt;
&lt;p&gt;The episode dives into game design architecture, conceptualizing the engine as a state machine that loads current world state, applies player inputs and world events, and produces updated state. They design an action points system where players spend points to make decisions each turn, with costs varying by action type. The discussion also covers github.dev for browser-based editing, and they plan to build the player decisions API in Go for the next episode.&lt;/p&gt;</description></item><item><title>Azure Quantum &amp; Microsoft Q#</title><link>https://chrisreddington.com/video/azure-quantum-microsoft-q-sharp/</link><pubDate>Thu, 03 Mar 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/azure-quantum-microsoft-q-sharp/</guid><description>&lt;p&gt;Quantum computing promises to solve problems that classical computers simply cannot — from breaking cryptographic barriers to modelling complex pharmaceutical interactions. But what does that mean for a software developer today?&lt;/p&gt;
&lt;p&gt;In this session, Chris is joined by Johnny Hooybergs — .NET consultant at Involved (Belgium), conference speaker, and author of &lt;em&gt;Introducing Microsoft Quantum Computing for Developers&lt;/em&gt; — to make quantum computing approachable for developers.&lt;/p&gt;
&lt;p&gt;Topics covered in this session include:&lt;/p&gt;</description></item><item><title>Tech Roundup - February 2022</title><link>https://chrisreddington.com/video/tech-roundup-2202/</link><pubDate>Sun, 27 Feb 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/tech-roundup-2202/</guid><description>&lt;p&gt;Stay up to date with everything that happened across Azure, GitHub, and Azure DevOps in February 2022. Chris walks through the month&amp;rsquo;s most important announcements and shares what he&amp;rsquo;s been building at Cloud With Chris.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;GitHub highlights&lt;/strong&gt; include GitHub Actions now supporting OpenID Connect (OIDC) for deploying Azure Static Web Apps without long-lived secrets, GitHub Projects beta updates (flexible iterations and insights filtering), Codespaces and CLI improvements, and the GitHub App for Microsoft Teams and Slack for faster PR reviews.&lt;/p&gt;</description></item><item><title>LunchBytes Series 1 Episode 1: DevOps &amp; API Management</title><link>https://chrisreddington.com/talk/lunchbytes-s1e1/</link><pubDate>Wed, 23 Feb 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/lunchbytes-s1e1/</guid><description>&lt;p&gt;APIs are the glue that connect rich user experiences to our data and services. Good governance using tools such as API Management are vital. Join us as we explore how to work with the deployment options for APIs in Azure API Management and how these can be integrated in CI/CD pipelines. This first episode is particularly suitable for Architects and Developers interested in applying Infrastructure as Code skills to APIs.&lt;/p&gt;</description></item><item><title>LunchBytes Series 1 Episode 1: DevOps &amp; API Management</title><link>https://chrisreddington.com/video/lunchbytes-devops-api-management/</link><pubDate>Wed, 23 Feb 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/lunchbytes-devops-api-management/</guid><description>&lt;p&gt;APIs are the glue that connect rich user experiences to our data and services. Good governance using tools such as API Management are vital. Join us as we explore how to work with the deployment options for APIs in Azure API Management and how these can be integrated in CI/CD pipelines. This first episode is particularly suitable for Architects and Developers interested in applying Infrastructure as Code skills to APIs.&lt;/p&gt;</description></item><item><title>ToolUp Tuesday #2</title><link>https://chrisreddington.com/video/toolup-tuesday-2/</link><pubDate>Tue, 22 Feb 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/toolup-tuesday-2/</guid><description>&lt;p&gt;Chris and Matt move from planning to coding, creating the Player State API as a .NET Web API project. They define data models representing player state for the SpaceBar management sim, debating how deep and detailed the models should go. The episode covers practical .NET development decisions, including the trade-offs between minimal API patterns and traditional controller-based approaches, with a preference for controllers for better logical grouping.&lt;/p&gt;
&lt;p&gt;The pair also set up their first GitHub Actions CI workflow, walking through YAML syntax for building the .NET project on push to main. They troubleshoot the workflow live — discovering they forgot the checkout step — and iterate until the build succeeds. GitHub Copilot makes a brief appearance as a code suggestion tool during API scaffolding.&lt;/p&gt;</description></item><item><title>Using GitHub Actions and OpenID Connect to deploy Static Web Apps to Azure</title><link>https://chrisreddington.com/blog/using-oidc-github-actions-azure-swa/</link><pubDate>Tue, 22 Feb 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/using-oidc-github-actions-azure-swa/</guid><description>&lt;p&gt;Back in November, &lt;a href="https://github.blog/changelog/2021-11-23-secure-cloud-deployments-with-oidc-is-now-ga/"&gt;GitHub announced its OpenID Connect capability for cloud deployments was generally available&lt;/a&gt;. This has been on my list to try out, and I finally managed to get around to it! With scenarios like this, I prefer to do something real and hands-on, rather than mocked, or a proof of concept. I decided to refactor my GitHub Action workflows for &lt;a href="https://www.cloudwithchris.com"&gt;cloudwithchris.com&lt;/a&gt;, removing the need for secrets stored in GitHub. In this post, I outline my journey through this.&lt;/p&gt;</description></item><item><title>Feature Flags - The Art of the IF and Deployment</title><link>https://chrisreddington.com/video/feature-flags-art-of-if-and-deployment/</link><pubDate>Thu, 17 Feb 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/feature-flags-art-of-if-and-deployment/</guid><description>&lt;p&gt;Feature flags (also called feature toggles) are one of the most powerful — and most misunderstood — practices in modern software delivery. This session explores them from first principles through to production implementation.&lt;/p&gt;
&lt;h2 id="what-are-feature-flags"&gt;What are feature flags?&lt;/h2&gt;
&lt;p&gt;A mechanism to decouple &lt;em&gt;deployment&lt;/em&gt; (pushing code to production) from &lt;em&gt;release&lt;/em&gt; (enabling that code for users). Once separated, teams can deploy continuously, roll out incrementally, experiment in production, and roll back instantly — without touching infrastructure.&lt;/p&gt;</description></item><item><title>Automate adding GitHub Issues to GitHub Projects (Beta) in a repository owned by a user</title><link>https://chrisreddington.com/blog/automate-adding-gh-issues-projects-beta-users/</link><pubDate>Thu, 10 Feb 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/automate-adding-gh-issues-projects-beta-users/</guid><description>&lt;p&gt;&lt;strong&gt;Update: This information is now outdated. Please see my post since &lt;a href="https://chrisreddington.com/blog/github-projects-ga-automation-updates"&gt;GitHub Projects Went Generally Available&lt;/a&gt;, as there are some APIs used in this example which &lt;a href="https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/#%F0%9F%A4%96-graphql-api-improvements"&gt;will be deprecated in October 2022&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I recently &lt;a href="https://chrisreddington.com/blog/automate-adding-gh-issues-projects-beta"&gt;wrote a blog post&lt;/a&gt; on using GitHub Actions to automatically add a GitHub Issue to a &lt;a href="https://github.com/features/issues"&gt;GitHub Projects (beta)&lt;/a&gt; when an issue is opened. I received a question from my colleague and maintainer of the &lt;a href="https://promitor.io/"&gt;promitor&lt;/a&gt; and &lt;a href="https://keda.sh/"&gt;KEDA&lt;/a&gt; Open Source (OSS) Projects, &lt;a href="https://twitter.com/TomKerkhove"&gt;Tom Kerkhove&lt;/a&gt; on using the sample with a user-owned GitHub repository, rather than an organisation-owned one.&lt;/p&gt;</description></item><item><title>ToolUp Tuesday - #1</title><link>https://chrisreddington.com/video/toolup-tuesday-1/</link><pubDate>Tue, 08 Feb 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/toolup-tuesday-1/</guid><description>&lt;p&gt;In this inaugural ToolUp Tuesday episode, Chris and Matt introduce a new live-coding series focused on building an application from the ground up while sharing every decision along the way. They brainstorm the concept of a massively multiplayer management simulation game — a tongue-in-cheek &amp;ldquo;SpaceBar&amp;rdquo; where players run their own establishments in an asynchronous, long-running game format.&lt;/p&gt;
&lt;p&gt;The pair focus on architectural planning, designing a microservices-based system with distinct components: a world events engine (built in .NET) to process game state changes on a schedule, a player decisions service (built in Go) to handle player interactions, and a game engine to orchestrate the overall state machine. They set up a GitHub repository using template repositories, configure GitHub Projects (beta) for backlog tracking, and create issues and labels to organize future work. The discussion also touches on containerization with Docker and Kubernetes as a future deployment strategy.&lt;/p&gt;</description></item><item><title>Automate adding GitHub Issues to GitHub Projects (Beta) in a GitHub organisation</title><link>https://chrisreddington.com/blog/automate-adding-gh-issues-projects-beta/</link><pubDate>Sat, 05 Feb 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/automate-adding-gh-issues-projects-beta/</guid><description>&lt;p&gt;&lt;strong&gt;Update: This information is now outdated. Please see my post since &lt;a href="https://chrisreddington.com/blog/github-projects-ga-automation-updates"&gt;GitHub Projects Went Generally Available&lt;/a&gt;, as there are some APIs used in this example which &lt;a href="https://github.blog/changelog/2022-06-23-the-new-github-issues-june-23rd-update/#%F0%9F%A4%96-graphql-api-improvements"&gt;will be deprecated in October 2022&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been following the &lt;a href="https://github.com/features/issues"&gt;GitHub Projects beta&lt;/a&gt; for a while now, and have been fortunate to be accepted as an early adopter. I&amp;rsquo;m a big fan of the direction, and the flexibility that it provides. One of the limitations I&amp;rsquo;ve noticed is that there&amp;rsquo;s currently no built-in way to automatically add an issue to a project board (and &lt;a href="https://github.com/github/feedback/discussions/5378"&gt;I&amp;rsquo;m not the only one!&lt;/a&gt;). It&amp;rsquo;s &lt;a href="https://github.com/github/roadmap/issues/286"&gt;on the backlog&lt;/a&gt; but not yet available. Fortunately, GitHub Actions has us sorted. I&amp;rsquo;ll walk you through a sample that I put together to do exactly that.&lt;/p&gt;</description></item><item><title>Using RegEx and VSCode's Find/Replace capability to add captions to markdown images</title><link>https://chrisreddington.com/blog/using-regex-markdown-caption-images/</link><pubDate>Sat, 05 Feb 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/using-regex-markdown-caption-images/</guid><description>&lt;p&gt;If there&amp;rsquo;s an easy way to achieve something, then I&amp;rsquo;m all for it! You may have noticed that I&amp;rsquo;ve been putting a lot of effort into refactoring my site and open sourcing the original Cloud With Chris theme. I&amp;rsquo;ve now released that as the &lt;a href="https://github.com/cloudwithchris/hugo-creator"&gt;Hugo Creator theme&lt;/a&gt; for &lt;a href="https://gohugo.io/"&gt;Hugo&lt;/a&gt;. As part of the refactoring process into a reusable theme, I had to make several breaking changes. This meant that I&amp;rsquo;d need to update the contents of my site. I want to share a quick tip that I discovered to add captions to my images in Markdown.&lt;/p&gt;</description></item><item><title>Community Gaming - Halo Infinite</title><link>https://chrisreddington.com/video/community-gaming-2202/</link><pubDate>Wed, 02 Feb 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/community-gaming-2202/</guid><description>&lt;p&gt;Join members of the cloud community as they talk through what&amp;rsquo;s top of mind, the latest trends, and have a bit of fun in a game or two! This takes place on the first Wednesday of each month&lt;/p&gt;
&lt;p&gt;Want to participate? Then jump onto the &lt;a href="https://discord.gg/9FJctHP9Zv"&gt;Cloud With Chris Discord Channel&lt;/a&gt; and assign yourself the gamers role on the #role-assign channel!&lt;/p&gt;</description></item><item><title>Tech Roundup - January 2022</title><link>https://chrisreddington.com/video/tech-roundup-2201/</link><pubDate>Sun, 30 Jan 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/tech-roundup-2201/</guid><description>&lt;p&gt;Your monthly digest covering Azure, GitHub, and Azure DevOps updates — so you don&amp;rsquo;t have to keep up with it all yourself!&lt;/p&gt;
&lt;p&gt;In this January 2022 edition, Chris returns to Cloud With Chris after a break and opens with an honest account of his mental health journey — including depression, anxiety, and the importance of asking for support. He then covers:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cloud With Chris Updates&lt;/strong&gt;
A retrospective on 2021 content performance, the shift from weekly to monthly roundups, and upcoming changes to the channel format and content cadence.&lt;/p&gt;</description></item><item><title>Introduction to The Distributed Application Runtime (Dapr)</title><link>https://chrisreddington.com/blog/introduction-to-dapr/</link><pubDate>Thu, 13 Jan 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/introduction-to-dapr/</guid><description>&lt;p&gt;In this post, we&amp;rsquo;re going to explore the Open Source project known as Dapr (The Distributed Application Runtime). This post is primarily aimed at those who already have an understanding of Containers, Kubernetes and Microservices. However, if you&amp;rsquo;re not familiar with these topics - I&amp;rsquo;ll do my best to set the right context and background without making the blog too lengthy!&lt;/p&gt;
&lt;p&gt;Are you building a Microservice based system? Are you looking help to solve frequent challenges that come with this architecture? Challenges such as encryption, message broker integration, observability, service discovery and secret management are frequent in this archetype. This is exactly where Dapr shines, and may be of value. If this sounds like you, then carry on reading to find out more!&lt;/p&gt;</description></item><item><title>Gaining insight into user behaviour with Microsoft Clarity</title><link>https://chrisreddington.com/blog/insights-with-microsoft-clarity/</link><pubDate>Sun, 09 Jan 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/insights-with-microsoft-clarity/</guid><description>&lt;p&gt;I love learning. Especially when it&amp;rsquo;s about brand new things that I wasn&amp;rsquo;t aware of! For this post, I need to give a big shout out to my friend and colleague &lt;a href="https://twitter.com/Sam_Rowe"&gt;Sam Rowe&lt;/a&gt; for the tip. It wasn&amp;rsquo;t a product/service that I was aware of, but felt like something that could be useful for me on Cloud With Chris. In this post, I&amp;rsquo;ll dig into what it is and how it may be able to help you.&lt;/p&gt;</description></item><item><title>Cloud With Chris 2021 Recap</title><link>https://chrisreddington.com/blog/2021-recap/</link><pubDate>Sat, 01 Jan 2022 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/2021-recap/</guid><description>&lt;p&gt;It&amp;rsquo;s hard to believe that 2021 is done, and we&amp;rsquo;re now in 2022. In one sense, it feels like a &amp;ldquo;blink and you miss it&amp;rdquo; year. In another way, it feels as though it&amp;rsquo;s been one of the longest years to have passed us by.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s fair to say that 2021 has had its challenges, not least in the backdrop of the ongoing COVID-19 pandemic. You may have caught &lt;a href="https://chrisreddington.com/blog/im-back-lets-talk"&gt;my recent blog post on my mental health challenges&lt;/a&gt;. Practicing mindfulness and gratitude are excellent approaches for me to keep my overall mental health in balance. So, this post is just as much for me as anyone else. I want to highlight the achievements from the last year or so. I won&amp;rsquo;t be setting any resolutions for 2021, but want to build upon what I&amp;rsquo;ve learned in 2021.&lt;/p&gt;</description></item><item><title>I'm back. Let's talk.</title><link>https://chrisreddington.com/blog/im-back-lets-talk/</link><pubDate>Sun, 19 Dec 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/im-back-lets-talk/</guid><description>&lt;p&gt;You will have noticed that there haven&amp;rsquo;t been any updates on Cloud With Chris for some time. I&amp;rsquo;ve also been quiet on social media. For any of my colleagues, you may have seen by my out of office messages that I&amp;rsquo;ve had time away from work. In this blog post, I want to open up about my recent challenges and have an honest discussion. Whether you&amp;rsquo;ve experienced mental health challenges before, are currently going through tough times, or haven&amp;rsquo;t experienced it and don&amp;rsquo;t quite understand (which is completely ok!) - I hope that me sharing this helps. We&amp;rsquo;re going to be talking about mental health.&lt;/p&gt;</description></item><item><title>Deploying Static Sites to Azure the cheap and performant way</title><link>https://chrisreddington.com/talk/southcoast-deploying-static-sites/</link><pubDate>Sat, 16 Oct 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/southcoast-deploying-static-sites/</guid><description/></item><item><title>V041 - Weekly Technology Vlog #41</title><link>https://chrisreddington.com/video/weekly-vlog-041/</link><pubDate>Sun, 10 Oct 2021 09:30:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-041/</guid><description>&lt;p&gt;In this session, Chris provides a series of updates focused around Azure, DevOps, GitHub and Cloud With Chris.&lt;/p&gt;</description></item><item><title>Using Azure DevOps and Azure Virtual Machine Scale Set Agents to deploy your private workloads</title><link>https://chrisreddington.com/blog/azuredevops-selfhosted-agents-on-azure/</link><pubDate>Fri, 08 Oct 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/azuredevops-selfhosted-agents-on-azure/</guid><description>&lt;p&gt;A little while ago, I wrote a blog post on &lt;a href="https://chrisreddington.com/blog/github-selfhosted-runner-on-azure"&gt;Using the GitHub self-hosted runner and Azure Virtual Machines to login with a System Assigned Managed Identity&lt;/a&gt;, which seems to get a good amount of views week on week. Reflecting on some questions that have popped up this week (and regularly received over my time in the DevOps space), I thought that it makes sense to write a post on how to use Azure DevOps self-hosted agents to deploy to private resources. So, that&amp;rsquo;s what we&amp;rsquo;ll be covering in this post!&lt;/p&gt;</description></item><item><title>CGN8 - Cloud Gaming Notes Episode 8 - Azure for Game Developers</title><link>https://chrisreddington.com/video/azure-for-game-developers/</link><pubDate>Wed, 06 Oct 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/azure-for-game-developers/</guid><description>&lt;p&gt;Chris Reddington and LaBrina Loving — Developer Advocate for Gaming at Microsoft — explore what it takes to get started with game development on Azure, regardless of your background. LaBrina brings twenty years of enterprise development experience, making her perspective especially relevant for developers considering a similar path.&lt;/p&gt;
&lt;h2 id="key-topics-covered"&gt;Key Topics Covered&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;LaBrina&amp;rsquo;s background&lt;/strong&gt;: Two decades in the Microsoft stack — .NET, SharePoint, Dynamics, and Azure since its early days in 2010. Her entry into gaming came through an interest in Unity for mixed reality and VR, before moving into a dedicated game developer advocacy role.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cloud adoption in game studios&lt;/strong&gt;: Game studios are at a similar inflection point to where enterprise organisations were several years ago — beginning to understand the power of cloud, moving workloads off dedicated servers, and realising the benefits of managed, scalable infrastructure.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Enterprise skills transfer directly&lt;/strong&gt;: Software fundamentals — clean architecture, scalable design, testing, and DevOps practices — carry over to game development. There is more in common between the two disciplines than most developers expect.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Key technical differences&lt;/strong&gt;: Latency is paramount. Where enterprise applications rely on TCP connections, game networking commonly uses UDP and socket-based communication for real-time, low-latency responsiveness. Recognising this early avoids painful rewrites.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Getting started with Unity&lt;/strong&gt;: For .NET developers, Unity provides a natural on-ramp to game development, sharing the C# language and familiar tooling.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Accessibility of the cloud for games&lt;/strong&gt;: Azure&amp;rsquo;s managed services remove much of the infrastructure complexity for independent studios and game developers, letting teams focus on gameplay rather than operations.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>V040 - Weekly Technology Vlog #40</title><link>https://chrisreddington.com/video/weekly-vlog-040/</link><pubDate>Sun, 03 Oct 2021 09:30:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-040/</guid><description>&lt;p&gt;Chris is joined by Johnny, a .NET developer and architect from Belgium, and Simon, a new Azure support engineer at Intercept, for a Sea of Thieves gaming session filled with cloud conversations. Johnny shares the story behind his upcoming Apress book on Azure Quantum and Q#, from attending a conference talk on quantum computing in 2017 to writing a developer-focused guide that demystifies the subject.&lt;/p&gt;
&lt;p&gt;Simon discusses passing AZ-900 in his first month at his new role and outlines his certification roadmap through AZ-104, AZ-500, and AZ-700. Chris recaps a busy week of community speaking including .NET Nots, Azure Thames Valley lightning talks, and his first in-person session in 18 months at the Welsh Azure User Group on Azure Arc for applications. The episode closes with Chris openly discussing the importance of monitoring energy levels and mental health as a content creator, and previewing upcoming talks at South Coast Summit and Azure Community Conference on deploying static websites.&lt;/p&gt;</description></item><item><title>Tales from the Real World - Shift Left your Performance Tests</title><link>https://chrisreddington.com/video/shift-left-performance-tests/</link><pubDate>Fri, 01 Oct 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/shift-left-performance-tests/</guid><description>&lt;p&gt;Performance testing has traditionally been a late-stage activity — run against a near-production environment, by a dedicated team, after the code is already fully integrated. The problem is that by the time a performance issue surfaces at that stage, fixing it requires environment time-sharing, promotional deployments, and coordination across multiple teams. The cost compounds quickly.&lt;/p&gt;
&lt;p&gt;In this episode, Chris is joined by HariKrishnan, Cloud Transformation Consultant, who has spent years guiding teams through cloud migrations and modernisation — and noticed that performance testing practices have barely evolved even as everything else moved forward. Hari walks through a practical framework for shifting bulk performance issue detection left, onto developer machines and CI pipelines, using lightweight containerised load-testing tools like Gatling and Docker.&lt;/p&gt;</description></item><item><title>Using Azure Arc to run your Application Services on-premises or in any cloud</title><link>https://chrisreddington.com/talk/waug-azure-arc/</link><pubDate>Wed, 29 Sep 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/waug-azure-arc/</guid><description/></item><item><title>Requirements, Design Patterns, Cloud Architecture Oh My</title><link>https://chrisreddington.com/talk/azure-thames-requirements/</link><pubDate>Tue, 28 Sep 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/azure-thames-requirements/</guid><description/></item><item><title>Requirements, Design Patterns, Cloud Architecture Oh My</title><link>https://chrisreddington.com/talk/dotnet-notts-architecture/</link><pubDate>Mon, 27 Sep 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/dotnet-notts-architecture/</guid><description/></item><item><title>V038 / V039 - Weekly Technology Vlog #38 and #39</title><link>https://chrisreddington.com/video/weekly-vlog-039/</link><pubDate>Sun, 26 Sep 2021 09:30:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-039/</guid><description>&lt;p&gt;A bumper double episode covering two weeks of cloud updates after Chris returns from vacation. On the Azure side, highlights include AKS scale down modes for faster node scaling, custom policy definitions for AKS clusters, Cosmos DB Azure Functions extension v4 with managed identity support, Azure Functions runtime 4.0 with .NET 6, and SQL Managed Instance arriving in the Terraform registry.&lt;/p&gt;
&lt;p&gt;The Azure DevOps blog roundup features programming for accessibility with Rory Preddy, leveling up with Bicep alongside April Edwards and John Downs, Azure DevOps audit streaming, and secretless application patterns using managed identities. GitHub updates include CLI 2.0, Advanced Security secret scanning REST API, audit log streaming in public beta, advisory database support for Rust, and new npm access token formats. Chris also previews upcoming community talks on Azure Arc for applications, static web app deployments, and the Cloud Adoption Framework.&lt;/p&gt;</description></item><item><title>DevOps Trends</title><link>https://chrisreddington.com/video/devops-trends/</link><pubDate>Fri, 24 Sep 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/devops-trends/</guid><description>&lt;p&gt;Ten years is a long time in technology. What started as a cultural movement to break down the wall between development and operations has evolved into a sprawling ecosystem of practices, tools, and philosophies. Daniela Fontani — CTO and early open source contributor since 2006 — explores the key trends defining modern DevOps and how to keep up without chasing every new buzzword.&lt;/p&gt;
&lt;h2 id="the-devops-chasm--still-unsolved"&gt;The Dev/Ops Chasm — Still Unsolved&lt;/h2&gt;
&lt;p&gt;Even with a decade of investment, many organisations still struggle with siloed teams and disconnected toolchains. The tooling problem is relatively straightforward — write a tool that integrates across layers. But the cultural and organisational shifts required are significantly harder and remain the primary blocker for most enterprises.&lt;/p&gt;</description></item><item><title>What is the Azure Cloud Adoption Framework?</title><link>https://chrisreddington.com/blog/what-is-azure-caf/</link><pubDate>Mon, 20 Sep 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/what-is-azure-caf/</guid><description>&lt;p&gt;Migrating to the Cloud is more than just deciding which technology you want to adopt, or building out the appropriate architectures for your implementation. There is a significant amount of planning needed before you take your initial steps. For example, the initial migration process, establishing a foundation for your ongoing governance, and the wider management of expectations from your business, as well as establishing team structure and responsibilities. This is where the Azure Cloud Adoption Framework comes in.&lt;/p&gt;</description></item><item><title>Tales from the Real World on DevOps</title><link>https://chrisreddington.com/video/devops-tales-from-the-real-world/</link><pubDate>Fri, 17 Sep 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/devops-tales-from-the-real-world/</guid><description>&lt;p&gt;In this episode Chris is joined by &lt;a href="https://thomasthornton.cloud"&gt;Thomas Thornton&lt;/a&gt;, a DevOps specialist at Kainos in Belfast, for a grounded, real-world discussion on what DevOps actually looks like at scale.&lt;/p&gt;
&lt;h2 id="whats-covered"&gt;What&amp;rsquo;s covered&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;DevOps as culture&lt;/strong&gt; — why DevOps is far more than a buzzword, and how to bring stakeholders beyond dev and ops into the conversation&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Version control fundamentals&lt;/strong&gt; — why getting Git right is the prerequisite to everything else in a CI/CD workflow&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Branching strategies&lt;/strong&gt; — trunk-based development vs. feature branches, managing environment drift, and when fewer branches is better&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CI/CD pipeline design&lt;/strong&gt; — starting simple, avoiding over-engineering, and incrementally adding checks and quality gates&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Infrastructure as Code&lt;/strong&gt; — using Terraform modules vs. copy-paste resources, and the long-term payoff of DRY pipelines&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kubernetes and GitOps&lt;/strong&gt; — how pull-based GitOps (e.g. Flux/ArgoCD) enables scalable, consistent deployments across 120+ applications and multiple clusters&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Practical advice for all levels&lt;/strong&gt; — tips for those just starting out, those mid-journey, and those looking to take a mature DevOps practice further&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thomas brings examples from a real environment spanning 83 Azure subscriptions, making this one of the most grounded DevOps conversations on the channel.&lt;/p&gt;</description></item><item><title>V037 - Weekly Technology Vlog #37 (GitHub Issues Beta Special!)</title><link>https://chrisreddington.com/video/weekly-vlog-037/</link><pubDate>Sun, 12 Sep 2021 09:30:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-037/</guid><description>&lt;p&gt;Chris delivers a deep dive into the new GitHub Issues beta, demonstrating project board views, table layouts, YAML-driven issue forms, and the ability to convert checklist items into trackable sub-issues. The walkthrough shows how Chris manages the Cloud with Chris content pipeline using these new project management features.&lt;/p&gt;
&lt;p&gt;The episode also covers key Azure announcements including on-demand capacity reservations for guaranteed VM availability, zone redundant storage for Azure disks reaching GA, Azure Firewall regional expansion and premium SKU updates, and VMSS flexible orchestration mode entering preview. On the DevOps side, Chris highlights shifting left with GitHub Actions and Azure Security Center for DevSecOps workflows, plus GitHub Enterprise Server 3.2 bringing dark mode and advanced security capabilities.&lt;/p&gt;</description></item><item><title>Tales from the Real World - Architecting the Transformation</title><link>https://chrisreddington.com/video/architecting-the-transformation/</link><pubDate>Fri, 10 Sep 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/architecting-the-transformation/</guid><description>&lt;p&gt;Most organizations undergoing digital transformation are progressing through maturity stages — moving from localized, monolithic setups toward agile, cloud-native, data-driven platforms. But what is the architect&amp;rsquo;s role in guiding that journey, and how do you build a framework that is practical rather than theoretical?&lt;/p&gt;
&lt;p&gt;In this session, Asanka Abesinghe returns to discuss his experience architecting enterprise transformations, covering:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Six design principles&lt;/strong&gt; for digitally-driven organizations: decentralized, lean-agile, open standards, outside-in (customer-centric), cloud-native, and data-driven&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The architecture value stream&lt;/strong&gt; — how business architecture, information architecture, application architecture, and technology architecture each contribute to business outcomes&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Maturity models as a GPS&lt;/strong&gt; — assessing where you are, setting a destination, and re-routing when the journey deviates&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The architect as elevator rider&lt;/strong&gt; — connecting the business penthouse with the engineering engine room, requiring both broad strategic thinking and hands-on technical depth&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;BizArch&lt;/strong&gt; — the case for a business architect role that bridges domain knowledge and technical execution, and why handoffs between business analysts and technical architects so often fail&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Asanka also shares references to his open-source maturity model specification (released under Creative Commons) and his &lt;em&gt;Architect to Architect&lt;/em&gt; blog series for those looking to go deeper.&lt;/p&gt;</description></item><item><title>Shift Left and Increase your Code Quality with Azure DevOps Branch Policies</title><link>https://chrisreddington.com/blog/use-branch-policies-azure-devops/</link><pubDate>Thu, 09 Sep 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/use-branch-policies-azure-devops/</guid><description>&lt;h2 id="what-are-branch-policies"&gt;What are Branch Policies?&lt;/h2&gt;
&lt;p&gt;This post is similar to another I recently wrote on &lt;a href="https://chrisreddington.com/blog/use-github-branch-protection-rules"&gt;using Branch Protection Rules in GitHub&lt;/a&gt;. Instead of focusing on GitHub, we&amp;rsquo;ll be looking at how you can use Branch Policies in Azure DevOps (specifically, Azure Repos). If you&amp;rsquo;re using Azure Repos, but not using Branch Policies - I&amp;rsquo;d encourage you to start using them! I hope this post helps you learn how!&lt;/p&gt;
&lt;p&gt;In the world of DevOps, there is a term known as Shift Left. This term effectively means &amp;lsquo;find and prevent issues early&amp;rsquo;. There are several studies that have shown that the most effective way to prevent issues is to find them early in the software delivery lifecycle. This is because the more issues you find early, the more likely it is that they will be identifiable, and therefore fixed.&lt;/p&gt;</description></item><item><title>Migrating to the Cloud</title><link>https://chrisreddington.com/video/migrating-to-the-cloud/</link><pubDate>Wed, 08 Sep 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/migrating-to-the-cloud/</guid><description>&lt;p&gt;In this episode Chris is joined by Suzanne Tedrick — Azure Infrastructure Specialist at Microsoft and award-winning author of &lt;em&gt;Women of Color in Tech&lt;/em&gt; — to unpack what it really takes to migrate applications and workloads to the cloud successfully.&lt;/p&gt;
&lt;p&gt;Key topics covered in this episode:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Why migrations fail&lt;/strong&gt; — the 2020 Cloud Security Alliance finding that 90% of respondents experienced a failed migration, and why most root causes come back to people and process rather than technology&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The Cloud Adoption Framework&lt;/strong&gt; — Microsoft&amp;rsquo;s holistic guidance covering not just technical steps but the business strategy, organisational readiness, and cultural changes required for a sustainable migration&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Assess before you move&lt;/strong&gt; — understanding your current application portfolio, identifying which workloads to rehost, refactor, rearchitect, or retire, and setting realistic timelines&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Governance from day one&lt;/strong&gt; — defining who has access to what, managing cost controls, enforcing policy, and avoiding the chaos of ungoverned multi-cloud sprawl&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Stakeholder alignment&lt;/strong&gt; — bringing together infrastructure teams, application owners, business stakeholders, and support partners to act as a coordinated migration symphony rather than isolated silos&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Incremental progress&lt;/strong&gt; — using the Cloud Adoption Framework as a guide, not a checklist; taking measured steps forward rather than trying to migrate everything at once&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Diversity and inclusion in tech&lt;/strong&gt; — Suzanne shares insights from her book &lt;em&gt;Women of Color in Tech&lt;/em&gt;, exploring how diverse teams build better, more equitable technology products&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Resources mentioned: &lt;a href="https://learn.microsoft.com/azure/cloud-adoption-framework/"&gt;Microsoft Cloud Adoption Framework&lt;/a&gt;, Microsoft Learn, and Microsoft Assessments.&lt;/p&gt;</description></item><item><title>Fix for .bashrc not executing on startup in Ubuntu on Windows Subsystem for Linux</title><link>https://chrisreddington.com/blog/fix-bashrc-not-executing-wsl/</link><pubDate>Mon, 06 Sep 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/fix-bashrc-not-executing-wsl/</guid><description>&lt;p&gt;In case you haven&amp;rsquo;t heard, I&amp;rsquo;m planning to do some livestreams in the near future which are focused on live development / building in the cloud. I&amp;rsquo;m working on a few ideas, but if you have any suggestions - please throw them my way! To prepare for this, I&amp;rsquo;ve recently spent some time making sure my local development environment is in order. Windows Terminal and Windows Subsystem for Linux (WSL) are a couple of the key tools in my local development environment. Windows Subsystem for Linux is the focus for this post.&lt;/p&gt;</description></item><item><title>V036 - Talking cloud and playing Among Us with the community</title><link>https://chrisreddington.com/video/weekly-vlog-036/</link><pubDate>Sun, 05 Sep 2021 09:30:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-036/</guid><description>&lt;p&gt;Chris and community guests Dean, John, Matt, and Simon play Among Us while discussing the latest in cloud technology. The conversation covers Azure Spring Cloud Enterprise entering preview, a wave of Azure deprecation notices including Node 6/10, PowerShell 6, and Azure AD Graph retirement, plus notable updates like AKS custom policy definitions and App Service availability zone support going GA.&lt;/p&gt;
&lt;p&gt;The group also dives into the Docker Desktop pricing changes affecting enterprise usage, private link now supporting NSGs and UDRs, and shares tips on multi-platform streaming with OBS and Restream. Between rounds of imposter hunting, the community discusses meetup organizing, the challenges of building online audiences, and the value of learning in the open.&lt;/p&gt;</description></item><item><title>Tales from the Real World - Leveraging Azure as a Telco provider</title><link>https://chrisreddington.com/video/leveraging-azure-as-telco-provider/</link><pubDate>Fri, 03 Sep 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/leveraging-azure-as-telco-provider/</guid><description>&lt;p&gt;In this &lt;em&gt;Tales from the Real World&lt;/em&gt; episode, Chris is joined by Ivo — a cloud evangelist who has led digital transformation at one of Belgium&amp;rsquo;s largest telco providers — for a fascinating look at how an industry most people never think about as a cloud consumer is rapidly becoming one of cloud&amp;rsquo;s most interesting use cases.&lt;/p&gt;
&lt;h2 id="whats-covered"&gt;What&amp;rsquo;s covered&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Telco fundamentals&lt;/strong&gt; — how traditional telephony works, and why the shift from voice to data changes everything for telco business models&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cloud adoption drivers&lt;/strong&gt; — the economics of scale, competitive pressure from streaming platforms, and the need to move from subscription revenue to value-added services&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;5G and IoT&lt;/strong&gt; — how connectivity evolves from calling and messaging into smart devices, autonomous vehicles, smart cities, and hospitals&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure Arc and edge computing&lt;/strong&gt; — managing deployments from cloud to edge consistently, and why this matters for telcos owning physical network infrastructure&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AI and machine learning&lt;/strong&gt; — how telcos can leverage the data flowing through their networks to create new capabilities and services&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Security and compliance&lt;/strong&gt; — the trust challenges unique to the telco industry (data traversing their lines, regulatory requirements), and how cloud can help address them&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Transformation challenges&lt;/strong&gt; — the cultural and organisational struggle of modernising while keeping existing revenue streams alive; the mindset shift required at all levels&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Business model evolution&lt;/strong&gt; — connectivity → security → applications → manageability → services: the layered value stack Ivo recommends for telcos building on Azure&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>CGN7 - Cloud Gaming Notes Episode 7 - Game Streaming and Cloud-Powered Gaming</title><link>https://chrisreddington.com/video/game-streaming/</link><pubDate>Wed, 01 Sep 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/game-streaming/</guid><description>&lt;p&gt;Chris Reddington and Lee Williams discuss game streaming — not live-streaming gameplay to an audience, but the technology that streams a game &lt;em&gt;to&lt;/em&gt; your device from cloud-hosted infrastructure. This episode of Cloud Gaming Notes explores why cloud makes this possible and what it means for both players and game creators.&lt;/p&gt;
&lt;h2 id="key-topics-covered"&gt;Key Topics Covered&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;What game streaming actually is&lt;/strong&gt;: The game runs on remote cloud infrastructure; only the video stream is sent to your device, with your inputs sent back in real time. Low latency is critical to a playable experience.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Why cloud enables this&lt;/strong&gt;: Economies of scale mean providers can amortise the cost of high-end GPU infrastructure across thousands of players, offering access via a subscription rather than requiring expensive local hardware.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Consumer behaviour shift&lt;/strong&gt;: Just as audiences moved from DVD libraries to Netflix and Spotify, gamers are increasingly comfortable with subscription-based access to game catalogues — Xbox Game Pass and Google Stadia as leading examples.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Multi-device freedom&lt;/strong&gt;: Players can switch between PC, phone, tablet, and TV without hardware lock-in — the game experience follows the user, not the device.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Games as living services&lt;/strong&gt;: For game creators, streaming shifts the model from a one-time retail release to a continuously updated, platform-style service with DLC, in-game economies, and ongoing subscriptions (Minecraft and GTA Online as prime examples).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Development economics&lt;/strong&gt;: Building for a streaming platform reduces per-platform porting costs and enables constant iteration, removing the need for major new release cycles to reach players on different devices.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>V035 - Weekly Technology Vlog #35</title><link>https://chrisreddington.com/video/weekly-vlog-035/</link><pubDate>Mon, 30 Aug 2021 09:30:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-035/</guid><description>&lt;p&gt;Chris delivers a bank holiday weekly update packed with deprecation notices, new GitHub tooling, and reflections on accessibility and content strategy.&lt;/p&gt;
&lt;h2 id="azure-blog"&gt;Azure Blog&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Azure Purview data governance event&lt;/strong&gt; — Announcement of a digital event on September 28 showcasing Azure Purview capabilities for data governance strategy, lineage, and best practices.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="azure-updates"&gt;Azure Updates&lt;/h2&gt;
&lt;p&gt;A deprecation-heavy week with retirement notices spanning 2022-2024, including Classic Cloud Services, ML Studio Classic, multi-step web tests in Application Insights, Log Analytics agent, and numerous VM series (Basic/Standard A, HB, NC, ND, NV). Key version upgrades required for Azure Functions (Python 3.6 → 3.8, Node 8 → 14), Azure Cosmos DB Java SDK (2.x → 4.x), and PHP 7.3 → 7.4. Notable GA releases include Azure Sphere OS 21.08, new ExpressRoute peering locations (Chicago, Pune, Sao Paulo), and Azure Batch capabilities. The &lt;strong&gt;Azure Policy Guest Configuration&lt;/strong&gt; preview for applying settings inside machines drew significant community interest.&lt;/p&gt;</description></item><item><title>Shift Left and Increase your Code Quality with GitHub Branch Protection Rules</title><link>https://chrisreddington.com/blog/use-github-branch-protection-rules/</link><pubDate>Mon, 30 Aug 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/use-github-branch-protection-rules/</guid><description>&lt;h2 id="what-are-branch-protection-rules"&gt;What are Branch Protection Rules?&lt;/h2&gt;
&lt;p&gt;If you&amp;rsquo;re using GitHub as your source control provider, then I&amp;rsquo;d encourage you to using Branch Protection Rules if you&amp;rsquo;re not already doing so! In this blog post, we&amp;rsquo;ll cover what Branch Protection Rules are and how they can increase your code quality.&lt;/p&gt;
&lt;p&gt;In the world of DevOps, there is a term known as Shift Left. This term effectively means &amp;lsquo;find and prevent issues early&amp;rsquo;. There are several studies that have shown that the most effective way to prevent issues is to find them early in the software delivery lifecycle. This is because the more issues you find early, the more likely it is that they will be identifiable, and therefore fixed.&lt;/p&gt;</description></item><item><title>Getting into DevRel</title><link>https://chrisreddington.com/video/tales-from-real-world-get-into-devrel/</link><pubDate>Fri, 27 Aug 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/tales-from-real-world-get-into-devrel/</guid><description>&lt;p&gt;What is Developer Relations (DevRel), and how do you build a career in it? Chris is joined by Martin Woodward — Director of Developer Relations at GitHub, and the person who brought Git into Microsoft — who shares his journey from developer at banks and insurance firms, through building and selling an open source project to Microsoft, to leading developer community work at scale.&lt;/p&gt;
&lt;p&gt;Topics covered include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;The open source contribution funnel&lt;/strong&gt; — from passive consumer to active contributor to project co-maintainer, and how to optimise each stage&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Community leadership vs DevRel&lt;/strong&gt; — the difference between volunteering for community and being paid to do it as your job&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Giving vs taking&lt;/strong&gt; — why it is okay to contribute to open source for selfish reasons, and when it is right to walk away to avoid burnout&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Actions as a community case study&lt;/strong&gt; — how a simple, composable automation concept grew to over 9,000 marketplace actions and outpaced older CI/CD ecosystems&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Building a DevRel profile&lt;/strong&gt; — content creation, presenting at meetups and conferences, podcasting, and streaming as ways to practise and demonstrate skills&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Handling feedback and trolls&lt;/strong&gt; — assuming best intent, recognising deliberate emotional DDoS tactics, and the accountability that comes with a large community&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Positioning yourself for rare DevRel roles&lt;/strong&gt; — building your network, specialising in a domain, and creating a body of work before the opportunity arises&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>How GitHub can help in planning, building and deploying a Podcast/Blog site</title><link>https://chrisreddington.com/talk/mc2mc-azure-github-deploying-static-content/</link><pubDate>Thu, 26 Aug 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/mc2mc-azure-github-deploying-static-content/</guid><description/></item><item><title>Why you should care about Azure Front Door Standard and Premium</title><link>https://chrisreddington.com/blog/azure-front-door-standard-premium/</link><pubDate>Thu, 26 Aug 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/azure-front-door-standard-premium/</guid><description>&lt;p&gt;Azure Front Door - It&amp;rsquo;s an Azure Service that has been generally available for quite some time. It went &lt;a href="https://azure.microsoft.com/en-us/updates/azure-front-door-service-is-now-available/"&gt;Generally Available (GA) in April of 2019&lt;/a&gt; after being in &lt;a href="https://azure.microsoft.com/en-us/updates/azure-front-door-service-in-public-preview/"&gt;Public Preview since September 2018&lt;/a&gt;. It&amp;rsquo;s had several updates since, including a slew of Web Application Firewall enhancements, Rules Engine support and much more. But did you know Microsoft released the Azure Front Door Standard and Premium SKUs in preview in Feburary of 2021? So, what are they? How do they compare to the aforementioned Azure Front Door offering? And when would you want to think about using Azure Front Door compared with Azure CDN? We&amp;rsquo;ll be covering all of those points in this post.&lt;/p&gt;</description></item><item><title>Why closed captions in your public speaking may make a difference</title><link>https://chrisreddington.com/video/closed-captions-make-a-difference/</link><pubDate>Wed, 25 Aug 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/closed-captions-make-a-difference/</guid><description>&lt;p&gt;Hearing impairment isn&amp;rsquo;t a rare edge case — the WHO estimates over 430 million people worldwide experience some form of hearing loss, ranging from mild frequency-specific loss to complete deafness. Yet when it comes to public speaking, conferences, and online presentations, captions are still treated as optional. In this episode, Kai Saata — data consultant, cochlear implant user, and co-founder of two national associations in Switzerland — explains why that needs to change.&lt;/p&gt;</description></item><item><title>V034 - Sailing the Sea of Thieves while talking Cloud</title><link>https://chrisreddington.com/video/weekly-vlog-034/</link><pubDate>Sun, 22 Aug 2021 09:30:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-034/</guid><description>&lt;p&gt;A community gaming session where Chris, Simon, James, and John play Sea of Thieves while discussing cloud technology updates and career journeys.&lt;/p&gt;
&lt;h2 id="azure-blog-highlights"&gt;Azure Blog Highlights&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Azure Government Top Secret GA&lt;/strong&gt; — New classification level for U.S. national security missions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Innovating securely with Azure&lt;/strong&gt; — Microsoft&amp;rsquo;s positioning as the only cloud platform built by a security vendor, covering Azure Sentinel, Microsoft 365 Defender, and Azure Defender.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ASP.NET app migration with Azure Migrate&lt;/strong&gt; — Enhanced tooling for discovering and migrating IIS-based and ASP.NET apps to Azure App Service.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Forrester Wave leader for streaming analytics&lt;/strong&gt; — Recognition for Azure Stream Analytics and the broader analytics story.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Genomics on the ISS&lt;/strong&gt; — Azure Functions, Blob Storage, and Power BI supporting genomics testing on the International Space Station with HP Spaceborne Computer 2.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="azure-updates"&gt;Azure Updates&lt;/h2&gt;
&lt;p&gt;An extensive set of updates including Azure Database for PostgreSQL Hyperscale Citus reaching GA across multiple features, CSI storage driver support on AKS, Static Web Apps private endpoints preview, private DNS for private AKS clusters, Azure Cosmos DB continuous backup GA, and numerous VM series retirements scheduled through 2022-2024.&lt;/p&gt;</description></item><item><title>43 - A Decentralized Reference Architecture for Cloud-native Applications</title><link>https://chrisreddington.com/video/decentralised-reference-architecture-cloud-native/</link><pubDate>Fri, 20 Aug 2021 03:30:00 +0000</pubDate><guid>https://chrisreddington.com/video/decentralised-reference-architecture-cloud-native/</guid><description>&lt;p&gt;Asanka Abeysinghe from WSO2 joins Chris Reddington to introduce the &lt;strong&gt;cell-based architecture&lt;/strong&gt; — a decentralised, API-centric reference architecture for cloud-native applications, intentionally designed to be vendor and technology neutral.&lt;/p&gt;
&lt;h2 id="key-topics-covered"&gt;Key Topics Covered&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Why a new reference architecture?&lt;/strong&gt; Most published reference architectures are really reference &lt;em&gt;implementations&lt;/em&gt; tied to specific vendors or products. The cell-based model aims to be genuinely technology-agnostic and reusable across organisations.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Microservices governance challenges&lt;/strong&gt;: As the number of microservices grows, coordinating them becomes complex. Without clear domain boundaries, teams accumulate technical debt and federated governance becomes unmanageable.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Domain-Driven Design (DDD)&lt;/strong&gt;: Scoping microservices by business domain — not arbitrary size — is the foundation. A cell groups related microservices under a single, well-defined boundary aligned to a business capability.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cell-based architecture&lt;/strong&gt;: A cell is an independently deployable unit that exposes a well-defined API surface outward while managing its own internal microservices privately. Analogous to biological cells — self-contained, composable, and independently scalable.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;API management and identity&lt;/strong&gt;: API management, integration middleware, and identity &amp;amp; access management (IAM) are the glue between cells — WSO2 provides these as open-source components.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Aligning architecture, development, and DevOps&lt;/strong&gt;: The three disciplines have historically operated in silos. The cell-based model provides a common unit of work that spans all three, enabling the iterative architecture approach teams need to keep up with evolving systems.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Organisational alignment&lt;/strong&gt;: Cells map naturally to autonomous two-pizza teams structured around business domains, making the architecture a reflection of real team ownership and accountability.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Discussing the Cloud with Chris Integration Platform</title><link>https://chrisreddington.com/video/discussing-cloud-with-chris-integration/</link><pubDate>Thu, 19 Aug 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/discussing-cloud-with-chris-integration/</guid><description>&lt;p&gt;Chris is joined by Karl Cooke (&lt;a href="https://irishtechie.com"&gt;IrishTechie.com&lt;/a&gt;) for a deep dive into the CloudWithChris.com integration platform — a real-world Azure integration architecture built to automate content distribution across social platforms and amplify updates from the Azure, GitHub, and Azure DevOps blogs.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What&amp;rsquo;s covered:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Architecture overview: Azure Functions, Azure Service Bus topics and queues, Azure Table Storage, and Azure Logic Apps&lt;/li&gt;
&lt;li&gt;A Vue.js management UI for approving and scheduling posts before they go out&lt;/li&gt;
&lt;li&gt;Automated posting to Twitter, LinkedIn, Facebook, and Reddit — including amplification of third-party content&lt;/li&gt;
&lt;li&gt;Custom URL shortening via an Azure Function to track per-platform traffic in Google Analytics&lt;/li&gt;
&lt;li&gt;Integration with Buffer for time-slot scheduling, with plans to replace it with a native solution&lt;/li&gt;
&lt;li&gt;Security considerations for Azure Functions (access tokens, JWT roadmap)&lt;/li&gt;
&lt;li&gt;How Google Analytics revealed that Reddit and Twitter drive the most referral traffic&lt;/li&gt;
&lt;li&gt;Open-source plans and community contribution opportunities&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Whether you&amp;rsquo;re a developer, blogger, or content creator, this session is packed with practical ideas for applying Azure integration services to automate the repetitive parts of your workflow.&lt;/p&gt;</description></item><item><title>Find vulns in your code before they find you</title><link>https://chrisreddington.com/video/find-vulns-in-your-code/</link><pubDate>Wed, 18 Aug 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/find-vulns-in-your-code/</guid><description>&lt;p&gt;Security vulnerabilities don&amp;rsquo;t wait for you to find them — and as developers we are often unknowingly introducing them through the open source packages we depend on. In this episode, Chris is joined by DeveloperSteve Coochin, Developer Advocate at Snyk, to explore the real-world scale of the problem and what developers can do about it without slowing down.&lt;/p&gt;
&lt;p&gt;Steve shares findings from his research into vulnerabilities in the PHP ecosystem — some of the results are genuinely surprising — and explains the core challenge: developers are not introducing vulnerabilities maliciously or carelessly, they are simply unaware of what is hiding inside their transitive dependencies. The solution is not to stop using open source (that ship has sailed), but to automate detection and remediation as close to the developer as possible.&lt;/p&gt;</description></item><item><title>How to use the Azure Well-Architected Framework in your projects</title><link>https://chrisreddington.com/blog/azure-well-architected-framework/</link><pubDate>Wed, 18 Aug 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/azure-well-architected-framework/</guid><description>&lt;p&gt;You&amp;rsquo;ll have probably spotted by now that cloud architecture is a passion area of mine, and a regular topic that features on Cloud With Chris. We&amp;rsquo;ve talked a lot about Cloud Design Patterns and requirements-driven engineering in the past, as well as the various pillars of software quality. But one area that hasn&amp;rsquo;t been explored too much is the Azure Well-Architected Framework. So in this blog post, we&amp;rsquo;ll explore that, and identify how it can be used in your own projects.&lt;/p&gt;</description></item><item><title>How to use Managed Identity and APIM to call Azure Services from an APIM policy directly</title><link>https://chrisreddington.com/blog/api-management-and-additional-policies/</link><pubDate>Tue, 17 Aug 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/api-management-and-additional-policies/</guid><description>&lt;p&gt;Back in June, I wrote a blog post on &lt;a href="https://chrisreddington.com/blog/api-management-and-policies/"&gt;API Management and how you can use API Management policies to enforce access restriction policies&lt;/a&gt;. I was going to write a follow up post on how to use API Management policies in further scenarios, though it&amp;rsquo;s one of those scenarios where great minds think alike!&lt;/p&gt;
&lt;p&gt;My friend and colleague Matthew Fortunka recently authored a blog post on the same topic. Matt&amp;rsquo;s post is &lt;a href="https://blog.memoryleek.co.uk/apim/azure/identity/2021/08/13/using-managed-identity-to-connect-to-azure-services-from-api-management.html"&gt;here&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Why you should be using Azure Security Center</title><link>https://chrisreddington.com/blog/azure-security-center-overview/</link><pubDate>Mon, 16 Aug 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/azure-security-center-overview/</guid><description>&lt;p&gt;Whether you&amp;rsquo;re brand new to Azure or have been using it for some time, you have likely either heard of - or come across - Azure Security Center. It&amp;rsquo;s a service which can prove extremely valuable in baselining, measuring and improving your security posture. But, did you know there is additional functionality beyond the free tier? You may have previously known this as the standard tier, or now know this as Azure Defender, where you can opt in for those Azure Services that you particularly want to protect.&lt;/p&gt;</description></item><item><title>V033 - Weekly Technology Vlog #33</title><link>https://chrisreddington.com/video/weekly-vlog-033/</link><pubDate>Sun, 15 Aug 2021 09:30:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-033/</guid><description>&lt;p&gt;Chris delivers a packed weekly update covering the Azure, DevOps and GitHub ecosystems along with Cloud with Chris community news.&lt;/p&gt;
&lt;h2 id="azure-blog-highlights"&gt;Azure Blog Highlights&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Container app modernization&lt;/strong&gt; — Azure Migrate enhancements for converting existing applications into containers, including integration with Key Vault for secrets management.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure DDoS Protection trends&lt;/strong&gt; — Analysis of attack vectors, hot spots, and threat actor patterns across H1 2021, with insights into attack duration and geographic distribution.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Virtual network resizing (preview)&lt;/strong&gt; — A long-awaited capability allowing resizing of peered Azure Virtual Networks, lifting a significant platform limitation.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="azure-updates"&gt;Azure Updates&lt;/h2&gt;
&lt;p&gt;Key announcements include GitHub Codespaces reaching general availability for GitHub Teams and Enterprise Cloud, global disaster recovery via Azure Site Recovery removing region-pairing restrictions, Azure VPN Client for macOS, VM extension auto-upgrade, and Azure Machine Learning previews for cross-location compute and auto start/shutdown.&lt;/p&gt;</description></item><item><title>44 - AKS, AGIC and Kubenet - Tips and tricks to make it work</title><link>https://chrisreddington.com/video/aks-agic-kubenet-tips-tricks/</link><pubDate>Fri, 13 Aug 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/aks-agic-kubenet-tips-tricks/</guid><description>&lt;p&gt;When using Azure Kubernetes Service (AKS), there&amp;rsquo;s a chance that kubenet might be the only possible choice due to your requirements. If so, you may still want to use Application Gateway Ingress Controller (AGIC) to leverage Azure Application Gateway&amp;rsquo;s Web Application Firewall (WAF) capabilities. In this session, we will make the journey together to have a working AGIC in an AKS cluster with kubenet and managed identities.&lt;/p&gt;</description></item><item><title>Why you should get involved in the Tech Community</title><link>https://chrisreddington.com/blog/get-involved-tech-community/</link><pubDate>Wed, 11 Aug 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/get-involved-tech-community/</guid><description>&lt;p&gt;I recently gave a talk on my journey into the Azure Technical Community. While my day job is working for Microsoft, I get a lot of energy through blogging, podcasting and vlogging - ultimately, helping others grow, inspiring and encouraging them along their own technical journey. In this blog, I write about why I got involved with the technical community, some of my reflections on the journey and what I continue to look forward to.&lt;/p&gt;</description></item><item><title>V032 - Talking cloud and playing Among Us with the community</title><link>https://chrisreddington.com/video/weekly-vlog-032/</link><pubDate>Sun, 08 Aug 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-032/</guid><description>&lt;p&gt;Chris hosts a community Among Us gaming stream with around twelve cloud professionals including Azure SMEs, cloud solution architects, developer relations leads, and community organizers. Between rounds, the group dives into substantive tech discussions covering several topics.&lt;/p&gt;
&lt;p&gt;The Kubernetes debate takes center stage, sparked by Ben&amp;rsquo;s viral blog post about not using Kubernetes in production. The group explores when container orchestration adds unnecessary complexity, the trade-offs of serverless alternatives, and how Kubernetes has become a career-driven technology choice rather than always the right architectural fit.&lt;/p&gt;</description></item><item><title>Tales from the Real World - Azure AD B2C: A real silver bullet</title><link>https://chrisreddington.com/video/adb2c-a-real-silver-bullet/</link><pubDate>Fri, 06 Aug 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/adb2c-a-real-silver-bullet/</guid><description>&lt;p&gt;When COVID-19 forced the vOpen.Tech conference to pivot from a physical event to a fully virtual one, the organising team had fewer than two weeks to build a production-ready registration and identity system — with minimal budget. In this episode, Chris is joined by Facundo La Rocca (Faku), a .NET developer and conference organiser from Buenos Aires, Argentina, who shares how Azure AD B2C became the silver bullet that made it possible.&lt;/p&gt;</description></item><item><title>How to be successful with monitoring in Azure</title><link>https://chrisreddington.com/video/be-successful-with-monitoring-in-azure/</link><pubDate>Wed, 04 Aug 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/be-successful-with-monitoring-in-azure/</guid><description>&lt;p&gt;Monitoring is often the last thing teams think about — and one of the most expensive things to get wrong. In this episode, Chris is joined by Vanessa Bruwer, Senior Engineer on Microsoft&amp;rsquo;s FastTrack for Azure team, who has spent over 20 years helping organisations build structured observability strategies. Vanessa explains how the FastTrack team runs focused monitoring assessments that take customers from zero to a fully configured Azure Monitor setup — teaching them to fish rather than fishing for them.&lt;/p&gt;</description></item><item><title>How I use Azure Integration Services on Cloud With Chris</title><link>https://chrisreddington.com/blog/how-i-use-azure-integration-services/</link><pubDate>Mon, 02 Aug 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/how-i-use-azure-integration-services/</guid><description>&lt;h2 id="why-was-a-revamp-needed-of-the-cloud-with-chris-integration-platform"&gt;Why was a revamp needed of the Cloud With Chris integration platform?&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;ve written blog posts previously around &lt;a href="https://chrisreddington.com/blog/storage-queues-vs-service-bus/"&gt;Azure Service Bus vs Azure Storage Queues&lt;/a&gt;, as well as &lt;a href="https://chrisreddington.com/blog/introduction-to-logic-apps/"&gt;an introduction to Azure Logic Apps&lt;/a&gt; and how I used it at the time. Back then, my use-case was fairly rudimentary and focused on a specific scenario. In this blog post, I explain the changes that I have made and how I&amp;rsquo;ve used common cloud design / integration patterns to implement a more robust solution.&lt;/p&gt;</description></item><item><title>V031 - Weekly Technology Vlog #31</title><link>https://chrisreddington.com/video/weekly-vlog-031/</link><pubDate>Sun, 01 Aug 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-031/</guid><description>&lt;p&gt;Chris begins this episode with a heartfelt tribute to Abel Wang, a beloved community member who passed away after a battle with cancer. Abel was the first guest on Cloud with Chris and a major inspiration for Chris starting his content creation journey. Chris reflects on Abel&amp;rsquo;s advice to &amp;ldquo;just start&amp;rdquo; and encourages listeners to embrace the philosophy of &amp;ldquo;get busy living.&amp;rdquo;&lt;/p&gt;
&lt;h2 id="azure-blogs"&gt;Azure Blogs&lt;/h2&gt;
&lt;p&gt;Three posts are covered: tools for optimizing cloud spend including Azure Cost Management, Azure Advisor, and the pricing calculator with consistent dollar-based pricing across regions; July cost management updates featuring App Service Environment v3 savings, disk-level bursting, and new free-tier services like Key Vault, Logic Apps, and Azure Database for MySQL and PostgreSQL; and the growing focus on sustainability and carbon footprint reduction through cloud adoption ahead of COP.&lt;/p&gt;</description></item><item><title>Tales from the Real World – Helping veterans transition into IT and Learn Azure</title><link>https://chrisreddington.com/video/helping-veterans-transition-into-it-and-learn-azure/</link><pubDate>Fri, 30 Jul 2021 18:30:00 +0000</pubDate><guid>https://chrisreddington.com/video/helping-veterans-transition-into-it-and-learn-azure/</guid><description>&lt;p&gt;In this &lt;em&gt;Tales from the Real World&lt;/em&gt; episode, Chris talks with Dr. Keith McNally — a Marine Corps veteran turned college professor — about the &lt;a href="https://military.microsoft.com/mssa/"&gt;Microsoft Software and Systems Academy (MSSA)&lt;/a&gt;, a programme that has helped hundreds of transitioning military members gain Azure cloud skills and find employment in the IT industry.&lt;/p&gt;
&lt;h2 id="whats-covered"&gt;What&amp;rsquo;s covered&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;The programme&lt;/strong&gt; — how Microsoft and Embry-Riddle Aeronautical University partnered to address 500,000 unfilled IT jobs in the US annually, running cohorts across 13–14 military bases from Virginia to Hawaii&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Who it serves&lt;/strong&gt; — why military veterans face a unique and stressful transition cliff when leaving a highly structured environment for the civilian workforce&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Project-based learning (PBL)&lt;/strong&gt; — how cohorts build real Azure solutions (including IoT Hub projects with robots and sensors) rather than studying in the abstract&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Teaching people to think&lt;/strong&gt; — the hardest shift for many veterans: moving from following a manual to reasoning about what-if scenarios, making recommendations, and briefing management&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Soft skills&lt;/strong&gt; — resume writing, LinkedIn networking, communicating technical knowledge, presenting to senior stakeholders; skills civilians take for granted&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure curriculum&lt;/strong&gt; — Windows Server, Azure cloud foundations, and hands-on IoT/cloud projects that produce a tangible portfolio&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Learning lessons for everyone&lt;/strong&gt; — the classroom as a safe space to fail, the importance of being open-minded, and why transitioning careers (military background or not) requires the same mindset shift&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A deeply human episode about technology, learning, community, and making career change achievable for those who&amp;rsquo;ve served.&lt;/p&gt;</description></item><item><title>Choosing between Azure Static Web Apps and Static sites on Azure Storage</title><link>https://chrisreddington.com/blog/static-web-apps-vs-storage-account-static-sites/</link><pubDate>Wed, 28 Jul 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/static-web-apps-vs-storage-account-static-sites/</guid><description>&lt;p&gt;If you&amp;rsquo;ve seen any of my &lt;a href="https://chrisreddington.com/talk"&gt;community talks&lt;/a&gt;, then you&amp;rsquo;ll be aware that Static sites and the Static Content Hosting Pattern is a passion area of mine. In Azure, there are a couple of great services that stand out when building towards this approach. These are Azure Static Web Apps and the Static sites functionality in Azure Blob Storage. But, which one is right for your scenario? Read on to find out more.&lt;/p&gt;</description></item><item><title>V030 - Sailing the Sea of Thieves while talking Cloud</title><link>https://chrisreddington.com/video/weekly-vlog-030/</link><pubDate>Sun, 25 Jul 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-030/</guid><description>&lt;p&gt;Chris and Simon team up for a Sea of Thieves gaming session while diving into the week&amp;rsquo;s cloud news and community updates. The episode covers Azure Firewall Premium and its next-gen capabilities including TLS inspection, IDPS, URL filtering, and web category filtering — along with the pricing differences compared to Firewall Standard. Chris also discusses how 5G and cloud computing intersect for IoT and edge device scenarios.&lt;/p&gt;
&lt;p&gt;On the community side, the episode highlights a Cloud With Chris session on using GitHub Actions to build and deploy static websites, plus a conversation with JJ Asghar about lessons learned from cultivating open source projects and communities. Simon shares his progress studying for the AZ-900 certification using Pluralsight and Whizlabs practice exams, touching on how community involvement and osmosis learning contribute to cloud knowledge.&lt;/p&gt;</description></item><item><title>Lessons Learned from Cultivating Open Source Projects and Communities</title><link>https://chrisreddington.com/video/lessons-learned-cultivating-open-source/</link><pubDate>Fri, 23 Jul 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/lessons-learned-cultivating-open-source/</guid><description>&lt;p&gt;Open source projects and communities are the backbone of modern software development, yet the human side of building and sustaining them is rarely discussed as openly as the technology itself. In this episode, Chris is joined by JJ Asghar, Developer Advocate at IBM (yes, his email really is &lt;a href="mailto:awesome@ibm.com"&gt;awesome@ibm.com&lt;/a&gt;), who shares hard-won lessons from over a decade cultivating open source projects and communities.&lt;/p&gt;
&lt;p&gt;JJ’s journey began tending the FAQ for CRUX, a stripped-down BSD-style Linux distribution, before moving on to the OpenStack-Chef project — building clouds at scale — and later contributing to and leading efforts in the Kubernetes, Tekton, and Istio ecosystems, with a current focus on OpenShift.&lt;/p&gt;</description></item><item><title>Cloud Drops - What is Continuous Integration (CI)?</title><link>https://chrisreddington.com/video/cloud-drops-what-is-continuous-integration/</link><pubDate>Tue, 20 Jul 2021 00:01:00 +0000</pubDate><guid>https://chrisreddington.com/video/cloud-drops-what-is-continuous-integration/</guid><description>&lt;p&gt;Modern software teams use version control branches so engineers can develop independently without blocking each other. Continuous Integration formalises the step of merging those branches back into the main codebase by requiring every change to pass an automated build and test suite before it can be accepted. Tools like GitHub Actions and Azure Pipelines automate compilation, unit tests, integration tests, and other quality checks triggered on every pull request, providing rapid feedback — if a build breaks or tests fail, the engineer knows immediately rather than discovering hard-to-trace bugs later in production.&lt;/p&gt;</description></item><item><title>How GitHub Actions can help in building and deploying a static website and more</title><link>https://chrisreddington.com/talk/azure-thames-github-deploying-static-content/</link><pubDate>Tue, 20 Jul 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/azure-thames-github-deploying-static-content/</guid><description/></item><item><title>V029 - Sailing the Sea of Thieves while talking Cloud</title><link>https://chrisreddington.com/video/weekly-vlog-029/</link><pubDate>Sun, 18 Jul 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-029/</guid><description>&lt;p&gt;In this combined gaming and tech update session, Chris is joined by community members James Cook, Simon, and Dean for a Sea of Thieves adventure while weaving in weekly cloud news and updates.&lt;/p&gt;
&lt;h2 id="azure-blogs"&gt;Azure Blogs&lt;/h2&gt;
&lt;p&gt;Chris covers three Azure blog posts focused on optimizing cloud spend with cost management tools (Azure Advisor, pricing calculator, and consistent dollar-based pricing across regions), a recap of July cost management updates including App Service Environment v3 savings and new free services, and the growing importance of sustainability and carbon footprint reduction through cloud adoption.&lt;/p&gt;</description></item><item><title>IoT Simulation, Azure IoT and real world learnings</title><link>https://chrisreddington.com/video/iot-simulation-azure-iot-and-real-world-learnings/</link><pubDate>Fri, 16 Jul 2021 15:30:00 +0000</pubDate><guid>https://chrisreddington.com/video/iot-simulation-azure-iot-and-real-world-learnings/</guid><description>&lt;p&gt;The Internet of Things (IoT) has evolved from a collection of smart gadgets into a powerful ecosystem where physical devices connect to cloud services to deliver real business value. In this episode, Peter Gallagher — Microsoft Azure MVP, Pluralsight Author, and organiser of multiple .NET and IoT meetup groups — shares his experience building and learning in the IoT space.&lt;/p&gt;
&lt;p&gt;Key topics covered include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Azure IoT Hub and Azure IoT Edge&lt;/strong&gt; — connecting, managing, and processing data from devices at the edge and in the cloud&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Digital Twins&lt;/strong&gt; — representing real-world assets as cloud-based models to enable monitoring, simulation, and analytics&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;IoT simulators&lt;/strong&gt; — practical tools for prototyping without physical hardware, with analogies to flight simulators and Formula One telemetry&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Raspberry Pi and maker culture&lt;/strong&gt; — getting hands-on with IoT devices as a gateway into the broader ecosystem&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Community and content creation&lt;/strong&gt; — Peter&amp;rsquo;s journey from lone .NET developer to meetup organiser, Pluralsight author, and co-host of the &lt;em&gt;IoT Live&lt;/em&gt; Twitch show&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Peter also highlights the breadth of languages IoT development touches — from C# and .NET to Node.js, VB, and Assembler — reinforcing that IoT is a diverse and ever-evolving space. Whether you are a seasoned cloud architect or a curious maker with a Raspberry Pi, this episode delivers practical guidance and genuine enthusiasm for what is possible when smart devices meet cloud power.&lt;/p&gt;</description></item><item><title>Making cloudwithchris.com more accessible</title><link>https://chrisreddington.com/blog/making-cloud-with-chris-more-accessible/</link><pubDate>Fri, 16 Jul 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/making-cloud-with-chris-more-accessible/</guid><description>&lt;p&gt;I&amp;rsquo;ve recently been on a journey. I&amp;rsquo;ve recently come across a number of accessibility issues on &lt;a href="https://cloudwithchris.com"&gt;cloudwithchris.com&lt;/a&gt;. I&amp;rsquo;ve been working on making the site more accessible, and I&amp;rsquo;ve also been working on making it more inclusive. In this blog post, I&amp;rsquo;m going to outline some of my findings, the tools that I used to identify those, and how I&amp;rsquo;ve worked to fix them. This is an ongoing project, so I&amp;rsquo;ll provide further posts as it makes sense.&lt;/p&gt;</description></item><item><title>Azure Storage Queues vs Azure Service Bus Queues - Which should I use when?</title><link>https://chrisreddington.com/blog/storage-queues-vs-service-bus/</link><pubDate>Tue, 13 Jul 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/storage-queues-vs-service-bus/</guid><description>&lt;p&gt;I&amp;rsquo;ve recently been involved in a few integration focused discussions, where there is a requirement to bring together multiple separate systems. If you&amp;rsquo;ve been following the Architecting for the Cloud, one pattern at a time series, then you&amp;rsquo;ll have heard Peter Piper repeat a common phrase - &amp;ldquo;High Cohesion, Low Coupling&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;High cohesion and low coupling effectively means that these separate systems should relate to each other (i.e. work well with each other), without tying any dependencies to each other (so they can exist well independently of each other). This is where introducing technologies such as API Management (to act as a Facade), or technologies such as Azure Service Bus and Azure Storage Queues (to act as a queue or buffer between the producer and consumer) comes into play.&lt;/p&gt;</description></item><item><title>V028 - Weekly Technology Vlog #28</title><link>https://chrisreddington.com/video/weekly-vlog-028/</link><pubDate>Sun, 11 Jul 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-028/</guid><description>&lt;p&gt;Chris returns from a week off with a packed set of Azure, Azure DevOps, and GitHub updates, plus a Cloud With Chris content roundup.&lt;/p&gt;
&lt;h2 id="azure-blog-updates"&gt;Azure Blog Updates&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Genomic Data Analysis with Azure CycleCloud&lt;/strong&gt; — Using CycleCloud for high-performance compute in healthcare and genomics research.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resilience Threat Modeling for Distributed Systems&lt;/strong&gt; — A deep dive into building a culture of risk management, covering premortems, failure mode analysis, postmortems, and evolving threat models as living documents rather than static artifacts.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Privileged Identity Management with Azure Lighthouse&lt;/strong&gt; — Preview of Azure AD PIM integration with Azure Lighthouse for just-in-time, time-bound access control across multi-tenant environments, reinforcing zero trust principles.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure Well-Architected Framework — Reliability&lt;/strong&gt; — Updates to the WAF reliability pillar, emphasizing shared responsibility in cloud, availability zones, multi-region deployments, and the free self-assessment tool.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Apache Spark 3.0 Connector for SQL Server GA&lt;/strong&gt; — The Spark connector for SQL Server and Azure SQL based on Data Source v1 API is now generally available.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="azure-updates"&gt;Azure Updates&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;VM Bursting GA&lt;/strong&gt; — Virtual machine bursting now generally available on DSv4, ESv4, FSv2, B-series and more, enabled by default at no additional cost.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cognitive Services Form Recognizer Containers&lt;/strong&gt; — Container support now in public preview for running Form Recognizer close to data sources.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;IoT Hub IP Address Change&lt;/strong&gt; — Infrastructure update changing underlying DNS records; best practice is to avoid IP address dependencies.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OWASP ModSecurity CRS 3.2 for WAF&lt;/strong&gt; — Core Rule Set 3.2 now in public preview for Azure Web Application Firewall on Application Gateway.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure Communication Services Direct Routing&lt;/strong&gt; — Public preview enabling Teams integration with telephony infrastructure for end-to-end customer communication scenarios.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;App Service Environment v3&lt;/strong&gt; — Major update removing the stamp fee, simplifying deployment, and adjusting pricing for the single-tenant App Service model.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Key Vault Secret References with User-Assigned Managed Identity&lt;/strong&gt; — App Service and Azure Functions can now use user-assigned managed identities for Key Vault references, eliminating secrets in code.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure Bastion Standard SKU Preview&lt;/strong&gt; — New SKU supporting manual scaling (2–50 instances), IP-based connections, and cross-network connectivity.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Blob Storage Container Soft Delete GA&lt;/strong&gt; — Container-level soft delete is now generally available.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="azure-devops-updates"&gt;Azure DevOps Updates&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Azure Fun Bites episode on Microsoft Power Apps and the Power Platform for citizen developers.&lt;/li&gt;
&lt;li&gt;Community stories on .NET 6 deployments, C# Azure Functions with multi-stage pipelines, on-premises performance testing, deploying to Azure Container Instances, Windows 10 Enterprise multi-session with Terraform and Packer, and adding accessibility to development processes.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="github-updates"&gt;GitHub Updates&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub Availability Report for June&lt;/strong&gt; — No downtime incidents reported for core services.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cross-Cluster Associations in Rails 7&lt;/strong&gt; — Engineering post on GitHub&amp;rsquo;s Rails monolith architecture with 15 database primaries and replicas, functional partitioning, and horizontal sharding considerations.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="cloud-with-chris-roundup"&gt;Cloud With Chris Roundup&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Weekly Vlog 27 featured GitHub Copilot exploration.&lt;/li&gt;
&lt;li&gt;Blog post introducing the Cloud Native Computing Foundation (CNCF) — first in a series covering individual CNCF projects.&lt;/li&gt;
&lt;li&gt;Episode on diversity and inclusion with Melissa, discussing neurodiversity, mental health, and building diverse teams to avoid groupthink.&lt;/li&gt;
&lt;li&gt;Cloud Gaming Notes with Lee Williams on esports, streaming, and cloud-enabled gaming.&lt;/li&gt;
&lt;li&gt;Episode with Steph Martin on polyglot persistence — choosing the right data stores (SQL, Blob Storage, Azure Search, Time Series Insights) for different scenarios.&lt;/li&gt;
&lt;li&gt;Upcoming: Pete Gallagher on IoT simulation with Azurio and real-world learnings.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>42 - How to choose the 'Right' Datastore for your scenario</title><link>https://chrisreddington.com/video/choosing-the-right-datastore/</link><pubDate>Fri, 09 Jul 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/choosing-the-right-datastore/</guid><description>&lt;p&gt;With so many data store options in Azure — relational SQL, NoSQL, document databases, blob storage, key-value stores, and more — how do you choose the right one for your workload? In this episode, Chris Reddington is joined by Steph Martin to explore the concept of polyglot persistence and the trade-offs between data store types. From Azure SQL and Cosmos DB to blob storage and microservices data patterns, they discuss how workload requirements, access patterns, RTO/RPO targets, and application architecture should guide your data platform decisions. A practical guide for architects and developers navigating the modern data landscape on Azure.&lt;/p&gt;</description></item><item><title>CGN6 - Cloud Gaming Notes Episode 6 - Gaming as Entertainment - Esports and Streaming</title><link>https://chrisreddington.com/video/game-streaming-and-entertainment/</link><pubDate>Wed, 07 Jul 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/game-streaming-and-entertainment/</guid><description>&lt;p&gt;Game streaming and esports have transformed gaming from a private pastime into a global spectator sport, with cloud infrastructure at the heart of that transformation. In this Cloud Gaming Notes episode, Chris is joined by Lee Williams to explore how platforms like Twitch and YouTube Gaming have built entire business ecosystems around low-latency live content delivery.&lt;/p&gt;
&lt;p&gt;The conversation examines the business models that allow individual streamers to earn a living — from subscriptions and donations to sponsorship and ad revenue — and reflects on how this mirrors the broader shift towards live, social content across platforms like Instagram Live, Facebook Live, and Periscope. A core theme running through the episode is community: how the social bonds formed around shared gaming experiences are what keep audiences engaged and platforms sticky.&lt;/p&gt;</description></item><item><title>Why a Diverse Team is Crucial to Startup Success</title><link>https://chrisreddington.com/video/diverse-team-crucial-to-startup-success/</link><pubDate>Tue, 06 Jul 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/diverse-team-crucial-to-startup-success/</guid><description>&lt;p&gt;Diverse teams are not just a social imperative — they are a competitive advantage. In this episode, Melissa Jerkoys, co-founder of &lt;em&gt;Diversify Thinking&lt;/em&gt; and a 25-year veteran of the technology industry, joins Chris Reddington to explore why diversity is critical to startup and enterprise success.&lt;/p&gt;
&lt;p&gt;The conversation covers multiple dimensions of diversity:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Demographic diversity&lt;/strong&gt; — age, race, sex, and ethnicity, and how these shape team dynamics and customer empathy&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Personality diversity&lt;/strong&gt; — introvert versus extrovert, differing thinking styles, and how varied perspectives drive better decisions&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Functional diversity&lt;/strong&gt; — engineering, design, copywriting, and other skill sets that together form a complete team&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Melissa shares her personal journey as a woman in technology who has consistently been the only woman in the room, the communities she built to support others in the same position, and the realisation that safe spaces alone do not solve the underlying problem. That insight led her and her co-founder to establish &lt;em&gt;Diversify Thinking&lt;/em&gt; — a grassroots effort to raise the level of action to meet the level of conversation.&lt;/p&gt;</description></item><item><title>Introducing the Cloud Native Compute Foundation (CNCF)</title><link>https://chrisreddington.com/blog/intro-to-cncf/</link><pubDate>Mon, 05 Jul 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/intro-to-cncf/</guid><description>&lt;p&gt;Inspired by the &lt;a href="https://chrisreddington.com/episode/top-new-cncf-projects"&gt;recent episode with Annie Talvasto&lt;/a&gt;, I wanted to put together a blog post that will introduce an ongoing series on Cloud With Chris. Before we introduce that series though, it&amp;rsquo;s important that we first introduce the Cloud Native Compute Foundation (more commonly known as CNCF).&lt;/p&gt;
&lt;p&gt;The CNCF is a Linux Foundation project that provides a set of tools and services for running cloud native applications. The project was started in 2016 by a group of companies including Red Hat, Google, IBM, and others. The project is led by a team of core committers and several external companies. The project is open source and is available on GitHub. (Fun fact: That line was added by GitHub Co-Pilot! If you&amp;rsquo;re reading this and recognising this line, let me know).&lt;/p&gt;</description></item><item><title>V027 - Weekly Technology Vlog #27</title><link>https://chrisreddington.com/video/weekly-vlog-027/</link><pubDate>Sun, 04 Jul 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-027/</guid><description>&lt;p&gt;Vlog #27 was the first dedicated tech episode under the new alternating format (gaming one week, tech deep-dives the next). No Sea of Thieves this time — the full runtime went to GitHub Copilot, CNCF, Kubernetes, Azure Arc, and more.&lt;/p&gt;
&lt;h2 id="github-copilot-technical-preview"&gt;GitHub Copilot Technical Preview&lt;/h2&gt;
&lt;p&gt;Chris walked through a live GitHub Copilot demo across two languages, showing how the AI pair programmer synthesises code from natural language comments and surrounding context.&lt;/p&gt;</description></item><item><title>41 - DevOps on Azure</title><link>https://chrisreddington.com/video/devops-on-azure/</link><pubDate>Fri, 02 Jul 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/devops-on-azure/</guid><description>&lt;p&gt;In this episode, Chris is joined by Mert Yeter — software architect, Azure MVP, and Traefik Ambassador — for a live-demo-driven tour of the key DevOps building blocks on Azure.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Key topics covered:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Azure DevOps Starter&lt;/strong&gt;: Spinning up a complete CI/CD pipeline for a containerized .NET application in minutes — including a Git repository, build pipeline, release pipeline, and Azure Container Registry — without writing YAML from scratch&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure Container Registry (ACR)&lt;/strong&gt;: Storing and managing container images within the Azure ecosystem&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure Container Instances (ACI) and Azure Kubernetes Service (AKS)&lt;/strong&gt;: Deploying containers at different scales, from quick single-container workloads to fully orchestrated production clusters&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Traefik&lt;/strong&gt;: A cloud-native reverse proxy and load balancer that integrates natively with Kubernetes, featuring dynamic service discovery, pluggable middleware, and a built-in dashboard for monitoring cluster ingresses and service health&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Traefik Pilot and Traefik Mesh&lt;/strong&gt;: An introduction to the broader Traefik ecosystem, including service mesh capabilities and the difference from sidecar-based approaches&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Mert also highlights the value of the open-source community around projects like Traefik and encourages viewers to explore contributing via GitHub. If you want to see how quickly you can go from zero to a production-ready containerized deployment pipeline on Azure, this session is a great starting point.&lt;/p&gt;</description></item><item><title>An introduction to Cloud, Azure and the Azure Portal</title><link>https://chrisreddington.com/talk/lati-bar/</link><pubDate>Thu, 01 Jul 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/lati-bar/</guid><description/></item><item><title>Top new CNCF projects to look out for</title><link>https://chrisreddington.com/video/top-new-cncf-projects/</link><pubDate>Wed, 30 Jun 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/top-new-cncf-projects/</guid><description>&lt;p&gt;The Cloud Native Computing Foundation (CNCF) gave us Kubernetes and Prometheus — but the ecosystem spans over 90 projects across sandbox, incubating, and graduated tiers. Chris is joined by Annie Talvasto (CNCF/Kubernetes meetup organizer for Finland and host of the Cloud Gossip podcast) to walk through the most exciting projects you should know about.&lt;/p&gt;
&lt;p&gt;They cover:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Helm&lt;/strong&gt; — the de facto Kubernetes package manager, making deployments, upgrades, and rollbacks dramatically simpler than raw manifests&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Artifact Hub&lt;/strong&gt; — a centralised CNCF sandbox project for discovering Helm charts and other cloud native artifacts, replacing the old Helm Hub&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Linkerd&lt;/strong&gt; — a lightweight, Rust-powered service mesh delivering observability, reliability, and security for Kubernetes microservices without complex APIs&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;KUDO&lt;/strong&gt; — the Kubernetes Universal Declarative Operator, enabling stateful app operator creation without thousands of lines of custom Go code&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;KEDA&lt;/strong&gt; — Kubernetes Event-Driven Autoscaling, extending Kubernetes beyond CPU/memory scaling to external event sources like queues and message brokers&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Annie also explains CNCF&amp;rsquo;s three project maturity stages (sandbox, incubating, graduated) and why understanding them matters when evaluating production readiness — along with practical advice on how to get involved in the open source community behind these projects.&lt;/p&gt;</description></item><item><title>Using API Management Policies to enforce access restriction policies</title><link>https://chrisreddington.com/blog/api-management-and-policies/</link><pubDate>Mon, 28 Jun 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/api-management-and-policies/</guid><description>&lt;p&gt;We &lt;a href="https://chrisreddington.com/blog/introduction-to-api-management"&gt;recently introduced you to API Management, how it maps to architectural principals and why you may consider using it as a producer or consumer of APIs&lt;/a&gt;. In this post, we&amp;rsquo;ll be continuing on the story - focusing mostly on the API Management policies functionality.&lt;/p&gt;
&lt;h2 id="an-introduction-to-api-management-policies"&gt;An introduction to API Management Policies&lt;/h2&gt;
&lt;p&gt;Azure API Management Policies are a way to implement configuration which changes the behaviour of an API Operation or set of APIs. These policies are executed sequentially in either the request to or response from an API. Consider the API Management as a broker between the client and the API, acting a little like a gatekeeper. This means that policies have the potential to be used in a variety of scenarios, e.g. rate limiting, conversion from XML to JSON or validate a JSON Web Token (JWT), which is a common activity for Authentication/Authorization in modern web applications. In this blog post, I&amp;rsquo;m going to assume that you have a working understanding of these concepts (otherwise the blog post would become too large!)&lt;/p&gt;</description></item><item><title>V026 - Sailing the Sea of Thieves while talking Cloud</title><link>https://chrisreddington.com/video/weekly-vlog-026/</link><pubDate>Sun, 27 Jun 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-026/</guid><description>&lt;p&gt;Chris kicks off a new biweekly format combining tech updates with community gaming sessions, joined by Cloud Family members James Cook (Cloud &amp;amp; DevOps Advocate), Mert Ata (Software Architect &amp;amp; Azure MVP), and Dean Ellerby (Get Modern channel).&lt;/p&gt;
&lt;h2 id="azure-blog-updates"&gt;Azure Blog Updates&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Azure FX Series VMs&lt;/strong&gt; — New high-performance compute virtual machine SKUs with benchmark details for HPC workloads.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NFS 3.0 for Azure Blob Storage&lt;/strong&gt; — NFS 3.0 protocol support is now generally available for Blob Storage.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;JBoss on Azure App Service&lt;/strong&gt; — Red Hat JBoss EAP is now GA on Azure App Service, available as a runtime stack selection.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ISC 2021 HPC Innovations&lt;/strong&gt; — Microsoft presenting at the ISC 2021 conference on high-performance compute advances.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cloud Adoption Framework for Retail&lt;/strong&gt; — New retail-specific guidance for cloud adoption and migration planning.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure VM Image Builder GA&lt;/strong&gt; — Managed service for building VM images (similar to HashiCorp Packer) is now generally available.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="azure-devops-updates"&gt;Azure DevOps Updates&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Azure Fun Bytes episode on Azure Data Factory security.&lt;/li&gt;
&lt;li&gt;Jay Gordon on creating a personal blog with Gatsby and Azure Static Web Apps.&lt;/li&gt;
&lt;li&gt;Community stories covering dark/light themes in Azure DevOps, GitHub Actions with Bicep, Azure Key Vault secrets in variable groups, and more.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="github-updates"&gt;GitHub Updates&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub Packages Container Registry GA&lt;/strong&gt; — Container registry is now generally available.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open Graph Image Framework&lt;/strong&gt; — Engineering post on how GitHub builds and renders repository preview images.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;New GitHub Issues Beta&lt;/strong&gt; — Introduction to the redesigned GitHub Issues experience with project planning features.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Security Bug Bounty — 7 Years&lt;/strong&gt; — Retrospective on the bug bounty program with 2020 highlights.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="cloud-with-chris-roundup"&gt;Cloud With Chris Roundup&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Introduction to Azure API Management blog post covering core concepts for API consumers and producers.&lt;/li&gt;
&lt;li&gt;Session with Aaron Davies on Agile coaching and the agile mindset.&lt;/li&gt;
&lt;li&gt;Upcoming: Annie Talvasto on top CNCF projects, Mert Ata on DevOps and container technologies with Traefik, and a live event with The Latte Bar on Azure fundamentals.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="sea-of-thieves--cloud-gaming"&gt;Sea of Thieves &amp;amp; Cloud Gaming&lt;/h2&gt;
&lt;p&gt;The crew sails a galleon, completing treasure vault quests and battling skeleton ships while discussing cloud gaming infrastructure. Topics include how Sea of Thieves leverages Azure cloud servers for real-time multiplayer coordination, world events, inventory management, and continuous deployment — a real-world example of DevOps principles applied to game development.&lt;/p&gt;</description></item><item><title>40 - Failed lawyer stumbles into tech - Agile from the trenches</title><link>https://chrisreddington.com/video/agile-from-the-trenches/</link><pubDate>Fri, 25 Jun 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/agile-from-the-trenches/</guid><description>&lt;p&gt;Chris is joined by long-time friend Erin Davies — an Agile Coach who accidentally stumbled into tech after applying for what she thought was a buying and merchandising role at John Lewis. In this candid, wide-ranging conversation they cover:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Erin&amp;rsquo;s unconventional journey&lt;/strong&gt; — from studying law and sociology at Warwick, to a student union sabbatical role, to landing an IT grad scheme at John Lewis without realising it was IT&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Agile in the real world&lt;/strong&gt; — what Agile coaching actually looks like on the ground, the gap between theory and practice, and why the people side of Agile is often harder than the process&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Women in tech&lt;/strong&gt; — honest anecdotes about being talked over at conferences, having a housemate insist she didn&amp;rsquo;t work in IT, and the subtle ways assumptions still shape experiences in the industry&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Imposter syndrome&lt;/strong&gt; — and how non-traditional backgrounds can become a genuine advantage&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Content creation &amp;amp; podcasting&lt;/strong&gt; — why Chris encourages everyone to just start, the lessons learned from 15+ months of Cloud With Chris, and Erin&amp;rsquo;s plans for her own podcast&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;An episode that&amp;rsquo;s as entertaining as it is insightful — grab a drink and enjoy.&lt;/p&gt;</description></item><item><title>Introduction to Azure API Management</title><link>https://chrisreddington.com/blog/introduction-to-api-management/</link><pubDate>Tue, 22 Jun 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/introduction-to-api-management/</guid><description>&lt;p&gt;We now live in a world where multiple systems connect or integrate with each other. This is not new, and has been a technology trend for some time. But - in a world of distributed compute (on the increase, thanks to cloud), and the rise of microservices, we find that we have more and more services that we need to integrate with each other. Integration is typically handled through a couple of routes, including Enterprise Messaging (such as message brokers - which we won&amp;rsquo;t cover in this blog post), as well as APIs (Application Programming Interface). There are many areas that we should consider when building our APIs, and that&amp;rsquo;s what we&amp;rsquo;ll give some thought to in this post.&lt;/p&gt;</description></item><item><title>V025 - Tech Roundup #25 (Sailing the seas on Sea of Thieves)</title><link>https://chrisreddington.com/video/weekly-vlog-025/</link><pubDate>Sun, 20 Jun 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-025/</guid><description>&lt;p&gt;Weekly vlog #25 brought something different: a live gaming stream in Sea of Thieves as the weekly tech roundup format. The experiment tested audience appetite for alternating gaming sessions and more focused technical vlogs — and it coincided with the Sea of Thieves × Pirates of the Caribbean crossover launching the very next day.&lt;/p&gt;
&lt;h2 id="the-format-experiment"&gt;The Format Experiment&lt;/h2&gt;
&lt;p&gt;Chris and Simon sailed the seas together while discussing the week&amp;rsquo;s tech news, with Dean joining partway through. The idea: alternate gaming weeks (more casual community vibes) with tech-only weeks (deeper developer content). The gaming session built community while still delivering Azure and GitHub updates, just with a different energy.&lt;/p&gt;</description></item><item><title>39 - A discussion with John Lunn</title><link>https://chrisreddington.com/video/discussion-with-john-lunn/</link><pubDate>Fri, 18 Jun 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/discussion-with-john-lunn/</guid><description>&lt;p&gt;Chris sits down with John Lunn (aka jonnychipz) — technical architect at BT Enterprise, co-organiser of the Welsh Azure User Group, and creator of johnnychips.com. John shares his journey from M365 and unified comms into Azure cloud architecture, what sparked his commitment to the #100DaysOfCloud challenge, and his practical advice on navigating certifications, managing the overwhelming breadth of the cloud ecosystem, and why getting involved in the community is one of the fastest ways to grow. Whether you&amp;rsquo;re just starting out with Azure or thinking about launching a blog or YouTube channel, there&amp;rsquo;s plenty to take away here.&lt;/p&gt;</description></item><item><title>Introduction to Project Bicep - The evolution of ARM Templates</title><link>https://chrisreddington.com/blog/introduction-to-bicep/</link><pubDate>Fri, 18 Jun 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/introduction-to-bicep/</guid><description>&lt;p&gt;You may have heard about ARM Templates. You may have heard about Project Bicep. What are they, how do they differ? Why would I use one over the other? That&amp;rsquo;s exactly what we&amp;rsquo;ll be exploring throughout this blog post!&lt;/p&gt;
&lt;h2 id="introducing-azure-resource-manager-arm-and-arm-templates"&gt;Introducing Azure Resource Manager (ARM) and ARM templates&lt;/h2&gt;
&lt;p&gt;Whether you&amp;rsquo;ve been working with Azure for some time, or only recently started - You will have likely heard of Azure Resource Manager (ARM) Templates.&lt;/p&gt;</description></item><item><title>Azure &amp; VMWare - A Discussion with Shannon Kuehn</title><link>https://chrisreddington.com/video/azure-and-vmware/</link><pubDate>Wed, 16 Jun 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/azure-and-vmware/</guid><description>&lt;p&gt;Chris is joined by Shannon Kuehn, a Senior Cloud Advocate at Microsoft, for an accessible deep dive into Azure VMware Solution (AVS) — the dedicated VMware platform hosted within Azure datacentres.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What&amp;rsquo;s covered:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;What Azure VMware Solution is: dedicated bare metal nodes running vSphere, ESXi, vCenter, vSAN, and NSX-T inside Azure&lt;/li&gt;
&lt;li&gt;Why organisations on VMware on-premises choose AVS over re-platforming — meeting infrastructure teams where they are&lt;/li&gt;
&lt;li&gt;The AVS architecture: dedicated address space (/22 CIDR), ExpressRoute circuit, and peering into an Azure VNet to unlock integrations&lt;/li&gt;
&lt;li&gt;Networking prerequisites: ExpressRoute Global Reach, BGP routing, and site-to-site VPN as an alternative during setup&lt;/li&gt;
&lt;li&gt;HCX (Hybrid Cloud Extension): site pairings, tunnels, and live vMotion for zero-downtime VM migration from on-premises to Azure&lt;/li&gt;
&lt;li&gt;HCX Advanced (3 site pairings) vs. HCX Enterprise (up to 10 site pairings) licensing&lt;/li&gt;
&lt;li&gt;Azure integrations unlocked by AVS: Azure Security Center, Azure Active Directory, Application Gateway, API Management, and PaaS services via VNet injection&lt;/li&gt;
&lt;li&gt;Infrastructure as Code with Bicep and ARM templates for AVS deployments&lt;/li&gt;
&lt;li&gt;Pricing, regional availability, the AV36 SKU, and the capacity-management subscription whitelisting process&lt;/li&gt;
&lt;li&gt;How Azure ExpressRoute Global Reach pricing reductions are improving the economics of migration&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ideal for infrastructure engineers, cloud architects, and VMware administrators exploring modernisation paths to Azure without a forklift migration.&lt;/p&gt;</description></item><item><title>Using the GitHub self-hosted runner and Azure Virtual Machines to login with a System Assigned Managed Identity</title><link>https://chrisreddington.com/blog/github-selfhosted-runner-on-azure/</link><pubDate>Mon, 14 Jun 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/github-selfhosted-runner-on-azure/</guid><description>&lt;p&gt;I recently started thinking about the typical setup process for a GitHub Action Workflow which will requires access to Azure. Typically, the process is to use the &lt;code&gt;Azure/login&lt;/code&gt; GitHub Action, and then use the &lt;code&gt;azure/cli&lt;/code&gt; or another Azure GitHub Action to deploy into GitHub. This is a nice approach. However, from my initial research - I wasn&amp;rsquo;t able to see a way use the &lt;code&gt;Azure/login&lt;/code&gt; GitHub Action to deploy into Azure using a System Assigned Managed Identity. This got me wondering&amp;hellip; Is this possible?&lt;/p&gt;</description></item><item><title>V024 - Weekly Technology Vlog #24</title><link>https://chrisreddington.com/video/weekly-vlog-024/</link><pubDate>Mon, 14 Jun 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-024/</guid><description>&lt;p&gt;Vlog #24 came to you on a Monday morning — a sunny weekend meant Sunday&amp;rsquo;s scheduled recording was skipped in favour of family celebrations. Same great content, one day later.&lt;/p&gt;
&lt;h2 id="azure-news"&gt;Azure News&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Azure Virtual Desktop&lt;/strong&gt; (the newly rebranded Windows Virtual Desktop) continued to generate buzz, with Azure Active Directory support, multi-session Windows 10 Enterprise VM management, and expanded enterprise scenarios all now available.&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;Azure API for FHIR&lt;/strong&gt; update highlighted compliance deadlines relevant to healthcare organisations using the CMS Patient Access and Provider Directory APIs.&lt;/p&gt;</description></item><item><title>38 - Hands-on with The Geode Pattern (Build globally distributed applications!)</title><link>https://chrisreddington.com/video/geode-pattern-hands-on/</link><pubDate>Fri, 11 Jun 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/geode-pattern-hands-on/</guid><description>&lt;p&gt;Building on the theoretical foundation from episode 11, this hands-on session with Will Eastbury demonstrates what it actually takes to deploy and operate a Geode pattern implementation on Azure.&lt;/p&gt;
&lt;p&gt;Will walks through a distributed OData service running across three Azure regions — US West, Australia Southeast, and UK West — showing how Azure Front Door acts as the single intelligent entry point that routes users to their nearest geode. Azure Cosmos DB serves as the multi-region data backplane, making every geode identical and capable of servicing any tenant.&lt;/p&gt;</description></item><item><title>Hybrid Cloud Update and Life as a Cloud Advocate</title><link>https://chrisreddington.com/video/hybrid-cloud-life-as-cloud-advocate/</link><pubDate>Thu, 10 Jun 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/hybrid-cloud-life-as-cloud-advocate/</guid><description>&lt;p&gt;Chris Reddington is joined by Sarah Lean (Techielass), Senior Cloud Advocate at Microsoft, for a wide-ranging session covering two distinct topics.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Azure Arc &amp;amp; Hybrid Cloud&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The first half focuses on Azure Arc — Microsoft&amp;rsquo;s solution for extending Azure management capabilities beyond the public cloud. Sarah explains how Azure Arc acts as a unified management plane for on-premises servers, Kubernetes clusters, data services, and (more recently) application services, regardless of whether they live in your own datacentre, AWS, or Google Cloud. Key capabilities discussed include:&lt;/p&gt;</description></item><item><title>Using Azure Arc for Apps - Part 6 - Setting up Event Grid on Kubernetes with Azure Arc</title><link>https://chrisreddington.com/blog/azure-arc-for-apps-part-6/</link><pubDate>Thu, 10 Jun 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/azure-arc-for-apps-part-6/</guid><description>&lt;h2 id="setting-up-event-grid-on-kubernetes-with-azure-arc"&gt;Setting up Event Grid on Kubernetes with Azure Arc&lt;/h2&gt;
&lt;p&gt;In &lt;a href="https://chrisreddington.com/blog/azure-arc-for-apps-part-1"&gt;part 1&lt;/a&gt; of this &lt;em&gt;Using Azure Arc for Apps&lt;/em&gt; series, we explored Azure Arc and Azure Arc enabled Kubernetes clusters. In this post, we&amp;rsquo;ll be exploring Event Grid for Kubernetes. At time of writing, this approach is in public preview, so we may see certain limitations / features that are not yet available.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Tip:&lt;/strong&gt; &lt;a href="https://chrisreddington.com/blog/azure-arc-for-apps-part-1"&gt;Part 1&lt;/a&gt; is a pre-requisite to working through this blog post, if you plan to get hands on. As noted above, an Azure Arc enabled Kubernetes cluster is a pre-requisite in the scenario we&amp;rsquo;re walking through.&lt;/p&gt;</description></item><item><title>Static Web Apps in Azure | DEVREAL.io</title><link>https://chrisreddington.com/talk/devreal-static-webapps/</link><pubDate>Wed, 09 Jun 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/devreal-static-webapps/</guid><description/></item><item><title>Discussing the Cloud with Chris GitHub Actions Usage</title><link>https://chrisreddington.com/video/discussing-cloud-with-chris-github-action-usage/</link><pubDate>Mon, 07 Jun 2021 20:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/discussing-cloud-with-chris-github-action-usage/</guid><description>&lt;p&gt;Chris is joined by Karl Cooke (IrishTechie) for a live deep-dive into the GitHub Actions workflows powering CloudWithChris.com. They explore why GitHub was chosen over Azure DevOps, walk through a real-world CI/CD pipeline for a Hugo static site deployed to Azure Blob Storage with CDN purging, and examine how to manage secrets and approvals using GitHub Environments. The session also covers linting Markdown with GitHub Super Linter, early thinking on Playwright-based UI tests, the security considerations around third-party actions from the marketplace, and building a custom .NET GitHub Action for content cross-posting.&lt;/p&gt;</description></item><item><title>V023 - Weekly Technology Vlog #23</title><link>https://chrisreddington.com/video/weekly-vlog-023/</link><pubDate>Sun, 06 Jun 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-023/</guid><description>&lt;p&gt;In weekly vlog #23, Chris covers a packed week of Azure, Azure DevOps, and GitHub news alongside a series of Cloud with Chris episode recaps.&lt;/p&gt;
&lt;h2 id="azure-news"&gt;Azure News&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Azure Virtual Desktop&lt;/strong&gt; (formerly Windows Virtual Desktop) received a full rebrand and platform update, adding Azure Active Directory support, multi-session Windows 10 Enterprise VM management, and quick-start application scenarios — a timely evolution for a service that kept organisations productive throughout the pandemic.&lt;/p&gt;</description></item><item><title>37 - Your Career and Your Mental Health</title><link>https://chrisreddington.com/video/your-career-and-your-mental-health/</link><pubDate>Fri, 04 Jun 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/your-career-and-your-mental-health/</guid><description>&lt;p&gt;Mental health and career development are more closely intertwined than people often appreciate. In this episode, Chris is joined by Glenn Small (Analytics Manager at AWS and long-time colleague from Microsoft) for an open and honest conversation about the pressures that working life places on mental wellbeing.&lt;/p&gt;
&lt;p&gt;Both Chris and Glenn share personal stories. Glenn describes how unchecked work stress early in his career spiralled into severe anxiety, paranoia, and ultimately a breakdown — and how reaching out for support from trusted people and professional help was the turning point that allowed him to recover and build lasting resilience. Chris reflects on his own experiences, including a particularly difficult period during the COVID-19 pandemic lockdowns when social isolation compounded the everyday pressures of a demanding role.&lt;/p&gt;</description></item><item><title>Using Azure Arc for Apps - Part 4 - Deploying Logic Apps into your App Services Kubernetes Environment</title><link>https://chrisreddington.com/blog/azure-arc-for-apps-part-4/</link><pubDate>Fri, 04 Jun 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/azure-arc-for-apps-part-4/</guid><description>&lt;h2 id="app-service-kubernetes-environment"&gt;App Service Kubernetes Environment&lt;/h2&gt;
&lt;p&gt;In &lt;a href="https://chrisreddington.com/blog/azure-arc-for-apps-part-1"&gt;part 1&lt;/a&gt; of this &lt;em&gt;Using Azure Arc for Apps&lt;/em&gt; series, we explored Azure Arc and Azure Arc enabled Kubernetes clusters. In &lt;a href="https://chrisreddington.com/blog/azure-arc-for-apps-part-2"&gt;part 2&lt;/a&gt;, we deployed an App Service Kubernetes Environment into our Azure Arc enabled Kubernetes cluster. In &lt;a href="https://chrisreddington.com/blog/azure-arc-for-apps-part-3"&gt;part 3&lt;/a&gt;, we deployed a Function App into our Azure Arc enabled Kubernetes cluster. Azure Logic Apps will be the focus of this blog post. Just like App Services and Function Apps, Logic Apps can run in an App Service Environment, which means they can also run in an App Service Kubernetes Environment.&lt;/p&gt;</description></item><item><title>Using Azure Arc for Apps - Part 5 - Deploying an Azure API Management gateway to an Azure Arc enabled Kubernetes Cluster</title><link>https://chrisreddington.com/blog/azure-arc-for-apps-part-5/</link><pubDate>Fri, 04 Jun 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/azure-arc-for-apps-part-5/</guid><description>&lt;h2 id="setting-up-an-azure-api-management-gateway-on-azure-arc"&gt;Setting up an Azure API Management Gateway on Azure Arc&lt;/h2&gt;
&lt;p&gt;In &lt;a href="https://chrisreddington.com/blog/azure-arc-for-apps-part-1"&gt;part 1&lt;/a&gt; of this &lt;em&gt;Using Azure Arc for Apps&lt;/em&gt; series, we explored Azure Arc and Azure Arc enabled Kubernetes clusters. In this post, we&amp;rsquo;ll be exploring API Management on Azure Arc. At time of writing, this approach is in public preview, so we may see certain limitations / features that are not yet available.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Tip:&lt;/strong&gt; &lt;a href="https://chrisreddington.com/blog/azure-arc-for-apps-part-1"&gt;Part 1&lt;/a&gt; is a pre-requisite to working through this blog post, if you plan to get hands on. As noted above, an Azure Arc enabled Kubernetes cluster is a pre-requisite in the scenario we&amp;rsquo;re walking through. It is possible to deploy an API Management Gateway &lt;a href="https://docs.microsoft.com/en-us/azure/api-management/how-to-deploy-self-hosted-gateway-kubernetes"&gt;directly to Kubernetes&lt;/a&gt;, &lt;a href="https://docs.microsoft.com/en-us/azure/api-management/how-to-deploy-self-hosted-gateway-azure-kubernetes-service"&gt;directly to Azure Kubernetes Service&lt;/a&gt; or &lt;a href="https://docs.microsoft.com/en-us/azure/api-management/how-to-deploy-self-hosted-gateway-docker"&gt;directly to docker&lt;/a&gt; as an alternative approach. We will be focusing on deploying the Azure API Management Gateway to an Azure Arc enabled Kubernetes cluster.&lt;/p&gt;</description></item><item><title>CGN5 - Cloud Gaming Notes Episode 5 - Building a game remotely</title><link>https://chrisreddington.com/video/building-a-game-remotely/</link><pubDate>Wed, 02 Jun 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/building-a-game-remotely/</guid><description>&lt;p&gt;The COVID-19 pandemic forced game studios worldwide to rethink how large, cross-disciplinary teams — developers, artists, designers, sound engineers — collaborate remotely on titles with enormous file sizes and tight release schedules.&lt;/p&gt;
&lt;p&gt;In this episode of Cloud Gaming Notes, Chris is joined by Lee Williams to explore how the gaming industry adapted, and what cloud tools and technologies made it possible.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Key topics covered:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Why remote game creation is uniquely challenging: massive asset files, real-time creative iteration, and the need to review work collaboratively across disciplines&lt;/li&gt;
&lt;li&gt;How cloud-hosted design environments allow teams to build and iterate on assets directly in the cloud, without downloading and re-uploading huge files locally&lt;/li&gt;
&lt;li&gt;How GitHub and Azure DevOps support source control workflows, CI/CD pipelines, and build automation across game development teams&lt;/li&gt;
&lt;li&gt;The role of Azure services in supporting multiplayer backends and live game streaming infrastructure&lt;/li&gt;
&lt;li&gt;How collaboration tools like Microsoft Teams have quietly become part of the game development workflow&lt;/li&gt;
&lt;li&gt;The emergence of gaming and game streaming as a cloud-native entertainment industry, and the latency requirements that underpin it&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This episode offers a fascinating lens on remote collaboration challenges that apply far beyond gaming — and how cloud technology is enabling complex, distributed creative work at scale.&lt;/p&gt;</description></item><item><title>Live or Recorded Demos - Panel Discussion</title><link>https://chrisreddington.com/talk/techielass-live-or-recorded-demos/</link><pubDate>Wed, 02 Jun 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/techielass-live-or-recorded-demos/</guid><description/></item><item><title>Using Azure Arc for Apps - Part 3 - Deploying Azure Functions into an App Service Kubernetes Environment</title><link>https://chrisreddington.com/blog/azure-arc-for-apps-part-3/</link><pubDate>Wed, 02 Jun 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/azure-arc-for-apps-part-3/</guid><description>&lt;h2 id="app-service-kubernetes-environment"&gt;App Service Kubernetes Environment&lt;/h2&gt;
&lt;p&gt;In &lt;a href="https://chrisreddington.com/blog/azure-arc-for-apps-part-1"&gt;part 1&lt;/a&gt; of this &lt;em&gt;Using Azure Arc for Apps&lt;/em&gt; series, we explored Azure Arc and Azure Arc enabled Kubernetes clusters. In &lt;a href="https://chrisreddington.com/blog/azure-arc-for-apps-part-2"&gt;part 2&lt;/a&gt;, we deployed an App Service Kubernetes Environment into our Azure Arc enabled Kubernetes cluster. As you&amp;rsquo;ll likely be aware, both Azure Functions (this blog post) and Azure Logic Apps (the next blog post) can run on Azure App Service. The same is true for an App Service Kubernetes Environment, we can run App Services, Logic Apps and Azure Functions.&lt;/p&gt;</description></item><item><title>AZ Community Roundtable - Ep.01 - Chris Reddington &amp; Martin Therkelsen with host James Cook</title><link>https://chrisreddington.com/talk/az-roundtable-1/</link><pubDate>Tue, 01 Jun 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/az-roundtable-1/</guid><description>&lt;p&gt;On the first AZ Community Roundtable show, James Cook introduces himself for the first time as the host. After guest speakers Chris and Martin introduce themselves, James discusses Microsoft Build news on App Services adopting Cloud Native approach using Kubernetes so it can be used on other platforms. Martin talks about how infrastructure as Code is being adopted and it&amp;rsquo;s place currently in organisations. Chris brings up what individuals are looking for in DevOps tools, the features we enjoy and a quick talk on the Azure DevOps vs GitHub hot topic on social media.&lt;/p&gt;</description></item><item><title>Using Azure Arc for Apps - Part 1 - Setting up an Azure Arc enabled Kubernetes Cluster</title><link>https://chrisreddington.com/blog/azure-arc-for-apps-part-1/</link><pubDate>Tue, 01 Jun 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/azure-arc-for-apps-part-1/</guid><description>&lt;h2 id="cloud-native-applications-that-run-anywhere"&gt;Cloud Native Applications that run anywhere&lt;/h2&gt;
&lt;p&gt;At Microsoft //Build 2021, Microsoft announced a series of updates relating to Cloud Native Applications anywhere. In summary, those updates refer to running Azure Services (such as App Services, Logic Apps, Azure Functions, Event Grid and API Management) in any Kubernetes cluster which is managed by Azure Arc. That means you could have Azure App Services running in Amazon Web Services (AWS), Google Cloud Platform (GCP), or in your on-premises Kubernetes deployment. This is a significant update, so I&amp;rsquo;ve decided that I&amp;rsquo;ll be writing a series of blog posts on the topic - as one post would not do the topic justice!&lt;/p&gt;</description></item><item><title>Using Azure Arc for Apps - Part 2 - Deploying App Services to Kubernetes</title><link>https://chrisreddington.com/blog/azure-arc-for-apps-part-2/</link><pubDate>Tue, 01 Jun 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/azure-arc-for-apps-part-2/</guid><description>&lt;h2 id="app-service-kubernetes-environment"&gt;App Service Kubernetes Environment&lt;/h2&gt;
&lt;p&gt;In &lt;a href="https://chrisreddington.com/blog/azure-arc-for-apps-part-1"&gt;part 1&lt;/a&gt; of this &lt;em&gt;Using Azure Arc for Apps&lt;/em&gt; series, we explored Azure Arc and Azure Arc enabled Kubernetes clusters. In this post, we&amp;rsquo;ll be exploring App Services on Azure Arc. More specifically, these application services run on an Azure Arc enabled Kubernetes cluster, which is a pre-requisite for us to progress. At time of writing, this approach is in public preview, so we may see &lt;a href="https://docs.microsoft.com/en-gb/azure/app-service/overview-arc-integration#public-preview-limitations"&gt;certain limitations / features that are not yet available&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Securing App Service with Easy Auth behind a Public Application Gateway</title><link>https://chrisreddington.com/blog/secure-app-service-with-easy-auth-and-app-gateway-public/</link><pubDate>Mon, 31 May 2021 09:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/secure-app-service-with-easy-auth-and-app-gateway-public/</guid><description>&lt;h2 id="setting-some-context"&gt;Setting some context&lt;/h2&gt;
&lt;p&gt;I recently encountered a scenario that I wanted to spend some time writing up. Imagine that you have a requirement to deploy a new web application to Microsoft Azure. However, there are some additional requirements -&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The application must require Azure Active Directory Authentication.&lt;/li&gt;
&lt;li&gt;The web application must not be accessible &lt;strong&gt;directly&lt;/strong&gt; across the public internet.&lt;/li&gt;
&lt;li&gt;An end user should be able to connect to the web app using a Public DNS record, so that they feel that it is an authentic experience.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="considerations"&gt;Considerations&lt;/h2&gt;
&lt;p&gt;There are several ways that this could be achieved, but may bring in some complexity. Some of these include -&lt;/p&gt;</description></item><item><title>V022 - Weekly Technology Vlog #22</title><link>https://chrisreddington.com/video/weekly-vlog-022/</link><pubDate>Sun, 30 May 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-022/</guid><description>&lt;p&gt;Welcome to Weekly Vlog #22! This episode is a dedicated Microsoft Build 2021 recap — Chris not only walks through the headline announcements but also shares his experience presenting at the conference and reflects on the week&amp;rsquo;s standout moments.&lt;/p&gt;
&lt;h2 id="chris-at-microsoft-build"&gt;Chris at Microsoft Build&lt;/h2&gt;
&lt;p&gt;Chris presented &lt;em&gt;Creating Friction-Free Code Across All Tools and Frameworks&lt;/em&gt; alongside Dean Brian and Carol Logan, showcasing an end-to-end workflow with &lt;strong&gt;Blazor&lt;/strong&gt;, &lt;strong&gt;GitHub Codespaces&lt;/strong&gt;, &lt;strong&gt;GitHub Actions&lt;/strong&gt;, and &lt;strong&gt;Azure Static Web Apps&lt;/strong&gt; — recovering live demo issues on-stage in true developer fashion. The session also spotlighted UK developer communities (Thames Valley Azure, Cloud Security London, and carol&amp;rsquo;s Glasgow groups) to encourage broader community engagement.&lt;/p&gt;</description></item><item><title>My Microsoft //Build 2021 Highlights</title><link>https://chrisreddington.com/blog/build-2021-summary/</link><pubDate>Fri, 28 May 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/build-2021-summary/</guid><description>&lt;p&gt;If you follow the news around Microsoft, you&amp;rsquo;ve probably found it very hard to miss the fact that the Microsoft //Build conference happened this week. Microsoft //Build is their annual developer-focused conference, where they typically announce new features, updates and share their strategy as they evolve technologies.&lt;/p&gt;
&lt;p&gt;In this update, I&amp;rsquo;ll provide a summary of the announcements that particularly stood out to me and give you some context around why. Whether that&amp;rsquo;s announcements that excite me, features that I think are crucial to be adopted, etc. It&amp;rsquo;s worth noting that I&amp;rsquo;ll be focusing primarily on the Microsoft Azure Updates here, as that&amp;rsquo;s my typical area of expertise!&lt;/p&gt;</description></item><item><title>Tales from the real world with Matt Bradley</title><link>https://chrisreddington.com/video/tales-from-real-world-matthew-bradley/</link><pubDate>Fri, 28 May 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/tales-from-real-world-matthew-bradley/</guid><description>&lt;p&gt;Chris is joined by Matt Bradley, who helped establish the Public Cloud division at UKFast — one of the UK&amp;rsquo;s leading managed hosting providers — and shares four years of hands-on Azure experience: from first-generation migrations and consultancy to DevOps automation, Kubernetes, and hybrid cloud management.&lt;/p&gt;
&lt;p&gt;Topics covered include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Keeping up with Azure&lt;/strong&gt; — the Azure Updates page, Microsoft Tech Community blog, and John Savill&amp;rsquo;s weekly infrastructure summaries as practical ways to stay current&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The Azure Storage Minefield&lt;/strong&gt; — the security and access-control pitfalls Matt uncovered and shared in his widely-attended community talk&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Infrastructure as code trade-offs&lt;/strong&gt; — ARM templates vs Terraform vs the emerging Bicep language, including why the native ARM tooling receives new Azure features first&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure DevOps as a unified platform&lt;/strong&gt; — consolidating fragmented &amp;ldquo;Frankenstein DevOps&amp;rdquo; pipelines (Jenkins, Jira, Bitbucket) into a single boards-repos-pipelines-artifacts workflow&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure Arc and hybrid cloud governance&lt;/strong&gt; — applying Azure Policy to on-premises virtual machines for consistent compliance reporting&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Designing for failure&lt;/strong&gt; — HA patterns, cattle-vs-pets thinking, and the real cost of single-instance cloud deployments that appear cheap but carry hidden risk&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Compliance acceleration&lt;/strong&gt; — how public cloud adoption simplifies ISO accreditation by providing pre-built infrastructure-level documentation&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Kubernetes learning and certification&lt;/strong&gt; — Nigel Poulton&amp;rsquo;s books, the hands-on CKA and CKAD exams, and why practical certifications better reflect real-world capability&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>UK Community Session: Create friction-free code across all tools and frameworks</title><link>https://chrisreddington.com/talk/build-2021-uk-community/</link><pubDate>Wed, 26 May 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/build-2021-uk-community/</guid><description/></item><item><title>How GitHub Actions can help in building and deploying a static website and more</title><link>https://chrisreddington.com/talk/devops-notts-github-deploying-static-content/</link><pubDate>Tue, 25 May 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/devops-notts-github-deploying-static-content/</guid><description/></item><item><title>Making a GitHub Action with Docker and .NET Core</title><link>https://chrisreddington.com/blog/github-action-docker-dotnet-core/</link><pubDate>Mon, 24 May 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/github-action-docker-dotnet-core/</guid><description>&lt;p&gt;As you may have read previously, my site &lt;a href="http://cloudchris.ws/2x"&gt;cloudwithchris.com&lt;/a&gt; is hosted using Azure Storage Static sites. A common pattern when building static sites is to version control the assets and use Continuous Integration and Continuous Delivery to deliver the rendered compiled site to Azure. I&amp;rsquo;ve recently started creating an open source .NET Core command-line application which can take Hugo YAML files an input, convert the file contents to the appropriate Markdown for supported third-party services (currently &lt;a href="http://cloudchris.ws/2y"&gt;dev.to&lt;/a&gt; and &lt;a href="http://cloudchris.ws/2z"&gt;medium.com&lt;/a&gt;) by replacing local URLs, adding appropriate YouTube/Tweet rendering shortcodes and then posting directly to the API.&lt;/p&gt;</description></item><item><title>V021 - Weekly Technology Vlog #21</title><link>https://chrisreddington.com/video/weekly-vlog-021/</link><pubDate>Sun, 23 May 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-021/</guid><description>&lt;p&gt;Welcome to Weekly Vlog #21! This week is a focused build-up episode ahead of Microsoft Build, with Chris previewing his upcoming conference presentation and covering a compact but impactful set of Azure and GitHub updates alongside a hands-on Application Insights deep dive.&lt;/p&gt;
&lt;h2 id="upcoming-chris-at-microsoft-build"&gt;Upcoming: Chris at Microsoft Build&lt;/h2&gt;
&lt;p&gt;Chris will be presenting at &lt;strong&gt;Microsoft Build on Wednesday 26th May at 14:30 UTC&lt;/strong&gt; alongside Dean Brian and Carol Logan. The session — &lt;em&gt;Creating Friction-Free Code Across All Tools and Frameworks&lt;/em&gt; — demonstrates an end-to-end developer workflow using &lt;strong&gt;GitHub Codespaces&lt;/strong&gt;, &lt;strong&gt;GitHub Actions&lt;/strong&gt;, and &lt;strong&gt;Azure Static Web Apps&lt;/strong&gt;, with a spotlight on UK developer communities and meetup groups.&lt;/p&gt;</description></item><item><title>36 - Application Insights: The Tool You Never Knew You Needed</title><link>https://chrisreddington.com/video/application-insights-the-tool-you-never-knew-you-needed/</link><pubDate>Fri, 21 May 2021 15:30:00 +0000</pubDate><guid>https://chrisreddington.com/video/application-insights-the-tool-you-never-knew-you-needed/</guid><description>&lt;p&gt;Production issues, performance bottlenecks, and silent failures are every developer&amp;rsquo;s nightmare. Azure Application Insights — part of the Azure Monitor family — gives you the visibility to detect, diagnose, and resolve problems before they escalate. In this session, Chris is joined by Isaac Levins (self-described Application Insights superfan) to explore how Application Insights fits into the full DevOps lifecycle.&lt;/p&gt;
&lt;p&gt;Topics covered in this session include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;What Application Insights is and how it sits within the broader Azure Monitor ecosystem&lt;/li&gt;
&lt;li&gt;Instrumenting a .NET 5 application via Visual Studio in seconds, using the eShopOnWeb reference app&lt;/li&gt;
&lt;li&gt;Codeless instrumentation for IIS-hosted apps using a PowerShell commandlet — no codebase access required&lt;/li&gt;
&lt;li&gt;Live exception tracking and root-cause analysis for production incidents&lt;/li&gt;
&lt;li&gt;User flow and funnel analysis to understand how customers navigate your application&lt;/li&gt;
&lt;li&gt;Business-level custom event tracking to inform product investment decisions&lt;/li&gt;
&lt;li&gt;How telemetry closes the DevOps loop — feeding insights back into the next development sprint&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Whether you are a developer triaging exceptions, an architect evaluating observability tooling, or a product owner trying to understand real user behaviour, Application Insights delivers actionable data at every level.&lt;/p&gt;</description></item><item><title>Azure Static Web Apps are Generally Available</title><link>https://chrisreddington.com/blog/static-webapps-general-availability/</link><pubDate>Wed, 19 May 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/static-webapps-general-availability/</guid><description>&lt;p&gt;Great news! &lt;a href="https://azure.microsoft.com/en-gb/blog/develop-production-scale-modern-web-apps-quickly-with-azure-static-web-apps/"&gt;Azure Static Web Apps are now Generally Available&lt;/a&gt;! Just to provide some reassurance, Static Web Apps are a concept that I&amp;rsquo;m fairly passionate about. You may have seen &lt;a href="https://chrisreddington.com/blog/jamstack-cloud-winning-combination/"&gt;this blog post&lt;/a&gt; on why I think JAMStack and the cloud are a great combination. You may have seen &lt;a href="https://chrisreddington.com/talk"&gt;one of my many talks&lt;/a&gt; on how I use &lt;a href="https://gohugo.io/"&gt;Hugo&lt;/a&gt;, Azure Storage, Azure CDN and GitHub to easily deploy a very cheap and scalable site into Azure.&lt;/p&gt;</description></item><item><title>Thank you! Cloud with Chris has reached 500 YouTube Subscribers</title><link>https://chrisreddington.com/blog/thank-you-500-youtube-subscribers/</link><pubDate>Mon, 17 May 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/thank-you-500-youtube-subscribers/</guid><description>&lt;p&gt;I&amp;rsquo;m sat writing this blog post about 4 months after writing my &lt;a href="https://chrisreddington.com/blog/cloud-with-chris-moving-forwards/"&gt;2021 kick off blog post&lt;/a&gt;. My aim for 2021 was to focus on one goal - contributing back into the technical community.&lt;/p&gt;
&lt;blockquote class="twitter-tweet"&gt;&lt;p lang="en" dir="ltr"&gt;Upping my content creation game for 2021. Here&amp;#39;s a refreshed look at what&amp;#39;s to come on Cloud With Chris/YouTube Channel trailer. Gonna be busy!&lt;a href="https://t.co/POE0N82gFw"&gt;https://t.co/POE0N82gFw&lt;/a&gt;&lt;a href="https://twitter.com/hashtag/Cloud?src=hash&amp;amp;ref_src=twsrc%5Etfw"&gt;#Cloud&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/CloudArchitecture?src=hash&amp;amp;ref_src=twsrc%5Etfw"&gt;#CloudArchitecture&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/DevOps?src=hash&amp;amp;ref_src=twsrc%5Etfw"&gt;#DevOps&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/AzureDevOps?src=hash&amp;amp;ref_src=twsrc%5Etfw"&gt;#AzureDevOps&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/GitHub?src=hash&amp;amp;ref_src=twsrc%5Etfw"&gt;#GitHub&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/Guests?src=hash&amp;amp;ref_src=twsrc%5Etfw"&gt;#Guests&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/Gaming?src=hash&amp;amp;ref_src=twsrc%5Etfw"&gt;#Gaming&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/contentcreator?src=hash&amp;amp;ref_src=twsrc%5Etfw"&gt;#contentcreator&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/Azure?src=hash&amp;amp;ref_src=twsrc%5Etfw"&gt;#Azure&lt;/a&gt; &lt;a href="https://twitter.com/hashtag/AzureFamily?src=hash&amp;amp;ref_src=twsrc%5Etfw"&gt;#AzureFamily&lt;/a&gt;&lt;/p&gt;&amp;mdash; ☁️ Chris Reddington (@reddobowen) &lt;a href="https://twitter.com/reddobowen/status/1345748585443454978?ref_src=twsrc%5Etfw"&gt;January 3, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src="https://platform.twitter.com/widgets.js" charset="utf-8"&gt;&lt;/script&gt;


&lt;p&gt;I set out 2021 to achieve 500 subscribers by the end of the year, and had ideas of creating brand new types of content. When I created Cloud with Chris back in March 2020, I started it off as a podcast. Later in 2020, I decided to add the video content to the mix. Then, as we entered 2021, I brought my old blog posts from my personal site onto Cloud with Chris, and started off a weekly blog.&lt;/p&gt;</description></item><item><title>V020 - Weekly Technology Vlog #20</title><link>https://chrisreddington.com/video/weekly-vlog-020/</link><pubDate>Sun, 16 May 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-020/</guid><description>&lt;p&gt;Welcome to Weekly Vlog #20 — a celebration episode! Chris hits his 2021 goal of 500 YouTube subscribers way ahead of schedule (now at 506), then recaps one of the most content-rich weeks on the channel to date before diving into a bumper set of Azure and GitHub updates.&lt;/p&gt;
&lt;h2 id="cloud-with-chris--a-record-week-of-content"&gt;Cloud with Chris — A Record Week of Content&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Azure Pipelines as Code&lt;/strong&gt;: A detailed blog post and companion Cloud Drop walking through YAML pipeline best practices — branch policies, test stage separation, and the tangible benefits of treating CI/CD configuration as versioned code.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure in a Nutshell&lt;/strong&gt; (devriel.io): A live session covering core Azure concepts aligned to the AZ-900 fundamentals syllabus.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Event-Driven Architecture with Azure Event Grid&lt;/strong&gt;: A blog post and Cloud Drop exploring how to chain Azure Event Grid, Blob Storage, Storage Queues, and Azure Functions to build a reliable, event-driven file processing workflow — including a discussion on the difference between messages and events.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cloud Lunch and Learn Marathon&lt;/strong&gt;: Three pre-recorded sessions: &lt;em&gt;Requirements, Design Patterns &amp;amp; Cloud Architecture Oh My&lt;/em&gt;, &lt;em&gt;GitHub Actions for Static Sites&lt;/em&gt;, and &lt;em&gt;Hugo + Azure Storage + Azure CDN for a cheap and performant site&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mental Health Live Stream&lt;/strong&gt; with Andrew Nathan and Will Owen: A candid, non-clinical conversation sharing personal experiences to encourage open dialogue around mental health in the tech community.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cloud Drop with Jamie McGuire&lt;/strong&gt;: Social Opinion — a SaaS platform for social media analytics and tweet scheduling — and Jamie&amp;rsquo;s journey from data science research into building a production service.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="azure-highlights"&gt;Azure Highlights&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Azure Static Web Apps is now GA&lt;/strong&gt;: The headline announcement of the week. Features include globally distributed CDN, built-in CI/CD workflows from GitHub, serverless API integration via Azure Functions, custom domains with free SSL certificates, OAuth authentication providers, role-based routing, and a VS Code extension for local development.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure Health Bot&lt;/strong&gt;: Extended to additional regions and languages for pandemic response symptom checking.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure IoT Central GA&lt;/strong&gt;: API improvements, dashboard updates, IoT Edge enhancements, and device connectivity events.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure API Management GA&lt;/strong&gt;: New certificate validation policy, VS Code extension support for self-hosted gateway debugging, Dapr and validation policy support, and availability zone configuration in the portal.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="github-highlights"&gt;GitHub Highlights&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Security Keys for SSH Git Operations&lt;/strong&gt;: Hardware security keys (e.g. YubiKey) can now authenticate SSH-based git operations on GitHub, extending the platform&amp;rsquo;s strong authentication story.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Video Uploads on GitHub&lt;/strong&gt;: Attach MP4 or GIF videos directly to issues, pull requests, and comments from both desktop and mobile — a practical quality-of-life improvement for bug reproduction and open source collaboration.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Cloud Drops - Building an Event-Driven workflow with Event Grid</title><link>https://chrisreddington.com/video/cloud-drops-event-grid/</link><pubDate>Sat, 15 May 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/cloud-drops-event-grid/</guid><description>&lt;p&gt;Event-driven architectures decouple producers from consumers, making them a natural fit for serverless consumption models where you pay only when work is being done. This Cloud Drop builds a real image-processing workflow step by step:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Source storage account&lt;/strong&gt; — a Blob Storage container called &lt;code&gt;images&lt;/code&gt; where uploads trigger events.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Queue storage account&lt;/strong&gt; — a Storage Queue (&lt;code&gt;work-in-progress&lt;/code&gt;) that acts as a durable buffer guaranteeing at-least-once processing.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Event Grid system topic + subscription&lt;/strong&gt; — created on the source storage account, filtered by subject (&lt;code&gt;/blobServices/default/containers/images&lt;/code&gt;) so only image-container blob-created events are forwarded; the event handler is set to the Storage Queue.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;System-managed identity + RBAC&lt;/strong&gt; — the Event Grid system topic&amp;rsquo;s managed identity is assigned the &lt;em&gt;Storage Queue Data Message Sender&lt;/em&gt; role on the queue storage account, eliminating stored credentials.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure Function queue trigger&lt;/strong&gt; — consumes and removes messages from the queue, with Application Insights showing execution logs.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The demo also verifies subject filtering by uploading to the &lt;code&gt;thumbnails&lt;/code&gt; container and confirming no extra messages appear in the queue, and discusses dead-lettering, retry policies, and the important distinctions between Azure Storage Queues and Azure Service Bus Queues for message-processing guarantees.&lt;/p&gt;</description></item><item><title>Social Opinion with Jamie Maguire</title><link>https://chrisreddington.com/video/tales-from-real-world-social-opinion/</link><pubDate>Fri, 14 May 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/tales-from-real-world-social-opinion/</guid><description>&lt;p&gt;Have you ever wondered what it takes to build a production SaaS platform entirely in your own time?&lt;/p&gt;
&lt;p&gt;In this &lt;em&gt;Tales from the Real World&lt;/em&gt; episode, Chris is joined by Jamie Maguire — Developer, Microsoft MVP (AI), and Pluralsight Author — who shares the story behind Social Opinion, a Twitter analytics and productivity platform built with .NET and Azure.&lt;/p&gt;
&lt;p&gt;Jamie covers the full journey from first principles to production SaaS:&lt;/p&gt;</description></item><item><title>A livestream on Mental Health - Mental Health Awareness Week</title><link>https://chrisreddington.com/video/a-livestream-on-mental-health/</link><pubDate>Thu, 13 May 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/a-livestream-on-mental-health/</guid><description>&lt;p&gt;Mental health affects us all, yet stigma and misunderstanding remain barriers to open conversation. In this candid livestream recorded during Mental Health Awareness Week, Chris Reddington is joined by Andrew Nathan (Microsoft FastTrack for Azure) and Will Owen (formerly Microsoft, now Maersk) to share their personal mental health journeys.&lt;/p&gt;
&lt;p&gt;Topics discussed in this stream include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Personal experiences with depression, anxiety, and burnout in demanding tech roles&lt;/li&gt;
&lt;li&gt;The impact of COVID-19 isolation on mental wellbeing and personal identity&lt;/li&gt;
&lt;li&gt;Cognitive Behavioural Therapy (CBT) and medication as paths to recovery&lt;/li&gt;
&lt;li&gt;The pressure of relocating internationally and proving your value at work&lt;/li&gt;
&lt;li&gt;How overloading on work as a coping mechanism can become its own trap&lt;/li&gt;
&lt;li&gt;Why removing the stigma around mental health still matters in the tech community&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;None of the participants are healthcare professionals. This is a peer-to-peer conversation intended to normalise mental health discussions in tech. If you are struggling, please reach out to a qualified professional.&lt;/p&gt;</description></item><item><title>Cloud Lunch and Learn Marathon 2021 - How GitHub Actions can help in building and deploying a static site and more</title><link>https://chrisreddington.com/talk/cllm-github-deploying-static-content/</link><pubDate>Thu, 13 May 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/cllm-github-deploying-static-content/</guid><description/></item><item><title>Cloud Lunch and Learn Marathon 2021 - Requirements, Design Patterns, Cloud Architecture Oh My</title><link>https://chrisreddington.com/talk/cllm-requirements-design-patterns-oh-my/</link><pubDate>Thu, 13 May 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/cllm-requirements-design-patterns-oh-my/</guid><description/></item><item><title>Cloud Lunch and Learn Marathon 2021 - Using Hugo, Azure Storage and Azure CDN for a cheap &amp; performant site on Azure</title><link>https://chrisreddington.com/talk/cllm-azure-hugo-storage-cdn/</link><pubDate>Thu, 13 May 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/cllm-azure-hugo-storage-cdn/</guid><description/></item><item><title>Building an Event-Driven workflow with Event Grid</title><link>https://chrisreddington.com/blog/event-driven-workflow-with-event-grid/</link><pubDate>Wed, 12 May 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/event-driven-workflow-with-event-grid/</guid><description>&lt;p&gt;You may have heard of Event-Driven Architectures before, but haven&amp;rsquo;t had the chance to get hands-on and build one as yet. That&amp;rsquo;s exactly what we&amp;rsquo;ll be working through in this blog post! Before we dive into any practical detail though, let&amp;rsquo;s go ahead and recap some of the benefits of this architectural approach. The &lt;a href="https://docs.microsoft.com/en-us/azure/architecture/guide/architecture-styles/event-driven"&gt;Azure Architecture Center&lt;/a&gt; covers these very well. But as a brief recap -&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Event-Driven Architectures are great for scenarios where you have a distributed architecture (multiple microservices/subsystems) that process the same set of events&lt;/li&gt;
&lt;li&gt;They can enable high volume real-time processing with minimum time lag. Typically they&amp;rsquo;ll be leveraging messaging platforms (such as Service Bus Topics/Queues, Storage Queues and Event Grid), and you&amp;rsquo;ll see patterns like Publish/Subscriber, Queue-based load levelling and Competing Consumers.&lt;/li&gt;
&lt;li&gt;As a result, the producers and consumers of these events (or messages, as they transition and evolve through the system) are decoupled. This means that this type of architecture can be easily expanded, adding new consumers to listen to specific message types.&lt;/li&gt;
&lt;li&gt;These systems can be highly scalable, but also cost-effective. Typically when you hear event-driven, you also hear serverless. This isn&amp;rsquo;t &lt;strong&gt;always&lt;/strong&gt; the case, but you can deploy event-driven workflows on a per-invocation/per-execution basis. This means you need to thoroughly understand your workload, and which would the most cost-efficient (i.e. paying for the underlying infrastructure which performs the processing, or paying on a per-event basis).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;With that context out of the way, let&amp;rsquo;s start building out our scenario! We&amp;rsquo;re going to go ahead and build an event-driven workflow that ensures there is a &amp;lsquo;guaranteed processing&amp;rsquo; on files that are uploaded to a storage account. This could be resizing of an image, analysis of an image (e.g. image recognition), text analytics of a file, or many other scenarios. We won&amp;rsquo;t be focusing on the later processing aspect (as that would be domain specific, and you can implement as needed), but will be focusing on the &amp;lsquo;plumbing&amp;rsquo; between those various Azure Services.&lt;/p&gt;</description></item><item><title>Azure in a Nutshell | DEVREAL.io</title><link>https://chrisreddington.com/talk/devreal-azure-in-a-nutshell/</link><pubDate>Tue, 11 May 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/devreal-azure-in-a-nutshell/</guid><description/></item><item><title>Cloud Drops - Pipelines as Code</title><link>https://chrisreddington.com/video/cloud-drops-pipelines-as-code/</link><pubDate>Tue, 11 May 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/cloud-drops-pipelines-as-code/</guid><description>&lt;p&gt;You may have heard about Software Code or Infrastructure as Code. Well, in this video, we&amp;rsquo;ll be talking about pipelines as code. If you&amp;rsquo;re familiar with tools like Azure DevOps, Circle CI, GitHub, GitLab and Jenkins, you may notice a trend where these platforms are allowing you to define your pipelines as code. Throughout this video, we&amp;rsquo;ll be defining a multi-stage pipeline in Azure DevOps, and picking up some tips along the way.&lt;/p&gt;</description></item><item><title>Azure Pipelines Tips</title><link>https://chrisreddington.com/blog/pipelines-as-code/</link><pubDate>Mon, 10 May 2021 08:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/pipelines-as-code/</guid><description>&lt;p&gt;Recently &lt;a href="https://twitter.com/thegraycat/status/1388873685587668992"&gt;on Twitter&lt;/a&gt;, I was asked by @thegraycat on whether I knew of any resources to manage pipelines in version control. I sent across several top of mind thoughts over Twitter, but it got me thinking that there may be others with the same question and it could make a good blog post. So here we are, as I talk through some of my considerations for pipelines as code.&lt;/p&gt;
&lt;blockquote class="twitter-tweet"&gt;&lt;p lang="en" dir="ltr"&gt;Hey, Chris. You might be able to point me in the right direction - are there any good resources on how manage your &lt;a href="https://twitter.com/hashtag/azuredevops?src=hash&amp;amp;ref_src=twsrc%5Etfw"&gt;#azuredevops&lt;/a&gt; pipelines in git for versioning etc? Cheers.&lt;/p&gt;</description></item><item><title>V019 - Weekly Technology Vlog #19</title><link>https://chrisreddington.com/video/weekly-vlog-019/</link><pubDate>Sun, 09 May 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-019/</guid><description>&lt;p&gt;Welcome to Weekly Vlog #19, broadcast live! This week leads with Azure&amp;rsquo;s visual rebrand and covers a wide range of security, platform, and community updates across Azure, GitHub, and Cloud with Chris.&lt;/p&gt;
&lt;h2 id="azure-highlights"&gt;Azure Highlights&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;New Azure Fluent Design Icon&lt;/strong&gt;: Microsoft&amp;rsquo;s Fluent Design language arrives in Azure with a refreshed icon — widely celebrated across the developer community on social media.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AKS Secret Store CSI Driver Add-on&lt;/strong&gt;: The open-source Secret Store CSI driver is now a managed AKS add-on (alongside App Gateway Ingress Controller and Pod Identity), making Kubernetes secret management significantly simpler.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure Security Center Updates&lt;/strong&gt;: New hybrid and multi-cloud Kubernetes protection via Microsoft Defender for Kubernetes; recommendations for Defender for DNS and Resource Manager; Windows Server 2019 and Windows 10 Virtual Desktop now supported in Defender for Endpoint integration.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure VPN Gateway Enhancements&lt;/strong&gt;: Multi-authentication type support (Azure AD, certificate, RADIUS) on a single gateway, BGP diagnostics, VPN packet capture in the Azure portal, and per-connection reset support.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure Backup for Blobs (GA)&lt;/strong&gt;: Operational backup for block blobs is now generally available.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prevent Shared Key Authorization&lt;/strong&gt;: New control to disable shared key authorization for Azure Storage accounts, improving security posture for teams moving to identity-based access.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="github-highlights"&gt;GitHub Highlights&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub Enterprise Server 3.1&lt;/strong&gt;: Now available, adding GitHub Actions visualisations, pull request auto-merge, Advanced Security improvements, and the mono-repo performance enhancements discussed in a prior week&amp;rsquo;s engineering post.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Release Radar&lt;/strong&gt;: Pulumi 3.0 highlighted — a compelling cross-cloud infrastructure-as-code framework supporting multiple languages; distinct from Terraform&amp;rsquo;s approach.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Web Components&lt;/strong&gt;: Engineering insight into how GitHub builds and maintains its own open-source UI component library.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Availability Report&lt;/strong&gt;: Transparent post-incident analysis covering a DNS resolution failure affecting GitHub Packages and an elevated API error rate impacting repository creation, with clear remediation steps.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="cloud-with-chris"&gt;Cloud with Chris&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Schema.org SEO blog post&lt;/strong&gt;: How structured data — breadcrumbs, video previews, speaker cards — influences search engine result rendering.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hugo CrossPoster open-source project post&lt;/strong&gt;: Introducing the cross-posting automation tool for Dev.to and Medium, complete with GitHub Actions integration plans.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cloud Gaming Notes Episode 4&lt;/strong&gt; with Dominic Williamson: &lt;em&gt;Sudoku Social&lt;/em&gt; — a social sudoku game built with Unity and Azure PlayFab, now in beta on iOS and Android at &lt;a href="https://sudoku.social"&gt;sudoku.social&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cloud Drop with Carol de Winter&lt;/strong&gt;: A beginner&amp;rsquo;s guide to PowerShell in Azure Functions — the first Cloud Drop featuring a guest.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Actions + Azure Environments session&lt;/strong&gt;: A focused walkthrough of environment-based deployment gates and approvals in GitHub Actions.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>GitHub Actions and Azure - Using Environments with GitHub Actions</title><link>https://chrisreddington.com/video/github-actions-multiple-environments/</link><pubDate>Fri, 07 May 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/github-actions-multiple-environments/</guid><description>&lt;p&gt;Once you have a working GitHub Actions workflow, the next challenge is safely deploying across dev, staging, and production with the right secrets in the right places. This episode deep-dives into GitHub Actions Environments: how to scope secrets per environment to enforce the principle of least privilege, configure required reviewers and wait timers as production gates, and assign service principals with minimal Azure RBAC permissions. A live demo deploys the cloudwithchris.com Hugo site to Azure Storage, making every concept concrete.&lt;/p&gt;</description></item><item><title>Cloud Drops - Beginners guide to PowerShell in Azure Functions</title><link>https://chrisreddington.com/video/cloud-drops-powershell-azure-functions/</link><pubDate>Thu, 06 May 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/cloud-drops-powershell-azure-functions/</guid><description>&lt;p&gt;Azure Functions supports multiple runtime stacks — including PowerShell Core — meaning that operations teams already fluent in PowerShell can build serverless automation without switching to a compiled language. The consumption plan charges only per invocation with no idle cost, and Application Insights is enabled by default to provide monitoring and logging from day one.&lt;/p&gt;
&lt;p&gt;The demo creates two functions inside a single Function App. The first uses an &lt;strong&gt;HTTP trigger&lt;/strong&gt; with a simple &lt;code&gt;run.ps1&lt;/code&gt; that reads a query-string parameter and returns it in the response body, illustrating the input-binding and output-binding model. The second uses an &lt;strong&gt;Event Grid trigger&lt;/strong&gt; connected to a subscription-level topic: whenever a resource group is created, the function fires and calls &lt;code&gt;Set-AzResourceGroup&lt;/code&gt; to apply a cost-centre tag based on the environment value. Before the Az module commands work, you must declare the dependency in &lt;code&gt;requirements.psd1&lt;/code&gt; (under App Files) and restart the Function App. A system-assigned managed identity with the Contributor role on the subscription provides the necessary RBAC permissions without storing any credentials in code.&lt;/p&gt;</description></item><item><title>Crossposting Content: A New Project</title><link>https://chrisreddington.com/blog/crossposting-content/</link><pubDate>Wed, 05 May 2021 08:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/crossposting-content/</guid><description>&lt;p&gt;Following on from my &lt;a href="https://chrisreddington.com/blog/using-schema-org-for-seo"&gt;recent post&lt;/a&gt; where I discussed using schema.org for Search Engine Optimisation (SEO), I wanted to stick with a similar theme, but a slightly different angle or topic. This time, we&amp;rsquo;ll be covering the topic of crossposting content.&lt;/p&gt;
&lt;p&gt;What is Crossposting? It&amp;rsquo;s the idea that you&amp;rsquo;ll post your content in multiple locations (e.g. &lt;a href="https://cloudwithchris.medium.com/"&gt;medium.com&lt;/a&gt; or &lt;a href="https://dev.to/cloudwithchris"&gt;dev.to&lt;/a&gt;) to broaden your reach. One of the main benefits is that these sites are a platform for many bloggers. So if you use the appropriate tags and titles, you may be able to draw in additional members to your audience. It&amp;rsquo;s not quite as easy as that though. If you post your content without appropriately linking back to your original content, you could be damaging yourself from an SEO perspective (e.g. is someone copying/plagiarizing content? What is the original source?). So let&amp;rsquo;s cover this in al little more detail.&lt;/p&gt;</description></item><item><title>CGN4 - Cloud Gaming Notes Episode 4 - Cross-platform social Sudoku with Azure PlayFab</title><link>https://chrisreddington.com/video/sudoku-social/</link><pubDate>Wed, 05 May 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/sudoku-social/</guid><description>&lt;p&gt;Cloud Gaming Notes Episode 4 features Dominic, a Senior PM Manager at Microsoft, who built Sudoku Social — a cross-platform competitive Sudoku game for iOS and Android — entirely as a passion project outside his day job.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The problem Dominic solved:&lt;/strong&gt; Most Sudoku apps were platform-locked. Players on iOS couldn&amp;rsquo;t compete against players on Android. Sudoku Social bridges that gap, enabling cross-platform leaderboards and social play. The driving question: &lt;em&gt;who is the fastest Sudoku player?&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Using schema.org for SEO optimisation</title><link>https://chrisreddington.com/blog/using-schema-org-for-seo/</link><pubDate>Mon, 03 May 2021 08:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/using-schema-org-for-seo/</guid><description>&lt;p&gt;One of my recent tasks for Cloud with Chris was to investigate some additional areas for SEO improvements. If you&amp;rsquo;re unaware, SEO stands for Search Engine Optimization; a set of practices to improve your ranking in search engines such as Google, Bing and others when they crawl and index your site. I was already in a good position, but there were some things that were frustrating me, we&amp;rsquo;ll explore those in this blog post.&lt;/p&gt;</description></item><item><title>V018 - Weekly Technology Vlog #18</title><link>https://chrisreddington.com/video/weekly-vlog-018/</link><pubDate>Sun, 02 May 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-018/</guid><description>&lt;p&gt;Welcome to Weekly Vlog #18, recorded on a UK Bank Holiday! This week&amp;rsquo;s episode covers an action-packed set of updates across Azure, Azure DevOps, and GitHub, plus a detailed engineering update on the Hugo CrossPoster open-source project.&lt;/p&gt;
&lt;h2 id="azure-highlights"&gt;Azure Highlights&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Microsoft acquires Kinvolk&lt;/strong&gt;: A significant cloud-native investment — Kinvolk are contributors to Flatcar Container Linux and CoreOS, reinforcing Azure&amp;rsquo;s commitment to containers and the Kubernetes ecosystem.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure Web PubSub (Preview)&lt;/strong&gt;: A new fully managed WebSocket service enabling real-time applications such as live chat, bidding platforms, and gaming backends, priced per connection unit similarly to Event Hubs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure Site Recovery + Azure Policy (Preview)&lt;/strong&gt;: Enables onboarding VMs into Azure Site Recovery at scale via Azure Policy — a key governance unlock for enterprise disaster recovery.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Delivery Plans 2.0 GA&lt;/strong&gt;: Azure DevOps now offers improved portfolio-level planning with higher team limits, start/target dates, dependency tracking, and richer roll-up visualisations.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Red Hat Summit recap&lt;/strong&gt;: JBoss EAP preview on App Service, RHEL Reserved Instance hybrid benefits, Azure Arc-enabled OpenShift cluster onboarding, and upcoming Ansible integration enhancements.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="github-highlights"&gt;GitHub Highlights&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Feature flags engineering post&lt;/strong&gt;: How GitHub decouples deployments from releases using feature flags at scale.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mono-repo optimisation deep dive&lt;/strong&gt;: Bitmaps, pack files, and multi-pack indexes — how GitHub engineers tackle maintenance costs on large repositories.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Dependabot Preview retirement&lt;/strong&gt;: The legacy Dependabot Preview and &lt;code&gt;dependabot.com&lt;/code&gt; will be shut down on &lt;strong&gt;August 3rd&lt;/strong&gt; — migrate to native GitHub Dependabot now and review the feature parity roadmap.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Desktop 2.8&lt;/strong&gt;: Whitespace hiding, diff expansion, and repository aliases.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="hugo-crossposter-update"&gt;Hugo CrossPoster Update&lt;/h2&gt;
&lt;p&gt;Chris&amp;rsquo;s Hugo CrossPoster open-source project is progressing with several new engineering practices in place:&lt;/p&gt;</description></item><item><title>Introducing Logic Apps Preview</title><link>https://chrisreddington.com/blog/introducing-logic-apps-preview/</link><pubDate>Wed, 28 Apr 2021 08:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/introducing-logic-apps-preview/</guid><description>&lt;p&gt;Following hot off the heels of my recent blog post &lt;a href="https://chrisreddington.com/blog/introduction-to-logic-apps"&gt;introducing Logic Apps and how I use the technology on cloudwithchris.com&lt;/a&gt;, I thought it made sense for the second post to continue the Logic Apps theme. This time, we&amp;rsquo;ll be focusing on Logic Apps preview (sometimes referred to as Logic Apps v2) - the evolution of Logic Apps. Typically when you deploy Logic Apps, you deploy it as a multi-tenanted service. There are some benefits to that, including the serverless capability, so being able to pay per execution rather than an overall infrastructure cost. But what if cost is less of a requirement for you? What if you care more about portability, greater performance, and ultimately control over your environment?&lt;/p&gt;</description></item><item><title>Using Hugo, Azure Storage and Azure CDN for a cheap &amp; performant site on Azure</title><link>https://chrisreddington.com/talk/gaug-hugo-storage-cdn/</link><pubDate>Wed, 28 Apr 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/gaug-hugo-storage-cdn/</guid><description/></item><item><title>Introduction to Logic Apps</title><link>https://chrisreddington.com/blog/introduction-to-logic-apps/</link><pubDate>Mon, 26 Apr 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/introduction-to-logic-apps/</guid><description>&lt;p&gt;Many years ago, I &lt;a href="https://chrisreddington.com/blog/integration-platform-as-a-service-logic-apps"&gt;wrote a blog post&lt;/a&gt; which introduced Logic Apps at a very high level when they were initially released. Ahead of a blog post that I want to write on Logic Apps v2, I thought that it may be worth writing a more thorough recap of Logic Apps as a platform.&lt;/p&gt;
&lt;p&gt;Logic Apps is a Platform as a Service (PaaS) offering, which allows you to easily build visual workflow integrations. Whether that&amp;rsquo;s plumbing several microservices together, entirely different solutions within an enterprise, or some of the repetitive backend administrative tasks for a podcast or blog site, Logic Apps may be worth exploring.&lt;/p&gt;</description></item><item><title>V017 - Weekly Technology Vlog #17</title><link>https://chrisreddington.com/video/weekly-vlog-017/</link><pubDate>Mon, 26 Apr 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-017/</guid><description>&lt;p&gt;Weekly Vlog #17 opens with Azure&amp;rsquo;s UK Met Office supercomputer partnership announcement and a brisk pass through this week&amp;rsquo;s Azure updates: new M-series memory-optimised VMs, Application Gateway URL rewrite now GA (finally allowing base URL rewriting), Azure Data Factory data flow GA in two new US government regions, Azure Purview availability in UK South and Australia East, and a heads-up to upgrade AML clusters from Ubuntu 16.04 before end-of-April community support expiry.&lt;/p&gt;</description></item><item><title>35 - A discussion on Azure Spring Cloud</title><link>https://chrisreddington.com/video/azure-spring-cloud/</link><pubDate>Fri, 23 Apr 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/azure-spring-cloud/</guid><description>&lt;p&gt;Spring, Spring Boot, and Azure Spring Cloud demystified. Chris is joined by Gitte Vermeiren (Microsoft FastTrack Engineer) to explore the Java microservices landscape on Azure. They cover:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Spring vs Spring Boot&lt;/strong&gt; — how Spring Boot is to Java what ASP.NET scaffolding is to .NET, and how &lt;code&gt;start.spring.io&lt;/code&gt; gets you up and running instantly&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Spring Cloud&lt;/strong&gt; — adding microservice concerns like service discovery, circuit breakers, and routing on top of Spring&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure Spring Cloud&lt;/strong&gt; — the fully managed platform that lets you run Spring Cloud applications without provisioning or managing the underlying infrastructure&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Comparing your options&lt;/strong&gt; — when to choose Azure Spring Cloud vs. Azure App Service vs. AKS, and understanding the trade-offs around simplicity, control, and learning curve&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Real customer reactions&lt;/strong&gt; — why Java developers with existing Spring workloads often describe Azure Spring Cloud as a game-changer&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Whether you&amp;rsquo;re coming from the Java world or just exploring Azure&amp;rsquo;s app hosting options, this episode offers a clear and approachable introduction.&lt;/p&gt;</description></item><item><title>#LeedsAzure - vMeetup #9 - How GitHub Actions can help in building and deploying a static site and more</title><link>https://chrisreddington.com/talk/leeds-azure-github-deploying-static-content/</link><pubDate>Wed, 21 Apr 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/leeds-azure-github-deploying-static-content/</guid><description/></item><item><title>Azure role-based access control (RBAC) at the data plane level</title><link>https://chrisreddington.com/blog/azure-rbac-data-plane/</link><pubDate>Wed, 21 Apr 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/azure-rbac-data-plane/</guid><description>&lt;p&gt;Principal of least privilege is a commonly used phrase within the Technology Industry. The idea is that we&amp;rsquo;ll assign permissions of what the user needs to get the job done, rather than anything broader or more privileged. This helps reduce the blast radius in the event of a compromised account. This stretches to Azure resources at the management plane, but in some cases can also stretch to the data plane of those resources. We&amp;rsquo;ll be exploring these further in this blog post.&lt;/p&gt;</description></item><item><title>Discussing the Cloud with Chris GitHub Architecture and GitHub setup</title><link>https://chrisreddington.com/video/discussing-cloud-with-chris-architecture-and-github/</link><pubDate>Tue, 20 Apr 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/discussing-cloud-with-chris-architecture-and-github/</guid><description>&lt;p&gt;Karl Cooke (Implementation Specialist at Action Point Technology Group, blogger at &lt;a href="https://irishtechie.com"&gt;irishtechie.com&lt;/a&gt;) turns the tables on Chris Reddington, interviewing him about the architecture and GitHub workflow behind CloudWithChris.com.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Platform Architecture&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The site is a three-layer stack:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Azure DNS&lt;/strong&gt; — public DNS zone with an apex domain redirect to &lt;code&gt;www&lt;/code&gt;, plus separate subdomains for preview, staging, and the podcast feed (&lt;code&gt;podcasts.cloudwithchris.com&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure CDN&lt;/strong&gt; — global edge caching with a rules engine for HTTP→HTTPS redirects and security header injection&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure Storage&lt;/strong&gt; — static website hosting for all HTML, CSS, JS, and media assets; chosen for its low cost, simplicity, and natural fit with static content&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Security Hardening&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Getting started with Azure using Microsoft Learn</title><link>https://chrisreddington.com/blog/get-started-azure-microsoft-learn/</link><pubDate>Mon, 19 Apr 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/get-started-azure-microsoft-learn/</guid><description>&lt;p&gt;Often, I&amp;rsquo;m asked the question how do I get started with Azure? Are there any resources, tutorials, guides that you can recommend? I know about topic X, but how do I learn more? I&amp;rsquo;ve been working with (and continuously learning) Azure over the past 7 years or so. When I started, the main resources were Microsoft Docs and community sites. Both great resources, but there was a gap for a truly educational resource, rather than technical reference material. Enter &lt;a href="https://docs.microsoft.com/en-us/learn/"&gt;Microsoft Learn&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>GitHub actions and static content</title><link>https://chrisreddington.com/talk/azure-podcast-github-actions/</link><pubDate>Mon, 19 Apr 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/azure-podcast-github-actions/</guid><description/></item><item><title>V016 - Weekly Technology Vlog #16</title><link>https://chrisreddington.com/video/weekly-vlog-016/</link><pubDate>Mon, 19 Apr 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-016/</guid><description>&lt;p&gt;Weekly Vlog #16 dives into a busy Azure week centred on IoT: nested IoT Edge device hierarchies are now generally available (enabling secure network-segregated IoT topologies), Azure IoT Edge 1.2 lands with MQTT broker public preview and on-premises PKI integration, and a new zero-touch provisioning blueprint uses the Device Provisioning Service with PKI certificate hierarchies for IoT at scale. Azure Maps weather services and the Log Analytics agent for Windows also hit GA. Other notable updates: Azure API Management support for availability zones is now GA, encryption at host for AKS is GA, and an open-source API portal (based on the API Management developer portal technology) is now generally available as a standalone project.&lt;/p&gt;</description></item><item><title>#GlobalAzure 2021 - How GitHub Actions can help in building and deploying a static site and more</title><link>https://chrisreddington.com/talk/global-azure-github-deploying-static-content/</link><pubDate>Sat, 17 Apr 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/global-azure-github-deploying-static-content/</guid><description/></item><item><title>#GlobalAzure​ 2021 - Using Hugo, Azure Storage and Azure CDN for a cheap &amp; performant site on Azure</title><link>https://chrisreddington.com/talk/global-azure-hugo-storage-cdn/</link><pubDate>Fri, 16 Apr 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/global-azure-hugo-storage-cdn/</guid><description/></item><item><title>Optimise your site - Addressing recommendations from securityheaders.com</title><link>https://chrisreddington.com/blog/optimise-site-security-headers-com/</link><pubDate>Wed, 14 Apr 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/optimise-site-security-headers-com/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;In my blog post earlier this week, I mentioned that I recently spoke at the Northern Azure User Group. The other speaker for the evening was Scott Hanselman, who talked about his journey moving a 17 year old .NET App into Azure. This was his blog. Along the way, he called out some of the tools that he used along the way. One was a tool called &lt;a href="https://securityheaders.com/"&gt;securityheaders.com&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;As any engaged listener does, I took note of the tools that he used, and added them to my cloudwithchris.com backlog during the talk. When I later investigated the initial rating of the site, I received a score of an F - which appears to be the lowest possible score that you can receive! Given that I only allow HTTPS traffic to my site, I was surprised by this - so I begun looking into the recommendations further.&lt;/p&gt;</description></item><item><title>Tips on getting started with blogging and content creation</title><link>https://chrisreddington.com/blog/get-started-blogging/</link><pubDate>Mon, 12 Apr 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/get-started-blogging/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;In case you missed it, &lt;a href="https://www.shankuehn.io/"&gt;Shannon Kuehn&lt;/a&gt;, &lt;a href="https://jamiemaguire.net/"&gt;Jamie Maguire&lt;/a&gt;, &lt;a href="https://jonnychipz.com/"&gt;John Lunn&lt;/a&gt; and I joined &lt;a href="https://www.techielass.com"&gt;Sarah Lean&lt;/a&gt; for a &lt;a href="https://www.youtube.com/watch?v=J5q_DZJRpYM"&gt;panel livestream on her channel&lt;/a&gt; talking about our experiences getting started with blogging, and our experiences with blogging platforms. In this post, I want to focus on the first aspect - how you can get started with blogging, and some of the common themes / recommendations I&amp;rsquo;ve heard, not just from this session, but from other active community contributors.&lt;/p&gt;</description></item><item><title>V015 - Weekly Technology Vlog #15</title><link>https://chrisreddington.com/video/weekly-vlog-015/</link><pubDate>Mon, 12 Apr 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-015/</guid><description>&lt;p&gt;Weekly Vlog #15 arrives a little off-schedule — recorded as a live stream at the start of the week after a hectic weekend. Azure blog highlights include the GA of Cloud Services extended support (with a migration tool preview), an update on Azure Orbital&amp;rsquo;s ground station-as-a-service partnerships, an IoT industry series on lessons learned from manufacturers, and a webinar series on running business-critical applications on Azure. The Azure update round-up is brief: Cloud Services deployment model preview, Azure Monitor Container Insights support for Azure Arc-enabled Kubernetes, Start VM on Connect for Windows Virtual Desktop, and Azure Purview regional expansions.&lt;/p&gt;</description></item><item><title>34 - The Bulkhead Pattern (Isolate your components to prevent failures)</title><link>https://chrisreddington.com/video/bulkhead/</link><pubDate>Fri, 09 Apr 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/bulkhead/</guid><description>&lt;p&gt;The Bulkhead pattern takes its name from the watertight compartments in a ship&amp;rsquo;s hull. Just as poorly designed bulkheads contributed to the sinking of the Titanic, poorly isolated cloud services can cause a single failure to cascade across your entire application.&lt;/p&gt;
&lt;h2 id="what-youll-learn"&gt;What You&amp;rsquo;ll Learn&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;strong&gt;Bulkhead pattern&lt;/strong&gt; as a resilience mechanism for microservices and distributed cloud architectures&lt;/li&gt;
&lt;li&gt;How &lt;strong&gt;resource exhaustion&lt;/strong&gt; in one service can starve others sharing the same underlying infrastructure (e.g., multiple App Services on a shared App Service Plan)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Partitioning strategies&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;Using &lt;strong&gt;connection pools&lt;/strong&gt; to isolate workloads from specific backend services&lt;/li&gt;
&lt;li&gt;Deploying services onto separate VMs, containers, or App Service Plans to enforce hardware-level isolation&lt;/li&gt;
&lt;li&gt;Using &lt;strong&gt;Kubernetes resource requests and limits&lt;/strong&gt; to guarantee quality-of-service between pods&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;How the Bulkhead pattern limits the &lt;strong&gt;blast radius&lt;/strong&gt; of failures, preventing cascading outages in microservices architectures&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Multi-tenancy considerations&lt;/strong&gt;: per-tenant isolation vs. shared deployment stamps, and the pricing model implications (e.g., Azure SQL Elastic Pools vs. single databases)&lt;/li&gt;
&lt;li&gt;Monitoring individual partitions to ensure per-service SLA compliance, not just aggregate system health&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="complementary-patterns"&gt;Complementary Patterns&lt;/h2&gt;
&lt;p&gt;The Bulkhead pattern works alongside the &lt;strong&gt;Retry&lt;/strong&gt;, &lt;strong&gt;Circuit Breaker&lt;/strong&gt;, and &lt;strong&gt;Throttling&lt;/strong&gt; patterns to build comprehensive resilience. Define your blast radius with bulkheads, then layer in these patterns to handle the failures that do occur gracefully.&lt;/p&gt;</description></item><item><title>Windows Terminal - What is it, and how can it make you productive with Azure?</title><link>https://chrisreddington.com/blog/windows-terminal-productive-azure/</link><pubDate>Thu, 08 Apr 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/windows-terminal-productive-azure/</guid><description>&lt;p&gt;For some time now, I&amp;rsquo;ve been using Windows Terminal as my local terminal for interacting with my command-line tools for quite some time now. Whenever I&amp;rsquo;m demonstrating Kubernetes concepts or working with the Azure CLI, I&amp;rsquo;ll likely have had the Windows Terminal open at some point. I always get questioned about which terminal that is, and how people can get access to it. I recently put together a &lt;a href="https://chrisreddington.com/episode/cloud-drops-windows-terminal-productive-azure"&gt;Cloud Drop on How Windows Terminal can make YOU productive with Azure&lt;/a&gt;, so I figured it&amp;rsquo;s time to also write up a blog post on the same! Whether you&amp;rsquo;re a Developer, DevOps Engineer, Infrastructure Operations or Data Scientist, you&amp;rsquo;ve probably had to interact with a command-line terminal / shell at some point, so I hope this will be useful for you!&lt;/p&gt;</description></item><item><title>CGN3 - Cloud Gaming Notes Episode 3 - Inventory and Economy</title><link>https://chrisreddington.com/video/inventory-and-economy/</link><pubDate>Wed, 07 Apr 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/inventory-and-economy/</guid><description>&lt;p&gt;In this third episode of the Cloud Gaming Notes series, Chris Reddington and Lee Williams load up Sea of Thieves to talk through the cloud engineering challenges behind one of gaming&amp;rsquo;s most critical systems: inventory and economy.&lt;/p&gt;
&lt;p&gt;Key topics covered in this episode:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Persistent player state&lt;/strong&gt; — how modern games use cloud storage to ensure that every item, currency balance, and progression milestone is preserved across sessions and devices without the player needing to manage saves manually&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Inventory architecture&lt;/strong&gt; — treating in-game objects as first-class cloud entities, and the relationship between in-game mechanics (swords, loot, ammo) and the backing data stores that represent them&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Economy design&lt;/strong&gt; — structuring in-game currencies, rewards, and progression loops so they remain balanced, fair, and resistant to exploitation&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure Cosmos DB and PlayFab&lt;/strong&gt; — choosing between building a custom inventory data layer on Cosmos DB versus adopting a fully managed gaming backend like PlayFab, and the trade-offs each approach involves&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Live Ops&lt;/strong&gt; — continuously updating and evolving game content post-launch, and how cloud infrastructure supports rapid deployment of seasonal events, balance patches, and new rewards without server downtime&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cross-platform and cross-device&lt;/strong&gt; — designing inventory systems that follow a player from console to PC to mobile via cloud synchronisation&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Community and monetisation&lt;/strong&gt; — how a well-designed economy builds long-term player engagement, supports streaming audiences, and opens monetisation opportunities for publishers&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Next in the series: a conversation with Dominic from Australia on building a social Sudoku game with PlayFab.&lt;/p&gt;</description></item><item><title>How GitHub Actions can help in building and deploying a static website and more</title><link>https://chrisreddington.com/talk/naug-github-deploying-static-content/</link><pubDate>Tue, 06 Apr 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/naug-github-deploying-static-content/</guid><description/></item><item><title>Cloud Drops - Using Microsoft Learn to get started with Azure</title><link>https://chrisreddington.com/video/cloud-drops-microsoft-learn-azure/</link><pubDate>Mon, 05 Apr 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/cloud-drops-microsoft-learn-azure/</guid><description>&lt;p&gt;Microsoft Learn at docs.microsoft.com is a free, gamified education hub covering Azure, GitHub, Microsoft 365, Dynamics 365, and more. Modules and learning paths award XP that accumulates across levels, letting you track progress toward specific roles and certifications. The platform also surfaces official certification exam pages alongside their mapped learning paths, and offers a renewal-assessment path so recertification no longer requires retaking the full exam. LearnTV rounds out the experience with a schedule-driven video broadcast channel for learners who prefer watching over reading.&lt;/p&gt;</description></item><item><title>V014 - Tech Roundup #14 Azure, DevOps &amp; GitHub Blogs, Azure Updates &amp; New CloudWithChris content</title><link>https://chrisreddington.com/video/weekly-vlog-014/</link><pubDate>Sun, 04 Apr 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-014/</guid><description>&lt;p&gt;In this Easter Sunday livestream, Chris rounds up a bumper week of tech news. Azure highlights include Microsoft being named a Forrester Wave leader in Function-as-a-Service platforms — validating the Azure Functions investment — a Cost Management recap for March, and enterprise-scale landing zone guidance from Sarah Lean. A rapid-fire Azure update pass-through covers the new AKS &lt;code&gt;run command&lt;/code&gt; feature (enabling ad-hoc commands through the Azure API plane on private clusters while respecting RBAC), AKS node image auto-upgrade, Open Service Mesh add-on for AKS, GA of Kubernetes 1.20 in AKS, and Azure Static Web Apps deployment without a DevOps pipeline.&lt;/p&gt;</description></item><item><title>Cloud Drops - How Windows Terminal can make YOU productive with Azure</title><link>https://chrisreddington.com/video/cloud-drops-windows-terminal-productive-azure/</link><pubDate>Sat, 03 Apr 2021 00:01:00 +0000</pubDate><guid>https://chrisreddington.com/video/cloud-drops-windows-terminal-productive-azure/</guid><description>&lt;p&gt;Windows Terminal is available in the Microsoft Store as both a stable release and a preview channel, and also via &lt;code&gt;winget&lt;/code&gt;. It unifies all your command-line environments — WSL Ubuntu, PowerShell Core, Windows PowerShell, and Windows Command Prompt — into a single tabbed window. The Azure Cloud Shell profile type uses device code authentication to spin up a managed Azure container with tools like kubectl, Terraform, and the Azure CLI pre-installed, plus a mounted Azure Storage file share to persist your files across sessions.&lt;/p&gt;</description></item><item><title>33 - External Config and Claim Check Pattern - Easier Management and Externalising Payloads</title><link>https://chrisreddington.com/video/external-config-and-claim-check/</link><pubDate>Fri, 02 Apr 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/external-config-and-claim-check/</guid><description>&lt;p&gt;Chris and Peter explore two cloud design patterns that address everyday operational challenges in cloud application development.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;External Configuration Store&lt;/strong&gt; — The core principle is simple: never store secrets, connection strings, or environment-specific configuration in source code. Azure Key Vault and Azure App Configuration are the go-to implementations in the Azure ecosystem. The episode covers deployment slot behaviour, the risks of accidentally committing credentials to version control history, and why even &amp;ldquo;temporary&amp;rdquo; hardcoded values create lasting security exposure. App Service and Azure Functions application settings are also framed as a form of external config store, with important caveats.&lt;/p&gt;</description></item><item><title>Why use Git, How it Works and what's going on behind the scenes?</title><link>https://chrisreddington.com/blog/git-getting-started-to-advanced/</link><pubDate>Thu, 01 Apr 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/git-getting-started-to-advanced/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;ve recently released a few &lt;a href="https://chrisreddington.com/series/cloud-drops"&gt;Cloud Drops&lt;/a&gt; episodes on Git related content. The &lt;a href="https://chrisreddington.com/episode/cloud-drops-git-behind-scenes"&gt;&amp;lsquo;Git Behind the Scenes&amp;rsquo;&lt;/a&gt; video was incredibly well received. I&amp;rsquo;m also aware from my day-to-day discussions that there&amp;rsquo;s a mix of experiences with Git, so also made a &lt;a href="https://chrisreddington.com/episode/cloud-drops-git-101"&gt;Git 101 Video&lt;/a&gt;. In this Cloud World that we live in, version control is an important concept beyond the &amp;rsquo;traditional&amp;rsquo; developers. Infrastructure Engineers can now version control their Infrastructure as Code, or maintenance scripts. Data Scientists can version control their experiments and tests. And of course, developers can version control the code for their software.&lt;/p&gt;</description></item><item><title>How to get started blogging and choosing your platform - Panel Discussion</title><link>https://chrisreddington.com/talk/techielass-get-started-blogging/</link><pubDate>Wed, 31 Mar 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/techielass-get-started-blogging/</guid><description/></item><item><title>Cloud Drops - Git 101 - Why use Git, and how to get started</title><link>https://chrisreddington.com/video/cloud-drops-git-101/</link><pubDate>Tue, 30 Mar 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/cloud-drops-git-101/</guid><description>&lt;p&gt;Git is a distributed version control system — unlike centralised tools, every developer clones the full repository and history to their own machine, enabling productive offline work and independent branching without locking files.&lt;/p&gt;
&lt;p&gt;The core workflow starts with &lt;code&gt;git init&lt;/code&gt; to create a new repository in any folder, then &lt;code&gt;git add&lt;/code&gt; to stage changes and &lt;code&gt;git commit -m &amp;quot;message&amp;quot;&lt;/code&gt; to record them. &lt;code&gt;git status&lt;/code&gt; shows which files are staged, modified, or untracked, while &lt;code&gt;git log&lt;/code&gt; displays the full commit history. Once you create a remote repository on GitHub (or Azure DevOps, GitLab, Bitbucket), &lt;code&gt;git remote add origin &amp;lt;url&amp;gt;&lt;/code&gt; links it to your local repo, and &lt;code&gt;git push&lt;/code&gt; sends your commits up. Use &lt;code&gt;git pull&lt;/code&gt; to receive changes others have pushed, or &lt;code&gt;git clone &amp;lt;url&amp;gt;&lt;/code&gt; to bring down an entirely new repository. VS Code&amp;rsquo;s built-in Source Control panel provides a visual interface for all these operations, and the Git Credential Manager handles credential storage for private repositories across platforms.&lt;/p&gt;</description></item><item><title>V013 - Weekly Technology Vlog #13 (Lots of Azure, DevOps &amp; GitHub) Blogs, Quick-fire Azure Updates</title><link>https://chrisreddington.com/video/weekly-vlog-013/</link><pubDate>Sun, 28 Mar 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-013/</guid><description>&lt;p&gt;Weekly Vlog #13 covers an action-packed Azure week, with standout blog posts including Mark Russinovich&amp;rsquo;s Ignite session on Azure innovation, enterprise landing zones with modular designs, zonal disaster recovery enhancements via Azure Site Recovery, Security Center compliance updates, and Azure Databricks on Azure. On the Azure DevOps side, Chris highlights &amp;ldquo;DevOps-ing everything as code&amp;rdquo; and community stories touching on Terraform, Bicep, and policy-gated release pipelines.&lt;/p&gt;
&lt;p&gt;The GitHub roundup digs into the GitHub Actions capture-the-flag writeup — revealing how an overly permissive workflow can expose repository secrets — and a fascinating multi-stage exploit chain from the GitHub Security Lab, both underscoring the growing importance of DevSecOps practices with GitHub Advanced Security.&lt;/p&gt;</description></item><item><title>32 - Accelerate .NET to Azure with GitHub Actions</title><link>https://chrisreddington.com/video/accelerate-dotnet-to-azure-with-github-actions/</link><pubDate>Fri, 26 Mar 2021 15:30:00 +0000</pubDate><guid>https://chrisreddington.com/video/accelerate-dotnet-to-azure-with-github-actions/</guid><description>&lt;p&gt;GitHub Actions makes it easy to automate your entire .NET software delivery pipeline — from build and test through to deployment on Azure. In this episode, Chris Reddington is joined by Isaac Levin, Senior Product Marketing Manager at Microsoft and a lifelong .NET developer, to walk through how GitHub Actions YAML workflows streamline deploying .NET and ASP.NET Core applications to Azure App Service, Azure Functions, and Azure Static Web Apps (including Blazor WebAssembly). Isaac traces the evolution of CI/CD tooling from FTP and CruiseControl.NET through to modern GitHub Actions, demonstrates how Azure and Visual Studio integrate to auto-generate workflows, and shares practical tips for getting started quickly.&lt;/p&gt;</description></item><item><title>DevOps in a Cloud World</title><link>https://chrisreddington.com/talk/ms-howto-live-devops/</link><pubDate>Thu, 25 Mar 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/ms-howto-live-devops/</guid><description/></item><item><title>Cloud Drops - How does Git work behind the scenes?</title><link>https://chrisreddington.com/video/cloud-drops-git-behind-scenes/</link><pubDate>Wed, 24 Mar 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/cloud-drops-git-behind-scenes/</guid><description>&lt;p&gt;After &lt;code&gt;git init&lt;/code&gt;, Git creates a &lt;code&gt;.git&lt;/code&gt; folder containing HEAD, config, description, and sub-directories including &lt;code&gt;branches&lt;/code&gt;, &lt;code&gt;objects&lt;/code&gt;, and &lt;code&gt;refs&lt;/code&gt;. The HEAD file holds a symbolic ref pointing to the current branch — for example &lt;code&gt;ref: refs/heads/master&lt;/code&gt; — and that ref only materialises as a file under &lt;code&gt;.git/refs/heads/&lt;/code&gt; after the first commit is made. Objects (commits, trees, blobs) are stored compressed in two-character subdirectories under &lt;code&gt;.git/objects/&lt;/code&gt; matching the first two hex characters of their SHA-1 hash. Use &lt;code&gt;git cat-file -p &amp;lt;hash&amp;gt;&lt;/code&gt; to inspect any object: a commit points to a tree, a tree lists blobs and sub-trees, and a blob holds the raw file content. Git deduplicates unchanged files across commits by reusing the same blob hash, saving space. After adding a GitHub remote and pushing, a new &lt;code&gt;refs/remotes/origin/main&lt;/code&gt; file appears, confirming that local and remote tip hashes match.&lt;/p&gt;</description></item><item><title>Using Git LFS to version Podcast Audio files and trigger releases to production with GitHub Actions</title><link>https://chrisreddington.com/blog/git-lfs-for-podcast-audio/</link><pubDate>Wed, 24 Mar 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/git-lfs-for-podcast-audio/</guid><description>&lt;p&gt;For some time, I&amp;rsquo;ve been using GitHub actions to update the content of my site (i.e. pages, descriptions, metadata, etc.). Through Hugo, these content updates automatically update the RSS feeds. This then makes the episodes appear in podcast services such as Apple Podcasts, Google Podcasts and Spotify. However, throughout that time I have been manually uploading the podcast files to my storage account. It wasn&amp;rsquo;t a significant overhead, but I kept thinking that there must be a better way to do this. And, there is - I&amp;rsquo;ve implemented it! This blog post will walk you through why I&amp;rsquo;ve made these changes, how I made them and what the result is.&lt;/p&gt;</description></item><item><title>Cloud Drops - Introducing and Setting up Git LFS (Large File Storage)</title><link>https://chrisreddington.com/video/cloud-drops-git-lfs/</link><pubDate>Tue, 23 Mar 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/cloud-drops-git-lfs/</guid><description>&lt;p&gt;Storing large binary files directly in Git forces every developer to download the full history of those files on every clone — a growing pain as the number of assets increases. Git LFS solves this by replacing tracked files with small pointer files containing a version, an ID, and a size, while the actual content lives on the remote LFS server. Run &lt;code&gt;git lfs install&lt;/code&gt; once per machine, then &lt;code&gt;git lfs track &amp;quot;*.mp3&amp;quot;&lt;/code&gt; per repository to create a &lt;code&gt;.gitattributes&lt;/code&gt; entry. All subsequent &lt;code&gt;git add&lt;/code&gt;, &lt;code&gt;git commit&lt;/code&gt;, and &lt;code&gt;git push&lt;/code&gt; operations work exactly as normal; LFS handles the upload transparently. When cloning, pass &lt;code&gt;--config lfs.fetchExclude=&amp;quot;*.mp3&amp;quot;&lt;/code&gt; to skip downloading the large files and receive only the lightweight pointers instead.&lt;/p&gt;</description></item><item><title>V012 - Weekly Technology Vlog #12 (Busy week, and quite a few blog posts to cover!)</title><link>https://chrisreddington.com/video/weekly-vlog-012/</link><pubDate>Mon, 22 Mar 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-012/</guid><description>&lt;p&gt;In this episode, Chris marks three months of weekly vlogging, celebrates crossing 350 subscribers, and recaps a week where content shipped every single day.&lt;/p&gt;
&lt;h2 id="three-months-in"&gt;Three Months In&lt;/h2&gt;
&lt;p&gt;Analytics show a clear correlation between increased publishing frequency and subscriber growth. The channel is approaching the 500-subscriber target for end of 2021.&lt;/p&gt;
&lt;h2 id="last-weeks-content-something-every-day"&gt;Last Week&amp;rsquo;s Content (Something Every Day)&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Monday — Weekly Vlog #11:&lt;/strong&gt; DevSecOps-heavy, covering Cache Aside Pattern, GPG Keys Part 3, and a strong Azure security news cycle.&lt;/p&gt;</description></item><item><title>31 - Deploying to Azure through Terraform Cloud</title><link>https://chrisreddington.com/video/deploy-using-terraform-cloud/</link><pubDate>Fri, 19 Mar 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/deploy-using-terraform-cloud/</guid><description>&lt;p&gt;You may have heard of Terraform, but are you aware of Terraform Cloud or Terraform Enterprise? In this session, Chris gives a practical walkthrough of how he uses Terraform Cloud as the underlying engine to deploy some of his own projects onto Azure.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What is Terraform?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Terraform is an open-source Infrastructure as Code (IaC) framework from HashiCorp that uses HCL (HashiCorp Configuration Language) to define cloud resources declaratively. Unlike ARM templates, Terraform is cloud-agnostic and has a rich provider ecosystem — including the Azure RM provider used throughout this session.&lt;/p&gt;</description></item><item><title>How GitHub can help in planning, building and deploying a Podcast/Blog site</title><link>https://chrisreddington.com/talk/waug-lightning-github-deploying-static-content/</link><pubDate>Thu, 18 Mar 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/waug-lightning-github-deploying-static-content/</guid><description/></item><item><title>Using GPG Keys to sign Git Commits - Part 4</title><link>https://chrisreddington.com/blog/gpg-git-part-4/</link><pubDate>Wed, 17 Mar 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/gpg-git-part-4/</guid><description>&lt;p&gt;Part 4 - The final part (at least for now, until I find somewhere else that we can expand on with this)! This part will focus on porting the keys that we have recently generated onto our YubiKey device. I own a YubiKey NEO, so I&amp;rsquo;ll be using that.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note: Be aware that the YubiKey NEO has a limitation where it can only hold keys up to a size of 2048 bits. If you have generated a key longer than this, then the move will fail. You may need to go through the previous blog posts to re-generate the keys. Though I mentioned this limitation in &lt;a href="./blog/gpg-git-part-2"&gt;part 2&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Cloud Drops - Introduction to GitHub Codespaces</title><link>https://chrisreddington.com/video/cloud-drops-github-codespaces/</link><pubDate>Tue, 16 Mar 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/cloud-drops-github-codespaces/</guid><description>&lt;p&gt;Have you ever had to setup a development environment from scratch? You have to install a ton of dependencies, probably a few tools along the way as well. It&amp;rsquo;s not fun, it takes a lot of time and it prevents you from being productive. This is where GitHub Codespaces comes in.&lt;/p&gt;</description></item><item><title>V011 - Weekly Technology Vlog #11</title><link>https://chrisreddington.com/video/weekly-vlog-011/</link><pubDate>Mon, 15 Mar 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-011/</guid><description>&lt;p&gt;In this episode, Chris unveils a refreshed visual identity for Cloud With Chris, recaps a DevOps-heavy week of content, and digs into Azure, Azure DevOps, and GitHub news with a strong security theme throughout.&lt;/p&gt;
&lt;h2 id="new-branding"&gt;New Branding&lt;/h2&gt;
&lt;p&gt;The Cloud With Chris stream background and lower-thirds have been redesigned for a more consistent, polished look. The new backdrop carries through to all series going forward.&lt;/p&gt;
&lt;h2 id="recent-content"&gt;Recent Content&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;GPG Keys Part 3:&lt;/strong&gt; The generated GPG keys are now associated with Git commits (&lt;code&gt;git config --global user.signingkey&lt;/code&gt;), and the public key is uploaded to GitHub so commits display the &amp;ldquo;Verified&amp;rdquo; badge. YubiKey integration comes in Part 4 this week.&lt;/p&gt;</description></item><item><title>30 - The Cache Aside Pattern (Optimise your caching approach!)</title><link>https://chrisreddington.com/video/cache-aside/</link><pubDate>Fri, 12 Mar 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/cache-aside/</guid><description>&lt;p&gt;Caching speeds up reads by storing frequently requested data in a faster store closer to the application, avoiding repeated round-trips to the underlying data store. The cache-aside pattern is specifically for caches that do not natively implement read-through or write-through — the application itself is responsible for populating and invalidating the cache.&lt;/p&gt;
&lt;p&gt;The flow is: (1) attempt a cache read; (2) on a miss, read from the data store; (3) write the result into the cache before returning it to the caller, so the next request for the same data is served from cache. Over time, hot data naturally rises into the cache without needing to pre-load everything upfront.&lt;/p&gt;</description></item><item><title>Cloud Drops - Installing, Upgrading and Auto-Upgrading the Azure CLI</title><link>https://chrisreddington.com/video/cloud-drops-azure-cli/</link><pubDate>Wed, 10 Mar 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/cloud-drops-azure-cli/</guid><description>&lt;p&gt;The Azure CLI runs on Windows, macOS, Linux, Docker containers, and Azure Cloud Shell, giving you a consistent scripting interface across every environment. After installing, run &lt;code&gt;az login&lt;/code&gt; to authenticate via browser, then &lt;code&gt;az account set --subscription&lt;/code&gt; to pin your default subscription. Use &lt;code&gt;az group list&lt;/code&gt; to verify resource-group access. From version 2.11 onwards, &lt;code&gt;az upgrade&lt;/code&gt; handles in-place updates, and &lt;code&gt;az config set auto-upgrade.enable=yes&lt;/code&gt; configures automatic silent upgrades so your CLI stays current without manual intervention.&lt;/p&gt;</description></item><item><title>Using GPG Keys to sign Git Commits - Part 3</title><link>https://chrisreddington.com/blog/gpg-git-part-3/</link><pubDate>Wed, 10 Mar 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/gpg-git-part-3/</guid><description>&lt;p&gt;Okay, part 3! At this point, I&amp;rsquo;m assuming that you have already familiarised yourself with &lt;a href="https://chrisreddington.com/blog/gpg-git-part-1"&gt;part 1&lt;/a&gt; and &lt;a href="https://chrisreddington.com/blog/gpg-git-part-2"&gt;part 2&lt;/a&gt; of the series. As a quick recap, part 1 focused on why we would consider using GPG Keys in general. Part 2 focused on how to generate GPG keys along with some recommended practices on splitting out our master (Certification) key, from our specific purpose-driven keys. This post (part 3) focuses on using those keys as part of our usual development workflow using Git. We&amp;rsquo;ll be assuming that GitHub is our end target, as GitHub supports &lt;a href="https://docs.github.com/en/github/authenticating-to-github/managing-commit-signature-verification"&gt;commit signature verification using GPG Keys&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>V010 - Weekly Technology Vlog #10 (Episode backlog until Mid-July! New Microphone, Ignite Content!)</title><link>https://chrisreddington.com/video/weekly-vlog-010/</link><pubDate>Mon, 08 Mar 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-010/</guid><description>&lt;p&gt;In this milestone tenth episode, Chris marks a birthday and a one-year podcast anniversary, picks up a new microphone, then spends the majority of the runtime covering the best of Microsoft Ignite.&lt;/p&gt;
&lt;h2 id="personal-milestones"&gt;Personal Milestones&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Vlog #10 &amp;amp; Birthday:&lt;/strong&gt; A new Shure SM7B microphone arrives — a noticeable audio quality upgrade. Episodes are now booked through to mid-July with more guests lined up into August.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;One Year of Cloud With Chris:&lt;/strong&gt; The podcast launched on 1 March 2020.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="recent-content"&gt;Recent Content&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GPG Keys Part 2:&lt;/strong&gt; Hands-on guide to generating GPG keys; Part 3 (linking keys to Git commits and uploading to GitHub) is coming this week.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cloud Gaming Notes Ep. 2:&lt;/strong&gt; Chris and Lee discuss matchmaking in cloud gaming-as-a-service — how cloud infrastructure shapes the player experience when joining sessions dynamically rather than connecting to a fixed server. Next episode covers Sea of Thieves, inventory systems, and in-game economies.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sidecar &amp;amp; Ambassador Patterns&lt;/strong&gt; with Peter Piper: Another co-hosted patterns episode with a bingo card of API buzzwords.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DotNet Limerick Azure User Group:&lt;/strong&gt; A live presentation on using GitHub Actions to build and deploy a static podcast/blog site. Recording available on cloudwithchris.com.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="upcoming"&gt;Upcoming&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Welsh Azure User Group&lt;/strong&gt; (18 March): Lightning talk — GitHub for podcast/blog deployment.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;MSHowTo Live with Mert&lt;/strong&gt; (25 March): DevOps discussion.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Northern Azure User Group&lt;/strong&gt; (6 April): Sharing the bill with Scott Hanselman.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cache Aside Pattern&lt;/strong&gt; episode (this Friday).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GPG Keys Part 3&lt;/strong&gt; (this Wednesday).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="microsoft-ignite-highlights"&gt;Microsoft Ignite Highlights&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Azure Cognitive Search — Semantic Search:&lt;/strong&gt; Results ranked by user intent rather than keyword frequency, powered by Microsoft Research models.&lt;/p&gt;</description></item><item><title>How GitHub Actions can help in building and deploying a static website and more</title><link>https://chrisreddington.com/talk/ldna-github-deploying-static-content/</link><pubDate>Sat, 06 Mar 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/ldna-github-deploying-static-content/</guid><description/></item><item><title>29 - The Sidecar and Ambassador Patterns</title><link>https://chrisreddington.com/video/sidecar-and-ambassador/</link><pubDate>Fri, 05 Mar 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/sidecar-and-ambassador/</guid><description>&lt;p&gt;Modernising legacy applications doesn&amp;rsquo;t have to mean rewriting them from scratch. Two cloud design patterns — the Sidecar and the Ambassador — provide elegant ways to extend legacy services with modern capabilities, incrementally and safely. In this episode of &lt;em&gt;Architecting for the Cloud, one pattern at a time&lt;/em&gt;, Chris and Peter break down both patterns.&lt;/p&gt;
&lt;h2 id="the-ambassador-pattern"&gt;The Ambassador Pattern&lt;/h2&gt;
&lt;p&gt;The Ambassador pattern places a &lt;strong&gt;proxy service&lt;/strong&gt; between a client and an upstream service or external dependency. This proxy handles cross-cutting concerns that the underlying application doesn&amp;rsquo;t natively support:&lt;/p&gt;</description></item><item><title>CGN2 - Cloud Gaming Notes Episode 2 - Matchmaking Services</title><link>https://chrisreddington.com/video/matchmaking-services/</link><pubDate>Wed, 03 Mar 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/matchmaking-services/</guid><description>&lt;p&gt;Ever thought about what it takes to host a multiplayer game in the cloud? In the second episode of Cloud Gaming Notes, Chris and Lee Williams explore the engineering behind matchmaking services — using Halo 5 Guardians as a live example.&lt;/p&gt;
&lt;p&gt;They cover:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Game as a Service&lt;/strong&gt; — how Halo evolved from individual dedicated servers to a cloud-hosted, always-on service and what that means architecturally&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;The Actor Model and Azure Service Fabric&lt;/strong&gt; — how Halo&amp;rsquo;s underlying engine represents every player and game object as an actor in a shared cluster, enabling low-latency state communication at scale&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Skill-based matchmaking&lt;/strong&gt; — how algorithms factor in skill level, server availability, latency, and queue wait time to create balanced, enjoyable games&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Latency&lt;/strong&gt; — why even milliseconds matter in competitive gaming, and how cloud infrastructure placement minimises that impact on player experience&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Live Ops / DevOps&lt;/strong&gt; — how the platform team continuously ships updates, patches, and new content to a live game without taking it offline, drawing direct parallels to enterprise DevOps practices&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rolling updates and observability&lt;/strong&gt; — using real-time analytics and gradual fleet rollouts to de-risk changes to a live player base&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Using GPG Keys to sign Git Commits - Part 2</title><link>https://chrisreddington.com/blog/gpg-git-part-2/</link><pubDate>Wed, 03 Mar 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/gpg-git-part-2/</guid><description>&lt;p&gt;Hopefully by now you&amp;rsquo;ve had a chance to read &lt;a href="./blog/gpg-git-part-1"&gt;part 1&lt;/a&gt; of this series, which explains why you may be interested in using GPG keys to sign your commits. Congratulations on getting to the second part! In part two, we&amp;rsquo;re going to focus on how I worked through setting up GPG in my Windows environment, and generating a set of keys for use. There were some challenges/hurdles along the way, and we&amp;rsquo;ll talk through those too! I may do another separate blog post at a later point on setting this up within Windows Subsystem for Linux. However, there are plenty of articles that already focus on macOS / Native Linux, so it isn&amp;rsquo;t really the focus of this post.&lt;/p&gt;</description></item><item><title>V009 - Weekly Technology Vlog #9 (1 year of Cloud With Chris, Azure Retirements, Microsoft Ignite)</title><link>https://chrisreddington.com/video/weekly-vlog-009/</link><pubDate>Mon, 01 Mar 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-009/</guid><description>&lt;p&gt;In this episode, Chris marks one year of the Cloud With Chris podcast, unpacks the first week in his new Cloud Solution Architect role, and covers a lighter-than-usual Azure news cycle — with Microsoft Ignite right around the corner.&lt;/p&gt;
&lt;h2 id="content-highlights"&gt;Content Highlights&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;One Year of Cloud With Chris:&lt;/strong&gt; The first podcast episode dropped on 1 March 2020. A huge thank you to everyone who has listened, subscribed, and shared along the way.&lt;/p&gt;</description></item><item><title>28 - Intro to Landing Zones</title><link>https://chrisreddington.com/video/intro-to-landing-zones/</link><pubDate>Fri, 26 Feb 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/intro-to-landing-zones/</guid><description>&lt;p&gt;What exactly is an Azure Landing Zone, and why does every cloud architect keep talking about it? In this episode, Chris Reddington is joined by Karim Fahmy — an Azure Solutions Architect with over 12 years of IT experience — to demystify Azure Landing Zones and their place within the Cloud Adoption Framework. Learn how landing zones provide the structured foundation covering networking topology, identity, governance, subscriptions, and security that your workloads need to succeed in the cloud. The episode also covers Azure Blueprints, Terraform automation, and real-world strategies for incrementally building and evolving your cloud foundation over time.&lt;/p&gt;</description></item><item><title>Application Observability in a Distributed World</title><link>https://chrisreddington.com/talk/squared-up-webinar-application-observability/</link><pubDate>Thu, 25 Feb 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/squared-up-webinar-application-observability/</guid><description/></item><item><title>Using GPG Keys to sign Git Commits - Part 1</title><link>https://chrisreddington.com/blog/gpg-git-part-1/</link><pubDate>Wed, 24 Feb 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/gpg-git-part-1/</guid><description>&lt;p&gt;For a while now, I&amp;rsquo;ve been using GPG Keys to sign my Git Commits to prove that my commits on GitHub are genuine and from me. Over the last few weeks, I&amp;rsquo;ve been inspired by a couple of colleagues (Kudos to Adrian and Julie if you&amp;rsquo;re reading this) to dig out my YubiKey and use these for my key signing activities. While there are several blog posts/samples (e.g. &lt;a href="https://disjoint.ca/til/2017/10/05/a-guide-to-setting-up--managing-gpg-keys-on-a-yubikey-4/"&gt;here&lt;/a&gt;, &lt;a href="https://www.hanselman.com/blog/how-to-setup-signed-git-commits-with-a-yubikey-neo-and-gpg-and-keybase-on-windows"&gt;here&lt;/a&gt; and &lt;a href="https://gist.github.com/chrisroos/1205934"&gt;here&lt;/a&gt;) on the topic already, I encountered a number of roadblocks along the way.&lt;/p&gt;</description></item><item><title>V008 - Weekly Technology Vlog #8 (Changing Role, Guest Appearances, LOTS of Azure News)</title><link>https://chrisreddington.com/video/weekly-vlog-008/</link><pubDate>Mon, 22 Feb 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-008/</guid><description>&lt;p&gt;In this episode, Chris recaps a packed week of personal and community milestones, and digs into a wealth of Azure news.&lt;/p&gt;
&lt;h2 id="career-update"&gt;Career Update&lt;/h2&gt;
&lt;p&gt;After four years building FastTrack for Azure — joining as employee number nine globally and its first international hire — Chris transitions to a Cloud Solution Architect role in Microsoft&amp;rsquo;s UK Customer Success Unit, with a focus on the Manufacturing &amp;amp; Resources industry. A meaningful career milestone, with a big thank you to the FastTrack team for four great years.&lt;/p&gt;</description></item><item><title>27 - The Compute Resource Consolidation Pattern (Optimise for Cost!)</title><link>https://chrisreddington.com/video/compute-resource-consolidation/</link><pubDate>Fri, 19 Feb 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/compute-resource-consolidation/</guid><description>&lt;p&gt;Are you running dedicated compute for every tenant, microservice, or application instance — and paying for it? The Compute Resource Consolidation pattern shows you how to consolidate tasks onto shared infrastructure, such as a single AKS cluster with namespace isolation or an Azure SQL elastic pool, to reduce costs and management overhead. This episode explores the key trade-offs: blast radius containment, noisy neighbour contention, scalability profiles, and multi-tenancy strategies. Part of the &amp;ldquo;Architecting for the Cloud, One Pattern at a Time&amp;rdquo; series.&lt;/p&gt;</description></item><item><title>Jonnychipz - In Conversation with Chris Reddington</title><link>https://chrisreddington.com/talk/in-conversation-with-jonny-chipz/</link><pubDate>Fri, 19 Feb 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/in-conversation-with-jonny-chipz/</guid><description/></item><item><title>The Past Four Years</title><link>https://chrisreddington.com/blog/the-past-four-years/</link><pubDate>Fri, 19 Feb 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/the-past-four-years/</guid><description>&lt;p&gt;For the past four years, I&amp;rsquo;ve been part of a team at Microsoft called &lt;a href="https://azure.microsoft.com/en-gb/programs/azure-fasttrack/"&gt;FastTrack for Azure (FTA)&lt;/a&gt;. FastTrack for Azure is part of Azure Engineering&amp;rsquo;s Customer Experience Team, focused on successfully on boarding customers on a project-by-project basis as they bring production workloads online.&lt;/p&gt;
&lt;p&gt;There is never a perfect time to say goodbye, but for me - now is the time. From Monday, I&amp;rsquo;ll be taking on a new role within Microsoft as a Senior Cloud Solution Architect within Microsoft UK&amp;rsquo;s Customer Success Unit, focusing on the Manufacturing &amp;amp; Resources Industries. Career changes can be big moments of change, and a good opportunity to reflect.&lt;/p&gt;</description></item><item><title>V007 - Weekly Technology Vlog #7 (Recap, NEW SITE, NEWS!)</title><link>https://chrisreddington.com/video/weekly-vlog-007/</link><pubDate>Mon, 15 Feb 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-007/</guid><description>&lt;p&gt;The Cloud with Chris v2 website takes centre stage this week — a Hugo-powered redesign featuring a unified content hub for episodes, blogs, and guest pages with Podscribe AI-generated transcripts embedded directly on episode pages for accessibility. Chris invites community feedback at v2.cloudwithchris.com before the official launch, and the site reflects his ongoing commitment to making all content accessible.&lt;/p&gt;
&lt;p&gt;On the security front, the most actionable update covers the npm dependency confusion (package substitution) attack, where an attacker publishes a public package matching an organisation&amp;rsquo;s internal private package name to exploit upstream registry resolution and infiltrate the software supply chain — a technique that successfully targeted several large companies in security research testing. The Azure DevOps blog covers upstream behaviour changes in Azure Artifacts to address this, and GitHub&amp;rsquo;s post recommends using scoped packages and project-level &lt;code&gt;.npmrc&lt;/code&gt; files to pin registries. Azure DevOps also introduces continuous monitoring for web performance and accessibility using the Lighthouse API and axe-core as part of CI/CD pipelines — a workflow Chris plans to adopt for the v2 site. The Azure DevOps demo generator gets a refreshed blog from Damian Brady covering pre-configured project templates including Cloud Adoption Framework migration scenarios.&lt;/p&gt;</description></item><item><title>26 - The Pub Sub, Priority Queue and Pipes and Filter Patterns</title><link>https://chrisreddington.com/video/priority-queues-pipes-filters/</link><pubDate>Fri, 12 Feb 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/priority-queues-pipes-filters/</guid><description>&lt;p&gt;Chris and Willy cover three fundamental messaging patterns in this episode of &lt;em&gt;Architecting for the Cloud, One Pattern at a Time&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Publish-Subscribe (Pub/Sub)&lt;/strong&gt; transitions systems from point-to-point messaging (one sender, one receiver) to a multicast model where a single event triggers multiple independent subscribers simultaneously. Azure Service Bus topics and Azure Event Grid are the primary Azure implementations. Canonical use cases include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Insurance aggregators fanning out quote requests to 15–50 backend services in parallel&lt;/li&gt;
&lt;li&gt;Credit check pipelines triggering multiple reference agencies from a single event&lt;/li&gt;
&lt;li&gt;Account sign-up flows dispatching to billing, provisioning, and notification services concurrently&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Key benefit: subscribers are fully decoupled — adding a new consumer requires only a new subscription, with no changes to the producer.&lt;/p&gt;</description></item><item><title>Azureish After Dark with Chris Reddington from Microsoft and some Among Us</title><link>https://chrisreddington.com/talk/azureish-after-dark/</link><pubDate>Wed, 10 Feb 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/azureish-after-dark/</guid><description/></item><item><title>Contributing towards Azure GitHub Actions</title><link>https://chrisreddington.com/blog/azure-github-actions-workflow-samples/</link><pubDate>Wed, 10 Feb 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/azure-github-actions-workflow-samples/</guid><description>&lt;p&gt;I&amp;rsquo;ve talked in the past about my Open Source journey, and some of the contributions that I have made in the community. In my current role, I&amp;rsquo;ve been leading on the global strategy for my team&amp;rsquo;s DevOps practice, defining the areas of focus and initiatives that may be beneficial for the team. In this post, I&amp;rsquo;m going to talk through one of these initiatives, and how you can contribute towards the Azure GitHub Actions experience!&lt;/p&gt;</description></item><item><title>25 - A conversation on Mental Health</title><link>https://chrisreddington.com/video/a-conversation-on-mental-health/</link><pubDate>Tue, 09 Feb 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/a-conversation-on-mental-health/</guid><description>&lt;p&gt;Mental health is a topic that carries real stigma, yet touches almost everyone at some point. In this episode, Chris Reddington sits down with Andrew Nathan — a former Australian Special Forces soldier — for an honest, unscripted conversation about their personal mental health journeys.&lt;/p&gt;
&lt;p&gt;Andrew shares the impact of losing multiple friends to suicide, the devastating diagnosis at 35 that shattered his identity as an athlete and soldier, and how he found the courage to speak publicly about his experiences. Chris reflects on the challenges of living alone during the UK&amp;rsquo;s COVID-19 lockdown, the toll of isolation, and the months he stepped back from recording to focus on his own wellbeing.&lt;/p&gt;</description></item><item><title>V006 - Weekly Technology Vlog #6 (Recap, Coming Up and NEWS!)</title><link>https://chrisreddington.com/video/weekly-vlog-006/</link><pubDate>Mon, 08 Feb 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-006/</guid><description>&lt;p&gt;This episode goes live for the first time, capturing a more spontaneous format that Chris considers making permanent. He reflects on two significant releases from the prior week: the Cloud Gaming Notes debut with Lee Williams exploring game server hosting trends and Azure&amp;rsquo;s role in the gaming industry, and the mental health episode with Andrew Nathan — an honest, personal conversation about their own experiences that proved one of the most challenging but meaningful episodes to produce.&lt;/p&gt;</description></item><item><title>CGN1 - Cloud Gaming Notes Episode 1 - Hosting a Game Server</title><link>https://chrisreddington.com/video/hosted-game-servers/</link><pubDate>Wed, 03 Feb 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/hosted-game-servers/</guid><description>&lt;p&gt;What does it actually take to host a multiplayer game server in the cloud? In this first Cloud Gaming Notes episode, Chris Reddington is joined by Microsoft Azure for Gaming specialist Lee Williams to explore how cloud infrastructure powers connected gaming experiences. Using a Minecraft server on Azure as a hands-on example, they cover virtual machine hosting, multiplayer scalability challenges, DDoS protection, player data privacy, resilience patterns, and the evolution from self-hosted servers to fully managed game-as-a-service platforms.&lt;/p&gt;</description></item><item><title>Cloud with Chris Setup - Part 2 - Lights, Camera, Action!</title><link>https://chrisreddington.com/blog/my-setup-part-2/</link><pubDate>Wed, 03 Feb 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/my-setup-part-2/</guid><description>&lt;p&gt;A few people have recently been asking about my setup, so I figured it may be a good time to start writing about it! This is the second part of the series, where I&amp;rsquo;ll focus on the Lights, Recording Equipment and my overall setup. If you&amp;rsquo;re interested in the PC setup, then take a look at my &lt;a href="my-setup-part-2"&gt;previous blog post&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ll walkthrough this blog post in a rough order of when I acquired the various technology pieces, so that you can get an idea into my thinking of my journey. First up, my Microphone. You may be aware that Cloud With Chris started purely as a podcast around a year ago or so. I record these using a Blue Yeti USB Microphone. Overall, I&amp;rsquo;m very happy with the quality and sound from this Microphone (and my colleagues tease / make me aware of that whenever I&amp;rsquo;m on a call with them)! I&amp;rsquo;ve had several colleagues ask me about the Microphone, as they&amp;rsquo;d like to buy the same (because of how they perceive the quality)! I have considered moving towards an XLR based microphone, and this is still on my radar. If you have any recommendations in this space, please get in touch and let me know! I also purchased a &lt;a href="https://smile.amazon.co.uk/gp/product/B07P2G19DW/"&gt;Pop Filter Foam/windshield&lt;/a&gt; for the Microphone, as well as the &lt;a href="https://smile.amazon.co.uk/gp/product/B073VJKD9Q/"&gt;Mic Suspension boom arm stand&lt;/a&gt;. There are several options out there (and some pretty expensive ones!), though I kept it simple/cheap and have had no issues. I used to use a &lt;a href="https://smile.amazon.co.uk/gp/product/B06XPGKSHL/"&gt;Sound Shield Guard Windscreen&lt;/a&gt;, but removed that later on when starting videos, due to it obstructing the framing of the picture.&lt;/p&gt;</description></item><item><title>V005 - Weekly Technology Vlog #5 (My Setup, Architecture Patterns, Mental Health and NEWS)</title><link>https://chrisreddington.com/video/weekly-vlog-005/</link><pubDate>Mon, 01 Feb 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-005/</guid><description>&lt;p&gt;This episode marks two significant milestones arriving later in the week: the debut of Cloud Gaming Notes, a monthly series exploring how cloud technology intersects with the gaming industry (launching with Lee Williams on game server hosting trends and Minecraft), and a candid mental health conversation with advocate Andrew Nathan — the first time Chris has spoken publicly about his own mental health experiences.&lt;/p&gt;
&lt;p&gt;From Azure Updates, Azure Cloud Services Extended Support arrives in public preview with a new ARM-based deployment model, offering a migration path for classic Cloud Services workloads. Azure AD Premium customers will receive a 99.99% uptime SLA from April 1, reinforcing the critical importance of cloud identity as a security boundary. Resource instance rules for Azure Storage enter public preview, enabling managed-identity-based access restrictions for resources that cannot be isolated through virtual network service endpoints. The Azure Architecture Center&amp;rsquo;s January digest includes updated guidance on performance efficiency and scalability monitoring within the Well-Architected Framework, key and secret management best practices, and AKS day-two operational considerations for cluster upgrades. Peter de Tender&amp;rsquo;s Azure DevOps blog post explains service connections and service principals in the context of Azure DevOps pipelines. On the GitHub engineering side, two posts cover the canary-stage deployment process for github.com and the JavaScript optimisations — including lazy loading and CPU usage reduction — behind the fast GitHub homepage.&lt;/p&gt;</description></item><item><title>24 - Health Endpoint Monitoring Pattern (Monitor your service and its dependencies!)</title><link>https://chrisreddington.com/video/health-endpoint-monitoring-pattern/</link><pubDate>Fri, 29 Jan 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/health-endpoint-monitoring-pattern/</guid><description>&lt;p&gt;Stop waiting for users to tell you something is broken. The Health Endpoint Monitoring pattern puts you on the front foot with proactive, application-level health checking.&lt;/p&gt;
&lt;h2 id="what-youll-learn"&gt;What You&amp;rsquo;ll Learn&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;strong&gt;Health Endpoint Monitoring pattern&lt;/strong&gt; as defined in the Azure Architecture Center&lt;/li&gt;
&lt;li&gt;How to design a health endpoint that checks downstream dependencies: databases, storage layers, APIs, and microservices&lt;/li&gt;
&lt;li&gt;Responding with &lt;strong&gt;HTTP status codes&lt;/strong&gt; and structured JSON payloads to convey granular health state (e.g., database latency, worker availability)&lt;/li&gt;
&lt;li&gt;Implementing &lt;strong&gt;red/amber/green&lt;/strong&gt; health classifications rather than simple binary up/down checks&lt;/li&gt;
&lt;li&gt;Key design considerations:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Caching&lt;/strong&gt;: balancing freshness vs. added load during incidents&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Security&lt;/strong&gt;: avoiding information leakage through health endpoint responses&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DoS risk&lt;/strong&gt;: health checks can amplify load during outages—design accordingly&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Aggregation&lt;/strong&gt;: composing microservice health endpoints into a system-level view&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;When this pattern complements (rather than replaces) &lt;strong&gt;Azure Monitor&lt;/strong&gt; and &lt;strong&gt;Application Insights&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="relationship-to-other-patterns"&gt;Relationship to Other Patterns&lt;/h2&gt;
&lt;p&gt;The Health Endpoint Monitoring pattern pairs naturally with the &lt;strong&gt;Circuit Breaker&lt;/strong&gt; and &lt;strong&gt;Retry&lt;/strong&gt; patterns. Detecting degradation via health checks enables automated remediation workflows and supports SLA reporting across your distributed architecture.&lt;/p&gt;</description></item><item><title>Cloud with Chris Setup - Part 1 - My PC</title><link>https://chrisreddington.com/blog/my-setup-part-1-pc/</link><pubDate>Wed, 27 Jan 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/my-setup-part-1-pc/</guid><description>&lt;p&gt;A few people have recently been asking about my setup, so I figured it may be a good time to start writing about it! I&amp;rsquo;ll break this into a few posts to keep it digestible. The first part will be focused on the main powerhouse behind it all - My PC!&lt;/p&gt;
&lt;p&gt;For quite a while I&amp;rsquo;ve wanted to build my own PC. I knew how pricey it could get, so wanted to make sure I could have the time to focus on it. I&amp;rsquo;ve always focused more on the software side than the hardware side, so it was a little bit of a challenge for myself, as well as an opportunity to learn! For anyone reading who has been considering making their own PC and hasn&amp;rsquo;t done it before, it&amp;rsquo;s not as scary as you may think!&lt;/p&gt;</description></item><item><title>The Role of Requirements Cloud Design Patterns</title><link>https://chrisreddington.com/talk/ms-howto-live-architecture/</link><pubDate>Mon, 25 Jan 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/talk/ms-howto-live-architecture/</guid><description/></item><item><title>V004 - Weekly Technology Vlog #4 (JamStack + Cloud, Upcoming Talks and Tech News)</title><link>https://chrisreddington.com/video/weekly-vlog-004/</link><pubDate>Mon, 25 Jan 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-004/</guid><description>&lt;p&gt;Azure Thames Valley is gaining momentum with a website, Meetup page, Twitter account, and LinkedIn group, with the first meetup scheduled for February 16 (subsequently revised to the 17th). The committee agreed on a format of monthly virtual sessions on the third Tuesday of each month, open to speakers and attendees regardless of location.&lt;/p&gt;
&lt;p&gt;On the Azure side, the AKS Secret Store CSI driver enters public preview, enabling Kubernetes workloads to inject secrets, keys, and certificates from Azure Key Vault without storing sensitive material in etcd. The new automatic cluster upgrade channels — patch, stable, and rapid — simplify AKS operations but require careful attention to Kubernetes API version deprecations between minor releases. Azure DevOps Delivery Plans 2.0 gains the &lt;code&gt;uses&lt;/code&gt; statement for cleaner job resource declarations and a new manual validation task for pausing mid-stage YAML pipelines to verify configuration before continuing. Pulumi is introduced as an infrastructure-as-code tool that lets developers use Python, TypeScript, JavaScript, Go, and .NET instead of domain-specific languages, supporting AWS, Azure, GCP, and Kubernetes with native GitHub and Azure DevOps integrations. GitHub&amp;rsquo;s comprehensive 2020 year-in-review covers the CLI, mobile app, Actions improvements (self-hosted runners, environments, environment secrets, manual approvals), dark mode, GitHub Discussions, Sponsors, and pull request draft conversions.&lt;/p&gt;</description></item><item><title>23 - Gatekeeper and Valet Key Patterns - Secure your APIs and Resources</title><link>https://chrisreddington.com/video/gatekeeper-and-valet-key/</link><pubDate>Fri, 22 Jan 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/gatekeeper-and-valet-key/</guid><description>&lt;p&gt;Continuing the &amp;lsquo;Architecting for the Cloud, one pattern at a time&amp;rsquo; series, Chris and Peter Piper explore two closely related cloud design patterns that address a core challenge in distributed systems: how do you give clients access to exactly what they need — and nothing more?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Gatekeeper Pattern&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The Gatekeeper acts as a dedicated intermediary between untrusted clients (the public internet) and trusted backend services. Rather than exposing internal services directly, all traffic flows through the Gatekeeper, which can enforce:&lt;/p&gt;</description></item><item><title>JAMStack and the Cloud - A winning combination</title><link>https://chrisreddington.com/blog/jamstack-cloud-winning-combination/</link><pubDate>Wed, 20 Jan 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/jamstack-cloud-winning-combination/</guid><description>&lt;p&gt;When I mention the term JAMStack, I&amp;rsquo;m not pretending that I&amp;rsquo;m Paddington bear with a stack of Jam sandwiches! If you hadn&amp;rsquo;t heard, JAMStack is a term that describes applications based on JavaScript, APIs and Markup. That means, we&amp;rsquo;re referring to files that are content in nature. Think about files like HTML, CSS, Images, etc.&lt;/p&gt;
&lt;p&gt;Ok, now with that context - why has it risen in popularity? Surely this is something that could have been done for many years, so why now? My hypothesis&amp;hellip; Cloud. When you think about Cloud Workloads, typically the more costly aspects of the solution will be the underlying compute hosting the application, or the compute/services which are hosting the data layer.&lt;/p&gt;</description></item><item><title>V003 - Weekly Technology Vlog #3 (Contributing to OSS, Azure Thames Valley and Tech News)</title><link>https://chrisreddington.com/video/weekly-vlog-003/</link><pubDate>Mon, 18 Jan 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-003/</guid><description>&lt;p&gt;A significant highlight is Chris&amp;rsquo;s new role in relaunching the Azure Thames Valley meetup group, working with SquaredUp CEO Richard to revive and grow the local community. He previews upcoming speaking engagements: an AzureIsh Live Among Us gaming stream (February 10), a SquaredUp webinar on application observability in a distributed world using Azure Monitor, App Insights, and distributed tracing (February 25), and a session for the Limerick .NET Azure User Group on using GitHub Actions to deploy static websites (March 6).&lt;/p&gt;</description></item><item><title>22 - Static Content Hosting Pattern (Save cost and gain performance for static websites!)</title><link>https://chrisreddington.com/video/static-content-hosting-pattern/</link><pubDate>Fri, 15 Jan 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/static-content-hosting-pattern/</guid><description>&lt;p&gt;Serving static HTML, CSS, images, and JavaScript from a general-purpose web server wastes compute and money. The Static Content Hosting pattern offloads these assets to purpose-built cloud storage for both cost savings and performance gains.&lt;/p&gt;
&lt;h2 id="what-youll-learn"&gt;What You&amp;rsquo;ll Learn&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;strong&gt;Static Content Hosting pattern&lt;/strong&gt; from the Azure Architecture Center and when to apply it&lt;/li&gt;
&lt;li&gt;Why compute platforms (App Service, VMs, Kubernetes) are the wrong tool for serving static assets&lt;/li&gt;
&lt;li&gt;How &lt;strong&gt;Azure Blob Storage&lt;/strong&gt; (and equivalent AWS S3 / GCP Cloud Storage) can serve static sites directly over HTTP/HTTPS&lt;/li&gt;
&lt;li&gt;The role of a &lt;strong&gt;CDN (Content Delivery Network)&lt;/strong&gt; in addressing two key challenges:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Geographic latency&lt;/strong&gt;: serving content from Points of Presence close to end users&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Storage throughput limits&lt;/strong&gt;: the 20,000 requests/second cap on Azure Storage accounts&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Geo-redundancy&lt;/strong&gt; considerations for resilience against data centre failures&lt;/li&gt;
&lt;li&gt;When to use the &lt;strong&gt;Valet Key pattern&lt;/strong&gt; for securing access to private static content&lt;/li&gt;
&lt;li&gt;Real-world walkthrough of cloudwithchris.com: &lt;strong&gt;Hugo&lt;/strong&gt; static site generation → GitHub Actions build → Azure Blob Storage → Azure CDN&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="limitations"&gt;Limitations&lt;/h2&gt;
&lt;p&gt;This pattern suits truly static content. Dynamic content requiring server-side rendering or complex routing is not a good fit—though JavaScript-driven API calls can bridge many of those gaps.&lt;/p&gt;</description></item><item><title>Contributing to Open Source</title><link>https://chrisreddington.com/blog/contributing-to-open-source/</link><pubDate>Tue, 12 Jan 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/contributing-to-open-source/</guid><description>&lt;p&gt;Contributing to Open Source Software. It sounds so formal, doesn&amp;rsquo;t it? I thought that for quite a long time, and it put a bit of a mental barrier in place for me to begin my journey. I am a classic over thinker, but that&amp;rsquo;s perhaps another blog in its own right!&lt;/p&gt;
&lt;p&gt;Contributing to Open Source isn&amp;rsquo;t as scary as it may first initially seem. Let&amp;rsquo;s start with a few thoughts.&lt;/p&gt;</description></item><item><title>V002 - Weekly Technology Vlog #2 (Show Updates, Azure Updates, CloudFamily.info)</title><link>https://chrisreddington.com/video/weekly-vlog-002/</link><pubDate>Mon, 11 Jan 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-002/</guid><description>&lt;p&gt;This episode focuses on getting Cloud with Chris organised for 2021. Chris released a video exploring GitHub Codespaces and its potential as a cloud-hosted development environment, alongside a blog post on his journey contributing to open source Hugo themes. He previews an upcoming gaming and technology series, shares his Sessionize profile for receiving talk submissions, and notes that a regular content cadence is taking shape — vlogs on Mondays, blogs on Wednesdays, and technical videos on Fridays.&lt;/p&gt;</description></item><item><title>GitHub Codespaces, Visual Studio Code and Remote Containers</title><link>https://chrisreddington.com/video/github-codespaces-and-vscode-remote-containers/</link><pubDate>Fri, 08 Jan 2021 15:30:00 +0000</pubDate><guid>https://chrisreddington.com/video/github-codespaces-and-vscode-remote-containers/</guid><description>&lt;p&gt;Setting up a development environment—installing the right SDK versions, extensions, and tools—wastes hours and creates &amp;lsquo;works on my machine&amp;rsquo; problems. VS Code Remote Containers and GitHub Codespaces solve this with containerised, reproducible dev environments.&lt;/p&gt;
&lt;h2 id="what-youll-learn"&gt;What You&amp;rsquo;ll Learn&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;How the &lt;strong&gt;VS Code Remote Containers extension&lt;/strong&gt; connects your local editor to a Docker container running a full development environment&lt;/li&gt;
&lt;li&gt;The role of &lt;strong&gt;&lt;code&gt;devcontainer.json&lt;/code&gt;&lt;/strong&gt; as a manifest defining your development container&amp;rsquo;s configuration, extensions, and port forwarding&lt;/li&gt;
&lt;li&gt;How to bootstrap a .NET Core dev container using the &lt;strong&gt;microsoft/vscode-dev-containers&lt;/strong&gt; repository samples&lt;/li&gt;
&lt;li&gt;The difference between Remote Containers (local Docker) and &lt;strong&gt;GitHub Codespaces&lt;/strong&gt; (cloud-hosted containers accessible from a browser)&lt;/li&gt;
&lt;li&gt;Using the &lt;strong&gt;GitHub Codespaces VS Code extension&lt;/strong&gt; to connect your local IDE to a cloud-hosted Codespace&lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;dotfiles convention&lt;/strong&gt;: GitHub Codespaces automatically applies your &lt;code&gt;~username/dotfiles&lt;/code&gt; repository to personalise every Codespace with your aliases, shell configuration, and shortcuts&lt;/li&gt;
&lt;li&gt;Live demo: editing, previewing, and committing changes to cloudwithchris.com (Hugo static site) entirely within a GitHub Codespace&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="developer-experience-impact"&gt;Developer Experience Impact&lt;/h2&gt;
&lt;p&gt;GitHub Codespaces eliminates onboarding friction—any developer with browser access can contribute to a project within minutes, with a pre-configured environment including the correct language runtime, VS Code extensions, and tooling. No local setup required.&lt;/p&gt;</description></item><item><title>Contributing to a Hugo Theme - The Castanet and Hugo Community Themes</title><link>https://chrisreddington.com/blog/contributing-to-a-hugo-theme/</link><pubDate>Wed, 06 Jan 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/contributing-to-a-hugo-theme/</guid><description>&lt;p&gt;During the 2020 Festive Break, I had a lot of time on my hands. I took 4 weeks of my Annual Leave, which meant I had the majority of December to personal time&lt;/p&gt;
&lt;p&gt;Personal time / time off is great, but I also wanted to push myself and catch up on some pieces that were on my personal learning or achievement list for some time. I started refreshing my knowledge around Rails (having developed in it some years ago, it&amp;rsquo;s progressed quite a bit!), NodeJS, GoLang and Rust. All interesting to learn, and I&amp;rsquo;m sure I&amp;rsquo;ll be continuing on my journey with these throughout 2021.&lt;/p&gt;</description></item><item><title>V001 - Weekly Technology Vlog #1 (Blog, Hugo, Azure, GitHub &amp; Azure DevOps)</title><link>https://chrisreddington.com/video/weekly-vlog-001/</link><pubDate>Mon, 04 Jan 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/weekly-vlog-001/</guid><description>&lt;p&gt;Chris kicks off the weekly vlog format with a look back at December 2020. On the open source front, he contributed pull requests to Matt Stratton&amp;rsquo;s Hugo Castanet theme — adding blog functionality and fixing episode number bugs — and began building a new Hugo theme designed for community groups, meetups, and conference platforms with multiple group and event structures. He was recognised as a new user of the month on the Hugo community forum for his support contributions there.&lt;/p&gt;</description></item><item><title>Cloud With Chris - Moving Forwards</title><link>https://chrisreddington.com/blog/cloud-with-chris-moving-forwards/</link><pubDate>Sat, 02 Jan 2021 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/cloud-with-chris-moving-forwards/</guid><description>&lt;p&gt;You may have noticed there are some posts preceding this one. I&amp;rsquo;ve had a few attempts at putting my own personal blog together, but over time, my posts dwindle&amp;hellip; Well, given the recent success with my Cloud with Chris podcast, I&amp;rsquo;m beginning to consolidate&amp;hellip; Starting with my blog! Here&amp;rsquo;s an update on what you have to look forward to!&lt;/p&gt;
&lt;p&gt;As we enter 2021, like most, I&amp;rsquo;ve been reflecting on what my goals are / what I want to achieve. Rather than setting many goals, I&amp;rsquo;ve decided to stay focused on one goal. My contributions into the technical community. So it was only natural that I start thinking about the various channels that I have, and how I can consolidate/focus, as well as decide upon what type of content I&amp;rsquo;ll be focusing on.&lt;/p&gt;</description></item><item><title>21 - The Queue Based Load Levelling and Competing Consumers Pattern</title><link>https://chrisreddington.com/video/queue-based-load-levelling-and-competing-consumers/</link><pubDate>Fri, 01 Jan 2021 09:30:00 +0000</pubDate><guid>https://chrisreddington.com/video/queue-based-load-levelling-and-competing-consumers/</guid><description>&lt;p&gt;Do you have an application with specific scalability and continuity-of-service requirements? What happens when your service is hit by heavy load — could performance or reliability issues cascade through your solution?&lt;/p&gt;
&lt;p&gt;In this &lt;em&gt;Architecting for the Cloud, One Pattern at a Time&lt;/em&gt; episode, Chris and Will Eastbury cover three closely related patterns that are almost always used together in high-throughput systems:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Queue-Based Load Levelling&lt;/strong&gt; — use a message queue as a shock absorber to smooth dramatic traffic spikes, so a downstream service processes at a consistent rate regardless of inbound demand&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Competing Consumers&lt;/strong&gt; — scale out message processing by running multiple consumers in parallel, pulling from the same queue to clear backlogs faster&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Asynchronous Request-Reply&lt;/strong&gt; — retrofit async processing into existing synchronous architectures using a status-polling pattern (HTTP 202 / redirect), without tearing apart the existing application&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Along the way, Willy and Chris discuss real-world analogies (drive-throughs, ticketing ballots, smart motorways), Azure Service Bus configuration considerations such as maximum queue depth, and how Azure Functions bindings can scale consuming instances dynamically based on queue depth. They also address distributed tracing with Application Insights and the critical reminder that these patterns introduce real complexity — and should only be adopted when requirements genuinely justify it.&lt;/p&gt;</description></item><item><title>20 - The Anti-corruption layer, Gateway Aggregation and Gateway Routing patterns</title><link>https://chrisreddington.com/video/anti-corruption-layer-and-gateway-patterns/</link><pubDate>Wed, 30 Dec 2020 00:01:00 +0000</pubDate><guid>https://chrisreddington.com/video/anti-corruption-layer-and-gateway-patterns/</guid><description>&lt;p&gt;In this episode of the &lt;em&gt;Architecting for the Cloud, One Pattern at a Time&lt;/em&gt; series, Peter Piper returns to walk through three powerful cloud design patterns that build on the Façade concept explored in earlier episodes.&lt;/p&gt;
&lt;h2 id="whats-covered"&gt;What&amp;rsquo;s covered&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Context reset: The Strangler pattern&lt;/strong&gt; — a brief recap to set the scene for migration from legacy to modern systems&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Anti-Corruption Layer (ACL)&lt;/strong&gt; — how to prevent a legacy system&amp;rsquo;s data model from &amp;ldquo;corrupting&amp;rdquo; a new microservices domain; translating between old SOAP/REST contracts and modern REST APIs; how this enables high cohesion and low coupling through domain-driven design&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gateway Aggregation&lt;/strong&gt; — reducing client chattiness by aggregating multiple backend service calls into a single response at the gateway layer; chatty I/O anti-patterns and their performance impact&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gateway Routing&lt;/strong&gt; — layer-7 routing by IP, port, header, or URL path; decoupling consumers from versioned backend services; Azure load balancing options (Application Gateway, Azure Front Door, Traffic Manager, Azure Load Balancer) and when to use each&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure service mapping&lt;/strong&gt; — how Azure API Management, Application Gateway, and Front Door map to these patterns in practice&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cross-cutting concerns&lt;/strong&gt; — resilience (single points of failure, HA/DR), observability (monitoring and logging), Infrastructure as Code for gateway configuration, and integration/regression/performance testing for each pattern&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;When &lt;em&gt;not&lt;/em&gt; to use these patterns&lt;/strong&gt; — anti-patterns for scenarios where a WAF/DDoS layer is a better fit than a full gateway&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All three patterns share a common thread: a facade layer that decouples front-end consumers from back-end complexity, enabling independent evolution, safe versioning, and testability.&lt;/p&gt;</description></item><item><title>19 - The Event Sourcing, Materialized View and CQRS Patterns</title><link>https://chrisreddington.com/video/event-sourcing-and-materialized-view/</link><pubDate>Wed, 23 Dec 2020 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/event-sourcing-and-materialized-view/</guid><description>&lt;p&gt;These three cloud design patterns — Event Sourcing, Materialized View, and CQRS — are frequently used together in event-driven systems and are especially well-suited to cloud environments like Azure. In this episode, Chris and Steph explore each pattern individually and explain how they complement each other.&lt;/p&gt;
&lt;h2 id="event-sourcing"&gt;Event Sourcing&lt;/h2&gt;
&lt;p&gt;Instead of storing only the current state of an entity, Event Sourcing records &lt;strong&gt;every event&lt;/strong&gt; that led to that state as an immutable, append-only log. Think of it as a complete audit trail of decisions:&lt;/p&gt;</description></item><item><title>11 - The Geode Pattern - What is it and how can it be useful for my app?</title><link>https://chrisreddington.com/video/geode-pattern/</link><pubDate>Mon, 21 Dec 2020 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/geode-pattern/</guid><description>&lt;p&gt;You may have heard of patterns like the Retry pattern, Circuit Breaker, or CQRS — but have you heard of the Geode pattern?&lt;/p&gt;
&lt;p&gt;In this &lt;em&gt;Architecting for the Cloud, One Pattern at a Time&lt;/em&gt; episode, Chris and Will Eastbury — who contributed to the original Azure Architecture Center documentation for this pattern — explore how Geodes enable planet-scale, active-active applications.&lt;/p&gt;
&lt;p&gt;Key concepts covered:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;What is the Geode pattern?&lt;/strong&gt; Geodes are identical, globally distributed compute nodes where all nodes actively serve any request. Unlike Deployment Stamps (which constrain a tenant to a specific stamp), all Geodes contain the same data, enabling any node to serve any user&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Geodes vs Deployment Stamps&lt;/strong&gt;: Deployment Stamps are tenant-scoped and support multi-tenancy models; Geodes prioritize global consistency and maximum compute utilization. The two patterns can be combined&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Performance and availability&lt;/strong&gt;: The primary benefit is low latency for globally distributed users, with high availability as a natural side effect. Azure Front Door acts as the intelligent global load balancer routing requests to the nearest healthy Geode&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data sovereignty considerations&lt;/strong&gt;: Because data is replicated to all Geodes, organizations with strict regional data residency requirements need to plan carefully — potentially combining Geodes with Deployment Stamps for tenant-bounded slices&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Active-active vs active-passive&lt;/strong&gt;: Geodes are designed for scenarios where active-passive is too expensive or wasteful; all nodes are live and independently scalable&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hands-on demo&lt;/strong&gt;: A globally distributed real-time voting application using Azure Functions (event bindings), Cosmos DB (change feed), and SignalR — demonstrating the event-sourcing and messaging aspects of the pattern in practice&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Intelligent edge evolution&lt;/strong&gt;: How this pattern naturally extends to IoT edge and 5G scenarios, with millions of tiny Geodes in roadside cabinets all maintaining configuration from a central service&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This episode was originally recorded on 9th October 2020, but had some technical issues and was re-recorded on 21st December 2020.&lt;/p&gt;</description></item><item><title>18 - Tales from the Real World - Defying Gravity.. The magic behind Flight Simulator 2020</title><link>https://chrisreddington.com/video/defying-gravity/</link><pubDate>Fri, 18 Dec 2020 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/defying-gravity/</guid><description>&lt;p&gt;Flight Simulator 2020 is more than a game — it&amp;rsquo;s a globally distributed cloud application delivering photorealistic terrain, live weather, and real-time multiplayer to millions of users simultaneously. In this episode, Chris and Cam use an actual flight in the simulator as a vehicle for exploring the cloud architecture behind it.&lt;/p&gt;
&lt;p&gt;Topics covered during the flight include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Content distribution at scale:&lt;/strong&gt; How a 150 GB game download reaches players on launch day — Azure Storage as origin, CDN for global caching and edge delivery, and why proximity to the user matters more for players in Australia than in North America&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Real-time data pipelines:&lt;/strong&gt; How live weather, Bing Maps terrain data, and other players&amp;rsquo; aircraft appear in your cockpit in near-real time — pointing to Azure Event Hubs and Stream Analytics as candidate services for high-throughput, low-latency event streams&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Game backend services:&lt;/strong&gt; PlayFab for player authentication, session management, and leaderboards; Service Fabric or Kubernetes as the microservices substrate&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resilience and protection:&lt;/strong&gt; DDoS protection strategies for public-facing game services where mid-session interruption is unacceptable&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Architectural trade-offs:&lt;/strong&gt; Why &amp;ldquo;low latency&amp;rdquo; isn&amp;rsquo;t a real requirement — &amp;ldquo;less than 5ms for this component&amp;rdquo; is — and how conflicting requirements force priority decisions between competing architectural concerns&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The session demonstrates how the same patterns used in enterprise workloads apply directly to consumer gaming platforms, and why domain context shapes architectural decisions in ways that generic best-practice guidance cannot anticipate.&lt;/p&gt;</description></item><item><title>GitHub Issues and GitHub Discussions</title><link>https://chrisreddington.com/video/github-issues-github-discussions/</link><pubDate>Wed, 16 Dec 2020 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/github-issues-github-discussions/</guid><description>&lt;p&gt;&lt;strong&gt;GitHub Issues&lt;/strong&gt; act as the project backlog: each issue can carry labels (e.g., mini-series groupings), milestones (e.g., December 2020 release target), and assignees. Issues feed directly into &lt;strong&gt;GitHub Projects&lt;/strong&gt; kanban boards, where you can drag cards between columns (To Do / In Progress / Done) and configure automation rules so that opening or closing an issue, or merging a pull request, automatically moves the card to the correct column.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;GitHub Discussions&lt;/strong&gt; (launched at GitHub Universe) are enabled per-repository in Settings and complement Issues by providing an open community space. Default categories include Q&amp;amp;A, Show and Tell, and Announcements; these can be customised — for example adding &amp;ldquo;Episode Ideas&amp;rdquo; and &amp;ldquo;Guest Introductions&amp;rdquo; categories so community members can pitch content publicly rather than via closed forms. An issue can be converted directly to a Discussion when the thread is better suited to open dialogue than to tracked work.&lt;/p&gt;</description></item><item><title>GitHub Universe and GitHub Actions Deployments</title><link>https://chrisreddington.com/video/github-universe-roundup/</link><pubDate>Tue, 15 Dec 2020 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/github-universe-roundup/</guid><description>&lt;p&gt;In this episode, we&amp;rsquo;re going to be taking a slight detour away from GitHub actions and focus on some of the announcements from GitHub universe last week. We&amp;rsquo;re going to explore them both from the announcements, and also take a look at some of those features that have already been released. Stay tuned!&lt;/p&gt;</description></item><item><title>17 - The Throttling, Retry and Circuit Breaker Patterns</title><link>https://chrisreddington.com/video/throttling-and-retry-pattern/</link><pubDate>Fri, 04 Dec 2020 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/throttling-and-retry-pattern/</guid><description>&lt;p&gt;How do you protect your infrastructure from traffic spikes, safeguard multi-tenant workloads from noisy neighbours, and handle transient failures gracefully? Chris and John Downs walk through three essential cloud resilience patterns that every developer building on Azure should understand. Part of the &amp;ldquo;Architecting for the Cloud, One Pattern at a Time&amp;rdquo; series.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Throttling Pattern&lt;/strong&gt;
Protect your services and downstream dependencies from high or unexpected load. Rather than a simple binary on/off gate, throttling can degrade gracefully — disabling non-critical features under load, shaping traffic, or signalling clients via HTTP 429 with a &lt;code&gt;Retry-After&lt;/code&gt; header. Azure services like Cosmos DB and Service Bus use this approach natively.&lt;/p&gt;</description></item><item><title>GitHub Actions and Azure - Deploying .NET Core code to Azure App Service</title><link>https://chrisreddington.com/video/github-actions-deploy-to-appservice/</link><pubDate>Wed, 02 Dec 2020 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/github-actions-deploy-to-appservice/</guid><description>&lt;p&gt;You have your .NET Core application code and your Azure App Service infrastructure is ready. Now it&amp;rsquo;s time to wire them together with a fully automated GitHub Actions deployment pipeline.&lt;/p&gt;
&lt;h2 id="what-youll-learn"&gt;What You&amp;rsquo;ll Learn&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;How to structure a &lt;strong&gt;multi-job GitHub Actions workflow&lt;/strong&gt; that separates infrastructure deployment from application deployment&lt;/li&gt;
&lt;li&gt;Setting up the &lt;strong&gt;Azure Web App Deploy&lt;/strong&gt; action for .NET Core applications&lt;/li&gt;
&lt;li&gt;Using &lt;strong&gt;GitHub Secrets&lt;/strong&gt; to securely store Azure publish profiles&lt;/li&gt;
&lt;li&gt;Configuring &lt;code&gt;dotnet build&lt;/code&gt; and &lt;code&gt;dotnet publish&lt;/code&gt; steps within a workflow job&lt;/li&gt;
&lt;li&gt;Troubleshooting common YAML indentation and path errors in GitHub Actions pipelines&lt;/li&gt;
&lt;li&gt;How ARM template &lt;strong&gt;idempotency&lt;/strong&gt; means the infrastructure job runs safely on every commit with no unintended changes&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="workflow-structure"&gt;Workflow Structure&lt;/h2&gt;
&lt;p&gt;The pipeline demonstrated here follows a two-stage pattern:&lt;/p&gt;</description></item><item><title>GitHub Actions and Azure - Deploying ARM templates with GitHub Actions</title><link>https://chrisreddington.com/video/github-actions-deploying-infrastructure/</link><pubDate>Wed, 02 Dec 2020 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/github-actions-deploying-infrastructure/</guid><description>&lt;p&gt;Before deploying application code, you need cloud infrastructure in place. This episode demonstrates automating Azure infrastructure provisioning using ARM templates and GitHub Actions.&lt;/p&gt;
&lt;h2 id="what-youll-learn"&gt;What You&amp;rsquo;ll Learn&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;What &lt;strong&gt;ARM templates&lt;/strong&gt; (Azure Resource Manager templates) are and why they&amp;rsquo;re &lt;strong&gt;declarative&lt;/strong&gt;, &lt;strong&gt;deterministic&lt;/strong&gt;, and &lt;strong&gt;idempotent&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;How ARM templates differ from imperative approaches like Azure CLI or PowerShell scripts&lt;/li&gt;
&lt;li&gt;ARM template structure: &lt;code&gt;schema&lt;/code&gt;, &lt;code&gt;contentVersion&lt;/code&gt;, &lt;code&gt;parameters&lt;/code&gt;, &lt;code&gt;variables&lt;/code&gt;, &lt;code&gt;resources&lt;/code&gt;, and &lt;code&gt;outputs&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Using the &lt;strong&gt;&lt;code&gt;azure/arm-deploy&lt;/code&gt;&lt;/strong&gt; GitHub Action to deploy ARM templates from a workflow&lt;/li&gt;
&lt;li&gt;Repository organisation: separating &lt;code&gt;source/&lt;/code&gt; (application code) from &lt;code&gt;templates/&lt;/code&gt; (ARM templates)&lt;/li&gt;
&lt;li&gt;Adding the &lt;strong&gt;&lt;code&gt;actions/checkout&lt;/code&gt;&lt;/strong&gt; step—and why forgetting it causes cryptic &amp;ldquo;file not found&amp;rdquo; workflow failures&lt;/li&gt;
&lt;li&gt;Using &lt;strong&gt;&lt;code&gt;secureString&lt;/code&gt;&lt;/strong&gt; parameter types to protect secrets in ARM template inputs and outputs&lt;/li&gt;
&lt;li&gt;Browsing the &lt;strong&gt;Azure Quickstart Templates&lt;/strong&gt; gallery for production-ready ARM template samples&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="series-context"&gt;Series Context&lt;/h2&gt;
&lt;p&gt;This is the second episode in the GitHub Actions and Azure series. The infrastructure deployment workflow built here becomes the first job in the multi-job pipeline extended in the next episode to also compile and deploy application code.&lt;/p&gt;</description></item><item><title>GitHub Actions and Azure - Getting started with GitHub Actions and Azure Login</title><link>https://chrisreddington.com/video/github-actions-getting-started/</link><pubDate>Sun, 29 Nov 2020 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/github-actions-getting-started/</guid><description>&lt;p&gt;New to GitHub Actions? This episode is your starting point for automating Azure deployments with GitHub&amp;rsquo;s built-in CI/CD platform.&lt;/p&gt;
&lt;h2 id="what-youll-learn"&gt;What You&amp;rsquo;ll Learn&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The difference between &lt;strong&gt;Git&lt;/strong&gt; and &lt;strong&gt;GitHub&lt;/strong&gt;, and how GitHub Actions fits into your development workflow alongside alternatives like Azure DevOps, GitLab, and Bitbucket&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Actions workflow YAML structure&lt;/strong&gt;: &lt;code&gt;on&lt;/code&gt; triggers, &lt;code&gt;jobs&lt;/code&gt;, &lt;code&gt;steps&lt;/code&gt;, &lt;code&gt;runs-on&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;How &lt;strong&gt;GitHub-hosted runners&lt;/strong&gt; (Ubuntu, Windows, macOS) work and when to use self-hosted alternatives&lt;/li&gt;
&lt;li&gt;Using the &lt;strong&gt;Azure Login&lt;/strong&gt; action to authenticate against Azure from a workflow&lt;/li&gt;
&lt;li&gt;Creating an &lt;strong&gt;Azure Service Principal&lt;/strong&gt; with the &lt;code&gt;az ad sp create-for-rbac&lt;/code&gt; command and storing credentials as &lt;strong&gt;GitHub Secrets&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Running &lt;strong&gt;Azure CLI&lt;/strong&gt; commands as workflow steps after authentication&lt;/li&gt;
&lt;li&gt;Pinning GitHub Actions to specific versions (e.g., &lt;code&gt;azure/login@v1&lt;/code&gt;) for reproducible, auditable pipelines&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="key-concept-actions-as-repositories"&gt;Key Concept: Actions as Repositories&lt;/h2&gt;
&lt;p&gt;GitHub Actions are themselves open-source repositories. When you reference &lt;code&gt;azure/login@v1&lt;/code&gt;, you&amp;rsquo;re pinning to a specific release tag of the &lt;code&gt;azure/login&lt;/code&gt; GitHub repository. This makes the GitHub Actions ecosystem composable, auditable, and extensible—anyone can submit a pull request to add new capabilities.&lt;/p&gt;</description></item><item><title>GitHub Actions and Azure - Source Controlling our Code using Git</title><link>https://chrisreddington.com/video/github-actions-git/</link><pubDate>Sun, 29 Nov 2020 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/github-actions-git/</guid><description>&lt;p&gt;Before writing a single GitHub Actions workflow, you need a version-controlled project on GitHub. This episode scaffolds a .NET MVC web application with &lt;code&gt;dotnet new mvc&lt;/code&gt; inside a WSL Ubuntu environment, then uses VS Code&amp;rsquo;s Source Control panel to stage the generated files, write an initial commit, and push to a freshly created public GitHub repository — equivalent to running &lt;code&gt;git remote add origin&lt;/code&gt;, &lt;code&gt;git branch -M main&lt;/code&gt;, and &lt;code&gt;git push -u origin main&lt;/code&gt; from the command line.&lt;/p&gt;</description></item><item><title>16 - The Backends for Frontends and Strangler Pattern with Peter Piper</title><link>https://chrisreddington.com/video/backends-for-frontends-and-strangler/</link><pubDate>Sun, 22 Nov 2020 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/backends-for-frontends-and-strangler/</guid><description>&lt;p&gt;Managing APIs across web, mobile, and multiple consumer types creates tight coupling that slows modernisation and makes versioning painful. In this episode, Chris Reddington is joined by Peter Piper to explore the Backend for Frontends (BFF) pattern — creating dedicated backends tailored to each consumer — alongside the Strangler Fig pattern for incrementally migrating legacy monoliths without disrupting existing clients. The Façade pattern also features as a key decoupling mechanism for smooth API migrations. Part of the &amp;ldquo;Architecting for the Cloud, One Pattern at a Time&amp;rdquo; series.&lt;/p&gt;</description></item><item><title>15 - The Sharding and Index Table Patterns</title><link>https://chrisreddington.com/video/sharding-and-index-table/</link><pubDate>Fri, 13 Nov 2020 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/sharding-and-index-table/</guid><description>&lt;p&gt;Starting to think about the data layer of your application and concerned about scalability? In this episode, Chris is joined by Steph Martin to cover two complementary cloud data patterns: &lt;strong&gt;Sharding&lt;/strong&gt; and &lt;strong&gt;Index Table&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The Sharding Pattern&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Sharding horizontally scales a data store by partitioning data across multiple shards (database nodes), so no single node becomes a bottleneck. Key design decisions include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Shard key strategies&lt;/strong&gt;: &lt;em&gt;Lookup sharding&lt;/em&gt; (explicit map of key to shard), &lt;em&gt;range sharding&lt;/em&gt; (e.g., customer IDs 1–1000 on shard A), and &lt;em&gt;hash sharding&lt;/em&gt; (consistent hashing to distribute load evenly).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cross-shard queries&lt;/strong&gt;: Designing your shard key to avoid cross-shard queries is critical — querying across shards is expensive and may require scatter-gather patterns.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Noisy neighbour problem&lt;/strong&gt;: In multi-tenant SaaS, a single large tenant can saturate a shard and degrade performance for co-tenants. Good key design is the best prevention.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Data sovereignty&lt;/strong&gt;: Sharding is an elegant solution for customers that require data residency in specific regions.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure SQL Database elastic client library&lt;/strong&gt;: Microsoft&amp;rsquo;s tooling for managing shard maps and routing queries to the correct shard automatically.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;The Index Table Pattern&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>14 - The Deployment Stamps Pattern</title><link>https://chrisreddington.com/video/deployment-stamps/</link><pubDate>Fri, 06 Nov 2020 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/deployment-stamps/</guid><description>&lt;p&gt;The Deployment Stamps pattern is a powerful cloud architecture approach for scaling, resilience, and multi-tenancy. In this episode, Chris Reddington is joined by John Downs — who contributed the pattern to the Azure Architecture Center — to explore how stamping out independent copies of your application stack across regions enables geographic distribution, data sovereignty, isolated failure domains, and deployment rings for staged rollouts. Discover when to use this pattern, how Azure itself relies on it internally, and the key considerations around request routing, cross-stamp querying, and disaster recovery planning.&lt;/p&gt;</description></item><item><title>13 - Tales from the Real World - Defying DDOS</title><link>https://chrisreddington.com/video/defying-ddos/</link><pubDate>Fri, 30 Oct 2020 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/defying-ddos/</guid><description>&lt;p&gt;DDoS attacks have scaled to cloud-level volumes — terabits per second — that on-premises hardware simply cannot absorb. In this episode, Chris is joined by Cam Adams, an engineering manager from Brisbane, Australia, who shares first-hand experience helping customers across Asia-Pacific defend against distributed denial-of-service attacks using Azure.&lt;/p&gt;
&lt;p&gt;Cam describes three distinct customer profiles: organisations fully committed to Azure, those in a hybrid state with workloads split between cloud and on-premises, and those yet to begin their cloud journey but still needing cloud-scale defence for on-premises systems. For the latter group, the approach centres on using Azure as an absorptive layer against what Cam calls the &amp;ldquo;last mile&amp;rdquo; bottleneck — the narrow point where an internet connection meets on-premises routers and security appliances with throughput measured in gigabits, now being targeted by attacks in the hundreds of gigabits to terabits per second.&lt;/p&gt;</description></item><item><title>12 - Modern Identity Patterns</title><link>https://chrisreddington.com/video/modern-identity-patterns/</link><pubDate>Fri, 16 Oct 2020 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/modern-identity-patterns/</guid><description>&lt;p&gt;Chris is joined by Christos Matskas — former Microsoft Premier Field Engineer, developer tools evangelist, and .NET identity expert — for a deep-dive into modern identity patterns in the cloud. They cut through the confusion between Azure AD, Azure AD B2B, Azure AD B2C, and External Identities, explain why the network perimeter is no longer your security boundary, and make the case for letting battle-hardened libraries like MSAL do the heavy lifting rather than rolling your own auth. From eliminating secrets in ARM templates to Zero Trust principles, this episode lays a practical foundation for securing any cloud application.&lt;/p&gt;</description></item><item><title>Deploying Azure Functions and Static Sites with GitHub Actions | Cloud with Chris</title><link>https://chrisreddington.com/video/azure-github-actions/</link><pubDate>Fri, 02 Oct 2020 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/azure-github-actions/</guid><description>&lt;p&gt;Chris uses a real side-project — a multi-tenant card inventory app — to demonstrate GitHub Actions from first principles through to a working CI/CD pipeline.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;GitHub Actions Fundamentals&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The session opens with a clear explanation of what GitHub Actions are and why they are called &lt;em&gt;workflows&lt;/em&gt; rather than pipelines: Actions are not limited to CI/CD and can respond to any GitHub event, including issue comments, new contributors, and dependency alerts. Core concepts covered include:&lt;/p&gt;</description></item><item><title>9 - Building smart Integration Solutions with Microsoft Azure</title><link>https://chrisreddington.com/video/building-smart-integration-solutions/</link><pubDate>Sun, 02 Aug 2020 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/building-smart-integration-solutions/</guid><description>&lt;p&gt;When we think about cloud architecture, we typically think about distributed systems and the challenge of bringing different components or services together. But integration in the cloud is more nuanced than simply connecting services — it requires understanding messaging semantics, failure modes, and observability.&lt;/p&gt;
&lt;p&gt;In this episode, Chris is joined by Ezhilarasi Chezhiyan, Technical Lead at Serverless360 (Kovai.co), to explore practical patterns for building smart Azure integration solutions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Events vs. Messages — a critical distinction&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>8 - Azure Security</title><link>https://chrisreddington.com/video/azure-security/</link><pubDate>Sun, 07 Jun 2020 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/azure-security/</guid><description>&lt;p&gt;Moving to Azure? Security has to come first. Chris is joined by cybersecurity expert Andrew Nathan to explore how organisations can build a strong security posture in the cloud. They cover:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Azure Security Center &amp;amp; Secure Score&lt;/strong&gt; — getting immediate visibility into misconfigurations and threat vectors&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Identity strategy&lt;/strong&gt; — understanding the critical difference between Azure AD and Azure RBAC, managing stale credentials, and enforcing MFA for privileged accounts&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Threat modelling&lt;/strong&gt; — identifying high-value assets, high-value identities, and building appropriate alerting&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure Policy and Management Groups&lt;/strong&gt; — using governance controls to audit and control your cloud environment&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Red team / Blue team war gaming&lt;/strong&gt; — evolving your security operations so you&amp;rsquo;re always testing your own defences&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Whether you&amp;rsquo;re starting your cloud journey or course-correcting an existing environment, this episode helps you understand where to begin — and how to keep improving over time.&lt;/p&gt;</description></item><item><title>7 - Creating Cloud with Chris</title><link>https://chrisreddington.com/video/creating-cloud-with-chris/</link><pubDate>Sun, 24 May 2020 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/creating-cloud-with-chris/</guid><description>&lt;p&gt;Ever wondered what goes into building a technical podcast from scratch? In this behind-the-scenes episode, the tables are turned as colleague Fletcher Kelly interviews Chris Reddington about the creation of Cloud with Chris. Topics include choosing a podcast theme, microphone selection, post-production with Audacity, using Azure Cognitive Services for automated transcription, designing for accessibility from day one, and automating the Hugo-based website with CI/CD pipelines. A candid look at the content creation journey behind a technical podcast.&lt;/p&gt;</description></item><item><title>6 - Hybrid Cloud</title><link>https://chrisreddington.com/video/hybrid-cloud/</link><pubDate>Sun, 10 May 2020 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/hybrid-cloud/</guid><description>&lt;p&gt;Hybrid cloud is no longer just a transitional state between on-premises and public cloud — for many enterprises, it is an end state in its own right. Chris is joined by Thomas Maurer, Senior Cloud Advocate at Microsoft, to explore this shift in thinking and how Microsoft&amp;rsquo;s Azure platform is evolving to support it.&lt;/p&gt;
&lt;p&gt;Thomas explains that hybrid today extends well beyond the traditional on-premises-plus-Azure model. It encompasses factory floors running IoT edge workloads that cannot tolerate internet dependency, retail stores with local compute requirements, disaster recovery and backup scenarios, and true multi-cloud deployments spanning multiple public cloud providers. The episode covers a broad range of Azure technologies designed to bring cloud-like management and consistency to all of these environments: Azure Stack Hub, Azure Stack HCI, Azure Stack Edge, Azure Arc, and Azure IoT Edge.&lt;/p&gt;</description></item><item><title>5 - The API Economy</title><link>https://chrisreddington.com/video/api-economy/</link><pubDate>Sat, 25 Apr 2020 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/api-economy/</guid><description>&lt;p&gt;APIs are the connective tissue of modern cloud architectures — but poor API design compounds into technical debt that is expensive to unwind. In this episode, Chris Reddington and Peter Piper explore the full lifecycle of API design: defining versioning contracts up front, modernising legacy APIs using the Strangler and Façade patterns, and securing APIs with JWT tokens, OAuth 2.0, and OIDC. They also cover Azure API Management patterns, circuit breakers, throttling, key rotation with Azure Key Vault, and the DevSecOps practices that keep an API estate healthy at scale.&lt;/p&gt;</description></item><item><title>4 - Hackathons</title><link>https://chrisreddington.com/video/hackathons/</link><pubDate>Sun, 12 Apr 2020 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/hackathons/</guid><description>&lt;p&gt;Hackathons are a powerful accelerator for learning, innovation, and community building — but what does it actually take to participate in, organize, or mentor at one? In this episode, Chris is joined by Maria Vrabie, an experienced hackathon participant, organizer, and mentor with a background at Microsoft.&lt;/p&gt;
&lt;p&gt;They explore the full spectrum of hackathon formats — from university weekend events and charity hack days to corporate open hacks run with enterprise customers. Maria shares candid stories from both sides of the organizer table, including the chaos of catering for hundreds of tired developers on a Sunday morning!&lt;/p&gt;</description></item><item><title>3 - DevOps in a Cloud World</title><link>https://chrisreddington.com/video/devops-in-cloud/</link><pubDate>Sun, 29 Mar 2020 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/devops-in-cloud/</guid><description>&lt;p&gt;In this first-guest episode of Cloud with Chris, Abel Wang — Principal Developer Advocate and DevOps Lead at Microsoft — joins Chris Reddington for a wide-ranging conversation on what DevOps really means and how to put it into practice in a cloud-first world.&lt;/p&gt;
&lt;p&gt;Key topics covered in this episode:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Defining DevOps&lt;/strong&gt; — Microsoft&amp;rsquo;s framing of DevOps as the union of people, process, and products focused on continuously delivering &lt;em&gt;value&lt;/em&gt; to end users, not just shipping features&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Telemetry and data-driven decisions&lt;/strong&gt; — how telemetry revealed that only one-third of features built at Microsoft actually delivered the value users wanted (one-third were neutral and one-third were actively unwanted), and how measuring actual usage changed the team&amp;rsquo;s development approach&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Feature flags&lt;/strong&gt; — separating deployment from release, enabling safe experimentation with subsets of users, supporting rapid rollback, and keeping flag debt under control&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Database DevOps&lt;/strong&gt; — storing database schemas in source control, automating schema migrations, and breaking the traditional DBA bottleneck to support high-frequency deployments&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Site Reliability Engineering (SRE)&lt;/strong&gt; — embedding on-call responsibility directly in cross-functional product teams, using live-site incidents as the fastest way to ramp up new engineers&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Shifting left&lt;/strong&gt; — moving quality, security, and reliability considerations earlier in the delivery pipeline to reduce the cost of fixing defects in production&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you are earlier in your DevOps journey or looking to level up specific practices like CI/CD pipelines, feature flags, or database automation, this episode is packed with practical insights drawn from real experience inside Microsoft engineering teams.&lt;/p&gt;</description></item><item><title>2 - Cost Control</title><link>https://chrisreddington.com/video/cost-control/</link><pubDate>Sun, 15 Mar 2020 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/cost-control/</guid><description>&lt;p&gt;Moving to the cloud shifts infrastructure spend from capital expenditure (CapEx) to operational expenditure (OpEx)—but realising those savings requires deliberate, cost-aware design from the start.&lt;/p&gt;
&lt;h2 id="what-youll-learn"&gt;What You&amp;rsquo;ll Learn&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;strong&gt;CapEx → OpEx mindset shift&lt;/strong&gt; and why cloud infrastructure should be treated as a commodity&lt;/li&gt;
&lt;li&gt;Why &lt;strong&gt;requirements drive cost decisions&lt;/strong&gt;—over-engineering for undefined SLAs leads to unnecessary spend and complexity&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Right-sizing&lt;/strong&gt;: identifying and correcting over-provisioned VMs and PaaS tiers migrated from on-premises&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Auto-scaling&lt;/strong&gt;: scaling out (more instances) vs. scaling up (larger SKUs), and why ephemeral scale-out is typically more cost-efficient for spiky or seasonal workloads&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Compute Resource Consolidation&lt;/strong&gt;: reducing 10 service instances to 2 via colocation or containerisation on Kubernetes&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Governance and tagging&lt;/strong&gt;: associating resources with metadata (environment, team, service) to enable cost reporting and chargeback&lt;/li&gt;
&lt;li&gt;Using &lt;strong&gt;cloud pricing calculators&lt;/strong&gt; for bronze/silver/gold architecture cost modelling with stakeholders&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reserved instances&lt;/strong&gt; and licensing benefit portability (e.g., Azure Hybrid Benefit) for predictable, steady-state workloads&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DDoS cost risk&lt;/strong&gt;: why auto-scale maximum instance limits and DDoS protection services are also financial safeguards&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="key-mindset-shift"&gt;Key Mindset Shift&lt;/h2&gt;
&lt;p&gt;Treat cloud resources as cattle, not pets. Right-size, auto-scale, and regularly review spend against your workload&amp;rsquo;s actual usage patterns—turning the monthly bill into a continuous optimisation feedback loop rather than a fixed infrastructure investment.&lt;/p&gt;</description></item><item><title>1 - Requirements in Context</title><link>https://chrisreddington.com/video/requirements-in-context/</link><pubDate>Sun, 01 Mar 2020 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/requirements-in-context/</guid><description>&lt;p&gt;Every cloud project starts with requirements. In this episode, Chris explores the critical pillars of cloud architecture: resilience, scalability, performance, and cost—and why defining them upfront (before drawing any architecture diagram) is essential.&lt;/p&gt;
&lt;h2 id="what-youll-learn"&gt;What You&amp;rsquo;ll Learn&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Why requirements engineering is the foundation of any cloud architecture project&lt;/li&gt;
&lt;li&gt;Key resilience metrics: &lt;strong&gt;SLA&lt;/strong&gt;, &lt;strong&gt;RTO&lt;/strong&gt; (Recovery Time Objective), &lt;strong&gt;RPO&lt;/strong&gt; (Recovery Point Objective), &lt;strong&gt;MTTR&lt;/strong&gt; (Mean Time to Recovery), and &lt;strong&gt;MTBF&lt;/strong&gt; (Mean Time Between Failures)&lt;/li&gt;
&lt;li&gt;How &lt;strong&gt;composite SLAs&lt;/strong&gt; differ from looking at the weakest link in your architecture&lt;/li&gt;
&lt;li&gt;The relationship between availability tiers (e.g., 99.9% vs 99.999%) and real-world downtime allowances&lt;/li&gt;
&lt;li&gt;How scalability, performance, and cost form trade-off dimensions in every architecture decision&lt;/li&gt;
&lt;li&gt;Why over-engineering for loosely-defined requirements leads to unnecessary cost and complexity&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="key-concepts"&gt;Key Concepts&lt;/h2&gt;
&lt;p&gt;This episode maps on-premises thinking (racks, data centres, zones, regions) to equivalent cloud failure domains, helping architects understand how availability requirements translate when moving to the cloud. Cost is introduced as a first-class design dimension—not a post-hoc optimisation—and the importance of composite SLAs over single-component SLA views is highlighted throughout.&lt;/p&gt;</description></item><item><title>0 - Teaser</title><link>https://chrisreddington.com/video/teaser/</link><pubDate>Wed, 19 Feb 2020 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/teaser/</guid><description/></item><item><title>Azure Mythbusters: I can choose any Azure Compute Service to solve any problem!</title><link/><pubDate>Tue, 04 Feb 2020 09:00:00 +0000</pubDate><guid/><description>&lt;p&gt;A lot of people will take a round peg and try and push it into a square hole – or in this case, take their code and try and cram it into whatever service they happen to like at the time. There are specialised services on Azure, as well as some generic ones, but we’re going to talk about some of the more specialised compute services and what things you need to consider when using them.&lt;/p&gt;</description></item><item><title>I can use any Azure Compute Service to solve any problem? (Azure Mythbusters)</title><link>https://chrisreddington.com/video/azure-mythbusters-use-any-compute-service/</link><pubDate>Fri, 31 Jan 2020 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/azure-mythbusters-use-any-compute-service/</guid><description>&lt;p&gt;Azure offers a broad spectrum of compute services, each optimised for different workload characteristics — picking the wrong one results in the wrong scaling envelope, the wrong cost model, and unnecessary management overhead.&lt;/p&gt;
&lt;p&gt;The episode steps through the main options:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;App Service&lt;/strong&gt; — fully managed multi-tenant hosting for web apps and APIs; drag a slider to scale.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;App Service Environment (ASE)&lt;/strong&gt; — single-tenant App Service deployed inside your own virtual network, required for compliance scenarios such as PCI DSS where the public front-end of standard App Service is not acceptable.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Container Instances&lt;/strong&gt; — simple, fast container execution for single containers or small groups without the orchestration overhead of Kubernetes; ideal for short-lived tasks.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure Kubernetes Service (AKS)&lt;/strong&gt; — managed Kubernetes with the platform handling control-plane upgrades; you still configure node pools, networking, and auto-scale rules, and must understand Kubernetes concepts to use it effectively.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Service Fabric&lt;/strong&gt; — Microsoft&amp;rsquo;s native microservices platform (underpinning many Azure services) that natively supports &lt;em&gt;stateful&lt;/em&gt; services by co-locating data with code, eliminating the network hop to an external state store — critical for ultra-low-latency workloads.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure Batch&lt;/strong&gt; — managed job scheduler for large-scale HPC and Monte Carlo-style workloads across thousands of VMs; think big scheduled jobs, not microservices.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Azure Functions&lt;/strong&gt; — event-driven serverless execution; consumption plan abstracts all infrastructure but you still choose between consumption and dedicated plans, and must design for stateless execution (or use Durable Functions for state management).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Logic Apps&lt;/strong&gt; — low-code graphical workflow designer billed per step execution; great for rapid prototyping and integration scenarios.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Virtual Machines&lt;/strong&gt; — maximum flexibility and compatibility for lift-and-shift or workloads that cannot run on PaaS; requires manual scaling or custom automation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;VM Scale Sets&lt;/strong&gt; — treats a fleet of VMs as a single object with auto-scale rules; workloads must be stateless since any VM can be removed at any time.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The key question across all options is whether your workload is stateful or stateless, how sensitive it is to latency, what compliance constraints apply, and how predictable or spiky the load profile is.&lt;/p&gt;</description></item><item><title>Azure Mythbusters: Cloud is new, so there are no clear architecture patterns!</title><link/><pubDate>Tue, 28 Jan 2020 09:00:00 +0000</pubDate><guid/><description>&lt;p&gt;There are a lot of established cloud design patterns. These don’t all apply specifically to Azure, either – some of them apply intrinsically to cloud services, and some to general services and architectures. If you’ve been to the Azure Architecture Center before, and you’ve seen what used to be the patterns and practices guidance, I’d advise you to take another look. We’re adding new ones all the time as we see them, all of which are common patterns that Azure customers are using to isolate and work around things they see in applications to make them work better.&lt;/p&gt;</description></item><item><title>There are no clear architecture patterns for the Cloud? (Azure Mythbusters)</title><link>https://chrisreddington.com/video/azure-mythbusters-no-clear-architecture-patterns/</link><pubDate>Fri, 24 Jan 2020 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/azure-mythbusters-no-clear-architecture-patterns/</guid><description>&lt;p&gt;Cloud does not lack architecture patterns — the Azure Architecture Center hosts a large and growing catalogue, and many patterns predating cloud remain equally applicable in distributed systems today.&lt;/p&gt;
&lt;p&gt;The episode walks through four patterns in depth:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cache-aside&lt;/strong&gt; — lazily populates a cache by reading from the data store on a cache miss and storing the result so subsequent reads are served from cache. Key considerations include cache expiry, eviction policy, and write invalidation (remove from cache on write so the next read refreshes it).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Circuit breaker&lt;/strong&gt; — prevents cascading failures by tracking a downstream dependency&amp;rsquo;s health through three states: &lt;em&gt;closed&lt;/em&gt; (normal traffic), &lt;em&gt;open&lt;/em&gt; (dependency known-failed, calls rejected immediately), and &lt;em&gt;half-open&lt;/em&gt; (probe traffic allowed to test recovery). Requires a companion pattern (e.g., queue-based load levelling) to handle traffic diverted when the circuit is open.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Health endpoint monitoring&lt;/strong&gt; — extends a simple liveness probe to a deep health check that queries each sub-component (database, queue, cache) and aggregates their status, making it especially valuable in microservices architectures to surface partial failures before they cascade.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Materialized view&lt;/strong&gt; — pre-aggregates data from an ingestion store into a query-optimised read model, commonly used with event sourcing and CQRS to separate the write model from the reporting view without running expensive aggregation queries at read time.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Azure Myth 6: Cloud is expensive - Azure MythBuster</title><link>https://chrisreddington.com/video/azure-mythbusters-cloud-is-expensive/</link><pubDate>Wed, 04 Sep 2019 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/azure-mythbusters-cloud-is-expensive/</guid><description>&lt;p&gt;The perception that cloud is expensive often stems from comparing on-premises hardware purchase costs against cloud operational spend without accounting for the hidden costs of on-premises: hardware depreciation cycles, power, cooling, physical access control, and network connectivity circuits. A more accurate comparison treats cloud as a leasing model where you pay for what you use and can scale to zero during off-peak hours — something that rarely happens in on-premises environments.&lt;/p&gt;</description></item><item><title>Azure Myth 4: Azure is Magical! Management in the cloud compared with on-premises - Azure MythBuster</title><link>https://chrisreddington.com/video/azure-mythbusters-management-in-the-cloud/</link><pubDate>Wed, 21 Aug 2019 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/azure-mythbusters-management-in-the-cloud/</guid><description>&lt;p&gt;Azure automates many underlying infrastructure concerns, but it does not make management decisions for you — you still define scalability boundaries, resilience configurations, and the correct IaaS/PaaS/SaaS model for each workload.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Scalability&lt;/strong&gt; comes in two forms: &lt;em&gt;scale-out&lt;/em&gt; (adding more instances, ideal for stateless workloads) and &lt;em&gt;scale-up&lt;/em&gt; (increasing a VM&amp;rsquo;s CPU/RAM, suitable for applications that cannot run across multiple instances). Virtual Machines require you to provision and remove instances manually or via scripting; Virtual Machine Scale Sets expose a slider-style auto-scale rule so the platform handles the fleet. Azure Functions on a consumption plan abstracts all of that away, but you still choose between consumption and App Service plans based on workload characteristics.&lt;/p&gt;</description></item><item><title>Azure Myth 3: You don’t need requirements in the Cloud… Or do you? - Azure MythBusters</title><link>https://chrisreddington.com/video/azure-mythbusters-dont-need-requirements/</link><pubDate>Tue, 20 Aug 2019 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/video/azure-mythbusters-dont-need-requirements/</guid><description>&lt;p&gt;Requirements are not optional in the cloud — they are the primary driver of every architectural decision. The FastTrack for Azure team frames requirements gathering using an Aim-Plan-Do approach: first understand the scenario (e-commerce, healthcare, etc.) to surface compliance obligations, data sovereignty rules, and contractual SLAs; then let those requirements determine which Azure services and configurations are appropriate.&lt;/p&gt;
&lt;p&gt;The episode demonstrates composite SLA calculation for a multi-tier web application (SQL Database + Queue + Web App), showing how multiplying individual service SLAs reveals whether a single-region deployment meets the target. Reference architectures from the Azure Architecture Center illustrate the progression: a basic single-region web app satisfies moderate availability; adding CDN, DNS, and additional tiers addresses scalability and higher availability requirements. Over-fitting requirements results in unnecessarily complex, expensive designs, while under-fitting leaves the solution unfit for purpose.&lt;/p&gt;</description></item><item><title>Deploying a multi-region Serverless API Layer (Part 1)</title><link>https://chrisreddington.com/blog/deploying-multi-region-serverless-api-part1/</link><pubDate>Sat, 13 Jul 2019 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/deploying-multi-region-serverless-api-part1/</guid><description>&lt;p&gt;In my spare time, I work on a pet project called &lt;a href="https://www.github.com/theatreers"&gt;Theatreers&lt;/a&gt;. The aim of this is a microservice based platform focused on Theatre / Musical Theatre (bringing a few of my passion areas together).&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve recently re-architected the project to align to a serverless technology stack. This includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A set of &lt;strong&gt;core global services&lt;/strong&gt;, such as -
&lt;ul&gt;
&lt;li&gt;A Single Page App hosted on Azure Blob Storage&lt;/li&gt;
&lt;li&gt;Azure Front Door that sits in front of the blob storage, as well as the backend API services&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;A number of &lt;strong&gt;core regional resources&lt;/strong&gt; that exist in each region and are used across the suite of microservices -
&lt;ul&gt;
&lt;li&gt;An API Management instance deployed in the Consumption Tier&lt;/li&gt;
&lt;li&gt;An App Insights resource used as a sink for all telemetry within a regional deployment&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;A set of resources that are deployed as part of a &lt;strong&gt;regional microservice stamp&lt;/strong&gt;. This includes -
&lt;ul&gt;
&lt;li&gt;An Azure Key Vault&lt;/li&gt;
&lt;li&gt;The resources required to deploy an Azure Function (App Service Plan, Storage Account and Azure Function App) in consumption mode.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This first blog post will focus on the ARM Template design for the &lt;strong&gt;core regional resources&lt;/strong&gt;, particularly, the API Management tier.&lt;/p&gt;</description></item><item><title>Using Azure DevOps REST APIs to automatically create Team Iterations</title><link>https://chrisreddington.com/blog/azure-devops-team-iterations-script/</link><pubDate>Sun, 16 Jun 2019 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/azure-devops-team-iterations-script/</guid><description>&lt;p&gt;Consider this scenario. You are managing a software project using Azure DevOps, and you have multiple teams working towards a common cadence. Perhaps that cadence is managed by a central team. To gain the most value from your sprint planning, you would need to associate the iterations from the project level with each individual team.&lt;/p&gt;
&lt;p&gt;This is a scenario that I have for my fictitious Theatreers project, but also a scenario I encountered recently with a colleague. I have been helping them setup an Azure DevOps project to track the development of IP and collateral, so that they can more accurately forecast what they expect to land and show the value being delivered by the team.&lt;/p&gt;</description></item><item><title>Azure Scaffold - Governance Recommendations</title><link>https://chrisreddington.com/blog/azure-scaffold-governance-recommendations/</link><pubDate>Sat, 25 Feb 2017 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/azure-scaffold-governance-recommendations/</guid><description>&lt;p&gt;The topic seems to have come up a few times over the past few weeks, so I wanted to post a short, sharp blog about it!&lt;/p&gt;
&lt;p&gt;&lt;em&gt;How should I structure my Azure Subscription Hierarchy?&lt;/em&gt;&lt;br&gt;
There is no &amp;ldquo;one right way&amp;rdquo; to answer this question. Your best bet is to first familiarise yourself with the &lt;a href="https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-subscription-governance"&gt;Azure enterprise scaffold - prescriptive subscription governance&lt;/a&gt; documentation.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;How do you currently approach this in your team/organisation?&lt;/li&gt;
&lt;li&gt;Using the Azure enterprise scaffold documentation, what approach would fit best with your team/group?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The Azure Scaffold documentation provides guidance around Subscription Hierarchy, Role Based Access Control, Azure Policies, Resource Tags / Locks and more.&lt;/p&gt;</description></item><item><title>Are you thinking of scalability in your cloud application?</title><link>https://chrisreddington.com/blog/are-you-thinking-of-scalability-in-your-cloud-application/</link><pubDate>Thu, 29 Sep 2016 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/are-you-thinking-of-scalability-in-your-cloud-application/</guid><description>&lt;p&gt;Scalability is one of the common areas where I have seen common misconceptions, when customers begin building on the platform.&lt;/p&gt;
&lt;p&gt;But before we jump into that topic, let&amp;rsquo;s first revisit the three main cloud operating models or paradigms:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Infrastructure as a Service (IaaS) - Think of this as &amp;ldquo;Hosting&amp;rdquo; your application. The clue is in the term &amp;ldquo;Infrastructure&amp;rdquo;, you are very much getting a Virtual Machine - So are responsible for the Operating System, Network Connectivity, etc.&lt;/p&gt;</description></item><item><title>An Introduction to Azure Functions</title><link>https://chrisreddington.com/blog/introduction-to-azure-functions/</link><pubDate>Mon, 12 Sep 2016 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/introduction-to-azure-functions/</guid><description>&lt;p&gt;If you have been keeping up to date with the latest and greatest in Azure Services (yes, I know there are quite a few!), you may have heard of a new service called Azure Functions.&lt;/p&gt;
&lt;p&gt;Azure Functions is an event-driven Platform as a Service capability, helping you to execute code upon the occurrence of a particular event. It is currently in preview, though already has a lot of potential.&lt;/p&gt;
&lt;p&gt;If you read my recent blog on Logic Apps, you may be thinking that this sounds somewhat familiar to Logic Apps. I agree, though there is a subtle difference. Quoting a &lt;a href="https://blogs.msdn.microsoft.com/azuredev/2016/04/07/azure-content-spotlight-azure-functions/"&gt;blog post from chilberto&lt;/a&gt;, Azure Functions is &lt;em&gt;code&lt;/em&gt; being triggered by an event, whereas LogicApps is a &lt;em&gt;workflow&lt;/em&gt; being triggered by an event.&lt;/p&gt;</description></item><item><title>DigiCert Certificate Management through Azure Key Vault</title><link>https://chrisreddington.com/blog/digicert-certificate-management-through-azure-keyvault/</link><pubDate>Mon, 12 Sep 2016 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/digicert-certificate-management-through-azure-keyvault/</guid><description>&lt;p&gt;Azure Key Vault helps safeguard cryptographic keys and secrets used by cloud applications and services. It streamlines the key management process, enabling you to maintain control of keys that access and encrypt your data. Developers can create keys for development and testing in minutes, and then seamlessly migrate them to production keys. Security administrators can grant (and revoke) permission to keys, as needed.&lt;/p&gt;
&lt;p&gt;When designing a solution, you want to be sure that your communications are secure and that your users can trust your application. Typically, SSL certificates can be useful for this purpose.&lt;/p&gt;</description></item><item><title>Integration Platform as a Service: Logic Apps</title><link>https://chrisreddington.com/blog/integration-platform-as-a-service-logic-apps/</link><pubDate>Mon, 12 Sep 2016 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/integration-platform-as-a-service-logic-apps/</guid><description>&lt;p&gt;In case you had not already heard, &lt;a href="https://azure.microsoft.com/en-us/blog/announcing-azure-logic-apps-general-availability/"&gt;Logic Apps have now reached general availability on Azure&lt;/a&gt; (or read &lt;a href="https://blogs.msdn.microsoft.com/logicapps/2016/07/27/azure-logic-apps-reaches-general-availability"&gt;an MSDN article by Jeff Hollan&lt;/a&gt; on the topic).&lt;/p&gt;
&lt;h2 id="what-are-logic-apps"&gt;What are Logic Apps?&lt;/h2&gt;
&lt;p&gt;Logic Apps enable integration points primarily between Software as a Service (SaaS) offerings, and can be easily configured through a User Interface, available on the Azure Portal. This integration is facilitated by using &lt;a href="https://azure.microsoft.com/en-gb/documentation/articles/apis-list/"&gt;a series of connectors&lt;/a&gt;, which are focused around &lt;a href="https://blogs.msdn.microsoft.com/logicapps/2016/06/30/public-preview-of-logic-apps-enteprise-integration-pack/"&gt;enterprise integration&lt;/a&gt; (in Public Preview at time of writing) and SaaS applications such as SalesForce, Twilio, Office 365, Twitter and more (though it&amp;rsquo;s worth noting that some of these are in beta!)&lt;/p&gt;</description></item><item><title>A few useful Azure Resources</title><link>https://chrisreddington.com/blog/a-few-useful-azure-resources/</link><pubDate>Sat, 03 Sep 2016 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/a-few-useful-azure-resources/</guid><description>&lt;p&gt;Over the past few weeks, I have been working on a number of projects relating to Azure.&lt;/p&gt;
&lt;p&gt;The usual theme has crept up, around recommended practices, and where to go for documentation. There are a couple of great resources to be aware of:&lt;/p&gt;
&lt;p&gt;Azure Best Practice Checklists and Guidance&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;There are a number of best practice checklists available on the Azure.com site. Navigate to the Documentation Tab, and find the Best Practice subsection. You can find a number of different checklists, to use against your own solution!&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Azure Cloud Design Practices Infographic&lt;/p&gt;</description></item><item><title>Approaching Resilience in Azure Solutions</title><link>https://chrisreddington.com/blog/approaching-resilience-in-azure-solutions/</link><pubDate>Fri, 26 Aug 2016 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/approaching-resilience-in-azure-solutions/</guid><description>&lt;p&gt;I mentioned in &lt;a href="https://www.christianreddington.co.uk/building-solutions-in-the-cloud/"&gt;Building Solutions in the Cloud&lt;/a&gt; that I would be writing a series of blog posts on the areas of risk that I have seen since I have been providing guidance around Azure. In this post, I will provide some thoughts on how you can consider resilience within the context of your own solution or application.&lt;/p&gt;
&lt;p&gt;In my previous blog post, I kept banging on about the word &amp;ldquo;Context&amp;rdquo;. Guess what, I&amp;rsquo;m going to bring it up again! It is very important when designing a cloud service.&lt;/p&gt;</description></item><item><title>Building Solutions in the Cloud</title><link>https://chrisreddington.com/blog/building-solutions-in-the-cloud/</link><pubDate>Thu, 04 Aug 2016 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/building-solutions-in-the-cloud/</guid><description>&lt;p&gt;By now, we should be aware of the benefits that the cloud can bring to any individual or organisation. There are plenty of case studies, talking about the scalable, flexible and economic benefits (See &lt;a href="https://azure.microsoft.com/en-gb/case-studies/"&gt;Azure&lt;/a&gt;, &lt;a href="https://aws.amazon.com/solutions/case-studies/"&gt;AWS&lt;/a&gt; or &lt;a href="https://cloud.google.com/customers/"&gt;Google&lt;/a&gt; for more information).&lt;/p&gt;
&lt;p&gt;Companies see the cloud as a differentiator, and utilise it to disrupt and innovate in their respective markets. &lt;a href="http://www.gartner.com/newsroom/id/3188817"&gt;Gartner predicts&lt;/a&gt; that in 2016 the total public cloud market is due to increase by 16%.&lt;/p&gt;</description></item><item><title>System.out.println('Hello World');</title><link>https://chrisreddington.com/blog/hello-world/</link><pubDate>Mon, 04 Jul 2016 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/blog/hello-world/</guid><description>&lt;p&gt;Surely, a &amp;ldquo;Hello World&amp;rdquo; post is a right of passage for technical bloggers?&lt;/p&gt;
&lt;p&gt;Welcome to my blog, and of course - My first blog post! But first, who am I? I&amp;rsquo;m Christian Reddington (in case you couldn&amp;rsquo;t tell by the domain name, or site title!) - and I&amp;rsquo;m a technology enthusiast (Read: Geek/Nerd, delete as appropriate). I have a development background and have most recently been involved within Microsoft Azure projects lately.&lt;/p&gt;</description></item><item><title/><link>https://chrisreddington.com/image-data/index.json</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/image-data/index.json</guid><description/></item><item><title>About</title><link>https://chrisreddington.com/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/about/</guid><description>&lt;p&gt;Chris is a passionate developer advocate and technology enthusiast, with a specialism in web / cloud systems, and a keen interest in the developer community. By day, he works with internal development teams and external developer communities to improve GitHub&amp;rsquo;s developer experience. His background focuses on the enterprise space, having worked with a number of large organisations to help bridge the gap between traditional enterprise systems and development paradigms into modern DevOps practices and cloud-native platforms. He has worked with stakeholders in start-ups and enterprises from developers and system admins through to Heads of Division and CTOs.&lt;/p&gt;</description></item><item><title>Speaking</title><link>https://chrisreddington.com/speaking/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/speaking/</guid><description>&lt;p&gt;I&amp;rsquo;m passionate about sharing knowledge and connecting with developer communities. I&amp;rsquo;ve presented at events including &lt;strong&gt;GitHub Universe&lt;/strong&gt;, &lt;strong&gt;Microsoft Build&lt;/strong&gt;, &lt;strong&gt;Microsoft Inspire&lt;/strong&gt;, &lt;strong&gt;GitHub Galaxy&lt;/strong&gt;, &lt;strong&gt;Devoxx&lt;/strong&gt;, and dozens of meetup groups across the UK and Europe, bringing energy and practical insights to every talk.&lt;/p&gt;
&lt;h2 id="topics-i-speak-about"&gt;Topics I Speak About&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m comfortable speaking on a range of topics, including but not limited to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;GitHub Copilot &amp;amp; AI-Powered Development&lt;/strong&gt;: GitHub Copilot CLI, GitHub Copilot SDK, GitHub Copilot coding agent and building agentic workflows that accelerate the software development lifecycle&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Model Context Protocol (MCP)&lt;/strong&gt;: Building and extending MCP servers, integrating custom tools with GitHub Copilot, and unlocking AI-assisted development with MCP&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GitHub Actions &amp;amp; CI/CD&lt;/strong&gt;: Designing scalable CI/CD pipelines, reusable workflows, organization-wide governance, and passwordless deployments to the cloud&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Developer Experience (DevEx)&lt;/strong&gt;: Improving developer workflows, reducing friction, and building tools developers love&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DevOps &amp;amp; DevSecOps&lt;/strong&gt;: Modern DevOps practices, InnerSource, GitHub Advanced Security, and bridging the gap between development and operations teams&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Developer Relations&lt;/strong&gt;: Building and scaling DevRel programs, measuring impact, and community strategy&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="what-i-bring"&gt;What I Bring&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Engaging delivery&lt;/strong&gt;: I focus on storytelling and practical takeaways, not just slides&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Flexibility&lt;/strong&gt;: From 20-minute lightning talks to full-day workshops&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Experience&lt;/strong&gt;: Keynotes, panels, live demos, and hands-on labs across conferences, meetups, and internal events&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="past-speaking-highlights"&gt;Past Speaking Highlights&lt;/h2&gt;
&lt;p&gt;Here are some recent events I&amp;rsquo;ve spoken at. You can find the &lt;a href="https://chrisreddington.com/talk/"&gt;full list on my talks page&lt;/a&gt;:&lt;/p&gt;</description></item><item><title>Uses</title><link>https://chrisreddington.com/uses/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://chrisreddington.com/uses/</guid><description>&lt;p&gt;Inspired by &lt;a href="https://uses.tech"&gt;uses.tech&lt;/a&gt;, here&amp;rsquo;s what I use day to day.&lt;/p&gt;
&lt;h2 id="editor--terminal"&gt;Editor &amp;amp; Terminal&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://code.visualstudio.com/insiders/"&gt;Visual Studio Code Insiders&lt;/a&gt;&lt;/strong&gt;: My primary editor for everything&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://github.com/features/copilot"&gt;GitHub Copilot&lt;/a&gt;&lt;/strong&gt;: AI pair programmer built into VS Code that I use extensively&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://docs.github.com/en/copilot/github-copilot-in-the-cli"&gt;GitHub Copilot CLI&lt;/a&gt;&lt;/strong&gt;: AI assistance directly in the terminal for command suggestions and explanations&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://ghostty.org/"&gt;Ghostty&lt;/a&gt;&lt;/strong&gt;: A fast, native terminal emulator&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Zsh&lt;/strong&gt; with &lt;strong&gt;&lt;a href="https://starship.rs/"&gt;Starship&lt;/a&gt;&lt;/strong&gt;: Cross-shell prompt that&amp;rsquo;s fast and customisable&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://monaspace.githubnext.com/"&gt;Monaspace Neon&lt;/a&gt;&lt;/strong&gt;: My go-to monospace font across editor and terminal&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="development"&gt;Development&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://gohugo.io/"&gt;Hugo&lt;/a&gt;&lt;/strong&gt;: Static site generator (powers this site!)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://tailwindcss.com/"&gt;Tailwind CSS&lt;/a&gt;&lt;/strong&gt;: Utility-first CSS framework&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://primer.style/"&gt;Primer&lt;/a&gt;&lt;/strong&gt;: GitHub&amp;rsquo;s design system for UI components and styling&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://pages.github.com/"&gt;GitHub Pages&lt;/a&gt;&lt;/strong&gt;: Hosting for this site&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://github.com/features/actions"&gt;GitHub Actions&lt;/a&gt;&lt;/strong&gt;: CI/CD pipelines and automation&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://github.com/features/codespaces"&gt;GitHub Codespaces&lt;/a&gt;&lt;/strong&gt;: Cloud dev environments&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://playwright.dev/"&gt;Playwright&lt;/a&gt;&lt;/strong&gt;: End-to-end testing&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://nodejs.org/"&gt;Node.js&lt;/a&gt;&lt;/strong&gt;: JavaScript runtime&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://go.dev/"&gt;Go&lt;/a&gt;&lt;/strong&gt;: For CLI tools and Hugo development&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.docker.com/"&gt;Docker&lt;/a&gt;&lt;/strong&gt;: Containerised development and testing&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://cli.github.com/"&gt;GitHub CLI&lt;/a&gt;&lt;/strong&gt;: Managing repos, PRs, issues, and workflows from the terminal&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="ai--mcp"&gt;AI &amp;amp; MCP&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://github.com/features/copilot"&gt;GitHub Copilot&lt;/a&gt;&lt;/strong&gt;: Code completions, chat, agent mode, and coding agent across VS Code and the CLI&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://github.com/github/github-mcp-server"&gt;GitHub MCP Server&lt;/a&gt;&lt;/strong&gt;: Connecting AI tools to GitHub via the Model Context Protocol&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="apps--productivity"&gt;Apps &amp;amp; Productivity&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://github.com"&gt;GitHub&lt;/a&gt;&lt;/strong&gt;: Source control, project management, and you know, just generally everything&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.keyboardmaestro.com/"&gt;Keyboard Maestro&lt;/a&gt;&lt;/strong&gt;: macOS automation and macros&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://github.com/waydabber/BetterDisplay"&gt;BetterDisplay&lt;/a&gt;&lt;/strong&gt;: Display management and configuration&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="content-creation--streaming"&gt;Content Creation &amp;amp; Streaming&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.screen.studio/"&gt;Screen Studio&lt;/a&gt;&lt;/strong&gt;: Polished screen recordings and demos&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.elgato.com/stream-deck"&gt;Elgato Stream Deck&lt;/a&gt;&lt;/strong&gt;: Scene switching and shortcuts for streaming&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.elgato.com/downloads"&gt;Elgato Camera Hub&lt;/a&gt;&lt;/strong&gt;: Webcam configuration&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://rode.com/en/software/rode-central"&gt;RODE Central&lt;/a&gt;&lt;/strong&gt;: Microphone configuration&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="hardware"&gt;Hardware&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;MacBook Pro 14&amp;quot; (M1 Max, 64 GB RAM)&lt;/strong&gt;: Daily driver&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Elgato Stream Deck&lt;/strong&gt;: For streamlining streaming and day-to-day workflows&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sony A6400&lt;/strong&gt;: Main camera for streaming and content creation&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Elgato Cam Link 4K&lt;/strong&gt;: Connects my Sony A6400&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Shure SM7B&lt;/strong&gt;: My microphone for streaming and recording&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rodecaster Pro II&lt;/strong&gt;: Audio interface and mixer for streaming and recording&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="this-site"&gt;This Site&lt;/h2&gt;
&lt;p&gt;This site is built with &lt;a href="https://gohugo.io/"&gt;Hugo&lt;/a&gt;, styled with &lt;a href="https://tailwindcss.com/"&gt;Tailwind CSS&lt;/a&gt;, and hosted on &lt;a href="https://pages.github.com/"&gt;GitHub Pages&lt;/a&gt;. The source code is available on &lt;a href="https://github.com/chrisreddington/chrisreddington.com"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;</description></item></channel></rss>