In a data center, configuration and change processes cause a high proportion of the operating costs. Therefore it is worth automating IT processes in a data center infrastructure. This reduces the number of errors, simplifies the service configuration and increases their availability. This makes it possible to respond much more flexibly to new business requirements and to provide services more quickly.
This repository looks at some developer perspectives on data center automation with VMware Cloud Foundation (VCF) Automation. In particular, the use of libraries and tools are focused here.
VCF contains is a data center management platform that offers consistent handling of applications, infrastructures and services across different kind of clouds with a single common data model. A part of it is VCF Automation, a workflow automation platform with which complex data center infrastructure tasks can be automated or extended.
Four runtime environments are offered in VCF Automation:
- JavaScript with Rhino engine,
- Node.js,
- PowerShell with PowerCLI and
- Python.
The Rhino JavaScript engine is part of VCF Automation runtime environments. It is programmed in Java and generates a class from the compiled JavaScript code. It was bundled with Java SE 6 and used as a programming interface in some business products, like VCF Automation. Rhino can be used with Java 8 and above and is mostly compatible with the ECMAScript 5 standard.
- Attempt to Build Findings for Sustainability Considerations
- Energy Consumption Measurement of Algorithms with Rhino
Emulations imitate the behavior of functions. VCF Automation offers, with the JavaScript runtime environment, a lot of classes, whose methods can be mocked-up on this way. This gives us the possibility to code and test Actions a bit more independently, without the direct use of an Orchestration environment. The mock-up classes here bases on the same JavaScript engine used in VCF Automation, the Mozilla Rhino engine, because some of their methods access Java classes directly. This ensures us a consistent basis for simulation and operation.
VCF Automation offers a system class, which contains a set of basic functions to offer standard processing methods for the most fundamental requirements. To use these methods outside of VCF Automation, a library is available here to emulate the system class. This mock-up of the system class called Muscle.
To use this library in your code it is necessary to add load("system.class.js");
at the beginning of the program. After that, all functions can be used seamlessly.
VCF Automation offers a command class, to execute commands of the host operating system. To use these methods outside of VCF Automation, a library is available here to emulate the command class.
To use this library in your code it is necessary to add load("command.class.js");
at the beginning of the program. After that, all functions can be used seamlessly.
VCF Automation offers a file, file reader and file writer class, to operate with and handle the access to text files. To use these methods outside of VCF Automation, a library is available here to emulate the file classes.
To use this library in your code it is necessary to add load("file.class.js");
at the beginning of the program. After that, all functions can be used seamlessly.
VCF Automation offers a byte buffer class, this is a wrapper around a byte array and used for passing references to binary content. To use these methods outside of VCF Automation, a library is available here to emulate the byte buffer class.
To use this library in your code it is necessary to add load("bytebuffer.class.js");
at the beginning of the program. After that, all functions can be used seamlessly.
VCF Automation offers a mime attachment class, to describe mime attachments. The Multipurpose Internet Mail Extensions (MIME) is a standard that extends the format of messages to support text in character sets other than ASCII. To use these methods outside of VCF Automation, a library is available here to emulate the mime attachment class.
To use this library in your code it is necessary to add load("mimeattachment.class.js");
at the beginning of the program. After that, all functions can be used seamlessly.
VCF Automation offers an url class, to call HTTP requests. To use these methods outside of VCF Automation, a library is available here to emulate the url class.
To use this library in your code it is necessary to add load("url.class.js");
at the beginning of the program. After that, all functions can be used seamlessly.
It is possible to use JavaScript libraries. By using libraries we create the possibility to extend the range of functions in a simple way.
Also it is possible to use JavaScript tools.