Understanding the Manageacloud Systems and Environment
Manageacloud provides a simple and powerful way to manage all infrastructure, from individual servers to their configurations and network access. By having a well defined configuration file in YAML format, all parts of a system can be automatically created, confgured, and destroyed.
Within Manageacloud, all infrastructure configuration is controlled by a Macfile. This Macfile is coded using YAML, confirming to a few simple standards. By design, the instances and items within an infrastructure are completely open-ended. Simply put, command line instructions are defined with given parameters, and then used to carry out a set of steps for the infrastructure. The quickest way to get started with using a Macfile, is to run through and follow the Quickstart Guide. This guide will show a basic Macfile, the components within it, and then expand upon that with parameterisation and destruction.
A Macfile has a few sections that are used for defining a series of steps to be carried out for a particular system. Roles are used to define specific Server Configurations to be used within the infrastructure. These configurations can be parameterised, and are controlled within a Manageacloud account. Each configuration is provisioned using a specific tool or service, such as puppet, docker, or chef. For existing infrastructure already defined using these tools, these provisioners can be used to readily use the Manageacloud framework. To begin simply though, a simple shell script or the Manageacloud Sysadmin IDE can be used to easily define what a server should contain.
Complex systems have multiple services and infrastructure configurations, with a good potential of overlap. Using the Manageacloud Sysadmin IDE to build configurations, Blocks can be created and re-used within multiple configurations. This allows for easy base configurations that can be readily extended upon for application specific detail.
Once a configuration has been defined, it can then be assigned to a Role within an Infrastructure. This infrastructure is a YAML file, hosted within the application repository or somewhere else publicly accessible via HTTP. Infrastructure Macfiles are used to define sets of configurations for systems, using variables and arguments for environment specific options. When deploying an infrastructure, these options can be passed through, and with a specific version denoted, associated with a particular release of an application. The Manageacloud Command Line Tool provides comprehensive and easy management of Infrastructures and Instances.
Instances are running parts of any particular configuration or infrastructure. These are tangible hosts that are presently able to be interacted with, within the cloud provider configured. Typically, an instance will belong to a specific version of an infrastructure, but Manageacloud allows for specific Server Configurations to be instantiated at will using individual parameters as required. Creating a specific instance is also a great way to quickly test configuration changes, or specific application modifications in an isolated environment.
Resources make up the parts of an infrastructure that aren't explicitly servers themselves, such as Load Balancers or Autoscaling Groups. These are defined within the infrastructure, and configured as a part of a deployment process, but the software and installation isn't explicitly defined as a typical server.
Triggers form a valuable to Manageacloud and allow for comprehensive and detailed chaining of deployment and Infrastructure management. A simple trigger would be to deploy a new version of an infrastructure when an application update has completed. For instance, from a successful Continuous Integration or Deployment service, the Manageacloud trigger could be pushed to that would then complete a new deployment, for further testing or in preparation for a Blue Green Deployment. A trigger is a simple HTTP Request that has a set of actions defined, including the ability to use parameters added to the body of a POST request.
Bringing all of these items together, managing Infrastructure can be a very simple task, and once defined, deployments are no longer a hassle and can happen within minutes. Infrastructures are defined using the Macfile, and can be instantiated via the Command Line Interface or Triggers. Instances form parts within an infrastructure, using Server Configurations or provider specific tooling. Interaction and communication between pieces of an infrastructure is then automated, and instantiated during each deployment.
There are no limits to what can be achieved using the Manageacloud tooling for Infrastructure Management!Tweet