AutoScale

AutoScale Overview

AutoScaling is a powerful feature that dynamically provisions and destroys the number of available virtual machines (VMs) within a Pool based on a predefined schedule or real-time user demand. Kasm Workspaces offers AutoScale capabilities for both full-stack virtual machines (VMs) and containerized environments. It can dynamically provision and integrate full-stack VMs into a Server Pool to support RDP, KasmVNC, VNC, and SSH sessions. Additionally, Kasm can AutoScale Docker Agent VMs to efficiently manage and deploy container-based workspaces, ensuring optimal resource utilization and scalability.

Note

This feature is available in both the Community and Enterprise editions. If you’re using an Enterprise edition, please contact a Kasm Technologies representative for details.

Agents

Agents are the compute resources that store workspace images and initiate sessions upon request. Kasm can autoscale agents based on a predefined schedule or real-time user demand. See Docker Agents for more information.

Servers

Servers are the compute resources that support remote access to environments via protocols such as RDP, KasmVNC, VNC, and SSH. Similar to agents, Kasm can also autoscale servers based on a predefined schedule or real-time user demand. See Servers for more information.

Startup Scripts

It is strongly recommended to utilize and customize the startup scripts provided on our AutoScale Startup Scripts GitHub repository. These scripts include the necessary logic to install key Kasm components, such as the Kasm Agent role and the Kasm Desktop Service for Windows VMs, making it easier to integrate with your Kasm AutoScale setup.

Zones

A strategic organizational grouping of Kasm services that enables advanced resource management, geographic distribution, and logical segmentation. Zones are strongly tied to the Kasm manager role. Once a manager is assigned to a zone, it is responsible for the Kasm resources and operations of the workspaces within that zone. Learn more about Deployment Zones in Kasm.

../../_images/deployment_zones_diagram.png

Upstream Auth Address

This is the endpoint used to authenticate connections to Kasm sessions. It must be correctly set to the address of the resource hosting the Kasm API server. Ensuring proper configuration is essential for newly provisioned VMs to authenticate within the designated Zone. Incorrect settings may result in authentication failures or potential security risks, such as unauthorized access. See Update Zones for more information.

  • In a single-server architecture, this address is set to proxy by default which refers to the local proxy. When configuring the Autoscaling feature, the default value must be changed to the actual IP/FQDN of your Kasm server so that the autoscaled agents can report back to your Kasm deployment.

  • For a multi-server architecture, the Web App server’s IP/FQDN, or the load balancer’s IP/FQDN servicing the Web App servers must be specified for the corresponding Zone.

Pools

Pools can be used to group a set of similar fixed systems together, so they can be treated as a single Workspace for user access. Users will see a single Workspace icon on their dashboard, but their session will get distributed to an available server in the pool. Each server in the pool can be set to support 1 or more concurrent sessions. Kasm automatically distributes the sessions evenly over the servers.

You can create two different types of pools in Kasm:

  • Docker Agent Pools: These pools contain Linux-based VMs running a Docker engine. They’re designed for hosting Linux-based workspaces. Each VM within a Docker Agent pool can run multiple workspace containers.

  • Server Pools: These pools contain Windows-based VMs. They’re designed for hosting Windows-based workspaces. Each VM in a Server pool typically provides a single Windows desktop experience, often accessed via RDP.

Note

AutoScaling is available in the Community and Enterprise editions only. If applicable, the adminsitrator will have 3 links underneath the table for All AutoScale Configs, All VM Provider Configs and All DNS Provider Configs. These allow the administrator to see all of the configs available and make changes, but the recommended approach is to use the Edit option on a specific pool.

../../_images/pools.webp

Server Pools

Create Pool

  • Click the Infrastructure item in the navigation menu.

  • Select the Pools option in the dropdown menu.

  • Select Add from the top right of the Pools table.

  • Provide a name for the server pool.

  • Choose the pool type. It can be either Docker Agent or Server.

../../_images/pool_create.png

Create Pool

AutoScale Configuration

Kasm has the ability to automatically provision and destroy Servers and Docker Agents based on user demand. The AutoScale configuration differs slightly between Servers and Agents.

There are two ways to create an Autoscale config:

  • Method 1: Go to “Infrastructure” -> “Pools” -> Edit your Pool -> “AutoScale Configurations” tab -> “Add”. The AutoScale type and Pool will be auto-populated based on your selected Pool.

../../_images/autoscale_config_create_from_pool.png

Create AutoScale config from Pools

  • Method 2: Go to “Infrastructure” -> “Pools” -> “All AutoScale Configs” -> “Add”. Then choose the correct Autoscale Type and Pool.

../../_images/autoscale_list.webp

Create AutoScale config

AutoScale configurations differ between Docker Agent Pools and Server Pools.

  • Docker Agents: Designed for Linux VMs with the Docker Engine installed. These VMs dynamically provision and manage container-based workspaces to optimize resource utilization.

  • Servers: Designed for compute resources (Windows and Linux) that support RDP, KasmVNC, VNC, and SSH connections, allowing remote access to full desktop environments or specific applications.

Select the appropriate configuration guide based on your deployment needs:

AutoScale Scheduling

AutoScale Scheduling in Kasm Workspaces allows administrators to define specific active periods for AutoScaling, optimizing resource usage and reducing costs. By setting schedules, AutoScaling can automatically provision or scale down compute resources based on predefined times.

  • Benefits: Saves compute costs by deactivating AutoScaling when resources are not needed.

  • How It Works: Administrators can configure schedules per AutoScale configuration, defining active days, start/end times, and time zones.

  • Flexibility: Supports different scheduling strategies, including business-hour scaling, overnight schedules, and multi-day configurations.

  • Key Considerations: Servers with active sessions will not be scaled down, ensuring uninterrupted user access.

To learn more about configuring AutoScale Scheduling, refer to the AutoScale Scheduling Documentation.

Provider Specific Settings

Kasm supports AutoScaling on a variety of providers. Each provider has unique configurations that must be set up correctly for optimal performance. Select your provider to learn more: