Overview
The Cycloud Controller installer automates various steps required to install the Cycloud “Controller Service”.
The Cycloud Controller service is an optimised Windows scheduled task that provides scheduling logic for Cycloud provisioning and deprovisioning tasks.
There are prerequisites required prior to beginning the installation. This document will explain these in detail.
It is strongly advised that the required information is at hand prior to beginning the installation to prevent any confusion that may cause issues with the installation. Again, this document will highlight the required information and where it can be obtained.
Information Required
The Cycloud user account credentials will be required during the Cycloud Controller installation. This would have been setup during the installation of the Cycloud product installation and provides the account context that the Cycloud Controller scheduled tasks runs under.
The path to the Cycloud data store is required during the Cycloud Controller installation. This should be in UNC format. An example is as follows.
Example: <\\ServerName\ShareName>
The Cycloud Controller installer installs a Windows scheduled task and associated registry and file data. The installer process is a relatively simple wizard driven process that can be completed quickly and easily.
Installation Process and Flow
The following diagram shows the full Cycloud installation process. For the rest of this document, we will be focusing on the Cycloud Controller Installer.
Completed Cycloud Product Installation
The Cycloud “Product Installation” should have been completed prior to running the Cycloud Controller installer. Details can be found at this link. This would have registered Cycloud with Azure and also setup the Cycloud Data Store both of which are crucial for the Cycloud Controller to be able to work.
Cycloud Controller Installation Order
The order at which the Cycloud Controller software should be performed is outlined in the following diagram although step one may not be needed if an existing machine is available.
Let us look at each of these steps in detail.
Step 1
Creating a virtual machine is a simple process and the this article will assist in this task.
Depending on each user case it may well be possible that the Cycloud Controller could be installed on an existing virtual machine within the Azure tenant and if so this step is not required.
Step 2
It is a requirement that Cycloud Controllers are domain joined machines. This is a requirement prior to the Cycloud Controller installer being run. The installation will not run until this action has been completed. This article explains this process
It is also possible to install the Cycloud Controller software on a Windows Domain Controller should this be a requirement. This has been made possible to reduce the Servers required by the Cycloud solution. This configuration has been thoroughly tested and is a fully supported Cycloud configuration however it is recommended that a Cycloud Controller is run on a Domain member Server if possible.
Step 3
There are a number of prerequisite components that are required to be installed prior to running the Cycloud Controller Installer. These components can be automated by using the “Cycloud Primer” utility explained in detail at this link. This is an essential step prior to installing the Cycloud Controller software.
Step 4
The Cycloud Controller Installer can be run on any machine running a supported Microsoft Windows operating system. Supported operating systems are as follows.
- Windows Server 2012R2 (All Editions)
- Windows Server 2016 (All Editions)
- Windows Server 2019 (All Editions)
- Windows Server 2022 (All Editions)
- Windows 10 (All Versions)
- Windows 11 (All Versions)
It is advised that the machine selected to run the Cycloud Controller Service have a minimum of 4Gb of memory and 30Gb of disk space with 20Mb of free space for the Cycloud software . Assuming that the Cycloud Controller was running on a dedicated operating system a “Standard B2s” instance is the recommended Azure instance type.
The Cycloud Controller Service has been designed to run extremely efficiently using minimal system resources. It’s memory footprint varies from 10Mb – 50Mb depending on the tasks it is running. Assuming that the Cycloud Controller is running on a dedicated machine there is no requirement for high performance disks therefore if an Azure instance is being used a standard Hard Disk would be more than sufficient.
Although client class operating systems (Windows 10) are supported it is strongly advised that a Server class operating system is used to host the Cycloud Controller in a production environment.
It is assumed that the machine used to run the Cycloud Product Installer will be an Azure instance. Azure marketplace images are supported at this time although it is thought that custom images could be used. It is advised that Azure Marketplace instances are used to ensure a consistent image for the Cycloud Controller.
The Cycloud Controller software is part of the Cycloud Product software available for download from the Cycloud Download page. Unzip and save the software to a local location on the machine that is to be the Cycloud Controller. Browse to the directory containing the Cycloud Controller software and find the “cycloud-controller-install.exe” file. Double clicking this file will begin the installation.
The following outlines a typical installation of the Cycloud Controller.
Read and accept the Cycloud EULA.
Enter the path to the Cycloud Data Store (using UNC format) and select an OU and user from the two drop down boxes. The user that you select would be the user created during the installation of the Cycloud product installation or be a user with the same privileges.
Enter the password for the selected user.
Decide to either enable the Cycloud Controller service by selecting the “Enable Cycloud Controller” checkbox or to leave it blank so that it can be enabled later by using the Cycloud Controller shortcut that is placed on the users desktop. It is a good idea to keep the Cycloud Controller Service disabled until Agent configurations have been completed. This will reduce errors being written to the Cycloud Controller logs.
Each stage of the Cycloud Controller installation is logged and can be queried using the Windows Event viewer. The installation process is simple so it is not usual to see any errors.
The Cycloud Controller Service can be seen by using the Microsoft Task Scheduler utility. The Cycloud Controller Service (When Enabled) runs every minute. This can be observed by the times stated within the Task Scheduler utility as well as information containing the success of each time the Cycloud Controller ran in the “Last Run Results” column.
Cycloud Controller Fault Tolerance
The Cycloud Controller Service has been developed to work alongside other Servers running the Cycloud Controller service. This provides fault tolerance at this level ensuring that provisioning tasks continue in the event of a Cycloud Controller failure.
Each Cycloud Controller is aware of other Controllers via the Cycloud Data Store and work in harmony with each other ensuring that provisioning tasks are not replicated.
For production environments it is advised that two Cycloud Controllers are used. Although there is no limit to the number of Cycloud Controllers that can be implemented there is little advantage to having more than two.
For proof of concept testing it is recommended that a single Cycloud Controller be installed (if necessary) on a Domain Controller.