Aqago
Overview
Aqago is secure, self-hosted software infrastructure for next-gen physical systems. Like Supabase and HashiCorp for Cloud software, Aqago super-charges code for physical systems in areas like robotics and industrial IoT, helping engineers, teams and companies securely operate fleets at any scale while keeping the instrastructure needed to do so under their control.
Aqago is self hosted to provide flexibility to meet real-world deployment models. For example, Aqago supports federating deployments into a VPC per customer, a common compliance requirement when integrating into enterprise IT/OT environments on the factory floor, medical facilities, and critical infrastructure sites. Aqago is also suited for deployment models more commonly used in consumer/business IoT products, e.g. one publicly available instance for the entire fleet.
Philosophy
Aqago is built by engineers, for engineers. It's design goals are:
- Keep it simple
- Don’t reinvent the wheel
- Prioritize developer experience
- Be extensible, but with sensible defaults
- Optimize for security, reliability, and scalability
Aqago minimizes its baseline surface area and leaves it to users to customize and extend its capabilities to fit their infrastructure when necessary. It aims to be supportive, not prescriptive, and makes limited assumptions about business logic or product functionality.
Deployment Targets
Aqago supports various deployment targets for the backend and device agent,
Backend
Target | Status | Deployment method |
---|---|---|
AWS | ✅ Official Support | CloudFormation, Terraform |
Docker | 🛠️ Planned | Various |
Azure | 🛠️ Planned | Bicep, Terraform |
Device Agent
Target | Status | Deployment method |
---|---|---|
Linux (x86) | ✅ Official Support | curl agent.aqago.com | bash |
Linux (arm64) | ✅ Official Support | curl agent.aqago.com | bash |
Windows | 🛠️ Planned | TBD |
Costs
Aqago is designed to minimize operating costs. There are several ways it achieves this.
First, Aqago is conceptually a metadata management system. Deploying to cloud providers and within on-prem compute centers accrue various operating costs, key among them relating to data storage, movement, and compute. Because Aqago manages metadata about your fleet, it stores and processes small volumes of data. For example, a typical Aqago deployment in AWS will incur ~$0.05 per device per month.
For deployment into Cloud providers (not on-prem), Aqago further minimizes costs
through a series of optimizations specific to the provider. For example, on AWS
the Aqago backend targets arm64
serverless runners (Lambda) which are
currently 20% cheaper than the x86
equivalent. In addition, Aqago minimzes its
devops burden by leveraging zero-maintenance offerings like DynamoDB that
provide hassle-free horizontal scaling to fit any fleet size.
Architecture
Aqago's architecture is designed to be modular and scalable, allowing it to fit various deployment models and use cases. The core components of Aqago include:
- Aqago Backend: The central component that manages metadata, authentication, etc. It is designed to run on cloud provider infrastructure or on-prem, leveraging various technologies for cost efficiency and scalability.
- Aqago Agent: A lightweight agent that runs on machines, responsible for communicating with the Aqago Backend, handling device-specific tasks, and ensuring secure operations.
- Aqago CLI: A command-line interface tool that allows developers to interact with the Aqago Backend, manage functionality, and perform administrative tasks.