Blog

By mmeade 29 Apr, 2024
Desired State Configuration (DSC) is a declarative and idempotent configuration management system to provide configuration documents to various systems. A configuration document simply declares the desired state, and the system is responsible for maintaining that state. It can reapply the configuration continuously with predictable results. All configuration items have a test and a set component, the set component is only invoked if the test component fails. DSC is designed to scale up to thousands of connected clients, it is extendable for new capabilities, it can provide configuration state to Windows, Linux, and Mac clients. DSC can be invoked either as a push configuration on a local server or through a pull method where we configure the client to check in for new or updated configurations. The latter is the topic of this article, but we will deploy the pull server with a push configuration.
By mmeade 21 Mar, 2024
NuGet repositories are great for downloading assets, they provide version control, access control and are web based (http protocol). The features available are extensive and can be integrated with many different platforms. NuGet was originally distributed with Visual Studio 2012 as a package manager for .Net assemblies and binaries. Open source NuGet has grown and has been utilized for other repositories such as The PowerShell Gallery and Chocolatey , our goal is to use an open source NuGet server to provide private repositories for both PowerShell and Chocolatey packages. Part one will cover a minimum feature tool with just enough functionality to host a few packages for your project, part two will cover the full featured package that is used to host the PowerShell Gallery along with some customization techniques. All my articles are written covering all aspects of the deployment, just skip the sections you feel comfortable with. This article is based on PowerShell 5.1 and IIS in a native server deployment. Future installments will cover NuGet in a Linux docker container on .Net Core. I also plan to modernize this system and support the latest PowerShell 7.x, PowerShell 7.x isn’t natively supported in any operating system to date so support must be added, slowing the adoption. Prerequisites This build is based on Windows Server 2022, we must install a few components including IIS at a minimum. Install IIS: Install-WindowsFeature Web-Server,Web-Common-Http,Web-Mgmt-Console,Web-Asp-Net45 Visual Studio Community - Visual Studio 2022 Community Edition – Download Latest Free Version (microsoft.com) Include the following components: APST.NET and web development workloads .Net Framework project and item templates .Net Framework 4.6.2-4.7.1 development tools
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.
Share by: