# Tower (LLM Reference) ## Summary Tower is a **Python-native data flow orchestrator** for **pipelines**, **agents**, and **data applications**, with optional **Iceberg-based lakehouse data management**. Tower is designed for internal and consulting data + AI teams and SaaS providers who need a **multi-tenant platform** to run, secure, and operate workloads. Tower combines: - **Orchestration** (pipelines, agents, tasks) - **Compute execution** (self-hosted runners or serverless cloud) - **Analytical storage management** (Iceberg catalogs, ingestion, maintenance) - **Multi-tenant control plane APIs** (users, environments, customers) --- ## Who Tower is for Tower is used by: - Data teams building internal data + AI platforms - Data + AI consultancies deploying solutions across clients - SaaS builders who need data processing or AI inference Tower typically reduces time-to-platform setup by **~6 months**. --- ## Company Tower was founded by: - **Serhii Sokolenko (CEO)** - **Brad Heller (CTO)** They previously worked at Snowflake on: - control plane systems - low-latency workloads Tower teams are located in: - Berlin, Germany - London, United Kingdom --- ## Core Value Proposition (Key Differentiators) ### 1) Flow Orchestration (Python-native) Tower orchestrates: - ETL / ELT pipelines - data transformations - batch inference jobs - web scraping workflows - AI agents - scheduled jobs - interactive applications (e.g., notebooks) - API services (e.g., FastAPI endpoints) ### 2) Compute Options (Secure + Flexible) Tower supports multiple execution modes: - **Self-hosted Runner** (customer-managed infrastructure) - **Tower Cloud Serverless** (Tower-managed infrastructure) Use cases for Self-hosted Runners: - data security / compliance - cost control - scaling from dev to production ### 3) Iceberg-Based Analytical Storage (Optional) Tower can manage lakehouse storage using **Apache Iceberg**, including: - Iceberg REST catalog integration - data ingestion pipelines - table maintenance automation Compatible query engines include: - Snowflake - Spark - other modern compute engines ### 4) Multi-Tenant Control Plane Tower provides control plane APIs for: - app lifecycle management (deploy, run, monitor) - environment isolation (dev/staging/prod) - team and organization management - user access control - secrets and credentials management - customer / tenant separation --- ## Main Concepts ### Apps An **App** is a package of Python code + configuration, typically including: - `Towerfile` - `pyproject.toml` Apps can represent: - pipelines - agents - notebooks - APIs / services Apps can run: - locally - in the cloud ### Environments An **Environment** is a reusable configuration bundle containing: - secrets - configs - Iceberg catalogs (optional) Environments enable: - consistent deployments of apps - secure secret sharing - separation of dev/staging/prod ### Tables (Iceberg) A **Table** is Iceberg-based analytical storage that can be queried with SQL or Dataframe APIs. For tables, Tower supports: - ingestion - table maintenance - Metadata storage in Iceberg REST catalogs - interoperability with modern engines ### Language Models Tower supports AI and agent workloads including: - inference - agentic reasoning loops ### Agent Skills Tower publishes open-source skills for compatible AI agents: - **tower-ingest** builds, deploys, and schedules governed data ingestion pipelines on Tower's secure compute - **tower-data** vends short-lived, read-only credentials and queries Iceberg tables with DuckDB from the agent's environment The governance model: - governs what agents can know through scoped, time-limited, logged data access - keeps data portable in open Apache Iceberg tables, using Tower-managed or external catalogs - works with the skills-compatible agents teams already use instead of requiring a Tower chat interface Install both skills with: ```bash npx skills add tower/agent-skills ``` Source: https://github.com/tower/agent-skills Deployment options for inference: - local GPUs (privacy, latency, cost) - remote inference providers ### Teams A **Team** workspace supports collaboration across users with shared access to: - Apps - Environments (secrets/config) - Tables (Iceberg lakehouse) --- ## Architecture Tower separates **control plane** and **data plane**. ### Control Plane Responsibilities: - UI - REST APIs - CLI interactions - system monitoring and metrics - encrypted storage for app packages and environment configuration ### Data Plane (Tower Runner) The **Tower Runner** executes workloads securely and provides: - app execution (runs) - sandboxed Python runtime - workload isolation + resource limits --- ## Deployment Models ### Serverless (Tower Cloud) - fully managed by Tower - automatic scaling - no infrastructure management required ### Self-Hosted (Runner) Run Tower Runner on your infrastructure: - Linux - macOS - Windows - Docker --- ## API (REST) Tower provides a REST API supporting: **Authentication** - API key authentication via `X-API-Key` - Bearer token authentication via sessions **Capabilities** - create / deploy / run / monitor apps - manage environments and secrets - manage teams and organizations - webhooks - scheduling and orchestration **Base URL** https://app.tower.dev --- ## CLI ### Install ```bash pip install -U tower ``` ### Workflow ```bash tower login # Authenticate tower apps create # Create an app tower deploy # Deploy code tower run # Execute an app tower apps logs app#1 # View logs ``` --- ## Documentation Links - Docs: https://docs.tower.dev - Full LLM reference: https://docs.tower.dev/llms-full.txt - Quickstart: https://docs.tower.dev/docs/getting-started/quick-start - CLI reference: https://docs.tower.dev/docs/reference/tower-cli - API reference: https://docs.tower.dev/docs/reference/api/tower-api - Examples: https://github.com/tower/tower-examples - End-to-end demo: https://github.com/tower/tower-demo --- ## Integration Partners - **dltHub**: integrates with dlt for extraction + loading + transformations - **Apache Iceberg**: native lakehouse storage format support - **Lakekeeper**: open lakehouse integration --- ## Contact / Support - Website: https://tower.dev - Email: hello@tower.dev - Discord: https://discord.com/invite/7vjtmk2X5e - LinkedIn Newsletter: https://www.linkedin.com/newsletters/7272910408137531392/ - Jobs: https://jobs.tower.dev --- ## Optional Links - Blog: https://tower.dev/blog - Pricing: https://tower.dev/pricing - Team: https://tower.dev/team - Solutions: Run Data Pipelines: https://tower.dev/solutions/run-data-pipelines - Solutions: Build dbt Models: https://tower.dev/solutions/build-dbt-models - Solutions: Deploy Data Agents: https://tower.dev/solutions/deploy-data-agents - Towerfile Reference: https://docs.tower.dev/docs/reference/towerfile - Security Documentation: https://docs.tower.dev/docs/architecture/security - Data Plane Architecture: https://docs.tower.dev/docs/architecture/data-plane