STACKL.IO is a platform that enables you to decouple configuration data, infrastructure and application service definitions from tooling and platforms. STACKL.IO creates the required abstraction layer providing flexibility, adaptability and efficiency which is an essential part of the execution of a well thought automation strategy.
All configuration data and definitions are exposed through an intelligent REST API, which allows integration with configuration management and infrastructure as code tooling, version control software, cloud management platforms or any other tooling or products capable of dealing with REST API’s.
The STACKL.IO platform allows you to model your infrastructure, describe your services and applications and make it accessible for any automation or orchestration tool.
Applications and services are running on top of infrastructure, which is composed out of different infrastructure building blocks. Within the STACKL.IO platform, your infrastructure is modeled in a hierarchical and relational model called configuration store. The configuration store is composed out of the typical building blocks (environments, locations and network/security zones) and their relations. Each building block will contain configuration data through a set of key/value pairs describing their uniqueness.
The configuration store acts as single source of truth and functions as a hierarchical data lookup system for infrastructure as code and configuration management tooling.
Stacks are common definitions describing the desired state of applications or infrastructure services. Stacks are described with a higher level of abstraction and do not contain relations to automation tooling or platforms. This allows application and service owners to focus on the definition of application components, component relations, versions, etc, independently from the underlying infrastructure and it a creates the base for a true multi-cloud setup.
Furthermore stacks are composed out of parameters, resources and/or resource groups. Resources are related to a role definition describing its configuration. When stacks are instantiated, all resources become part of the hierarchical relation model providing the resulting set of key/value pairs to automation tooling.
By default STACKL.IO performs an invocation of the automation tool(s) when stack definitions are instantiated, changes are made or are refreshed. A fine granular control within configuration store determines the behavior of how stacks are executed and which automation tool will be invoked for each resource to be provisioned.
The STACKL.IO platform only contains configuration data, service definitions and relies on existing orchestrators, infrastructure as code tooling, configuration management tooling, etc., for the execution of the workflow. In a typical scenario multiple tools are part of the automation landscape, as not one single tool is best suited for every automation job. Every tool has their own way for storing configuration data in the form of key/value pairs, forcing you to maintain and manage multiple stores. In addition most tools maintain a flat structure, resulting in key duplications making it more difficult to ensure consistency. STACKL.IO resolves this by becoming a single source of truth for configuration data and does enforce limitations as new tools can easily be added.
STACKL.IO is a SaaS based platform. Access to the REST API is controlled by mutual SSL authentication. When workflow invocations are enabled (by default), a proxy agent is required to be hosted within your infrastructure. The proxy agent maintains a connections to the platform and passes CRUD operations (create, delete and update) through to the requested automation endpoint.
Automation endpoint’s can be containers, virtual machines or servers having infrastructure as code or configuration management tooling installed. Automation endpoints are responsible for the execution of the workflow.
The proxy agent has a plugin architecture allowing you to create additional plugins for further integration purposes. Examples are: integration with a secure on-premises vault for retrieving username and password, integrating an additional automation tool that is required to be invoked for workflow execution, etc.
Caught a mistake or want to contribute to the docs? Edit this page on Gitlab!