- 10 Sep 2024
- 2 Minutes to read
- Print
Designing a Bring Your Own Cloud lab
- Updated on 10 Sep 2024
- 2 Minutes to read
- Print
Introduction to BYOC
When building a BYOC solution the design needs to be built around the Cloud/Web Applications capabilities this will drive how the external platform can be brought into Skillable to deliver hands on skilling capabilities and the product features available. The following example initially looks at the learning requirements followed by looking at the external platform capabilities. It is possible as in this example the external platform has some limitation that might impact the user lab experience. Therefore it is always important to remember these two parts are highly connected and one can impact they other.
Building the Requirements
The Lab User Process
To start with a definition of the lab requirements needs to be created and then understand how the external platform can support the required capabilities. Taking the Skillable Salesforce as a working example the learning requirements are:
The External Platform Process
When the learning requirements are known the capabilities of the external platform can be investigated to understand how the learning requirements can be achieved. The picture below highlights the high level Salesforce process.
Provisioning a Salesforce Sandbox
Salesforce has a concept of a sandbox. This sandbox can be a copy of an existing Salesforce organization or a copy of another sandbox.
Sandbox advantages
Multiple source sandboxes can be created for different labs with different data or applications for different user journeys.
A sandbox provides all user credentials required.
A sandbox provides an isolated secure use environment.
Sandboxes can be provisioned ahead of time.
Cleanup is as simple as deleting the sandbox.
Sandbox disadvantages
Sandboxes can take up to 10 hours to provision therefore they need to be provisioned before they are required.
A created sandbox cannot be deleted for the first 24 hours after created.
Unable to authenticate into a sandbox via API due to Multi-Factor Authentication (MFA) limitations
Reviewing the Final Solution
Sandboxes provide a simple way to manage resource, user and data creation and isolation, as we all a simple way to clean up after the lab has finished. However, there is an implication today with the initial user needs. The only ability to validate the user actions is with the use of Multiple-Choice Questions (MCQ's) or fill in the blank questions. Automated Activities are not available at this time due to not being able to authenticate into the sandbox without using MFA to retrieve the Client ID and Client Secret, which are required to build an access token. One final consideration will be required when building a Lab Profile for a Salesforce lab will be making sure the long provisioning time and the 24hr delay before clean up occurs are taken into consideration.
Building the Solution in Skillable
This document only looks at a high level the Skillable features that enable this workflow. For detailed explanation on all the Salesforce requirements and fully enabling the Salesforce capabilities please see the How to use the Salesforce template document page.
This Lab Profile will use the following Skillable features for fully support the revised requirements:
Life Cycle Actions
Replacement (@lab) Tokens
Custom Start Page
Pre-Instancing (Skillable support only)
Life Cycle Actions (LCAs)
Life Cycle actions will be doing most of the work to enable this BYOC solution but that would be the normal requirement for all BYOC solutions when there is any form of automated external setup required. In this scenario three LCAs will be required. These are:
Start Sandbox Deployment - LCA Event - Pre-Build
Wait for Sandbox Deployment to Completed - LCA Event - Pre-Build
Sandbox Deletion - LCA Event - Tearing Down