Yes. Flexiant has an API first policy. All the functions that are available on the control panel are built on top of an API which is also directly accessible to end users and administrators. Our API provides both REST and SOAP interfaces and can be consumed after an HTTP basic authentication over SSL. Tokens and API keys are also supported. End users can automate their cloud infrastructure consumption by incorporating into their applications the required business logic to create new servers for meeting increased workload demand, or vice versa. Administrators can use API calls, for example, in order to pull out billing data, query the customer database or to build statistics on the platform usage. More information on Flexiant API is available here.
Flexiant Cloud Orchestrator plugins are written using the Flexiant Development language (Lua based) and can be supplied by 3rd parties and imported into the system via the control panel. Plugins have full access to the Flexiant Cloud Orchestrator API and can call 3rd party APIs as well. They’re used throughout the system and they’re classified in the following categories: trigger, configuration, resource, widget report, billing and payment.
Triggers are plugins that are executed at API events. A very large set of events is available throughout the platform with PRE, POST and SCHEDULED triggers that can execute arbitrary portions of code written using FDL (Flexiant Development Language). Triggers can be used to integrate with external systems, like adding all newly created VMs to a monitoring service or automatically adding firewall templates to new VMs or taking snapshots on a regular basis.
Configuration plugins have the ability to modify the User Interface to interact with users, gather parameters, perform actions that are external to Flexiant Cloud Orchestrator and can have a billing method attached. Configuration plugins can add optional components to existing products (e.g. a backup component to a server) and are used to further integrate with external systems when they require interaction with end users or have billing requirements.
Resource plugins can be used to create totally new resources within Flexiant Cloud Orchestrator, like a load balancer or an object store, that have their own products, components, billing methods, etc. Configuration and resource plugins are a real way to build on FCO to extend significantly the product portfolio and still providing a seamless user experience.
Yes. Flexiant Cloud Orchestrator supports Chef-specific settings, which can be tied to a specific VM, a blueprint, an OS image or the end user. With Flexiant’s Chef integration, you’ll be able to specify which Chef server to register the VMs to, and which recipes to execute at bootstrap time.
Flexiant Cloud Orchestrator offers deployment automation capabilities both through its native infrastructure blueprints, via the metadata service and the Chef integration. The metadata service gives the ability to set arbitrary parameters to specific objects that can be inherited and read by the VMs, which can consequently perform specific actions based on the parameters’ values (like automatically configuring a web server). Chef integration allows end users to specify the Chef servers and the list of recipes to execute on VMs at boot time.
What is Flexiant Development Language? What can I do with it?
Flexiant Development Language (FDL) is a Lua based language that allows you to extend Flexiant Cloud Orchestrator. Lua is an easy to use but a powerful, fast, and lightweight, embeddable scripting language. More details on Lua can be found here. Within Flexiant Cloud Orchestrator you can use FDL to write plugins.