architecture-env / components.json
thepikachu's picture
round2: inference and planner critic design
786f4c0
Raw
History Blame Contribute Delete
19.9 kB
{
"families": {
"load_balancer": [
{
"name": "nginx",
"preferred_for": [
"url_shortener",
"ecommerce_platform",
"youtube_platform",
"security_hardened_api"
],
"tags": [
"edge",
"proxy",
"open_source"
]
},
{
"name": "haproxy",
"preferred_for": [
"custom"
],
"tags": [
"edge",
"proxy",
"open_source"
]
},
{
"name": "envoy",
"preferred_for": [
"ride_sharing",
"ml_platform",
"data_pipeline"
],
"tags": [
"edge",
"mesh",
"proxy"
]
}
],
"api_gateway": [
{
"name": "kong",
"preferred_for": [
"url_shortener",
"ecommerce_platform",
"youtube_platform",
"ride_sharing",
"security_hardened_api"
],
"tags": [
"gateway",
"rate_limit",
"auth"
]
},
{
"name": "aws_api_gw",
"preferred_for": [
"custom"
],
"tags": [
"gateway",
"cloud",
"serverless"
]
},
{
"name": "apigee",
"preferred_for": [
"custom"
],
"tags": [
"gateway",
"enterprise"
]
}
],
"waf": [
{
"name": "aws_waf",
"preferred_for": [
"security_hardened_api",
"ecommerce_platform",
"youtube_platform"
],
"tags": [
"security",
"edge",
"filter"
]
},
{
"name": "cloudflare_waf",
"preferred_for": [
"custom"
],
"tags": [
"security",
"edge",
"cdn"
]
}
],
"cdn": [
{
"name": "cloudfront",
"preferred_for": [
"youtube_platform",
"ecommerce_platform",
"security_hardened_api"
],
"tags": [
"cdn",
"cloud",
"edge"
]
},
{
"name": "cloudflare",
"preferred_for": [
"custom",
"url_shortener"
],
"tags": [
"cdn",
"edge",
"waf"
]
},
{
"name": "fastly",
"preferred_for": [
"youtube_platform",
"custom"
],
"tags": [
"cdn",
"edge",
"streaming"
]
}
],
"database": [
{
"name": "postgres",
"preferred_for": [
"url_shortener",
"chat_system",
"ecommerce_platform",
"ride_sharing",
"ml_platform",
"security_hardened_api"
],
"tags": [
"relational",
"general_purpose",
"open_source"
]
},
{
"name": "mysql",
"preferred_for": [
"ecommerce_platform"
],
"tags": [
"relational",
"general_purpose"
]
},
{
"name": "cockroachdb",
"preferred_for": [
"ride_sharing",
"custom"
],
"tags": [
"distributed",
"geo",
"strong_consistency"
]
},
{
"name": "mongodb",
"preferred_for": [
"chat_system"
],
"tags": [
"document",
"flexible_schema"
]
},
{
"name": "cassandra",
"preferred_for": [
"youtube_platform",
"ride_sharing",
"data_pipeline"
],
"tags": [
"wide_column",
"high_write",
"distributed"
]
}
],
"graph_database": [
{
"name": "neo4j",
"preferred_for": [
"social_network",
"custom"
],
"tags": [
"graph",
"relationships",
"recommendations"
]
},
{
"name": "neptune",
"preferred_for": [
"custom"
],
"tags": [
"graph",
"cloud",
"managed"
]
}
],
"time_series_db": [
{
"name": "influxdb",
"preferred_for": [
"observability_stack",
"iot_platform",
"custom"
],
"tags": [
"time_series",
"metrics",
"iot"
]
},
{
"name": "timestream",
"preferred_for": [
"custom"
],
"tags": [
"time_series",
"cloud",
"managed"
]
}
],
"data_warehouse": [
{
"name": "redshift",
"preferred_for": [
"data_pipeline",
"custom"
],
"tags": [
"analytics",
"columnar",
"cloud"
]
},
{
"name": "snowflake",
"preferred_for": [
"data_pipeline",
"custom"
],
"tags": [
"analytics",
"columnar",
"multi_cloud"
]
},
{
"name": "bigquery",
"preferred_for": [
"custom"
],
"tags": [
"analytics",
"serverless",
"cloud"
]
}
],
"cache": [
{
"name": "redis",
"preferred_for": [
"chat_system",
"youtube_platform",
"ecommerce_platform",
"ride_sharing",
"ml_platform",
"security_hardened_api"
],
"tags": [
"cache",
"pubsub",
"geo",
"open_source"
]
},
{
"name": "memcached",
"preferred_for": [
"url_shortener",
"ecommerce_platform"
],
"tags": [
"cache",
"simple"
]
}
],
"broker": [
{
"name": "rabbitmq",
"preferred_for": [
"chat_system",
"ecommerce_platform"
],
"tags": [
"fanout",
"queue",
"low_latency"
]
},
{
"name": "nats",
"preferred_for": [
"chat_system",
"custom"
],
"tags": [
"pubsub",
"fanout",
"low_latency"
]
},
{
"name": "kafka",
"preferred_for": [
"youtube_platform",
"ride_sharing",
"ml_platform",
"ecommerce_platform",
"data_pipeline",
"observability_stack"
],
"tags": [
"streaming",
"high_throughput",
"distributed"
]
},
{
"name": "pulsar",
"preferred_for": [
"youtube_platform",
"ride_sharing"
],
"tags": [
"streaming",
"multi_tenant",
"distributed"
]
}
],
"storage": [
{
"name": "s3",
"preferred_for": [
"youtube_platform",
"ml_platform",
"data_pipeline",
"custom"
],
"tags": [
"object_storage",
"cloud"
]
},
{
"name": "minio",
"preferred_for": [
"custom"
],
"tags": [
"object_storage",
"open_source"
]
}
],
"search": [
{
"name": "elasticsearch",
"preferred_for": [
"youtube_platform",
"ecommerce_platform",
"ride_sharing",
"observability_stack",
"custom"
],
"tags": [
"search",
"index",
"analytics"
]
},
{
"name": "opensearch",
"preferred_for": [
"custom"
],
"tags": [
"search",
"open_source"
]
}
],
"auth": [
{
"name": "keycloak",
"preferred_for": [
"chat_system",
"youtube_platform",
"ride_sharing",
"ml_platform",
"security_hardened_api",
"custom"
],
"tags": [
"openid",
"oauth2",
"open_source"
]
},
{
"name": "auth0",
"preferred_for": [
"url_shortener",
"ecommerce_platform"
],
"tags": [
"managed",
"oauth2"
]
},
{
"name": "cognito",
"preferred_for": [
"aws_only"
],
"tags": [
"managed",
"aws"
]
}
],
"iam": [
{
"name": "aws_iam",
"preferred_for": [
"security_hardened_api",
"data_pipeline",
"ml_platform"
],
"tags": [
"access_control",
"policies",
"cloud"
]
},
{
"name": "okta",
"preferred_for": [
"security_hardened_api",
"custom"
],
"tags": [
"sso",
"enterprise",
"saml"
]
}
],
"secrets_manager": [
{
"name": "vault",
"preferred_for": [
"security_hardened_api",
"ml_platform",
"data_pipeline"
],
"tags": [
"secrets",
"kms",
"open_source"
]
},
{
"name": "aws_kms",
"preferred_for": [
"security_hardened_api",
"custom"
],
"tags": [
"kms",
"cloud",
"fips"
]
}
],
"observability": [
{
"name": "prometheus",
"preferred_for": [
"url_shortener",
"chat_system",
"youtube_platform",
"ride_sharing",
"ml_platform",
"observability_stack",
"custom"
],
"tags": [
"metrics",
"open_source"
]
},
{
"name": "grafana",
"preferred_for": [
"url_shortener",
"chat_system",
"youtube_platform",
"ride_sharing",
"ml_platform",
"observability_stack",
"custom"
],
"tags": [
"dashboards",
"open_source"
]
},
{
"name": "opentelemetry",
"preferred_for": [
"observability_stack",
"custom"
],
"tags": [
"tracing",
"open_standard"
]
}
],
"logging": [
{
"name": "elasticsearch_logs",
"preferred_for": [
"observability_stack",
"custom"
],
"tags": [
"logs",
"elk",
"search"
]
},
{
"name": "splunk",
"preferred_for": [
"security_hardened_api",
"custom"
],
"tags": [
"logs",
"siem",
"enterprise"
]
},
{
"name": "fluentd",
"preferred_for": [
"observability_stack",
"custom"
],
"tags": [
"logs",
"aggregator",
"open_source"
]
}
],
"tracing": [
{
"name": "jaeger",
"preferred_for": [
"observability_stack",
"ride_sharing",
"ml_platform",
"custom"
],
"tags": [
"distributed_tracing",
"open_source"
]
},
{
"name": "zipkin",
"preferred_for": [
"custom"
],
"tags": [
"distributed_tracing",
"open_source"
]
},
{
"name": "aws_xray",
"preferred_for": [
"custom"
],
"tags": [
"tracing",
"cloud",
"managed"
]
}
],
"alerting": [
{
"name": "pagerduty",
"preferred_for": [
"observability_stack",
"security_hardened_api",
"custom"
],
"tags": [
"alerts",
"oncall",
"incident"
]
},
{
"name": "opsgenie",
"preferred_for": [
"custom"
],
"tags": [
"alerts",
"oncall"
]
}
],
"circuit_breaker": [
{
"name": "resilience4j",
"preferred_for": [
"ride_sharing",
"ecommerce_platform",
"custom"
],
"tags": [
"reliability",
"failfast",
"open_source"
]
},
{
"name": "hystrix",
"preferred_for": [
"custom"
],
"tags": [
"reliability",
"failfast"
]
}
],
"rate_limiting": [
{
"name": "kong",
"preferred_for": [
"url_shortener",
"ecommerce_platform",
"youtube_platform",
"ride_sharing",
"security_hardened_api"
],
"tags": [
"gateway",
"rate_limit"
]
},
{
"name": "api_gateway",
"preferred_for": [
"custom"
],
"tags": [
"gateway",
"cloud"
]
}
],
"stream_processor": [
{
"name": "flink",
"preferred_for": [
"data_pipeline",
"observability_stack"
],
"tags": [
"stream",
"stateful",
"low_latency"
]
},
{
"name": "spark_streaming",
"preferred_for": [
"data_pipeline",
"ml_platform"
],
"tags": [
"batch",
"stream",
"ml"
]
}
],
"etl_orchestrator": [
{
"name": "airflow",
"preferred_for": [
"data_pipeline",
"ml_platform"
],
"tags": [
"workflow",
"batch",
"scheduling"
]
},
{
"name": "prefect",
"preferred_for": [
"data_pipeline",
"custom"
],
"tags": [
"workflow",
"python",
"modern"
]
}
],
"serverless": [
{
"name": "lambda",
"preferred_for": [
"url_shortener",
"security_hardened_api",
"custom"
],
"tags": [
"faas",
"event_driven",
"cloud"
]
},
{
"name": "cloud_functions",
"preferred_for": [
"custom"
],
"tags": [
"faas",
"cloud"
]
}
],
"notification_service": [
{
"name": "sendgrid",
"preferred_for": [
"chat_system",
"ecommerce_platform",
"youtube_platform",
"custom"
],
"tags": [
"email"
]
},
{
"name": "twilio",
"preferred_for": [
"ride_sharing",
"custom"
],
"tags": [
"sms"
]
},
{
"name": "fcm",
"preferred_for": [
"chat_system",
"custom"
],
"tags": [
"push"
]
}
],
"payment_gateway": [
{
"name": "stripe",
"preferred_for": [
"ecommerce_platform",
"ride_sharing",
"custom"
],
"tags": [
"payments"
]
},
{
"name": "paypal",
"preferred_for": [
"custom"
],
"tags": [
"payments"
]
}
],
"geospatial_index": [
{
"name": "postgis",
"preferred_for": [
"ride_sharing"
],
"tags": [
"geo",
"postgres"
]
},
{
"name": "redis_geo",
"preferred_for": [
"custom"
],
"tags": [
"geo",
"cache"
]
}
],
"feature_store": [
{
"name": "feast",
"preferred_for": [
"ml_platform"
],
"tags": [
"ml"
]
},
{
"name": "hopsworks",
"preferred_for": [
"ml_platform"
],
"tags": [
"ml"
]
}
],
"model_registry": [
{
"name": "mlflow",
"preferred_for": [
"ml_platform"
],
"tags": [
"ml"
]
},
{
"name": "wandb",
"preferred_for": [
"ml_platform"
],
"tags": [
"ml",
"experiment"
]
}
],
"inference_server": [
{
"name": "triton",
"preferred_for": [
"ml_platform"
],
"tags": [
"ml",
"gpu"
]
},
{
"name": "torchserve",
"preferred_for": [
"ml_platform"
],
"tags": [
"ml"
]
}
],
"worker": [
{
"name": "worker",
"preferred_for": [
"chat_system",
"ecommerce_platform",
"ride_sharing",
"data_pipeline",
"custom"
],
"tags": [
"async"
]
}
],
"transcoder_worker": [
{
"name": "transcoder_worker",
"preferred_for": [
"youtube_platform"
],
"tags": [
"media"
]
}
],
"recommendation_worker": [
{
"name": "recommendation_worker",
"preferred_for": [
"youtube_platform",
"custom"
],
"tags": [
"ml",
"ranking"
]
}
],
"presence_service": [
{
"name": "presence_service",
"preferred_for": [
"chat_system"
],
"tags": [
"realtime"
]
}
],
"metadata_service": [
{
"name": "metadata_service",
"preferred_for": [
"youtube_platform"
],
"tags": [
"media"
]
}
],
"websocket_gateway": [
{
"name": "centrifugo",
"preferred_for": [
"chat_system"
],
"tags": [
"realtime",
"fanout"
]
},
{
"name": "socket.io",
"preferred_for": [
"ride_sharing"
],
"tags": [
"realtime"
]
}
]
}
}