Technology Matrix
Production Components

| Component | 1 | 2 | 3 |
|---|---|---|---|
| DNS | CoreDNS(2019) - Golang | BIND - C | |
| CDN | Akamai | Cloudflare | Fastly |
| Load Balancer | NGINX - C | HAProxy - C | |
| Web Server (reverse proxy) | NGINX - C | Apache HTTP server - C | Tomcat , Jetty - Java |
| asynchronous task queue | Celery (py) broker with RabbitMQ or Redis | ||
| Message Broker | RabbitMQ - Erlang | kafka with Zookeeper (No zookeeper for kafka) - Java | ZeroMQ - C++ |
| In-Memory cache | Redis - C | Hazelcast IMDG - Java | |
| Change Data Capture(CDC) | debezium (on top of Kafka) - Java | Apache StreamSets | |
| SQL | PostgreSQL - C | ||
| NoSQL | MongoDB - C++ | Cassandra , HBase, Neo4j - Java | CouchDB - Erlang |
Monitor Components
| Tech type | Name |
|---|---|
| Container orchestration | marathon on mesos vs kubernates |
| System | Ubuntu |
| Container | docker |
| Cloud deployment | terraform |
| Cluster coordination service | zookeeper, (consul, etcd) |
| collecting, storing, visualizing and alerting | ELK (Elasticsearch / Logstash / Kibana) TICK (Telegraf/InfluxDB/Chronograf/Kapacitor) |
| distributed real-time computation system | storm |
| Request tracing | zipkin, jaeger or Opentracing |
| observability | Wavefront, DataDog, NewRelic |
| API | DropWizard for REST APIs, Graph QL |
| OLTP | Online transaction processing (OLTP) captures, stores, and processes data from transactions in real time. |
| OLAP | Online analytical processing (OLAP) uses complex queries to analyze aggregated historical data from OLTP systems. |