Перейти до вмісту

Мапа інфраструктури

Хто за що відповідає на рівні платформ.

flowchart TB
    user([👤 Користувач])
    tg_app([Telegram client])

    subgraph cf[☁️ Cloudflare]
        dns[DNS + proxy + CDN<br/>Authenticated Origin Pulls для Strapi]
    end

    subgraph aws[AWS · account 952854879948 · eu-central-1]
        direction TB
        amplify[Amplify<br/>abitly-dev-frontend · studsearch-prod-frontend]
        ecs[ECS Fargate<br/>abitly-prod-backend · abitly-prod-frontend<br/>ALB abitly-prod-shared]
        eb[Elastic Beanstalk<br/>studsearch-prod-env]
        ec2[EC2<br/>abitly-prod-strapi · abitly-dev-backend · abitly-shared-typesense]
        lambda[Lambda<br/>analytics collector · SSM-redeploy · DB backup]
        rds[(RDS Postgres<br/>studsearch-prod SHARED · abitly-dev-pg)]
        cache[(ElastiCache Valkey<br/>abitly-prod-cache · abitly-dev-cache)]
        s3[(S3<br/>media · pipelines · analytics lake · backups)]
        ssm[SSM Parameter Store<br/>/abitly/* · /studsearch/*]
        cp[CodePipeline × 5]
        ecr[ECR · abitly/{backend,frontend,strapi}]
    end

    subgraph railway[Railway · workspace Abitly]
        rw_tg[Abitly-Telegram<br/>Telegram Bot + Webapp]
    end

    subgraph do[Digital Ocean]
        droplet[Droplet<br/>Prometheus + Loki + Grafana<br/>abitly-monitoring]
    end

    user --> dns
    dns --> amplify
    dns --> ecs
    dns --> ec2
    dns --> eb
    tg_app --> rw_tg
    rw_tg --> ecs
    ecs --> rds
    ecs --> cache
    ecs --> ec2
    eb --> rds
    ec2 --> rds
    cp --> ecr --> ecs
    ssm --> ecs
    ssm --> ec2
    ssm --> eb
    lambda --> s3
    ec2 --> droplet
    ecs --> droplet
  • Користувач → Cloudflare → AWS для веб-трафіку.
  • Telegram client → Railway (бот і Mini App), Railway → Abitly API на ECS (cross-platform call).
  • CodePipeline будує docker-образи в ECR і оновлює ECS task definitions.
  • SSM Parameter Store — конфіг-плейн, читається ECS / EC2 / EB і слухається Lambda abitly-prod-ssm-redeploy.
  • Метрики/логи йдуть з ECS і EC2 в Digital Ocean Droplet через scrape.

В тому ж AWS-акаунті працює незалежний yangon-* стек (4 ECS-сервіси + RDS + ElastiCache + Lambda + Terraform). До Abitly/Studsearch не належить, тут не документується.