Kuttle TechDoc

TL;DR

  1. Kuttle creates and manages cloud resources with code while you’re working with GUI (like AWS add-on)
  2. Every change you make is made with code behind the scenes and committed as a PR (pull request)
  3. Enjoy federated user access so you don’t manage developers’ accounts across multiple vendors.
  4. Resources are created and managed through a single IAM Role. You can limit / remove it anytime.
  5. All credentials for non-AWS vendors are stored securely as secrets with SSM Parameter Store).
  6. Slash cloud costs for ~50% with smart scheduling, spot instances and better costs allocation.

What is Kuttle

Kuttle creates and manages cloud resources on your behalf across multiple accounts and vendors, keeping everything as code. It tracks every action, helps to reduce costs, catch bugs early, and allows to rollback quickly when needed.

How it works

  1. You make changes in your infra with GUI.
  2. Kuttle gets your input and generates Terraform code
  3. Kuttle plans and provisions resources
  4. Kuttle commits code to infrastructure Git repository
  5. Kuttle reports with the statuses and saves outputs

How it works

  1. Everything is made as code with Terraform based on open-sources modules. Why Terraform? (should be a tip tool with explanation or a link) - в идеале из этого сделать кликбейтную статью и сделать ссылку на неё.
  2. Your terraform state is safely stored on S3 bucket with replication for additional safety
  3. Your credentials, secrets, tokens, etc. are securely stores in a secret vault - AWS SSM (Parameter Store) at no costs. Pricing - Сюда добавить ссылку на прайсинг.
  4. Kuttle brings a configuration state on top of terraform state to catch configuration changes

What’s running on your side? (if self-hosted)

We deploy Kuttle stack at the given account and region. It made of:

  • ECS services - running the main logic (3 cpu + 6 gb memory) - ~$1.0 per day
  • Application LB - access from the public internet ~$0.8 per day
  • 4 DynamoDB tables - storing data (5/5 read-write-concurrency) ~$0.4 per day

Total Estimated Daily Cost: ~$2.2 / day

Total Estimated Monthly Cost: ~$66 / month

We are constantly updating our solution to reduce running costs

Vendors and services

Deployment and Maintenance

  1. You host - self-hosted Deployment
  • Kuttle is deployed as a set of ECS Fargate services behind a load balancer on your account.
  • Services are accessible via VPN and restricted by IP.
  • Terraform generates and applies infrastructure changes, ensuring consistency and correct sequencing.

2. We host - all managed

  • We run and manage everything on our side.
  • Services are accessible via VPN and restricted by IP.
  • We still commit your infra code, you can get it by a request.

Security, Monitoring, Recovery

1. User Management (across vendors) Simplified.

  • Centralized users management of multiple vendors and accounts.
  • Developers can create, update, and manage environments and configurations without direct access to cloud provider accounts.

2. Approval Processes for Crystal Safety.

  • Critical changes are subject to approval processes, ensuring controlled and secure modifications.
  • This reduces the risk of unauthorized or erroneous changes.

3. Centralized Logging and Monitoring for blazing-fast debugging.

  • You get logs per environment isolated from each other.
  • Resource monitoring and alerting: services, data stores, short functions, CICD pipelines, etc.

4. Auto Healing and Disaster Recovery in case something went wrong.

  • Recover any given environment into a selected account and region thanks to 100% infrastructure code coverage.

Pricing and Support

Two types:

  • Self-hosted
  • Cloud

You host (Self-hosted)

We host (Cloud)