Building Async and Cloud Native organizations - Issue #11

Welcome to my weekly newsletter! Every week, I bring you the latest news, updates, and resources from the world of coding and architecture. I'm so glad you've decided to join me, and I can't wait to share my insights and expertise with you.

I hope you'll find this newsletter to be a valuable resource, and I welcome your feedback and suggestions. If there's something you'd like to see more of, or if you have any questions or comments, please don't hesitate to reach out to me.

Thank you for joining me, and happy reading!

REST and APIs

The rel attribute is an important element that defines a relationship between the linked resources set on the A, FORMS, AREA and LINK elements. It can convey a various amount of meaning for browsers, assisting in creating assistive technologies, and supporting web crawlers. Like indicating the author of a piece of text, setting a bookmark or specify the print stylesheet. But there are a lot more options available:

How can you maintain the scalability, reliability and security of your APIs, certainly when the number of them grow as applications become more complex? One option is a top down approach, however centralising activities will most likely bring down the speed of the individual teams, so a more API first solution can be a better fit, combined with a focus on API contracts. Read more on how to implement this in this article by NGINX:

Coding technicalities

Azure Durable Functions are a great fit for many scenarios, certainly when you want to orchestrate activities. It does need to store the state of what it is doing somewhere. The default implementation is using tables and queues in a Storage Account. But did you know there is also Netherite and SQL Server support?

With Netherite you use file storage with a fast custom database combined with an event hub. This allows for high performance. While the SQL server solution is more portable as you can run this almost everywhere and gives you more control over cost and performance. When to use one of those three options is described in the blog:

Never store secrets inside source control, as you never know where it ends up. However, you will need to run your application with some secrets at some point. Since .net core 3.1, there is a secret manager; a file stored on your local system that can get included in the configuration manager. Here you store the secrets that you do not want to commit, but still need to use while developing your application. Read more on how to include this file in e.g. a web and worker service:

Do you know what a microservice is? An application with a maximum number of lines? Created by a two pizza sized development team? There are so many definities, and also so many benefits and drawbacks of using a Microservices architecture. So here are a couple of recent articles providing some insights:

GitHub related

GitHub celebrated that there are now 100 million developers using their platform. Quiet an achievement!

Are you already using CoPilot? Then one of the Labs projects is Code Brushes. With AI, this extension for Visual Studio Code will try to clean up, enhance the readability, fix bugs, make code more robust and simply add debugging to your system. See the interesting animations to grasp what it is trying to accomplish:

I recently got access to the new Tasks list feature (private beta). You already had the option to add issues as tasks to an issue by simply listing them. You do get a small dropdown to convert the list items to tasks and build up some sort of hierarchy between issues.

The new Tasks list feature builds on top of that by adding a toolbar button to add a piece of code block to mark it as a tasklist. At that point you can link existing or create new issues to this list. Draft issues can be converted or removed and you get a graphical overview of the progress.

A nice step forward in bringing issue tracking with hierarchies to GitHub Issues. Read more at their documentation page and sign up for the private beta:

Computing in general

You might heard about the Spotify Squads and Tribes, but are those the holy grail? This podcast gives an insights from a manager at Spotify.

How do you know that what you are building is actually what your customers want? Some common pitfalls while building your application:

There is not only tech debt, but also management debt; how does it occur and more importantly, how to handle it:

You would think JSON and YAML are already complex? Think again; not quoting strings can have interesting effects in YAML. Like anchors and tags, the NO for Norwegian and version numbers can easily mess up your document:

Helpers and utilities

Do you need explain something, need to draw together a few boxes just to make a point? Then Ok! So is a fast way to get started and allows you to make some simple drawings.

Computer Laws

When diagnosing, one should first consider the obvious

Sutton’s Law

It is always DNS...

I hope you've enjoyed this week's issue of my newsletter. If you found it useful, I invite you to share it with your friends and colleagues. And if you're not already a subscriber, be sure to sign up to receive future issues.

Next week, I'll be back with more articles, tutorials, and resources to help you stay up-to-date on the latest developments in coding and architecture. In the meantime, keep learning and growing, and happy coding!

Best regards, Michiel

Join the conversation

or to participate.