Frequently Asked Questions

Find answers to commonly asked questions here.

What is Attini?

Attini is made up of 2 components, the Attini CLI (installed on your workstation or build-server) and the Attini Framework which is installed in your AWS Account. The Attini Framework consists of serverless cloud resources such as S3, Lambda and DynamoDB.

When you have the CLI and Framework installed, you can start to define your deployments. You do this by creating a CloudFormation template in your code repository containing an Attini Deployment Plan. The deployment plan is an abstraction on top of AWS StepFunctions and it contains step-by-step instructions on how to deploy your system.

When you are ready to test your deployment, the Attini CLI will package your code into an Attini Distribution and upload it to your AWS Account.

The Attini Framework will react to the upload event and:

  1. Extract the content of your distribution to a predictable S3 location.
  2. Create and run your Deployment Plan. You can follow the deployment end-to-end using the CLI.

Attini will register and backup the deployment for you, making it easy to do inventory and restore your Cloud environments.

Many organizations have CI/CD tooling in place, many use GitLab Runners Github Actions, AMS CodeSuite, Jenkins, TeamCity, CircleCI, Azure DevOps etc.

Attini is not intended to be a replacement for any of these tools, only an extension to them.

Attini is designed to:

  • speed up development
  • make tests more reliable and easier to perform
  • decrease cost
  • enable least privilege configuration
  • make it easier to manage multiple environments
  • integrate different CI/CD tools with each other
  • manage backups and restore processes
  • keep track of what code is deployed into what environments
  • manage dependencies between different infrastructure resources
  • enable robust change processes
  • make it easier for teams to collaborate
  • make it easier to understand how your cloud environment is set up

The Attini CLI is lightweight and can be installed on any machine, so it can be installed on both your workstation and your CI/CD workers.

The intention is to use Attini directly from a workstation when doing development, then have have your current CI/CD tooling build and deploy Attini distributions into acceptance, staging or production environments.

The Attini Framework can orchestrate all types of CI/CD tools, and here is how:

The Attini Runner can run any 3rd party Tool, CLI or program you need. So running Terraform, Pulumi, load tests, custom scripts etc is not a problem.

The Attini Deployment plan types have specialized integrations to manage common technologies like CloudFormation and AWS SAM.

The Attini Deployment Plan can do anything AWS StepFunctions can do, providing integrations with all AWS Services. These integrations can for example run AWS SSM documents which in turn can run Ansible playbooks or Chef recipes.

The Attini Runner is a container running on AWS ECS Fargate which integrates with the deployment plan, making it easy and quick to run custom scripts.

Here are some Attini Runner features:

  • It stays warm between executions, which speeds up development.
  • Manges the deployment plan input, output and artifacts.
  • It can run parallel jobs.
  • It can run in your network so that you can connect to your internal services and databases.
  • The Attini CLI prints the runner logs directly to your terminal (it also logs to stand out).
Containers allow developers to package their code in combination with an operating system and other software so that their applications can be run in a predictable and standardized way. The Attini Framework is based on the same design principles but it’s not made for application code. It is designed for Platform engineers to be able package technologies like AWS CloudFormation, AWS CDK, Terraform, Ansible and all other IT management tools in a format so that it to can be deployed in a predictable and standardized way.

Kubernetes and Amazon ECS are systems for container orchestration. It essentially runs your containerized workloads for you. Attini aims to solve a different problem and is therefore not a replacement for these.

The Attini Framework is focused on the Cloud environment, meaning that it will set up Cloud resources like networks, databases, autoscaling groups, load balancers, certificates, IAM roles, encryption keys etc. that your containerized workloads need.

The Attini Framework can run containers with kubectl and the AWS CLI installed on it so that an Attini Deployment Plan can be used to integrate with these container orchestration tools.

Attini is an orchestration tool, so it can configure and maintain IT environments that are built with Infrastructure as Code tools. So Attini should be used together with Infrastructure as Code technologies like CloudFormation and Terraform, not instead of them.
At the moment the Attini Framework only works on Amazon Web Services (AWS).

Attini only uses AWS resources inside of your AWS account which is accessed using your AWS CLI credentials.

So if your organization already has AWS IAM Identity Center (AWS SSO), you’re all set.

This also means that AWS CloudTrail will log everything that Attini does on your behalf.

The Attini CLI is easiest installed using our installation script:

/bin/bash -c "$(curl -fsSL https://docs.attini.io/blob/attini-cli/install-cli.sh)"

The Attini Framework can then be installed using the CLI:

attini setup --guided

The –guided option tells the CLI to guide you though the installation process. Once all the required info has been provided a Cloudformation stack will be deployed in to your account, which will set up the framework. If you want to learn more about the configuration options or configure a least privilege installation, see the docs.

Pricing & License

Attini is free to use. However, because Attini uses serverless resources within your AWS account, large usage could come with a small cost if you exceed the AWS Free Tier. These serverless resources are only used when deploying a distribution, meaning that if you don’t perform any deployments no cost is accrued except for backup storage.
Yes, you can find the source code for the Attini framework, Attini CLI, Attini runner, and the CDK constructs on GitHub.