TrustRadius: an HG Insights company

Azure Functions

Score8.8 out of 10

18 Reviews and Ratings

What is Azure Functions?

Azure Functions enables users to execute event-driven serverless code functions with an end-to-end development experience.

Categories & Use Cases

Top Performing Features

  • Multiple Access Permission Levels (Create, Read, Delete)

    Multiple access permission levels means that different levels of users have different rights.

    Category average: 8.7

  • Single Sign-On (SSO)

    Allows users to use one set of login credentials to access multiple applications

    Category average: 9.2

  • Standard reports

    The software offers pre-built reports with metrics standard to the category.

    Category average: 6.4

Areas for Improvement

  • Runtime API Authoring

    The product’s support for authoring functions via API endpoints.

    Category average: 8.2

  • Dashboards

    Users can create, customize and share dashboards, which provide an overview of the most important metrics.

    Category average: 6

  • Custom reports

    Users can create custom reports.

    Category average: 5.2

A great tool for the right job

Use Cases and Deployment Scope

Azure Functions are the first step in the server-less offering on Azure. They are a tool in the Azure Solution Architect toolbox, and they come handy whenever you have to execute a small-medium amount of logic in a broader cloud-native process, or as a minimal, cost-effective backend, for example for a mostly static website.

Pros

  • They natively integrate with many triggers from other Azure services, like Blob Storage or Event Grid, which is super handy when creating cloud-native applications on Azure (data wrangling pipelines, business process automation, data ingestion for IoT, ...)
  • They natively support many common languages and frameworks, which makes them easily approachable by teams with a diverse background
  • They are cheap solutions for low-usage or "seasonal" applications that exhibits a recurring usage/non-usage pattern (batch processing, montly reports, ...)

Cons

  • My biggest complaint is that they promote a development model that tightly couples the infrastructure with the app logic. This can be fine in many scenarios, but it can take some time to build the right abstractions if you want to decouple you application from this deployment model. This is true at least using .NET functions.
  • In some points, they "leak" their abstraction and - from what I understood - they're actually based on the App Service/Web App "WebJob SDK" infrastructure. This makes sense, since they also share some legacy behavior from their ancestor.
  • For larger projects, their mixing of logic, code and infrastructure can become difficult to manage. In these situations, good App Services or brand new Container Apps could be a better fit.

Return on Investment

  • They allowed me to create solutions with low TCO for the customer, which loves the result and the low price, that helped me create solutions for more clients in less time.
  • You can save up to 100% of your compute bill, if you stay under a certain tenant conditions.

Alternatives Considered

Azure App Service, Azure Container Apps, Azure Container Instances and Azure Kubernetes Service (AKS)