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

[FunctionName("EventHub2EventHub")]
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

Testing

Vendor lock-in

Monitoring is harder

Maturity

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