What comes after your first function in Serverless?
This is a presentation I delivered for the Serverlessdays Conference in Istanbul. Sample codes used during the presentation are shared on GitHub; https://drn.fyi/2nTbb3y
• How to create a function in Azure Functions • How to create HTTP APIs in Azure Functions • How to create timer jobs in Azure Functions • How to use Function bindings
• The functions runtime on your laptop is the same as the one in Azure. • You can have your own Azure Functions environment on- premise and use it without Public Azure Cloud. • Azure Functions runs on Linux as well as Windows.
• API Routing, Versioning, Caching, Throttling • Managing state across multiple functions. • Eventing • Function Orchestration for you and for dummies!
• Have multiple function apps under a single API surface. • Mock APIs for developers! • Request/Response overrides • Routing • Can run locally on your machine #justfyi .
• Stateful functions • Managed state, checkpoints, and restarts when needed. • Define stateful workflows in orchestrator functions. • Actor like Durable Entities in Durable 2.0 .
• No visualization to show relationship between functions and queues. • Middle queues are an implementation detail – conceptual overhead. • Error handling adds a lot more complexity.
• Fanning-out is easy, but fanning-in is more complicated. • Functions offers no help with this scenario today • All the same problems of the previous pattern
• Service Bus: Async Enterprise Messaging • Azure Event Hubs: Distributed Data Streaming • Relay: Secure two way communication without changes to your network • Event Grid: Cross cloud reactive eventing
• Pay per event. • Sub-second end-to-end latency in the 99th percentile • 10.000.000 events per second per region • 24 hour retry with exponential back off
1. Events: what happened 2. Event Publishers: where it took place 3. Topics: where publishers send events 4. Event Subscriptions: how you receive events 5. Event Handlers: the app or service reacting to the event
• Event Hub is an “event ingestor” that accepts and stores event data, Azure Event Grid is the distribution fabric for discrete “business logic activity” events. • Fast and highly parallelized processing of the individual streams instead of a filtered subscriber model.
• Saving time by designing complex processes using easy to understand design tools • Implementing patterns and workflows seamlessly, that would otherwise be difficult to implement in code • Rich Managed Connectors