Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Deployment Modes

DeepTrace supports different deployment modes to accommodate various use cases, from development and testing to production environments.

Available Deployment Modes

ModeDescriptionUse CaseComplexity
All-in-OneSingle host deploymentDevelopment, testing, learningSimple
DistributedMulti-host deploymentProduction, large scaleAdvanced

All-in-One Mode

For complete all-in-one setup, see the All-in-One Deployment Guide and Quick Start Guide.

Key Characteristics

  • Single host runs all components
  • Simplified configuration and management
  • Perfect for learning and development
  • Limited scalability

Distributed Mode

Overview

Distributed deployment separates DeepTrace components across multiple hosts for production environments. This mode provides:

  • Scalability: Handle large-scale distributed systems
  • High Availability: Redundancy and fault tolerance
  • Performance: Distributed processing and storage
  • Flexibility: Independent scaling of components

Architecture

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   Server Host   │    │   Agent Host 1  │    │   Agent Host 2  │
│                 │    │                 │    │                 │
│ ┌─────────────┐ │    │ ┌─────────────┐ │    │ ┌─────────────┐ │
│ │ DeepTrace   │ │    │ │ DeepTrace   │ │    │ │ DeepTrace   │ │
│ │   Server    │◄┼────┼►│   Agent     │ │    │ │   Agent     │ │
│ └─────────────┘ │    │ └─────────────┘ │    │ └─────────────┘ │
│ ┌─────────────┐ │    │ ┌─────────────┐ │    │ ┌─────────────┐ │
│ │Elasticsearch│ │    │ │Microservices│ │    │ │Microservices│ │
│ │  Database   │ │    │ │    Apps     │ │    │ │    Apps     │ │
│ └─────────────┘ │    │ └─────────────┘ │    │ └─────────────┘ │
└─────────────────┘    └─────────────────┘    └─────────────────┘

Configuration

For distributed deployment, configure multiple agents in server/config/config.toml:

[server]
ip = "192.168.1.100"  # Server host IP

[[agents]]
  [agents.agent_info]
  agent_name = "agent-1"
  host_ip = "192.168.1.101"    # Different from server IP
  user_name = "ubuntu"
  ssh_port = 22
  host_password = "password"

[[agents]]
  [agents.agent_info]  
  agent_name = "agent-2"
  host_ip = "192.168.1.102"    # Another host
  user_name = "ubuntu"
  ssh_port = 22
  host_password = "password"

Deployment Steps

  1. Configure server: Set up server configuration with multiple agents
  2. Deploy server: Run server on designated host
  3. Install agents: Deploy agents on target hosts
  4. Verify connectivity: Ensure all agents can communicate with server
  5. Start monitoring: Begin collecting traces across all hosts

Choosing the Right Mode

All-in-One Mode

Choose when:

  • Learning DeepTrace functionality
  • Developing and testing applications
  • Demonstrating tracing capabilities
  • Working with small-scale systems

Limitations:

  • Limited to single host resources
  • Not suitable for production
  • No high availability

Distributed Mode

Choose when:

  • Deploying to production
  • Monitoring large-scale systems
  • Requiring high availability
  • Need independent scaling

Considerations:

  • More complex setup and maintenance
  • Requires network configuration
  • Higher resource requirements

Next Steps