Hosting Workload
Overview
A Hosting workload represents a Platform-as-a-Service environment capable of supporting the hosting and orchestration of Functional Workloads. Configuring this workload scaffolds the required governance and infrastructure-as-code to deploy an Azure Kubernetes Service ("AKS")[1] cluster, along with the additional resources required for it to run in your environment.
Architecture
Capabilities
Add-ons
Diagnostic Logging
The Diagnostic Logging Add-on
is automatically configured upon adding a Logging Link
. This add-on enables diagnostic logging and Container insights[2] for AKS, backed by the linked Log Analytics[3] workspace.
Links
Container Registry Link
A Container Registry Link
grants the hosting platform access to pull container images from the linked container registry.
Logging Link
A Logging Link
collects the necessary information from the linked Log Analytics workspace and triggers the provisioning of the Diagnostic Logging Add-on
.
Routing Link
A Routing Link
connects the global load balancer to the Internal Load Balancer[4] for the Hosting Workload using Azure Private Endpoint[5].
Ports
Data Engine Port
A Data Engine Port
enables the connection of one or more Data Workloads to the hosting platform. Linking to this port scaffolds the security boundary for the hosted workload and other required objects to support orchestration of Apache Spark[6] jobs on the hosting platform.
Deployment Port
An Deployment Port
enables the connection of one or more Functional Workloads such as a Backend Service
or Frontend Service
. Linking to this port scaffolds the security boundary and other required objects to support deployment of the application onto the hosting platform.
Use Cases
- Web hosting of HTTP-enabled applications such as web portals or APIs
- Hosting of event-driven applications such an Apache Kafka[7] event consumer or Kubernetes Event Driven Architecture (KEDA)[8] application
- Execution of jobs orchestrated by controllers such as Apache Spark or GitHub Action Runners[9]
References
- [1] https://learn.microsoft.com/en-us/azure/aks/intro-kubernetes
- [2] https://learn.microsoft.com/en-us/azure/azure-monitor/containers/container-insights-overview
- [3] https://learn.microsoft.com/en-us/azure/azure-monitor/logs/log-analytics-overview
- [4] https://learn.microsoft.com/en-us/azure/load-balancer/load-balancer-overview
- [5] https://learn.microsoft.com/en-us/azure/private-link/private-endpoint-overview
- [6] https://spark.apache.org/
- [7] https://kafka.apache.org/
- [8] https://keda.sh/
- [9] https://github.com/actions/actions-runner-controller