To Serverless or Not To Serverless

No managing servers manually

Forces your code to be stateless

Easy to scale up and down

Lots of bindings

public static async Task Run(
[EventHubTrigger("source", Connection = "EventHubConnectionAppSetting")] EventData[] events,
[EventHub("dest", Connection = "EventHubConnectionAppSetting")]IAsyncCollector<string> outputEvents,
ILogger log)
foreach (EventData eventData in events)
// do some processing:
var myProcessedEvent = DoSomething(eventData);

// then send the message
await outputEvents.AddAsync(JsonConvert.SerializeObject(myProcessedEvent));

Cost model is different

High availability


Vendor lock-in

Monitoring is harder


Loss of control

It’s a different skill set

Caching is harder



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store