Custom VM Endpoints is designed to improve the user experience for labs that rely on nested virtualization, like running virtual machines (VMs) inside another VM hosted on Skillable. Nested virtualization can leverage various technologies, including (but not limited to):
Hyper-V
Broadcom ESX
Virtual Box
Linux KVM
Containers
Benefits of Custom VM Endpoints
There are many use cases for Custom VM Endpoints, but the primary goal is to deliver a better learner experience for lab users. The benefits of Custom VM Endpoints include:
Increased available screen area: The command lines provides a much larger window and larger font.
Simplified navigation: Seamlessly switch between services, like the command line and web interfaces.
Separated lab tasks: Isolate operations or activities on the same VM.
Improved keyboard performance: Particularly for VMware virtualization labs.
Automatic screen sizing: For Linux VMs with a graphical user interface (GUI) when using Hyper-V virtualization.
Type Text: Use Hyper-V virtualization to enable type text on Linux VMs.
Type Text
Type Text relies on the standard Ctrl+V paste command. If the application uses an alternative paste command (e.g., Ctrl+Shift+V) Type Text will not work. If possible, reconfigure the application to accept Ctrl+V.
When designing a lab with Custom VM Endpoints, consider whether the learner needs to see the VM at all, or if displaying it could create unnecessary confusion. For example, a typical workflow for accessing an application might look like this:
Log on to a VM.
Identify and locate the software.
Launch the software.
With Custom VM Endpoints, learners can connect directly to the application, which simplifies their workflow and improves their overall experience.
Exploring Custom VM Endpoint Configurations
To help you learn how to configure Custom VM Endpoints, we provide a couple Showcase Lab Solutions in the Skillable Public Template Gallery. These solutions include:
Detailed guidance on how to configure each endpoint type
A preconfigured VM
Instructions for reverse-engineering the configuration to understand how it works
Showcase Labs
These labs aren’t intended for full functionality. Instead, they’re designed to help you explore and experiment with Custom VM Endpoint configurations.
Available showcase labs include:
Template Name | Operating System | Endpoints Configured |
|---|---|---|
Custom VM Endpoints (Ubuntu) | Linux | HTTP, HTTPS, SSH (bash), SSH (PowerShell), XRDP |
Custom VM Endpoints (Windows) | Windows | HTTP, HTTPS, SSH (Windows CMD), SSH (PowerShell), RDP |
These can be found in the template gallery by selecting Feature Demos in the Solution Showcase section. The best use is to use the Preview function as you would not need to clone these.
Use cases
There are many use cases that VM Endpoints can assist with, and providing the best practices are always kept in mind, so the end user will benefit from the improvements VM Endpoints provide.
Example 1 - Web Development
Normally for Web Development labs the end user will be connected to a single VM, and that VM will contain the Integrated Development Environment (IDE) and the Web Server. Often a relatively large VM is provided, and the end user can get lost with too many windows open when switching between tasks. Custom VM Endpoints can solve this by allowing the Lab Developer to build a small VM, without a GUI, then install Code-Server on the VM as well as the Web Server (Apache, Nginx, etc). The Code-Server and the Web Server are then presented as separate HTTP VM Endpoints, and the user just has two tabs which allows easy switching between the two environments without getting lost or confused. As the image below shows the user has access to the command Line, Code-Server and the web application, using the tab selection at the top of the VM window:
Example 2 - Web & Cloud Applications
Many web-based applications can be hosted on Windows or Linux, as well as in the cloud. Custom VM Endpoints can be a great way to build labs on the administration and usage of the web application or website. This enable you to have exact control on costs as opposed to the slightly unpredictable nature of Cloud costs but deliver the high-quality native web application experience. There is no longer a requirement for the end user to sign into a VM, launch the browser, connect to the correct URL. The endpoint is just there and ready to go.
Example #3 - Nested Services
Nested services refer to being able to directly connect to virtual machines or containers running within the VM that is running on Skillable Directly. See the Using Nested Virtualization with Custom VM Endpoints documentation for details.