Marc Duiker

I ❤ Serverless


My learnings from running the Azure Functions Updates Twitterbot for half a year

Azure Functions Updates component diagram

Some quick facts about the Twitterbot

In my previous post, I wrote about why and how I created the Azure Functions Updates Twitterbot. This bot has been posting updates about Azure Functions related GitHub repositories (and Azure Service announcements) since February 2019, so that’s well over 6 months. It monitors 24 repositories, including itself, and the Azure Service Updates RSS feed, filtered for Azure Functions related updates. The full list of sources is listed on GitHub. The function app that runs the bot has captured 128 GitHub releases, 8 Azure Service Update posts and posted 154 messages to Twitter (the introductory tweets were posted manually).

In this post, I want to highlight some of the actions I took and the insights I’ve got after I put the Twitterbot live. I’m going to cover: failure & resiliency, monitoring & alerts, performance, and costs.






Durable Functions - The Anatomy of Function Naming

How to name your Azure Functions

Function Names in the Wild

Whenever I see examples or implementations of Azure Functions I always see this:

[FunctionName("myfunction")]

Where the function name is present as a direct string literal. I’m not questioning that it is a string because that’s simply the way the FunctionName attribute works currently. I’m more concerned how the string got there.

I’d like to show two ways to refer to function names in a safe and consistent way. This is especially useful when you’re using Durable Functions and need to refer to activity function names in your orchestration function.


Durable Functions on YouTube (part 3) - The Function Chaining Pattern

The Function Chaining Pattern

This is the third part of the Durable Functions series. In this video I’ll talk about the function chaining pattern which can be used to create function workflows.

Here’s the video, please give it a thumbs up if you like it and subscribe to my channel so you’ll be notified of new videos.

Resources

The source code that is used for this demo can be found on GitHub.


Durable Functions on YouTube (part 2) - Eternal orchestrations & external events

Eternal orchestrations & external events

This is the second part of the Durable Functions series. In this video I’ll talk about eternal function orchestrations and external events.

Here’s the video, please give it a thumbs up if you like it and subscribe to my channel so you’ll be notified of new videos.

Resources

The source code that is used for this demo can be found on GitHub.


Azure Functions Tips: Grouping Functions into Function Apps

Simple serverless architecure example

Guidelines for Function Apps

Earlier today I read a tweet where a developer wasn’t sure when to group several Azure Functions in one Function App. The Azure Function engineers responded swiftly and they’ll extend the official docs with some guidelines in this area soon. I think this is a really interesting topic so let’s start with a few ideas of my own.


Durable Functions on YouTube (part 1)

Durable Functions Videos

I’ve decided to create some video’s to explain and demonstrate the Durable Functions framework.

The first video covers a very basic ‘Hello World’ example and shows how to use the OrchestrationClient and DurableOrchestrationContext objects.

Here’s the video, please give it a thumbs up if you like it and subscribe to my channel so you’ll be notified of new videos.

Resources

The source code that is used for this demo can be found on GitHub.



Marc Duiker profile

Marc Duiker

Lead Consultant @ Xpirit

Twitter || LinkedIn || Github