Services > Automation

Our services on automation enable you and your staff to efficiently execute all project phases, from the early planning phase up until operations.

We provide you with insights on automation opportunities, we identify where automation is implemented in your project, and we support in creating the automation tasks.

Tooling wise, we leverage industry leading Open Source solutions like Ansible, Puppet, Chef, Terraform or visualisation frameworks like GraphViz all tied with open data interchange formats like JSON or XML for easy interfacing to your existing infrastructure operations systems.

Project and Infrastructure Documentation
Technical project documentation, while critical for effective communication to project members and later on for operations and monitoring, often is treated as an afterthought. Establishing documentation in a manual fashion requires significant effort and in addition will out-date quickly.

In brownfield scenarios, up-to-date infrastructure documentation is lacking. A semi automated Current State Analysis can provide important and structured insights for existing infrastructure aiding the design processes.

Introducing automated tools allows creating dynamic documentation which also can self update long after project completion where necessary.

Goals

Leveraging automation for project and infrastructure documentation supports the following goals.

  • Efficient mechanisms to maintain always up-to-date, where possible automatically generated, documentation.
  • Reduce time spent on formatting and interoperability issues.
  • Link sources of information and documentation, e.g. program code or data bases.
  • Lower costs by considering open source documentation frameworks.
  • Machine readable formats for input to other project phases.

Methodology

To leverage automation for project and infrastructure documentation, we propose the following methodology.

  • Identify and understand documentation requirements and demand.
  • Identify sources of information for documentation and how to access, e.g. data bases, existing documents, content management systems, cloud infrastructures like Amazon or MS Azure.
  • Identify content type, e.g. graphical representations, code snipets, text, tables, media.
  • Identify automation opportunities.
  • Investigate options, considering requirements, complexity, benefits, risks, and maturity.
  • Support or own implementation.
Implementation & Migration
Implementation and migration phases of a project require establishing cloud or element configuration. It quickly can become unmanageable to create these manually and consistently when changes are required.


Expressing infrastructure as code allows for repeatable, parametrized deployments that would be hard to implement consistently by manual means. Interfaces to IP databases and other API driven components allow for feedback into the documentation processes described above.

In addition, automating deployments and migrations reduce the time to implement to a minimum leading to reduction of downtime especially in migration scenarios.

Goals

Leveraging automation for implementation and migration supports the following goals.

  • Minimize deployment time.
  • Avoid human errors in element configurations.
  • Derive development, testing or staging environments quickly from production deployments.
  • Allow for efficient re-deployments when parameters change.
  • Make deployments vendor independent, especially when it comes to cloud or virtualized deployments.

Methodology

To leverage automation for implementation and migration, we propose the following methodology.

  • Translate infrastructure design rules to code.
  • Choose appropriate tooling infrastructure according to deployment tasks.
  • Leverage API based parametrization to and from documentation and provisioning databases.
Test Automation
Automated implementation and and migration leveraging infrastructure as code greatly simplifies testing.

As the implementation tooling provides automated output on deployed parameters like IP addressing, interfaces, cloud infrastructure in machine readable formats, these can easily fed to the predefined test rules.

Goals

Leveraging automation for test automation support the following goals.

  • Enable automated, agile testing procedure which allows for automated retesting on each deployment.
  • Identify infrastructure not working according to test specs quickly and mitigate.
  • Reuse test infrastructure for operations processes post implementation.

Methodology

To leverage automation for test automation, we propose the following methodology.

  • Define test rules as parametrized code.
  • Parametrize and execute test rules after each implementation step to identify connectivity or service issues.
  • Visually display test result in human or machine readable formats.