Backend Service Workload
Overview
A Backend Service workload represents any persistent server-based application, such as a web service or an event consumer service. Deploying this workload provides the necessary GitHub repositories and workflows to build and deploy your containerized application.
This workload also provides the ability to add on cloud capabilities commonly paired with server-side applications such as databases, secure key stores, and application monitoring tools.
Architecture
Capabilities
Add-ons
Diagnostic Logging
The Diagnostic Logging Add-on
is automatically configured upon adding an Logging Link
. This add-on associates the included Application Insights[1] instance with the linked Log Analytics[2] workspace. In addition, diagnostic logging will be enabled for cloud resources included with the workload and transmitted to the same linked workspace.
Links
Deployment Link
An Deployment Link
will configure the deployment of the Backend Service workload to the App Hosting platform selected. After successful configuration of the link, application code that is pushed to the associated repository for the service will be deployed using the included GitHub Action workflows.
For this link to be fully operational, the Backend Service must also include a configured Container Registry Link
.
Container Registry Link
A Container Registry Link
associates the deployment workflows for the Backend Service with a container registry to target for pushes of successfully packaged application code.
Eventing Link
An Eventing Link
grants the identity of the Backend Service permission to send and receive events from the linked event broker. The environment variables for the Backend Service are automatically updated with the connection information required to send and receive messages from the broker.
Logging Link
An Logging Link
collects the necessary information from the linked Log Analytics workspace and triggers the provisioning of the Diagnostic Logging Add-on
.
Routing Link (Coming Soon!)
An Routing Link
associates the Backend Service with a global load balancer to route HTTP traffic matching the configured rule sets to the application.
Use Cases
- API applications written in frameworks such as Express JS, ASP.NET Core, or any other web framework that supports execution in Linux-based containers
- Event-driven applications such as Kafka consumers
- Persistent backend processes such as containerized cron jobs or applications that manage their scheduling independent of the app hosting platform