Uncategorized

INTEGRATE2018–Azure Functions

Azure Functions is Serverless. You do not have to think about servers. You only think about your code. It’s event-driven and scales instantly. You are only charged for when your code is actually running and when it’s being executed.

functions serverless

If you have an IoT doorbell which triggers of a an image and uses image recognition to identify whoever is at the door – that functionality is available all of the time, but it only runs as someone actually shows up at your door. Serverless helps building applications in a fraction of the time it used to take.

Azure Functions is part of the Microsoft Serverless platform.

functions platform

This session was an introduction to Azure Functions. Rather then trying to repeat everything said I’ll give some highlights. If you want to learn more I recommend there resources.

If you want to start learning about Azure Functions, the MSDN starting point is here.

The App Service team blog, with Azure Functions tagged posts is here.

User voice is here.

MSDN forum is here.

“If you are doing something more complex, I recommend you use one of the more advanced IDE’s.” Aka don’t use the portal for production-grade code and functionality. Both Visual Studio and the Visual Studio Code IDE’s have great tooling. Visual Studio probably has a slightly better experience today, but both can be used.

Azure Functions are often used in Azure today to extend on the functionality of other services.

functions where it fits

You can run Functions on variety of locations.

clip_image001

Jeff also talked about some anti-patterns. As you being building production grade code on Azure Functions these are good to keep in mind.

Another topic covered was durable Functions.
That led to the discussion about Logic Apps or Durable Functions for some workloads.

clip_image001[4]

One key takeaway from this is, like in so many other cases, that personal preference will play a very big role.
You can read more at http://aka.ms/durablevslogic

Johan Hedberg comments: We’ve been using Functions for a while now. For several customer in several different projects. It works very well. It’s great both as a way of doing something very quickly, but also great for production use. Especially with the integration with Application Insights you get a very easy to build and easy to deploy application that still allows you very detailed insight into the workings of the application. Since it’s Serverless you pay per use (unless you actually tie it to your own App Service instance, which you can) you don’t pay for the number of Function Apps you have, or the number of Functions. Think microservices. You can quickly end up with a mess (a lot of Functions with questionable responsibility boundaries) if you are not careful. Also, another lesson quickly learned is that even if Azure Functions scales well and quickly, if you are using a limited resource, like a database, you still have to take care. If you are using Azure Functions with Logic Apps, you can easily set up a CI/CD process that will deploy your Functions and Logic Apps together. I have a previous blog post as well as a video available from last years Integrate conference.