User Guide | Multi-Server | Workspaces | Database |
Kasm Workspaces
A central blogging hub for user and development documentation for the Kasm Cloud Workspaces Project
Our Cloud Workspaces project aims to provide all students with equitable access to powerful computing resources, regardless of the device they own or use, by utilizing cloud-based desktop environments.
KasmV2 Overview
To get insights into how the Nighthawk Coding Society (NCS) made KasmV2 continue reading this overview.
1. Frontend: Student Registration & Backend: Business Logic
Systems
- Frontend ncs.github.io
- Backend flask2025.ncs.com
Overview
- Frontend/Web Form: A GitHub Pages web application is used to gather required user information and send user data to the Python/Flask backend.
- Backend/Database: The data sent from the web application is stored in AWS RDS (Amazon Web Services Relational Database Service) using SQL connection services.
- Business Logic: The Python/Flask backend, upon successful save, sends user information via an API to enable access to KASM Workspaces.
Users in KASM Workspaces
2. KASM MultiServer
KASM presents workspaces to the user. Upon request by the user to launch a workspace session, KASM supplies an AWS computing resource and streams a session of that workspace to the user’s browser. In the Del Norte Computer Science classrooms, the customized workspace contains Visual Studio Code and support for coding languages such as Python, Java, and JavaScript.
Infrastructure Management
To provide the KASM MultiServer features, KASM requires servers and agents. The Web Server, Database Server, and Connection Server manage KASM resources. These servers are the heart of KASM and need to be set up to enable MultiServer capabilities.
To configure these servers, Nighthawk developers have created tools and utilities to spin up these KASM servers.
- Shell Programming: Scripts that simplify and drive the setup process.
- Terraform: A tool that specializes in creating and sizing AWS servers.
- Ansible: A tool that specializes in the configuration management of servers. This is used to make the AWS servers into KASM workers.
3. KASM UI
KASM User UI
KASM Admin UI
Workspaces and the extensive Workspace Registry are key components of the KASM system. Activating a workspace is where the user’s work begins.
Workspaces are developed according to the classroom’s needs and then presented to users within the system. The UI allows for limiting usage according to groups.
Essentially, this is like installing all the necessary tools on a single user’s laptop and then propagating that configuration and settings to every other user in the room.
Workspaces Links
- KASM Admin UI kasm.ncs.com:
- Del Norte Registry ncs.com/registry
- DockerHub docker/ncs/pusd
- GitHub CompSci Template github/kasm-ubuntu
Workspace Registry
KASM provides ready made workspaces that can be used directly or as a template for your spcific customizations. In Del Norte CompSci, we have customized on top of a KASM provided template. The customizations were to meet tools and configurations that were not provided directly by KASM.
This illustration shows some of the A’s through D’s available in the KASM registry. Also, contained in the registry is one of Del Norte CompSci’s customizations.
Costs
A projected cost comparison of the AWS/KASM solution versus traditional classroom fixed workstation costs. This comparison ignores some risks/changes:
- Consulting services for KASM sizing and planning.
- IT job skills changing from multiple site “Desktop Technicians” to a centralized cloud “DevOps Engineer”.
- Size of monitor, assuming a Chromebook is sufficient.
- This study is based on a 1/5 usage ratio, or approximately 40 out of 200 CompSci students using AWS KASM Workspaces. Del Norte HS CompSci students are encouraged to set up and use their own computers. However, the predominantly 9th/10th grade classroom has 20 to 30 students using AWS KASM Workspaces.
Description | Cost/Details |
---|---|
Projected monthly cost to support 2 classrooms of users | $600 |
Yearly license purchase (KASM) | $2,100 |
Normal school year duration | 10 months |
Total yearly scaling cost for supporting two classrooms and eight CS classes | $8,100 |
Cost comparison (iMac) | One iMac: $1,500 |
Total cost of the program (compared to iMacs) | Equivalent to 5 iMacs for the entire year, supporting hundreds of students rather than 20 per iMac |
Cost comparison (PC) | One PC: $1,700 |
Benefit of cloud-based system | No local IT time or costs spent on setting up, delivering, connecting PCs, or managing hardware/software breakdowns |
Advantage of KASM over PCs | Spin up new machines in seconds with costs similar to image management costs |
Hardware management | AWS dynamically switches hardware without extra cost; always access to the latest hardware |
PC lifecycle (4-5 years) | KASM: $40,500 over 5 years, 2 classrooms |
Cost comparison over 5 years | PCs: $80,000 for one cycle of 40 PCs, 1 classroom (approximate, depending on make and configuration) |
Overall district savings | KASM cuts costs to 25% for the district every 5 years while providing the latest hardware and software |
Additional benefit | Accessible from home, allowing students to use resources after school without additional connectivity software (e.g., SplashTop) |
AWS Costs (AWS Cloud Compute)
AWS costs using Single User system to current Multi User system. Summer costs were a result of ongoing Development.
Usage Patterns (3 Weeks of Data)
It is easy for a teacher or program administrator to see if students are making use of available resources. By putting activities into the cloud, data insights are now at our fingertips.
- Elementary and middle school labs are now online and utilized when needed, eliminating idle labs.
- Concurrent usage may require scheduling lab days, optimizing the use of cloud-based concurrent licenses.
- Homework capability is always available, providing the same experience at home as at school without the need for specialized desktop/laptop software.