By mmeade
•
20 Mar, 2024
This series of articles will consist of a low-cost, high-performance management framework for cloud desktop session hosts / virtual machine builds. The problem that this solution addresses is the management of the user experience in a session host environment without purchasing a tool like Ivanti User Workspace Manager (RES Workspace Manager). This framework will provide nearly all the functionality of a full workspace session management platform without the graphical interface. This framework is 100% command line with components and processes you add or remove to design a platform for your environment, all the way from supporting a small deployment of a few users on a handful of shared session hosts to the way to a workspace service provider managing many thousands of companies. The drawback to this system is that everything is command line based using PowerShell. The benefit of this system is that everything is command line based using PowerShell. This management framework is cloud agnostic and will work on any public or private cloud platform, it’s scalable, and it’s free. It does require people comfortable with management through PowerShell. With this framework, you’ll soon be able to manage all your machines across different cloud providers. I designed this management platform around 2015 to address a need of management across different cloud providers. It performed beautifully scaled to support well over 10,000 seats. This management platform is still relevant nearly a decade later. It was recently decommissioned but not due to the platform, the provider ceased operations. The goals of this project are the following, including the articles that will be released: NuGet repositories Part one – Just a repository, very simple for on-premise use only. Private PowerShell Gallery - Provide a code repository to manage custom functions used for session and machine management. Private Chocolatey Repository – Provides a secure chocolatey repository for packages that shouldn’t be shared with the public. Desired State Configuration pull server Building a high-performance DSC pull server backed by a MS SQL DB backend Building and publishing PowerShell modules to your private PowerShell Gallery Building and publishing Chocolatey packages to your private Chocolatey Repository The Application Compatibility Script module – User state management The Build module – infrastructure code, automation for machine state management. Machine template builder – a reproducible template builder The Automation module – cloud provider specific code used to invoke templates for provisioning tenants. The missing components from this list is an event automation engine and an end user interface backed by a RESTful API. The event automation engine will handle events in the environment and trigger automation automatically, think about this as though you create a new user, what needs to occur to complete this task. In some environments it’s as easy as creating an account, in others it’s about provisioning all kinds of services and security requirements to makes sure the environment is correct and secure. The end user interface simply allows nontechnical users access to the automation to provision companies and users with a minimal amount of effort. The RESTful API is the interface for all of the automation. The final part of this system is an automation gateway, this gateway allows you to scale this system to support many different data centers located in many different private and public cloud providers. The design goals of this system are centered around no compromises on features, low cost, high performance, stateless design (i.e. no database), and it must be cloud platform agnostic. Please follow me for updates when I release new installments to this series. Please contact me at Meade Automation LLC if you wish to engage in contract services to implement this system for your Managed Service Provider (MSP) or Independent Software Vendor (ISV) business. There are a permutation of options and updates to address specific needs and requirements.