Cloud-native applications are rapidly becoming a mesh of microservices, event driven serverless functions and services running on public cloud and on-premises, integrated and linked with real-time events. Cloud-native apps are often composed of distributed microservices hosted in containers for solutions that are loosely coupled, resilient, manageable, and observable as defined by the Cloud Native Computing Foundation. Event-driven applications are designed to respond to events that occur in real-time or near real-time. Events can be triggered by various sources such as user interactions, system events, sensor data, or other applications.
Azure Functions offers an event driven serverless platform for you to develop your way and also deploy your way. The hosting options for application deployment range from the serverless Consumption Plan and Premium Plan to the dedicated App Service Plan as well as supporting open-source deployments with Azure Kubernetes Service and Kubernetes Event Driven Autoscaling (KEDA). Today, we are announcing the public preview release of Azure Functions for cloud-native microservices at Build 2023. With this, developers can quickly build event driven, cloud-native apps, with the flexibility to run Functions along with other microservices, APIs, websites, workflows or any container hosted components.
“I found the set up of the function app in the container app environment quite intuitive and straight forward. I fully appreciate the potential of the scaling and the benefit of the Kubernetes environment without having to know everything about it. I can see this option being considered for a complex use case involving APIs and function apps in the future development once in general release” – Raewyn Soer, Backend Developer, TOMRA
You can easily containerize your Function app, leverage the programming model and write code using your preferred programming language or framework supported by Azure Functions. You will get first-class event-driven support with triggers and bindings support. Developers can leverage Dapr to encapsulate best practices for microservices and KEDA to achieve event-driven scale without managing complex manifests or Kubernetes operators. With an open-source centric approach, teams can onboard their cloud-native apps quickly to Azure without the operational overhead of Kubernetes, all while preserving app portability. Users can freely focus on the applications they are creating while benefiting from economies of scale and security.
This is powered by Azure Container Apps that is built on Azure Kubernetes Service (AKS) and open-source technology of CNCF projects like KEDA, Distributed Application Runtime (Dapr), and Envoy.
Azure Functions for cloud-native microservices: Example Scenarios
Below are some representative scenarios for developing with Azure Functions for cloud-native microservices:
Please note: Many other use-cases are possible with Azure Functions on Container Apps.
- React to Http, Kafka, Service-Bus, Event Hubs, Azure Storage Queue events and invoke other APIs securely in a Container App environment. Scale on-demand with Functions triggers in the language of your choice. Use Application Insights to monitor functions executions.
- Invoke Function apps to perform data quality checks for incoming data and send it to event based data ingestion platforms. This process helps validate data for accuracy, completeness and more. You can keep up with data-quality rule changes or business requirement changes by setting up CI/CD pipelines using GitHub Actions or Azure Pipelines which keeps your images and Azure Functions container apps up-to-date.
Developers can use the existing ecosystem of Azure and GitHub tooling to develop and deploy Azure Functions on Container Apps. Network and observability settings are shared with other apps in the Container App environment.
Getting Started withwith Azure Functions for cloud-native microservices
Deploy your apps to Azure Functions for cloud-native microservices today! To learn more:
- Visit the Getting Started guide on Microsoft Docs.
- Learn more about pricing details from the pricing page.
- Reach us via our GitHub page - Azure/azure-functions-on-container-apps repo.