Skip to main content

Application Architecture

Applications built with the Atlan Application SDK follow a layered architecture that combines infrastructure abstraction and workflow orchestration. This architecture handles the complexity of distributed applications while providing a structured foundation for building applications that integrate with Atlan's platform.

Core components

Applications built with the Atlan Application SDK leverage industry-leading technologies to deliver enterprise-grade capabilities. The application architecture integrates four specialized components, each chosen for their proven reliability and specific strengths:

Application SDK

Application SDK

The Python framework that provides Atlan-specific APIs and abstractions for building applications.

Dapr

Dapr Runtime

Sidecar-based runtime providing pluggable building blocks for infrastructure tasks.

Temporal

Temporal

System for defining and managing workflows as code with fault-tolerance and automatic retries.

FastAPI

FastAPI Server

High-performance web framework for building APIs with automatic documentation and type validation.

How it works

These components work together in a layered architecture to provide a complete application development platform. Each layer handles specific responsibilities while maintaining clean separation of concerns:

Application SDK Core Components

  1. Your application code defines workflows and activities using Python functions and decorators provided by the Atlan Application SDK. This layer contains your business logic and workflow definitions.
  2. The Application SDK handles three critical responsibilities:
    • Registering workflows and activities with Temporal - Automatically registers your Python functions as Temporal workflows and activities
    • Providing secure access to Atlan APIs - Manages authentication and provides a clean interface to Atlan's platform APIs
    • Managing infrastructure interactions - Provides simple Python interfaces for complex distributed system operations
  3. Temporal orchestrates the execution of workflows once they're registered. It handles:
    • Scheduling and task dispatch - Manages when and how workflows and activities are executed
    • Automatic retries on failure - Automatically retries failed activities based on configurable policies
    • Persisting workflow state across steps and restarts - Maintains complete workflow state across service restarts
  4. Dapr sidecar runs alongside your application service, offering infrastructure capabilities via HTTP or gRPC APIs:
    • State management - Store and retrieve application state with support for multiple backends (Redis, CosmosDB, etc.)
    • Pub/Sub messaging - Send and receive messages using pluggable message brokers (Kafka, NATS, etc.)
    • Secrets access - Securely retrieve secrets from various secret stores (AWS Secrets Manager, HashiCorp Vault, etc.)
  5. FastAPI server provides the web framework for your application's API endpoints:
    • Automatic API documentation generation with OpenAPI/Swagger
    • Request validation and response serialization using Python type hints
    • High-performance async request handling for scalable applications

See also

  • Apps framework - Understand the broader application development framework and ecosystem
  • Sample applications - Explore example applications that demonstrate these architectural patterns