Custom VM Endpoints Use Cases

Prev Next

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:

  1. Log on to a VM.

  2. Identify and locate the software.

  3. 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:
image.png

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.