--- title: "Hosting architecture" slug: "architecture-options" updated: 2025-12-05T12:29:11Z published: 2025-12-10T14:08:19Z canonical: "docs.grassfish.com/architecture-options" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.grassfish.com/llms.txt > Use this file to discover all available pages before exploring further. # Hosting architecture The Grassfish platform is currently operated in two hosting variants: container setup and VM setup. ## Container setup (standard) The container architecture is the most modern hosting variant and therefore represents the technical target architecture for new setups. It’s based on Azure and works as follows: ****AKS Cluster**** An Azure Kubernetes Service (AKS) cluster hosts all application services as deployments and stateful sets. ****Azure SQL Managed Instance**** Persistent data resides in an Azure SQL Managed Instance, typically in separate databases for FAST, the main system, and reporting. ****Azure file storage and shares**** Azure file storage and Shares are used for log files, media (videos, images, HTML) and other files. ****Azure Application Gateway**** An Azure Application Gateway (Layer 7) is available at the perimeter, optionally with an enabled Web Application Firewall (WAF). ****Infrastructure as code**** Infrastructure and deployments are managed via infrastructure as code (IaC), e.g. via Terraform/Terragrunt, and GitOps with Flux. Autoscaling is possible via Kubernetes Event-Driven Autoscaling (KEDA) and Horizontal Pod Autoscaler (HPA). [Learn more](/grassfish/docs/skalierung-und-performance) > [!NOTE] > Note > > Please note that the container setup is not suitable for self-hosting. ## VM setup (legacy) The virtual machine (VM) architecture is already in use for existing customers and will continue to be used in the future. However, for new projects, we recommend the more modern container architecture. The VM architecture works as follows: ****Windows Server**** Windows servers running IIS host the content management system (CMS) and the APIs. ****Azure SQL Server**** The database runs on an Azure SQL Server. ****Load balancer**** A load balancer like the Application Gateway distributes traffic across multiple VMs. [Learn more](/grassfish/docs/configure-load-balancer-or-reverse-proxy)