Getting Started
Quickstart
Andera is a Task Orchestration Platform (TOP) designed for simplicity, performance, and flexibility, that enables you to set up endpoints for your business tasks in just a few minutes. The platform comprises three repositories:
3 packages to manage Workers and Load Balancer
Base Worker
A package you can duplicate to start building your Workers very quickly, simply by adding your files for your functions and services. Deploy your functions and services in minutes!
Getting StartedGithubLoad Balancer
A package that includes all Load Balancer logic, which you can optionally add in front of your Workers. Load Balancer also adds new features: persistent queue, monitoring dashboard, etc.
Getting StartedGithubWorker Core
A package that integrates all the logic of Workers, apart from the business logic you add with your functions and services. You don't need to do anything with this one, this one is a dependency of the Base Worker.
GithubPhilosophy
- Performance First: Both the (optional) Load Balancer and Workers are optimized for high throughput and low latency.
- Simplicity: Easy to deploy on dedicated servers, VMs, or in the cloud. No complex setup required.
- Designed for Developers: The platform has been designed to generate maximum value as quickly as possible.
- Tech Agnostic: Workers can execute any business logic, from AI agents to custom scripts.
- Open Source: Andera Community Edition is open-source, free, forever.
Core Features
Andera provides a rich set of features out of the box to help you build, monitor, and scale your business logic:
- Unified API Endpoints: Standardized
/task
,/health
,/logs
,/on
,/off
endpoints for Workers. - OpenAPI & Swagger Documentation: Automatic, interactive API documentation available at
/docs
and/openapi
(if enabled). - Real-Time Monitoring: Built-in dashboard (via the Load Balancer) for monitoring Workers, task queues, and logs.
- Slot Management: Parallel task execution with configurable slots per Worker.
- Task Queuing & Prioritization: Persistent queues and priority management (via BullMQ and the Load Balancer).
- Dynamic Discovery: Auto-discovery of functions, services, helpers, and tags in each Worker.
- Tags & Metadata: Expose custom runtime metadata for monitoring and filtering.
- Authentication & Security: Secure endpoints with API keys and recommended best practices for production.
- Extensibility: Easily add your own business logic, services, and helpers.
These features are available by default and can be extended or customized to fit your needs.
How It Works
- Task Submission: Clients send tasks to a Worker or to an optional Load Balancer via the
/task
endpoint, specifying the group, function, contract version, and optional priority. - Task Routing: If the Load Balancer is used, it finds available Workers matching the group and contract, and routes tasks based on priority and availability.
- Task Execution: Workers execute the requested function, possibly using internal services (e.g., Chrome, Llama.cpp) and helpers.
- Result Delivery: Results can be returned synchronously, via streaming, or through a webhook, depending on the function and request.
Task Lifecycle Diagrams
Below are two diagrams showing the task lifecycle for both direct and Load Balancer submission scenarios. Each diagram uses two alt blocks: one for Sync/Stream mode, one for Webhook mode. The Webhook Endpoint is an external service or URL provided by the user, not an Andera component. When using webhook mode, the client always receives an acknowledgment response confirming that the task was accepted and that the result will be sent to the webhook endpoint. The actual result is never returned directly to the client in this mode.
A. Direct Call
B. Via Load Balancer
Example Use Cases
- Screenshot Worker: Launches Chrome, manages browser tabs, and provides screenshot functionality.
- Translation Worker: Runs translation models and post-processes text with style and tone.
- AI Agent Worker: Implements custom AI agents for specific missions.
- ...