TWIL: July 11, 2021

As explained in my previous post, I’m going to start posting here what I learn every week following the 5-hour rule, under the TWIL (This Week I Learned) category. Since this is the first post, it might be a little longer than the next ones, since I will include some additional information about my learning routines. I hope you find it useful.


Podcasts

I listen to podcasts whenever I’m doing something that does not require my undivided attention. For example, when I’m cooking, cleaning or on a long drive by myself. It makes these activities a lot more enjoyable and I always learn something new.

.NET Rocks

Carl Franklin and Richard Campbell, two veteran world-renowned Microsoft MVPs and Regional Directors, have been doing this weekly podcast since 2002 (yes, you read it right… 19 years!). They invite really interesting people and have great conversations around .NET and related technologies. It’s one of my favorite shows and try to listen to all their episodes. This week I listened to these:

Episode 1746: Node in the 2020s with Rob Richardson
Focused on the evolution of Javascript, the annual release of ECMAScript standards and the use of transpilers such as Babel or TypeScript. Also goes a little into WebAssembly.

Episode 1747: Azure APIs with Jeff Richter
This was a really interesting episode around Azure APIs, how Microsoft makes sure these are consistent across services, and how breaking changes are dealt with.

The Azure Podcast

This podcasts is hosted by 6 Microsoft engineers and consultants that interview a different person every week about a specific Azure service. If you’re interested in Microsoft Azure or in cloud-related topics, give it a shot. This week I listened to these:

Episode 383: Something cool in Azure
Cynthia, Evan and Sanjit discuss noteworthy news about some Azure services.

Episode 384: Safe Deployment Practices
The hosts interview Cristina del Amo Casado, a Principal Program Manager at Microsoft, about Safe Deployment Practices and Tools used by the Azure teams to deploy software updates to millions of servers. Really interesting stuff.

The Intrazone

The intranzone is a bi-weekly show hosted by the SharePoint product team where they discuss new features and inteview guests around SharePoint, Teams and other Microsoft 365 technologies. I’ve been a SharePoint guy for most of my consultant life so, although my current focus is cloud architecture, I still like to keep up-to-date on these topics.

SharePoint Roadmap Pitstop June 2021
Every month, the Intrazone includes a special episode dedicated to the product’s roadmap. It’s packed with news about the new and upcoming features so it’s always worth a listen. Also, Mark Kashman is a fantastic host. This episode brought us news about SharePoint Admin Center updates, SharePoint Auto News Digest, Microsoft Lists and Power Apps.


Architecture Articles

Software architecture is one of my main interests, so it is only fitting that most of my learning is around architectural topics. Here a few of the articles I’ve been reading in the last few days.

Long Running Processes

I’ve been looking into long running processes, specifically what are common use cases, architectural patterns and existing solutions in the market. It’s a rich topic, and I might write a post about this later on.

What are long running processes?
Article from Bernd Rücker about his definition of long running processes and some of the use cases that use them.

What are long running processes?
Another take on long running processes by Victor Chircu, complete with three common use cases.

The 7 sins of workflow
An article from Bernd Rücker about what he considers to be the 7 sins when trying to solve a workflow problem. It’s quite an interesting read.

5 Workflow Automation Use Cases You Might Not Have Considered
Really interesting take on 5 use cases for workflow automation. Bernd Rücker, once again, writes a very well structured and insightful article about his experience with long running processes.

Modelling Long Running Processes: Choreography versus Orchestration
Another article by Victor Chircu about the differences between two patterns for long running processes: choreography and orchestration. He presents both patterns as well as main benefits, drawbacks and tips for each one.

Microservice Architectures

Microservices is a really interesting architecture model, but it introduces quite a lot of challenges. One of these is how to handle distributed transactions and one of the ways to solve it is using the Saga pattern. Another challenge is how to manage the communication between services as well as how to publish services independently but expose them as a single endpoint.

Handling Distributed Transactions in the Microservice world by Sohan Ganapathy
Article explaining the problem of Distributed Transactions and two of the most common patterns to overcome it: Two-Phase Commit and Saga.

Microservices API gateways
Article explaining the diferences between Enterprise API Gateways and Microservice API Gateways.

Beyond REST: Rapid Development with GraphQL Microservices
Article from Netflix’s technology blog about using GraphQL in APIs to query structured data in relational databases.

Service Mesh Comparison
Comprehensive article explaining what is a Service Mesh architecture and comparing different existing solutions.

The Service Mesh Landscape
Another website that provides feature comparison between Service Mesh implementations.


Design Patterns

I find really important that software engineers and architects know about existing patterns when designing solutions. Most of the problems we face have already been solved or, at least, analyzed before and we should always leverage these patterns to ensure well designed solutions. Probably you’ve already heard about some of these but it’s always a good idea to review them.

Routing Slip Pattern

Process Manager Pattern

API Gateway Pattern

Strangler Fig Pattern

Retry Pattern

Circuit Breaker Pattern


What will you learn about this week?

Photo by Green Chameleon on Unsplash