Integration with Azure Serverless
    • Dark
      Light
    • PDF

    Integration with Azure Serverless

    • Dark
      Light
    • PDF

    Article Summary

    Author: Eldert Grootenboer Azure MVP

    When looking at the cloud, we all know that there are different models, IaaS, PaaS, SaaS, containers and serverless, each placing different levels of responsibility at the consumer. Of all these models, serverless is probably the closest to a pure cloud model there is.

    After all, the cloud has promised to bring minimal management, pay per use, micro-billing, and highly scalable solutions.

    image.png

    When looking at these different models, Infrastructure as a Service is not much more than just switching to a different data center for hosting VM’s, which happens to be run by Microsoft in the case of Azure. Of course, there are several benefits with this and might be the right answer for some scenarios. However, almost everything is still under own management, going against the principle of being cloud-native.

    On the other hand, there is Software as a Service, which is excellent for commodity services, which can now be bought off the shelve. However, how is the added value of a specific solution brought to the table? This is where Platform as a Service and serverless come in. Looking at the definition of serverless on Wikipedia, we can see this as the following.

    Serverless computing is a cloud-computing execution model in which the cloud provider acts as the server, dynamically managing the allocation of machine resources. Pricing is based on the actual amount of resources consumed by an application, rather than on pre-purchased units of capacity.

    Essentially, serverless brings precisely what we are looking for in a cloud solution. Moreover, looking at Azure, the serverless space has only been growing! For example, Azure Functions has already been available since 2016, while recently Azure Functions 2.0 was announced. This service provides serverless compute, allowing to trigger on events, execute some code, while leveraging bindings to work with inputs, outputs, and reference data effortlessly. Furthermore, with the recent addition of Durable Functions, it is now also possible to create orchestrated compute workflows using Azure Functions.

    Alternatively, there is Logic Apps, which provides a graphical interface for creating powerful workflows, leveraging over 200 connectors to easily integrate with many different systems. Subsequently, Logic Apps also leverages many enterprise integration capabilities, for example through the Enterprise Integration Account, with which we can implement EDI scenarios, implement mapping capabilities and more.

    A completely new service which was announced last year is Event Grid, a service used for routing events from any source to any destination. Part of the Service Bus family, this is the first fully serverless routing service available. A push – push mechanism is used, where publishers send their events to Event Grid, which in turn uses subscriptions to push them out to all the systems interested in that specific event. Additionally, Event Grid was one of the first services to support CloudEvents, a specification used to create interoperability for events past the boundaries of the various cloud providers.

    image.png
    Source: Event Grid - quiet event to revolutionize Azure and more

    Just a few weeks ago, API Management also announced their serverless offering in the form of the consumption tier, bringing the capabilities of their product to the serverless world as well. Using this service, it is possible to publish, secure, transform, maintain, monitor APIs, and can now be used by anyone, thanks to this new model. Correspondingly, APIs can easily be leveraged, with built in support for Azure’s own services like Functions and Logic Apps, meaning that these can be exposed in a secure manner with just a couple of clicks.

    Finally, containers can now also be used in a serverless manner, thanks to Azure Container Instances. This service offers an on-demand compute service delivering quick deployment of containers with no VM management and scales automatically depending on the load requested. It is even possible to use ACI in conjunction with Azure Kubernetes Service thanks to the Virtual Kubelet provider. This combination allows using Kubernetes as the orchestrator, while easily scaling the container capacity up and down.

    All these services Azure provides are truly serverless, meaning they are maintained and managed by Microsoft and can be brought up by the click of a button. Moreover, they are highly scalable, and you only pay when you are pushing some events through them.

    It will be interesting to see how the serverless ecosystem continues to grow in 2019, but Microsoft is clearly investing heavily in this space. Luckily, there is plenty of resources available to get started for yourself, whether it is through the various blogs, training or tips and tricks from the community.


    Was this article helpful?