background

Microsoft's Serverless Solution: Azure Functions

Microsoft's Serverless Solution: Azure Functions

It is a known fact that data gains importance day by day with the increase of internet connected devices. Organizations have come to expect developers to produce highly scalable solutions in order to obtain the value in data. Serverless is a technology that was created as a solution for such expectations. In this article, first of all, I would like to talk about Serverless, which is increasing in popularity in the software World, and its benefits. Then, let us take a closer look at the features of Azure Functions, Microsoft's Serverless solution, and examine which applications can be suitable for this solution.

What isServerless?

Serverless computecan be thought of as a microservice hosted on a cloud platform. The infrastructure on which the application will run is managed by the cloud provider. You do not have to think about infrastructure related requirements such as determining server capacity, operating system, application installation, and scaling infrastructure. Your application is automatically scaled up or down depending on the load.

For serverless architecture we can say that it creates the application logic with the services received from different providers. For example, we can consider existence of different providers and call such providers as functions. These types of functions that we have created by focusing on code development without managing servers and long-lasting server applications operate as FaaS (Function as a service).

Serverless can be thought of as server-side applications written by application developers. But unlike traditional architectural approaches, these are stateless and event driven applications with short runtime, whose infrastructure is managed entirely by cloud providers. In other words, we can call the Serverless applications FaaS (Function as a service).

Benefits of Serverless

  • Operation costs decrease since the infrastructure management is on cloud provider.
  • Operational management is easier, and the system management effort is eliminated. For example, it is sufficient to upload the code and there is no need to think about the deployment. The scalability is automatic and scalability management is not necessary.
  • Infrastructure costs decrease thanks to its pay for use pricing model.
  • In addition to technical benefits, the business yields such as accelerated time to market and continuous customer experience.

Azure Functions

Azure Functions is a Microsoft Serverless solution. It is event - driven, enabling developers to take action by connecting to data source or messaging solutions. Thus it facilitates the processing of event driven computations. It allows the development of the codes driven by an event in an Azure or 3rd party application. It also has the infrastructure to expand the Azure application platform upon request.

Features of Azure Functions

  • It provides serverless code support. A code snippet can be run without the need for infrastructure management.
  • It is scaled automatically based on application load and offers a pay-per-use pricing model.
  • Applications can be developed in modern languages, including .NET, Node.js, java, Python, and Powershell Core.
  • NuGet and NPM support is available.
  • It has remote debug feature
  • It provides continuous integration ve deployment support with DevOps optimization (Azure DevOps Services, GitHub, vb.)
  • In Azure Functions applications, the authorization-based access management can be carried out with methods such as Basic Authentication, JWT Token, OAuth.
  • It can be easily integrated with Azure services and the services offered as SaaS (Azure Cosmos DB, Azure Event Hubs, Azure Event Grid, Azure Notification Hubs, Azure Service Bus, Azure Storage, Twilio etc.)
  • It provides the Serverless architecture with "Durable Functions" for applications containing state information.
  • It gives the ability to determine when the Azure Functions application will run by providing various trigger methods (HTTPTrigger, TimerTrigger, CosmosDBTrigger, BlobTrigger, QueueTrigger, EventGridTrigger, EventHubTrigger, ServiceBusQueueTrigger, ServiceBusTopicTrigger)

    When to choose Azure Functions?

    • They are well - suited candidates for stateless applications.
    • Suitable for applications with predictable running frequency (In serverless architecture, infrastructure costs are expected to decrease as the application scale is automatically increased and decreased and payment is made only for runtime).
    • It is suitable for applications that are developed in accordance with the Microservice architecture and are triggered by event. (Triggers are configured according to the application needs. It is ensured that the application is focused on business logic during the development thanks to the infrastructure on the data that triggers the application and where application goes.)
    • It is suited for applications with short runtime. The default timeout duration is 5 minutes. This timeout period can be configured up to 10 minutes. * There is also an option called Durable Functions that enables multiple Azure Functions applications to run without timeout period.

    References

How can we help you?