Architecture Overview

Fargate architecture overview

The below image outlines the high-level architecture of Tines Stories when hosted with AWS Fargate.

Tines Fargate architecture overview.

Explanation of steps

  • R1: The user's browser or a webhook initiates a request

  • R2: TLS Termination happens at a load balancer level

  • R3: From the load balancer, the traffic is sent to the Tines web services,tines-app

  • R4: tines-app which is a web service, communicates with PostgreSQL for storing and reading persistent data

  • R5: tines-app then schedules background jobs to process any action runs in a Tines Stories story. it enqueues the job details in Redis

  • R6: tines-sidekiq, which is a background queue service, then picks up the jobs that are enqueued in Redis and performs further processing. tines-sidekiq then picks up jobs that are enqueued in Redis and performs further processing

  • R7: tines-sidekiq communicates with PostgreSQL for storing and reading persistent data

  • R8: For HTTP Request actions configured to use command-over-HTTP, tines-sidekiq connects to the dedicated command-over-http service on port 80 or 443.

  • R9: tines-app and tines-sidekiq accordingly make requests to external APIs and endpoints for further processing in a story and actions

  • R10: tines-app and tines-sidekiq call tines-command-runner on port 4400. Run script actions are invoked from Sidekiq. Apps builds are invoked from tines-app. Both must reach the same tines-command-runner service

  • R11: tines-command-runner may call pypi-server on port 8080 for Python packages, and the npm registry (or a configured mirror) for apps builds

Was this helpful?