└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # Index 2 | [Diagrams](#diagrams)
3 | [API documentation](#api-documentation)
4 | [Message queues](#message-queues)
5 | [Load balancers, reverse proxy, accelerators, web servers](#load-balancers-reverse-proxy-accelerators-web-servers)
6 | [Service mesh](#service-mesh)
7 | [API Gateway](#api-gateway)
8 | [Structured and unstructured data storage](#structured-and-unstructured-data-storage)
9 | [Distributed consensus management, service discovery and configuration](#distributed-consensus-management-service-discovery-and-configuration)
10 | [CRDT and Operational transformation](#crdt-and-operational-transformation)
11 | [Infrastructure provisioning](#Infrastructure-provisioning)
12 | [Containers](#containers)
13 | [Kubernetes](#kubernetes)
14 | [Jsonnet](#jsonnet)
15 | [RPC, Communication between system nodes](#rpc-communication-between-system-nodes)
16 | [gRPC](#grpc)
17 | [Service monitoring, metrics collection / graphing](#service-monitoring-metrics-collection--graphing)
18 | [Infrastructure information management](#infrastructure-information-management)
19 | [Distributed request tracing](#distributed-request-tracing)
20 | [Load testing](#load-testing)
21 | [Log management](#log-management)
22 | [Feature Flags](#feature-flags)
23 | [Deployment tools](#deployment-tools)
24 | [CI (Continuous Integration)](#ci-continuous-integration)
25 | [CDNs](#cdns)
26 | [Domain registrars](#domain-registrars)
27 | [AWS](#aws)
28 | [Networking](#networking)
29 | [SDN](#sdn)
30 | [SRE (Site Reliability Engineering)](#sre-site-reliability-engineering)
31 | [Disk storage](#disk-storage)
32 | [TLS](#tls)
33 | [HTTP/3 and QUIC](#http3-and-quic)
34 | [Authorization and Authentication](#authorization-and-authentication)
35 | [Cryptography](#cryptography)
36 | [UUID](#uuid)
37 | [Hashing](#hashing)
38 | [Videos](#videos)
39 | [Real User Monitoring](#real-user-Monitoring)
40 | [QA Automation](#qa-automation)
41 | [Tools](#tools)
42 | [Misc](#misc)
43 | 44 | # Diagrams 45 | [PlantUML](https://plantuml.com/)
46 | [Mermaid](https://mermaidjs.github.io/)
47 | [C4 (multi-level architecture diagrams)](https://c4model.com/)
48 | [Structurizr (multi-level DSL)](https://structurizr.com/)
49 | [IcePanel (multi-level modelling and diagrams)](https://icepanel.io/)
50 | [dbdiagrams (DB ERD)](https://dbdiagram.io/)
51 | [Workload Discovery on AWS](https://aws.amazon.com/solutions/implementations/workload-discovery-on-aws/)
52 | [Cloudcraft (AWS only)](https://cloudcraft.co/)
53 | [vega (visualization from JSON)](https://github.com/vega/vega) and [vega light](https://github.com/vega/vega-lite)
54 | [arc42](https://arc42.org/)
55 | 56 | # API documentation 57 | [OpenAPI](https://www.openapis.org/)
58 | [Swagger](https://swagger.io/)
59 | [Wording](https://www.ietf.org/rfc/rfc2119.txt), [definition syntax](https://www.ietf.org/rfc/rfc5234.txt) and [units](http://unitsofmeasure.org/ucum.html) for RFC specification creation
60 | [API Stylebook](http://apistylebook.com/)
61 | [Spectral (API linter)](https://github.com/stoplightio/spectral)
62 | [Dredd (API tester)](https://github.com/apiaryio/dredd)
63 | [Zally (API linter)](https://github.com/zalando/zally)
64 | [GraphQL](https://graphql.org/), [UI client](https://altair.sirmuel.design/)
65 | 66 | # Message queues 67 | Real-time (<1ms): [Aeron](https://github.com/real-logic/Aeron), [Chronicle Queue](https://github.com/OpenHFT/Chronicle-Queue)
68 | Brokerless: [ZeroMQ](http://zeromq.org/), [nanomsg](http://nanomsg.org/), [NSQ](https://nsq.io/), [nng](https://github.com/nanomsg/nng)
69 | [Kafka](https://kafka.apache.org/), Kafka Web UI solutions: [AKHQ](https://github.com/tchiotludo/akhq), [Kafdrop](https://github.com/obsidiandynamics/kafdrop), [Kowl](https://github.com/cloudhut/kowl), [Lenses Box](https://github.com/lensesio/fast-data-dev)
70 | [Redpanda (Kafka compatible)](https://github.com/redpanda-data/redpanda/)
71 | [RabbitMQ](https://www.rabbitmq.com/)
72 | [Pulsar](https://pulsar.apache.org/)
73 | [RocketMQ](https://rocketmq.apache.org/)
74 | [MemQ (thoughput optimized)](https://github.com/pinterest/memq)
75 | [NATS](https://nats.io/)
76 | 77 | # Load balancers, reverse proxy, accelerators, web servers 78 | [HAProxy](http://www.haproxy.org/), [Unofficial Web UI](https://github.com/Aidaho12/haproxy-wi)
79 | [Envoy](https://www.envoyproxy.io/) and [Dropbox migration to Envoy from nginx](https://dropbox.tech/infrastructure/how-we-migrated-dropbox-from-nginx-to-envoy)
80 | [nginx](https://www.nginx.com/), [nginx config](https://nginxconfig.io/)
81 | [OpenResty](https://openresty.org/en/)
82 | [Varnish](https://varnish-cache.org/)
83 | [Tomcat](https://tomcat.apache.org/)
84 | [Træfik](https://traefik.io/)
85 | [Tarantool (mail.ru)](https://tarantool.org/)
86 | [lightttpd](https://www.lighttpd.net/)
87 | [katran (BPF/XDP L4LB, Facebook)](https://github.com/facebookincubator/katran)
88 | [GLB Director (DPDK L4LB, Github)](https://github.com/github/glb-director)
89 | [Cloudflare Unimog design](https://blog.cloudflare.com/unimog-cloudflares-edge-load-balancer/)
90 | 91 | # Service mesh 92 | [Linkerd](https://linkerd.io/)
93 | [Envoy](https://www.envoyproxy.io/)
94 | [Envoy introduction](https://www.youtube.com/watch?v=RVZX4CwKhGE)
95 | [Learn Envoy](https://www.learnenvoy.io/)
96 | [Consul Connect](https://www.consul.io/docs/connect)
97 | [Kuma (from Kong)](https://kuma.io/)
98 | [Kong Mesh](https://konghq.com/kong-mesh)
99 | [xDS control protocol](https://github.com/cncf/xds)
100 | [Rotor (xDS, Turbine Labs)](https://github.com/turbinelabs/rotor)
101 | [ModSecurity for Envoy (WAF)](https://github.com/octarinesec/ModSecurity-envoy)
102 | [Envoy Java control plane](https://github.com/envoyproxy/java-control-plane)
103 | [Istio service mesh controller](https://istio.io/)
104 | [Istio introduction](https://www.youtube.com/watch?v=s4qasWn_mFc)
105 | [Conduit (Rust, linkerd devs)](https://conduit.io/)
106 | [Netflix Vizceral (observability)](https://github.com/Netflix/vizceral)
107 | [Kiali (observability, Istio)](https://kiali.org)
108 | [Vistio (observability, Istio)](https://github.com/nmnellis/vistio)
109 | 110 | # API Gateway 111 | [AWS API Gateway](https://aws.amazon.com/api-gateway/)
112 | [Kong](https://konghq.com/kong)
113 | [Cloudflare API Gateway](https://blog.cloudflare.com/api-gateway/)
114 | [KrakenD](https://www.krakend.io/)
115 | 116 | # Structured and unstructured data storage 117 | [DynamoDB](https://aws.amazon.com/dynamodb/) and it's [internal design (2022)](https://www.usenix.org/system/files/atc22-elhemali.pdf)
118 | [PostgreSQL](https://www.postgresql.org/)
119 | [Postgres Pro (PostgreSQL)](https://postgrespro.ru/)
120 | [RDS Postgres vs Aurora Postgres 13](https://www.migops.com/blog/2021/11/26/is-aurora-postgresql-really-faster-and-cheaper-than-rds-postgresql-benchmarking/)
121 | [MySQL](https://www.mysql.com/), [ProxySQL (for MySQL)](https://proxysql.com/), [mydumper (MySQL multi-threaded backup/restore)](https://github.com/maxbube/mydumper)
122 | [RocksDB (InnoDB replacement by Facebook)](http://myrocks.io/), [Using NVM in Facebook (RocksDB)](https://dl.acm.org/citation.cfm?id=3190524)
123 | [Vitess (MySQL auto horizontal scaling)](http://vitess.io/)
124 | [MariaDB (MySQL)](https://mariadb.com/)
125 | [Percona (MySQL)](https://www.percona.com/)
126 | [MongoDB](https://www.mongodb.com/)
127 | [Scylla (Cassandra done right)](http://www.scylladb.com/), [ScyllaDB with Optane](https://www.scylladb.com/2017/08/08/intel-optane-review/)
128 | [Cassandra](https://cassandra.apache.org/)
129 | [CockroachDB](https://www.cockroachlabs.com/)
130 | [Aerospike](http://www.aerospike.com/)
131 | [FoundationDB](https://www.foundationdb.org/)
132 | [TiDB](https://docs.pingcap.com/tidb/stable/overview)
133 | [JSON in Postgre 10.x, 11.x, PostgreSQL 9.6 vs Mongo 3.4](https://www.youtube.com/watch?v=SNzOZKvFZ68)
134 | [Why Uber Engineering Switched from Postgres to MySQL](https://eng.uber.com/mysql-migration/) and [Follow up 1](https://www.slideshare.net/AlexanderKorotkov/our-answer-to-uber/), [2](https://blog.2ndquadrant.com/thoughts-on-ubers-list-of-postgres-limitations/), [3](http://thebuild.com/presentations/uber-perconalive-2017.pdf), [4](https://rhaas.blogspot.gr/2016/08/ubers-move-away-from-postgresql.html), [5](https://devconf.ru/ru/archive/devconf2017/offer/314), [6](https://habr.com/company/devconf/blog/353682/), [7](https://use-the-index-luke.com/blog/2016-07-29/on-ubers-choice-of-databases)
135 | [Redis](https://redis.io/), [Community Slack Channel](https://rediscommunity.slack.com/)
136 | Redis modules: [5 open source modules](https://goodformcode.com/), [JSON module](https://github.com/RedisJSON/RedisJSON)
137 | Redis UI: [RedisInsight](https://redislabs.com/redisinsight/), [AnotherRedisDesktopManager](https://github.com/qishibo/AnotherRedisDesktopManager), [Redis-UI](https://github.com/patrikx3/redis-ui/), [Redis Desktop Manager](https://github.com/uglide/RedisDesktopManager)
138 | [iredis (improved CLI for Redis)](https://github.com/laixintao/iredis/)
139 | [KeyDB (Redis fork with I/O multithreading and offloading to flash)](https://keydb.dev/)
140 | [Memcached](https://github.com/memcached/memcached/), [extstore storage shim](https://github.com/memcached/memcached/wiki/Extstore), [Caching beyond RAM: the case for NVMe](https://memcached.org/blog/nvm-caching/)
141 | [Memcached-SR with BMC(BPF Memory Cache)](https://github.com/Orange-OpenSource/bmc-cache) and it's [paper with video](https://pchaigno.github.io/ebpf/2021/04/12/bmc-accelerating-memcached-using-bpf-and-xdp.html)
142 | [Segcache (in-memory storage optimized for small objects with short TTL, Twitter)](https://github.com/Thesys-lab/Segcache)
143 | [FASTER (Microsoft)](https://github.com/Microsoft/FASTER), [official site](https://www.microsoft.com/en-us/research/project/FASTER/)
144 | [Anna (experimental, Berkeley RISE Lab)](https://github.com/fluent-project/fluent/tree/master/kvs), [white paper](https://arxiv.org/abs/1809.00089)
145 | [LogDevice (Facebook, distributed storage for sequential data)](https://github.com/facebookincubator/LogDevice)
146 | [OrientDB (graph)](https://orientdb.com/)
147 | [Database isolation levels](https://en.wikipedia.org/wiki/Isolation_(database_systems))
148 | [The Log-Structured Merge-Tree (LSM-Tree) whitepaper](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.44.2782&rep=rep1&type=pdf)
149 | [B+ tree](https://en.wikipedia.org/wiki/B%2B_tree)
150 | [YCSB (Yahoo! Cloud Serving Benchmark)](https://github.com/brianfrankcooper/YCSB)
151 | 152 | # Distributed consensus management, service discovery and configuration 153 | [Raft protocol](https://raft.github.io/)
154 | [Paxos protocol](https://en.wikipedia.org/wiki/Paxos_(computer_science))
155 | [Paxos made simple](https://lamport.azurewebsites.net/pubs/paxos-simple.pdf)
156 | [Paxos Made Live - An Engineering Perspective](http://www.read.seas.harvard.edu/~kohler/class/08w-dsi/chandra07paxos.pdf)
157 | [Consul](https://www.consul.io/)
158 | [etcd](https://coreos.com/etcd/)
159 | [Vault](https://www.vaultproject.io/)
160 | [Secure Production Identity Framework For Everyone (SPIFFE)](https://github.com/spiffe/spiffe)
161 | [ZooKeeper](https://zookeeper.apache.org/)
162 | 163 | # CRDT and Operational transformation 164 | Operational Transformation
165 | White papers: [Original Jupiter document (1995)](https://dl.acm.org/doi/pdf/10.1145/215585.215706), [Jupiter Made Abstract, and Then Refined (2020)](https://hengxin.github.io/papers/2020-JCST-Jupiter.pdf)
166 | Libraries: [sharedb](https://github.com/share/sharedb), [ottypes](https://github.com/orgs/ottypes/repositories), [libot](https://github.com/ottypes/libot)
167 | Articles: [Collaborative Editing in CodeMirror](https://marijnhaverbeke.nl/blog/collaborative-editing-cm.html)
168 | CRDT
169 | Libraries: [Automerge](https://github.com/automerge/automerge), [Yjs](https://github.com/yjs/yjs), [Diamond Types (speed oriented)](https://github.com/josephg/diamond-types), [Reference CRTS implementation](https://github.com/josephg/reference-crdts), [Yjs (port to Rust)](https://github.com/y-crdt/y-crdt), [teletype (Atom, deprecated)](https://github.com/atom/teletype-crdt)
170 | [CRDT benchmarking](https://github.com/dmonad/crdt-benchmarks)
171 | [Collection of whitepapers and articles](https://github.com/alangibson/awesome-crdt)
172 | 173 | # Infrastructure provisioning 174 | [Terraform](https://www.terraform.io/)
175 | [Terragrunt](https://terragrunt.gruntwork.io/)
176 | [Terraform best practices](https://www.terraform-best-practices.com/)
177 | [Terraform AWS modules](https://github.com/terraform-aws-modules)
178 | [Infracost - calculate Terraform deployment costs (AWS)](https://github.com/infracost/infracost)
179 | [modules.tf - Convert Cloudcraft diagrams to Terraform code](https://modules.tf/)
180 | [Pulumi](https://www.pulumi.com/)
181 | [Crossplain](https://crossplane.io/)
182 | 183 | # Deployment tools 184 | [Ansible](https://ansible.com/)
185 | [Teletraan](https://github.com/pinterest/teletraan)
186 | 187 | # CI (Continuous Integration) 188 | [Github Actions](https://github.com/features/actions)
189 | [TeamCity](https://www.jetbrains.com/teamcity)
190 | [Jenkins](https://jenkins.io)
191 | [Jenkins X (for k8s apps)](https://jenkins-x.io/)
192 | [JetBrains Space](https://www.jetbrains.com/space/)
193 | [Tekton Pipelines (k8s native using CRD)](https://tekton.dev/)
194 | 195 | # Containers 196 | [Docker](https://www.docker.com/)
197 | Docker Registries: [Harbor](https://goharbor.io/), [Quay](https://github.com/quay/quay)
198 | [Awesome Docker list](https://github.com/veggiemonk/awesome-docker)
199 | [docker-autoheal (restart on unhealthy event)](https://github.com/willfarrell/docker-autoheal)
200 | [Kubernetes](https://kubernetes.io/)
201 | [Container Network Interface](https://github.com/containernetworking/cni)
202 | [Mesosphere](https://mesosphere.com/)
203 | [Mesos](https://mesos.apache.org/)
204 | [gVisor (sandbox runtime)](https://github.com/google/gvisor)
205 | [Weave Scope (monitoring)](https://github.com/weaveworks/scope)
206 | [SysDig (monitoring)](https://github.com/draios/sysdig)
207 | 208 | # Kubernetes 209 | [Lens (k8s IDE)](https://github.com/lensapp/lens)
210 | [k9s (alternative cli)](https://github.com/derailed/k9s)
211 | [minikube](https://minikube.sigs.k8s.io/)
212 | [kubectl](https://kubernetes.io/docs/reference/kubectl/overview/)
213 | [Krew (kubectl plugin manager)](https://krew.dev/), [list of plugins](https://github.com/kubernetes-sigs/krew-index/blob/master/plugins.md)
214 | [kustomize](https://github.com/kubernetes-sigs/kustomize)
215 | [Helm](https://helm.sh/)
216 | [Knative (run serverless apps on top of Istio](https://knative.dev/)
217 | [List of K8s application management tools](https://docs.google.com/spreadsheets/d/1FCgqz1Ci7_VCz_wdh8vBitZ3giBtac_H8SBw4uxnrsE/edit#gid=0)
218 | [Kompose (Docker Compose to k8s)](http://kompose.io/)
219 | [ksonnet](https://ksonnet.io/)
220 | [kubecfg](https://github.com/ksonnet/kubecfg)
221 | [Skaffold](https://github.com/GoogleCloudPlatform/skaffold)
222 | [Draft](https://github.com/Azure/draft)
223 | [Kubespray (cluster setup)](https://kubespray.io/)
224 | [kops (cluster setup)](https://github.com/kubernetes/kops)
225 | [kubectx & kubens (switch clusters and namespaces](https://github.com/ahmetb/kubectx)
226 | [goldpinger (nodes connectivity test/display](https://github.com/bloomberg/goldpinger)
227 | [kube-ps1 (bash prompt)](https://github.com/jonmosco/kube-ps1)
228 | [stern (pod and container logs tailing)](https://github.com/wercker/stern)
229 | [click (cli for large clusters)](https://github.com/databricks/click)
230 | [Telepresence (for k8s services development)](https://www.telepresence.io/)
231 | [Cilium](https://github.com/cilium/cilium)
232 | [Calico](https://www.projectcalico.org)
233 | [AWS VPC Kubernetes CNI driver using IPvlan](https://github.com/lyft/cni-ipvlan-vpc-k8s)
234 | [Contour (Ingress controller using Envoy)](https://github.com/heptio/contour)
235 | [Gimbal (Ingress load balancer to many clusters)](https://github.com/heptio/gimbal)
236 | [Vault with Kubernetes](https://github.com/Boostport/kubernetes-vault) and [Video on improvements](https://www.youtube.com/watch?v=IulNdGlQR3A)
237 | [Weave Scope (Monitoring, visualisation & management for k8s)](https://github.com/weaveworks/scope/)
238 | [Guide to Kubernetes networking (part 1)](https://medium.com/@ApsOps/an-illustrated-guide-to-kubernetes-networking-part-1-d1ede3322727), [Part 2](https://medium.com/@ApsOps/an-illustrated-guide-to-kubernetes-networking-part-2-13fdc6c4e24c)
239 | [Kubernetes Security - Best Practice Guide](https://github.com/freach/kubernetes-security-best-practice)
240 | [RBAC and user managemenet generation using Web UI](https://github.com/sighupio/permission-manager)
241 | [Chaos mesh](https://github.com/pingcap/chaos-mesh)
242 | 243 | # Jsonnet 244 | [jsonnet](http://jsonnet.org/)
245 | [jsonnet builds](https://github.com/krootee/jsonnet-releases)
246 | [Visual Studio Code plugin](https://github.com/heptio/vscode-jsonnet)
247 | [IntelliJ plugin (alpha)](https://github.com/databricks/intellij-jsonnet)
248 | [Style guide (Databricks)](https://github.com/databricks/jsonnet-style-guide)
249 | 250 | # RPC, Communication between system nodes 251 | [gRPC](https://grpc.io/)
252 | [Dubbo (China version of gRPC)](https://dubbo.apache.org)
253 | [Protocol Buffers](https://developers.google.com/protocol-buffers/)
254 | [Thrift](https://thrift.apache.org/)
255 | [Cap'n Proto](https://capnproto.org/)
256 | [MessagePack](https://msgpack.org/)
257 | [FlatBuffers](https://google.github.io/flatbuffers/)
258 | [Motan](https://github.com/weibocom/motan)
259 | [Aeron](https://github.com/real-logic/aeron)
260 | [ZeroMQ](http://zeromq.org/)
261 | [SMF](https://github.com/senior7515/smf)
262 | 263 | # gRPC 264 | [Awesome gRPC list](https://github.com/grpc-ecosystem/awesome-grpc)
265 | [gRPC status codes](https://github.com/grpc/grpc/blob/master/doc/statuscodes.md)
266 | [gRPC Field Mask](https://developers.google.com/protocol-buffers/docs/reference/csharp/class/google/protobuf/well-known-types/field-mask) and Netflix guide to using it [Get operations](https://netflixtechblog.com/practical-api-design-at-netflix-part-1-using-protobuf-fieldmask-35cfdc606518) and [Update operations](https://netflixtechblog.com/practical-api-design-at-netflix-part-2-protobuf-fieldmask-for-mutation-operations-2e75e1d230e4)
267 | [gRPC field presence (v3.15+)](https://github.com/protocolbuffers/protobuf/blob/master/docs/field_presence.md)
268 | [Insomnia (test client)](https://insomnia.rest/)
269 | [Postman (test client)](https://www.postman.com/)
270 | [Hoppscotch (test client)](https://hoppscotch.io/)
271 | [Kreay (test client)](https://kreya.app/)
272 | [httpYac (test client)](https://httpyac.github.io/)
273 | [milkman test client (via gRPC plugin)](https://github.com/warmuuh/milkman)
274 | [improbabl test client (Web)](https://github.com/improbable-eng/grpc-web/)
275 | [bloomrpc test client (GUI)](https://github.com/uw-labs/bloomrpc)
276 | [gRPC 2 years in production](https://www.youtube.com/watch?v=7FZ6ZyzGex0)
277 | 278 | # Service monitoring, metrics collection / graphing 279 | [Grafana](https://grafana.com/)
280 | [Grafonnet-lib (generate dashboards for Grafana)](https://github.com/grafana/grafonnet-lib)
281 | [Graphite](https://graphiteapp.org/)
282 | [Prometheus](https://prometheus.io/)
283 | [Thanos (Prometheus long term storage)](https://thanos.io/)
284 | [Cortex (Prometheus long term storage)](https://cortexmetrics.io/)
285 | [OpenMetrics](https://github.com/OpenObservability/OpenMetrics)
286 | [eBPF exporter (Prometheus)](https://github.com/cloudflare/ebpf_exporter)
287 | [Node Exporter (Prometheus)](https://github.com/prometheus/node_exporter)
288 | [cAdvisor (container monitoring)](https://github.com/google/cadvisor)
289 | [ClichHouse (Yandex)](https://clickhouse.yandex/)
290 | [Druid (Imply)](http://druid.io/)
291 | [Pinot (Linkedin)](https://github.com/linkedin/pinot/)
292 | [Architecture analysis of ClickHouse, Druid and Pinot](https://medium.com/@leventov/comparison-of-the-open-source-olap-systems-for-big-data-clickhouse-druid-and-pinot-8e042a5ed1c7)
293 | [HTTP Analytics for 6M requests per second using ClickHouse](https://blog.cloudflare.com/http-analytics-for-6m-requests-per-second-using-clickhouse/)
294 | [NetData](https://my-netdata.io)
295 | [Vector (host monitoring)](http://getvector.io/)
296 | [okmeter](https://okmeter.io)
297 | [Datadog](https://www.datadoghq.com)
298 | [TimescaleDB](https://github.com/timescale/timescaledb)
299 | [KairosDB](https://kairosdb.github.io)
300 | [Zabbix](https://www.zabbix.com)
301 | [PagerDuty](https://www.pagerduty.com)
302 | 303 | # Infrastructure information management 304 | [Osquery (Facebook)](https://osquery.io/)
305 | [Kolide Fleet (osquery)](http://www.kolide.co/fleet)
306 | [Doorman (osquery)](https://github.com/mwielgoszewski/doorman)
307 | [OSSEC](https://ossec.github.io/)
308 | 309 | # Distributed request tracing 310 | [Dapper, a Large-Scale Distributed Systems Tracing Infrastructure (Google)](https://research.google.com/pubs/pub36356.html)
311 | [OpenTelemetry](https://opentelemetry.io/)
312 | [OpenTracing and Jaeger introduction](https://www.youtube.com/watch?v=fjYAU3jayVo)
313 | [TraceContext propagation format](https://github.com/w3c/distributed-tracing)
314 | [Jaeger (Uber)](https://www.jaegertracing.io/)
315 | [Zipkin](http://zipkin.io/)
316 | [Lightstep](https://lightstep.com)
317 | [Tempo (Grafana)](https://github.com/grafana/tempo)
318 | [Skywalking](http://skywalking.io/)
319 | [AWS X-Ray](https://aws.amazon.com/xray/)
320 | 321 | # Load testing 322 | [Yandex.Tank (C++, Python, Go)](https://github.com/yandex/yandex-tank)
323 | [Overload (storage for Yandex.Tank results)](https://overload.yandex.net)
324 | [Gatling (Scala)](https://gatling.io/)
325 | [k6](https://github.com/loadimpact/k6)
326 | [Locust (Python)](https://locust.io/)
327 | [Vegeta (HTTP 1.1/2)](https://github.com/tsenart/vegeta)
328 | [h2load (HTTP 1.1/2)](https://nghttp2.org/documentation/h2load.1.html)
329 | [autocannon (HTTP 1.1)](https://github.com/mcollina/autocannon)
330 | 331 | # Log management 332 | [What you need to know about real-time logs](https://engineering.linkedin.com/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying)
333 | [Vector](https://github.com/timberio/vector)
334 | [fluentd](https://www.fluentd.org/)
335 | [Logstash](https://www.elastic.co/products/logstash)
336 | [Graylog2](https://www.graylog.org/)
337 | [syslog-ng](https://syslog-ng.org/)
338 | [rsyslog](http://www.rsyslog.com/)
339 | [fluentbit](https://github.com/fluent/fluent-bit/)
340 | [filebit](https://www.elastic.co/guide/en/beats/filebeat/master/filebeat-overview.html)
341 | [Kibana](https://www.elastic.co/kibana)
342 | [Loki](https://github.com/grafana/loki)
343 | [Splunk](https://www.splunk.com/)
344 | [GoAccess](https://goaccess.io/)
345 | [Bookkeeper](https://bookkeeper.apache.org/distributedlog/)
346 | [LogDevice (Facebook)](https://code.facebook.com/posts/357056558062811/logdevice-a-distributed-data-store-for-logs/)
347 | Online solutions:
348 | [Loggly](https://www.loggly.com/)
349 | [Logentries](https://logentries.com/)
350 | [Papertrail](https://papertrailapp.com/)
351 | [Scalyr](https://www.scalyr.com/)
352 | [Sumo Logic](https://www.sumologic.com/)
353 | [Humio](https://humio.com/)
354 | 355 | # Feature Flags 356 | [Overview site](http://featureflags.io)
357 | [FF4J](http://ff4j.org/)
358 | [Togglz (Java)](https://www.togglz.org)
359 | [Unleash (simple)](https://github.com/Unleash/unleash)
360 | [LaunchDarkly (cloud provider)](https://launchdarkly.com)
361 | [piranha (Uber tool to refactor feature flag code)](https://github.com/uber/piranha)
362 | 363 | # CDNs 364 | [Cloudflare](https://www.cloudflare.com/cdn/)
365 | [CloudFront (AWS)](https://aws.amazon.com/cloudfront/)
366 | [Fastly](https://www.fastly.com/)
367 | [Akamai](https://www.akamai.com/)
368 | [Traffic Control (Self-hosted CDN)](https://trafficcontrol.apache.org/)
369 | 370 | # Domain registrars 371 | [MarkMonitor](https://www.markmonitor.com/)
372 | [Cloudflare](https://www.cloudflare.com/registrar/)
373 | 374 | # AWS 375 | [AWS Infrastructure overview](https://www.infrastructure.aws/)
376 | [awscli](https://aws.amazon.com/cli/)
377 | [awless](https://github.com/wallix/awless)
378 | [S3 Browser](https://s3browser.com/)
379 | [CloudBerry S3 Explorer](https://www.cloudberrylab.com/explorer/amazon-s3.aspx)
380 | [Analyze S3 speed from your location](https://cloudharmony.com/speedtest-for-aws:s3)
381 | [Analyze AWS S3 and CloudFront logs](https://github.com/nagyv/s3stat) + [GoAccess](https://goaccess.io/)
382 | [EC2 instance cheat sheet](https://www.ec2instances.info/)
383 | [S3 meta information](https://github.com/whitfin/s3-meta)
384 | [AWS DNS ALIAS record (vs CNAME)](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resource-record-sets-choosing-alias-non-alias.html)
385 | [Understanding IAM](https://www.daan.fyi/writings/iam)
386 | 387 | # Networking 388 | AWS Networking Fundamentals overview: [Networking Fundamentals](https://www.youtube.com/watch?v=hiKPPy584Mg), [Application networking foundations](https://www.youtube.com/watch?v=WcZwWuq6FTk), [PrivateLink](https://www.youtube.com/watch?v=20RxEzAXG9o), [Advanced VPC fundamentals](https://www.youtube.com/watch?v=cbUNbK8ZdA0)
389 | [Scalable Reliable Datagram (SRD is available via ENA in AWS instances)](https://ieeexplore.ieee.org/document/9167399)
390 | ["Soft-unicast" for egress traffic](https://blog.cloudflare.com/cloudflare-servers-dont-own-ips-anymore/)
391 | Proxies primer: based on [HTTP Connect](https://blog.cloudflare.com/a-primer-on-proxies/) and [QUIC (MASQUE)](https://blog.cloudflare.com/unlocking-quic-proxying-potential/)
392 | [Streams support in modern browsers](https://streams.spec.whatwg.org/) and [Current browser support state](https://caniuse.com/streams)
393 | [Understanding all DNS records](https://www.netmeister.org/blog/dns-rrs.html)
394 | [Understanding cost of bandwidth](https://blog.cloudflare.com/the-relative-cost-of-bandwidth-around-the-world/), [AWS egress cost analysis](https://blog.cloudflare.com/aws-egregious-egress/)
395 | [Peering database](https://www.peeringdb.com/)
396 | [WebTransport protocol (improving on WebSockets and WebRTC use cases)](https://github.com/w3c/webtransport)
397 | [chrony (NTP)](https://chrony.tuxfamily.org/) and [Facebook measuring chrony vs ntpd](https://engineering.fb.com/production-engineering/ntp-service/)
398 | [BPF introduction](https://qmonnet.github.io/whirl-offload/2016/09/01/dive-into-bpf/)
399 | [XDP](https://www.iovisor.org/technology/xdp)
400 | [BPFd (remote BPF by Google)](https://github.com/joelagnel/bpfd)
401 | [bpftrace (high-level langauge for writing eBPF programs)](https://github.com/iovisor/bpftrace)
402 | [BCC (Tools for BPF-based Linux IO analysis, networking, monitoring, and more)](https://github.com/iovisor/bcc)
403 | [How to achieve low latency with 10Gbps Ethernet (Cloudflare)](https://blog.cloudflare.com/how-to-achieve-low-latency/)
404 | [BBR: Congestion-based congestion control](https://blog.acolyer.org/2017/03/31/bbr-congestion-based-congestion-control/), [BBR, the new kid on the TCP block](https://blog.apnic.net/2017/05/09/bbr-new-kid-tcp-block/)
405 | [Making Linux TCP Fast](https://netdevconf.org/1.2/papers/bbr-netdev-1.2.new.new.pdf)
406 | [SYN packet handling in the wild (Cloudflare)](https://blog.cloudflare.com/syn-packet-handling-in-the-wild/)
407 | [How TCP backlog works in Linux](https://veithen.github.io/2014/01/01/how-tcp-backlog-works-in-linux.html)
408 | [Understanding TCP close states](https://benohead.com/tcp-about-fin_wait_2-time_wait-and-close_wait/)
409 | [Bind before connect](https://idea.popcount.org/2014-04-03-bind-before-connect/)
410 | [SYNC Cookies](https://www.giac.org/paper/gsec/2013/syn-cookies-exploration/103486)
411 | [On SO_REUSEADDR and SO_REUSEPORT](https://stackoverflow.com/questions/14388706/socket-options-so-reuseaddr-and-so-reuseport-how-do-they-differ-do-they-mean-t/14388707#14388707)
412 | [On Linux history of poll(), select() and epoll()](https://idea.popcount.org/2017-02-20-epoll-is-fundamentally-broken-12/), [More on Linux epoll](https://habr.com/post/416669/)
413 | [Monitoring and Tuning the Linux Networking Stack: Receiving Data](https://blog.packagecloud.io/eng/2016/06/22/monitoring-tuning-linux-networking-stack-receiving-data/)
414 | [Monitoring and Tuning the Linux Networking Stack: Sending Data](https://blog.packagecloud.io/eng/2017/02/06/monitoring-tuning-linux-networking-stack-sending-data/)
415 | [MIT's TCP ex Machina: Computer-Generated Congestion Control](http://web.mit.edu/remy/)
416 | [Introduction to modern network load balancing and proxying (Envoy)](https://blog.envoyproxy.io/introduction-to-modern-network-load-balancing-and-proxying-a57f6ff80236)
417 | [BGP in 2017](http://www.potaroo.net/ispcol/2018-01/bgp2017.html)
418 | [CoreDNS](https://github.com/coredns/coredns)
419 | [Knot DNS](https://gitlab.labs.nic.cz/knot/knot-dns)
420 | [Knot Resolver](https://gitlab.labs.nic.cz/knot/knot-resolver)
421 | [Maglev: A Fast and Reliable Software Network Load Balancer](https://research.google.com/pubs/pub44824.html)
422 | [MaxMind GeoIP databases](https://dev.maxmind.com/geoip/geoip2/downloadable/)
423 | [IPVS](http://www.linuxvirtualserver.org/software/ipvs.html)
424 | [Open vSwitch](http://www.openvswitch.org/)
425 | [kTLS in Linux (TLS in kernel space 4.13+)](https://github.com/ktls), [white paper](https://netdevconf.org/1.2/papers/ktls.pdf) and [Intro in Go](https://blog.filippo.io/playing-with-kernel-tls-in-linux-4-13-and-go/)
426 | [DPDK](http://dpdk.org/)
427 | [FD.io](https://fd.io/)
428 | [RIPE NCC network information](https://atlas.ripe.net/)
429 | [JLS2009: Generic receive offload](https://lwn.net/Articles/358910/)
430 | [High-Speed Trading: Lines, Radios, and Cables – Oh My](https://tabbforum.com/opinions/high-speed-trading-lines-radios-and-cables-oh-my)
431 | [Solving problem with Nagle's algorithm and delayed ACK using TCP_NODELAY](http://www.stuartcheshire.org/papers/NagleDelayedAck/)
432 | [IPFS](https://ipfs.io/)
433 | [S/Kademlia: A Practicable Approach Towards Secure Key-Based Routing](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.68.4986)
434 | [Linux AnyIP](https://blog.widodh.nl/2016/04/anyip-bind-a-whole-subnet-to-your-linux-machine/)
435 | [Listen on all ports for AnyIP range on the server](https://blog.cloudflare.com/how-we-built-spectrum/)
436 | [TCP Tracepoints (Linux 4.15/6+)](http://www.brendangregg.com/blog/2018-03-22/tcp-tracepoints.html)
437 | [Kernel Connection Multiplexor (KCM)](https://lwn.net/Articles/657970/) and [more details](https://lwn.net/Articles/657999/)
438 | [Blocking-resistant communication through domain fronting](https://www.bamsoftware.com/papers/fronting/)
439 | [Anatomy of Linux DNS lookup](https://zwischenzugs.com/2018/06/08/anatomy-of-a-linux-dns-lookup-part-i/), [part 2](https://zwischenzugs.com/2018/06/18/anatomy-of-a-linux-dns-lookup-part-ii/), [part 3](https://zwischenzugs.com/2018/07/06/anatomy-of-a-linux-dns-lookup-part-iii/), [part 4](https://zwischenzugs.com/2018/08/06/anatomy-of-a-linux-dns-lookup-part-iv/), [part 5](https://zwischenzugs.com/2018/09/13/anatomy-of-a-linux-dns-lookup-part-v-two-debug-nightmares/)
440 | [Equal-cost multi-path routing (ECMP)](https://en.wikipedia.org/wiki/Equal-cost_multi-path_routing)
441 | [How LinkedIn used TCP Anycast to make the site faster](https://www.slideshare.net/shawnzandi/how-linkedin-used-tcp-anycast-to-make-the-site-faster)
442 | [Roughtime protocol](https://roughtime.googlesource.com/roughtime)
443 | [List of reserved IPv4 ranges (IANA IPv4 Special-Purpose Address Registry)](https://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml)
444 | [List of reserved IPv6 ranges (IANA IPv6 Global Unicast Address Assignments)](https://www.iana.org/assignments/ipv6-unicast-address-assignments/ipv6-unicast-address-assignments.xhtml)
445 | [Wikipedia on reserved IP addresses](https://en.wikipedia.org/wiki/Reserved_IP_addresses)
446 | [TCP window scaling, timestamps and SACK](https://fedoramagazine.org/tcp-window-scaling-timestamps-and-sack/)
447 | [DNS SVCB and HTTPS records RFC (draft)](https://tools.ietf.org/html/draft-ietf-dnsop-svcb-https-01)
448 | [Networking ASICS overview in 2020](https://blog.cloudflare.com/asics-at-the-edge/)
449 | [How NAT traversal works](https://tailscale.com/blog/how-nat-traversal-works/)
450 | [Ethernet and IP Networking 101](https://iximiuz.com/en/posts/computer-networking-101/)
451 | 452 | # SDN 453 | [Панельная дискуссия «SDN 10 лет после хайпа»](https://www.youtube.com/watch?v=a6F73J2qwqY)
454 | [Stratum](https://stratumproject.org/)
455 | [p4 language](https://p4.org/)
456 | [p4 Runtime](https://p4.org/p4-runtime/)
457 | [OpenFlow](https://www.opennetworking.org/software-defined-standards/specifications/)
458 | [SAI (Switch Abstraction Interface)](https://github.com/opencomputeproject/SAI)
459 | [ONOS](https://onosproject.org/)
460 | [OpenNFP](https://open-nfp.org/)
461 | [OpenConfig](http://openconfig.net/)
462 | 463 | # SRE (Site Reliability Engineering) 464 | [Napking math numbers for estimating hardware and software performance](https://github.com/sirupsen/napkin-math)
465 | [USENIX SREcon APAC 2022: Computing Performance: What's on the Horizon (Great overview by Brendan Gregg)](https://www.brendangregg.com/blog/2023-03-01/computer-performance-future-2022.html)
466 | [Google Site Reliability Engineering book](https://landing.google.com/sre/book.html)
467 | [Experience from running Uber payment service](https://blog.pragmaticengineer.com/operating-a-high-scale-distributed-system/)
468 | [Best practices of on-call (Increment journal issue)](https://increment.com/on-call/)
469 | [High Performance Browser Networking book](https://hpbn.co/)
470 | [The Docker Book](https://www.dockerbook.com/)
471 | [Site Reliability Engineer HandBook](https://s905060.gitbooks.io/site-reliability-engineer-handbook/)
472 | [Linux Performance tools and materials](http://www.brendangregg.com/linuxperf.html)
473 | [Understanding swap in Linux](https://chrisdown.name/2018/01/02/in-defence-of-swap.html) and [Video: Linux Memory Management at Scale: Under the Hood](https://www.youtube.com/watch?v=beefUhRH5lU)
474 | [How Much Memory Does the Process Really Take on Linux?](https://www.percona.com/blog/2020/09/11/how-much-memory-does-the-process-really-take-on-linux/)
475 | [U2F devices review](https://github.com/hillbrad/U2FReviews)
476 | [Optimizing web servers for high throughput and low latency (Dropbox)](https://blogs.dropbox.com/tech/2017/09/optimizing-web-servers-for-high-throughput-and-low-latency/)
477 | [Shipilev Close Encounters of The Java Memory Model Kind](https://shipilev.net/blog/2016/close-encounters-of-jmm-kind/)
478 | [On disk IO - part 1](https://medium.com/@ifesdjeen/on-disk-io-part-1-flavours-of-io-8e1ace1de017), [part 2](https://medium.com/@ifesdjeen/on-disk-io-part-2-more-flavours-of-io-c945db3edb13), [part 3](https://medium.com/@ifesdjeen/on-disk-io-part-3-lsm-trees-8b2da218496f), [part 4](https://medium.com/@ifesdjeen/on-disk-storage-part-4-b-trees-30791060741), [part 5](https://medium.com/@ifesdjeen/on-disk-io-access-patterns-in-lsm-trees-2ba8dffc05f9)
479 | [Transparent Hugepages: measuring the performance impact](https://alexandrnikitin.github.io/blog/transparent-hugepages-measuring-the-performance-impact/)
480 | [Introduction 2016 NUMA Deep Dive Series](http://frankdenneman.nl/2016/07/06/introduction-2016-numa-deep-dive-series/)
481 | [Understanding PCIe Configuration for Maximum Performance](https://community.mellanox.com/docs/DOC-2496)
482 | [Netflix Serving 100 Gbps from an Open Connect Appliance](https://medium.com/netflix-techblog/serving-100-gbps-from-an-open-connect-appliance-cdb51dda3b99)
483 | [Aphyr Hermitage - info and testing of database isolation levels](https://github.com/aphyr/hermitage)
484 | [A collection of postmortems](https://github.com/danluu/post-mortems)
485 | [Jeff Dean's latency numbers plotted over time](https://github.com/colin-scott/interactive_latencies)
486 | [Sakila test DB](https://dev.mysql.com/doc/sakila/en/)
487 | [Monitoring in the time of Cloud Native](https://medium.com/@copyconstruct/monitoring-in-the-time-of-cloud-native-c87c7a5bfa3e)
488 | [Tyler McMullen - Load Balancing is Impossible](https://www.youtube.com/watch?v=kpvbOzHUakA)
489 | [What every programmer should know about memory](https://www.akkadia.org/drepper/cpumemory.pdf)
490 | [What every programmer should know about floating point](https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html), [floating points format explained](http://fabiensanglard.net/floating_point_visually_explained/), [Floating point GUI site](http://floating-point-gui.de/), [shorter explanation](http://blog.reverberate.org/2014/09/what-every-computer-programmer-should.html)
491 | [Chaos Engineering information map](https://coggle.it/diagram/5a229c7860c0c20001ae6caf/1960e86c369b09c4deac3227885bb073ae258e637b1b9e57be274125ac6e57b2)
492 | [A Gentle Introduction to Erasure Codes](https://www.akalin.com/intro-erasure-codes)
493 | [The PMCs of EC2: Measuring IPC](http://www.brendangregg.com/blog/2017-05-04/the-pmcs-of-ec2.html)
494 | [AWS EC2 Virtualization evolution](http://www.brendangregg.com/blog/2017-11-29/aws-ec2-virtualization-2017.html)
495 | [DNS zone visualization](http://dnsviz.net/)
496 | [How Netflix Tunes EC2](http://www.brendangregg.com/blog/2017-12-31/reinvent-netflix-ec2-tuning.html)
497 | [Write-Behind Logging](http://www.vldb.org/pvldb/vol10/p337-arulraj.pdf)
498 | [Cache-Oblivious Algorithms and Data Structures](http://erikdemaine.org/papers/BRICS2002/paper.pdf)
499 | [Oracle Graal (Hotspot replacement)](https://github.com/oracle/graal)
500 | [Understanding How Graal Works - a Java JIT Compiler Written in Java](http://chrisseaton.com/truffleruby/jokerconf17/)
501 | [Understanding disk usage in Linux](https://ownyourbits.com/2018/05/02/understanding-disk-usage-in-linux/)
502 | [On time and UTC](https://zachholman.com/talk/utc-is-enough-for-everyone-right)
503 | [The tail at scale (reducing latency long tail)](https://www2.cs.duke.edu/courses/cps296.4/fall13/838-CloudPapers/dean_longtail.pdf)
504 | [Optimizing ScyllaDB to run inside Docker container](https://www.scylladb.com/2018/08/09/cost-containerization-scylla/)
505 | [Using PMM with EverSQL to optimize queries](https://www.percona.com/blog/2019/01/22/monitor-and-optimize-slow-queries-with-pmm-and-eversql-part-one/) and [part 2]( 506 | https://www.percona.com/blog/2019/01/28/monitor-and-optimize-slow-queries-with-pmm-and-eversql-part-2/)
507 | [Learn where some of the network sysctl variables fit into the Linux/Kernel network flow](https://github.com/leandromoreira/linux-network-performance-parameters)
508 | [Understanding CORS: Mozilla page](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS), [Stackoverflow on CORS](https://stackoverflow.com/questions/29954037/why-is-an-options-request-sent-and-can-i-disable-it)
509 | [A self-service CA for OpenSSH](https://github.com/nsheridan/cashier)
510 | [Shipilev JVM Anatomy Park](https://shipilev.net/jvm-anatomy-park/)
511 | [How does a relational database work](http://coding-geek.com/how-databases-work/)
512 | [Using systemd timers instead of cronjobs](https://opensource.com/article/20/7/systemd-timers)
513 | [Story of age, cache-control headers and prefetching mechanism in modern browsers](https://timkadlec.com/remembers/2020-06-17-prefetching-at-this-age/)
514 | [Is Your Linux Version Hiding Interrupt CPU Usage From You?](https://tanelpoder.com/posts/linux-hiding-interrupt-cpu-usage/)
515 | [HTTP Caching headers best practices](https://simonhearne.com/2022/caching-header-best-practices/)
516 | 517 | # Disk storage 518 | [On Direct vs Buffered I/O and atomic writes](https://www.scylladb.com/2022/04/12/direct-i-o-writes-the-path-to-storage-wealth/), [SO on atomic writes from storage specification side](https://stackoverflow.com/questions/2009063/are-disk-sector-writes-atomic), [LWN on atomic writes](https://lwn.net/Articles/789600/)
519 | [Minio (local storage with AWS S3 API)](https://github.com/minio/minio)
520 | [libzbc (direct disk access)](https://github.com/hgst/libzbc)
521 | [SMR drives at Dropbox](https://blogs.dropbox.com/tech/2018/06/extending-magic-pocket-innovation-with-the-first-petabyte-scale-smr-drive-deployment/)
522 | [Intel VROC overview and performance testing](https://www.storagereview.com/intel_virtual_raid_on_cpu_vroc_review)
523 | [Blb (distributed object storage system developed by Upthere)](https://github.com/westerndigitalcorporation/blb)
524 | [Configuring OpenZFS to run 24x NVMe drives for high-load MySQL](https://github.com/letsencrypt/openzfs-nvme-databases)
525 | [Achieving 11M IOPS & 66 GB/s IO on a Single ThreadRipper Workstation](https://tanelpoder.com/posts/11m-iops-with-10-ssds-on-amd-threadripper-pro-workstation/) and follow up [video](https://www.youtube.com/watch?v=5A531KE8O9Q)
526 | 527 | # TLS 528 | [The Illustrated TLS Connection](https://tls.ulfheim.net/)
529 | [A Readable Specification of TLS 1.3](https://davidwong.fr/tls13/)
530 | [Sonar](https://sonarwhal.com/)
531 | [TLS information](https://istlsfastyet.com/)
532 | [Mutuals TLS (mTLS)](https://www.codeproject.com/Articles/326574/An-Introduction-to-Mutual-SSL-Authentication)
533 | [Mozilla server side TLS information](https://wiki.mozilla.org/Security/Server_Side_TLS)
534 | [BadTLS (SSL testing)](https://github.com/chromium/badssl.com)
535 | [testssl.sh](https://github.com/drwetter/testssl.sh)
536 | [Mozilla Observatory](https://observatory.mozilla.org/)
537 | [HTTP security headers testing](https://securityheaders.io/)
538 | [Qualys SSL tests](https://www.ssllabs.com/ssltest)
539 | [High-Tech Bridge SSL test](https://www.htbridge.com/ssl/)
540 | [HTTP security tools](https://report-uri.io/home/tools)
541 | [HSTS preloading](https://hstspreload.org)
542 | [SRI hash generator](https://www.srihash.org/)
543 | [Client side TLS test](https://www.howsmyssl.com/)
544 | [DNS CAA helper](https://sslmate.com/caa/)
545 | [DNS over TLS](https://tools.ietf.org/html/rfc7858)
546 | [Encrypted Client Hello (ECH) standard](https://datatracker.ietf.org/doc/html/draft-ietf-tls-esni-13), [ECH background](https://blog.cloudflare.com/handshake-encryption-endgame-an-ech-update/)
547 | [TLS Delegated Credentials](https://tools.ietf.org/html/draft-ietf-tls-subcerts-05)
548 | [Oblivious DNS over HTTPS RFC (draft)](https://tools.ietf.org/html/draft-pauly-dprive-oblivious-doh-03)
549 | [ECH (TLS Encrypted Client Hello) RFC](https://tools.ietf.org/html/draft-ietf-tls-esni), [Introduction to ECH](https://blog.cloudflare.com/encrypted-client-hello/)
550 | 551 | # HTTP/3 and QUIC 552 | [HTTP/3 for everyone (video)](https://fosdem.org/2020/schedule/event/http3/)
553 | [HTTP/3 test site (Fastly)](https://http3.is/)
554 | [HTTP/3 Explained (book)](https://http3-explained.haxx.se/)
555 | [The Illustrated QUIC Connection](https://quic.xargs.org/)
556 | [msquic (QUIC protocol implementation from Microsoft)](https://github.com/microsoft/msquic)
557 | [quiche (QUIC protocol implementation from Cloudflare)](https://github.com/cloudflare/quiche)
558 | 559 | # Authorization and Authentication 560 | OAuth 2.0 information: [Practical information](https://oauth.net/), [book](https://oauth2simplified.com/), [online version of the book](https://www.oauth.com/), [best practices (RFC)](https://tools.ietf.org/html/draft-ietf-oauth-security-topics-14), [browser-bases apps guideline (RFC)](https://tools.ietf.org/html/draft-ietf-oauth-browser-based-apps-04), [RFC](https://tools.ietf.org/html/rfc6749)
561 | [AppAuth (OAuth 2.0 client library)](https://appauth.io/)
562 | [JSON Web Token (JWT)](https://tools.ietf.org/html/rfc7519)
563 | [JSON Web Signature (JWS)](https://tools.ietf.org/html/rfc7515)
564 | [JSON Web Encryption (JWE)](https://tools.ietf.org/html/rfc7516)
565 | [JWT playground](https://jwt.io/)
566 | [CBOR Web Token (CWT)](https://datatracker.ietf.org/doc/html/rfc8392)
567 | [CBOR information](https://cbor.io/)
568 | [CBOR playground](http://cbor.me/)
569 | 570 | # Cryptography 571 | [OpenSSL](https://www.openssl.org/)
572 | [BoringSSL (Google)](https://boringssl.googlesource.com/boringssl/)
573 | [s2n (AWS)](https://github.com/awslabs/s2n)
574 | [LibreSSL (OpenBSD OpenSSL fork)](https://github.com/libressl-portable/portable)
575 | [Google Tink](https://github.com/google/tink)
576 | [Thesis (encryption framework)](https://github.com/cossacklabs/themis)
577 | [Acra (DB encryption proxy)](https://github.com/cossacklabs/acra)
578 | [Ascon (2023 winner of lightweight cryptography)](https://ascon.iaik.tugraz.at/)
579 | [Lightweight cryptography algorithms (NIST)](https://csrc.nist.gov/projects/lightweight-cryptography)
580 | [Cryptography Engineering: Design Principles and Practical Applications (book)](https://www.amazon.com/Cryptography-Engineering-Principles-Practical-Applications/dp/0470474246)
581 | [Introduction to Modern Cryptography, Second Edition (book)](https://www.amazon.com/Introduction-Cryptography-Chapman-Network-Security/dp/1466570261)
582 | [Security Engineering, 2nd edition (book)](https://www.amazon.com/Security-Engineering-Building-Dependable-Distributed/dp/0470068523)
583 | [Crypto 101 (concepts, book)](https://www.crypto101.io/)
584 | [Applied Cryptography Engineering](https://sockpuppet.org/blog/2013/07/22/applied-practical-cryptography/)
585 | [Ensuring Randomness with Linux's Random Number Generator](https://blog.cloudflare.com/ensuring-randomness-with-linuxs-random-number-generator/)
586 | [Should we MAC-then-encrypt or encrypt-then-MAC?](https://crypto.stackexchange.com/questions/202/should-we-mac-then-encrypt-or-encrypt-then-mac)
587 | [Authenticated Encryption: Relations among notions and analysis of the generic composition paradigm](https://eprint.iacr.org/2000/025)
588 | [How to choose an Authenticated Encryption mode](https://blog.cryptographyengineering.com/2012/05/19/how-to-choose-authenticated-encryption/)
589 | [Awesome cryptography repository](https://github.com/sobolevn/awesome-cryptography)
590 | [Mind Your Keys? A Security Evaluation of Java Keystores](https://www.ndss-symposium.org/wp-content/uploads/2018/02/ndss2018_02B-1_Focardi_paper.pdf)
591 | [Hash-based message authentication code](https://en.wikipedia.org/wiki/Hash-based_message_authentication_code)
592 | [Authenticated Encryption with Associated Data (AEAD)](https://en.wikipedia.org/wiki/Authenticated_encryption)
593 | [AES-GCM (AEAD)](https://tools.ietf.org/html/rfc5288)
594 | [AES-GCM-SIV](https://github.com/Shay-Gueron/AES-GCM-SIV)
595 | [GCM blockcipher mode](https://en.wikipedia.org/wiki/Galois/Counter_Mode)
596 | [OCB blockcipher mode](http://web.cs.ucdavis.edu/~rogaway/ocb/)
597 | [ChaCha20 design (stream)](http://loup-vaillant.fr/tutorials/chacha20-design)
598 | [Poly1305 (MAC)](https://cr.yp.to/mac.html)
599 | [ChaCha20 and Poly1305 (AEAD)](https://www.rfc-editor.org/rfc/rfc8439)
600 | [AEGIS-128X (fast authentication cipher with AVX/AES acceleration)](https://github.com/jedisct1/aegis-128X)
601 | [Understanding RSA terms](https://security.stackexchange.com/questions/68822/trying-to-understand-rsa-and-its-terminology/68836#68836)
602 | [Elliptic curve introduction](https://www.imperialviolet.org/2010/12/04/ecc.html)
603 | [Elliptic Curve Cryptography: a gentle introduction](http://andrea.corbellini.name/2015/05/17/elliptic-curve-cryptography-a-gentle-introduction/)
604 | [Safe elliptic curvers](https://safecurves.cr.yp.to/)
605 | [Curve25519](https://cr.yp.to/ecdh/curve25519-20060209.pdf)
606 | [Hybrid Public Key Encryption (HPKE) RFC](https://datatracker.ietf.org/doc/html/rfc9180), [Example of HPKE usage in Cloudflare](https://blog.cloudflare.com/using-hpke-to-encrypt-request-payloads/)
607 | [Fully Homomorphic Encryption library (Google, C++)](https://github.com/google/fully-homomorphic-encryption)
608 | [Understanding HKDF](https://soatok.blog/2021/11/17/understanding-hkdf/)
609 | [Database Cryptography Fur the Rest of Us](https://soatok.blog/2023/03/01/database-cryptography-fur-the-rest-of-us/)
610 | [Intro to Linux Kernel Key Retention Service](https://blog.cloudflare.com/the-linux-kernel-key-retention-service-and-why-you-should-use-it-in-your-next-application/)
611 | 612 | # Hashing 613 | [smhasher testing suite](https://github.com/rurban/smhasher)
614 | [Article "Programmers Don’t Understand Hash Functions"](https://soatok.blog/2021/08/24/programmers-dont-understand-hash-functions/)
615 | [Fast Positive Hash](https://github.com/leo-yuriev/t1ha)
616 | [Meow hash](https://github.com/cmuratori/meow_hash)
617 | [HighwayHash and SipHash (Google)](https://github.com/google/highwayhash/)
618 | [SipHash (original)](https://131002.net/siphash/)
619 | [BLAKE3 (crypto)](https://github.com/BLAKE3-team/BLAKE3)
620 | [BLAKE2 (crypto)](https://blake2.net/)
621 | [xxHash](http://www.xxhash.com/)
622 | [MurmurHash3](https://github.com/aappleby/smhasher)
623 | [argon2 (password hashing)](https://github.com/P-H-C/phc-winner-argon2)
624 | [Dieharder: A Random Number Test Suite](http://webhome.phy.duke.edu/~rgb/General/dieharder.php)
625 | [yescrypt (KDF and password hashing)](https://www.openwall.com/yescrypt/)
626 | ["How to Encipher Messages on a Small Domain. Deterministic Encryption and the Thorp Shuffle" (encryption hashing whitepaper)](https://www.cs.ucdavis.edu/~rogaway/papers/thorp.pdf)
627 | 628 | # UUID 629 | [UUID version 6/7/8 RFC draft](https://datatracker.ietf.org/doc/draft-peabody-dispatch-new-uuid-format/)
630 | [UUID version 6/7/8 RFC work in progress](https://github.com/uuid6/uuid6-ietf-draft)
631 | [UUID version 7 playground](http://www.new-uuid.info/)
632 | [TypeID (type-safe extension of UUIDv7)](https://github.com/jetpack-io/typeid)
633 | [Why UUIDv7? (RU)](https://habr.com/ru/post/572700/)
634 | [KSUID](https://github.com/segmentio/ksuid)
635 | 636 | # Real User Monitoring 637 | [boomerang library](https://github.com/akamai/boomerang) and [How to use boomerang](https://developer.akamai.com/tools/boomerang/)
638 | Custome backend required for boomerang - could use [boomcatch](https://github.com/springernature/boomcatch) and [statsd](https://github.com/statsd/statsd)
639 | Commercial solution is [Akamai mPulse](https://www.akamai.com/us/en/products/performance/mpulse-real-user-monitoring.jsp)
640 | [sitespeed.io tools](https://github.com/sitespeedio)
641 | [Matomo](https://matomo.org/)
642 | User access information from logs: [GoAccess](https://goaccess.io/) and [AWStats](https://github.com/eldy/awstats)
643 | [Compress data from ResourceTiming API](https://github.com/nicjansma/resourcetiming-compression.js)
644 | [Javascript Performance APIs](https://developer.mozilla.org/en-US/docs/Web/API/Performance)
645 | [Javascript Navigation Timing API](https://developer.mozilla.org/en-US/docs/Web/API/Navigation_timing_API)
646 | 647 | # QA Automation 648 | [Learn headless browser automation](https://theheadless.dev/)
649 | [Playwright](https://playwright.dev/)
650 | [QA Wolf (Playwright scripts generation)](https://github.com/qawolf/qawolf)
651 | [Headless Recorder (Playwright/Puppeteer scripts generation)](https://github.com/checkly/headless-recorder)
652 | [Puppeteer](https://pptr.dev/)
653 | [Selenium](https://www.selenium.dev/)
654 | [Cypress](https://www.cypress.io/)
655 | [mimesis (fake data generator)](https://github.com/lk-geimfari/mimesis)
656 | 657 | # Tools 658 | [htop](https://github.com/hishamhm/htop)
659 | [gtop](https://github.com/aksakalli/gtop)
660 | [nvtop](https://github.com/Syllo/nvtop)
661 | [k6 (load testing)](https://k6.io/)
662 | [dnstrace](https://github.com/rs/dnstrace)
663 | [upx](https://upx.github.io/)
664 | [bat](https://github.com/sharkdp/bat)
665 | [httpie](https://github.com/jakubroztocil/httpie)
666 | [smenu](https://github.com/p-gen/smenu)
667 | [awesome tmux](https://github.com/rothgar/awesome-tmux)
668 | [py-spy (python profiler)](https://github.com/benfred/py-spy)
669 | [kubespy](https://github.com/pulumi/kubespy)
670 | [up](https://github.com/akavel/up)
671 | [doh](https://github.com/picatz/doh)
672 | [fx](https://github.com/antonmedv/fx)
673 | [jid](https://github.com/simeji/jid)
674 | [dive](https://github.com/wagoodman/dive)
675 | [nnn](https://github.com/jarun/nnn)
676 | [ethr](https://github.com/Microsoft/Ethr)
677 | [termshark (CLI UI for Wireshark)](https://github.com/gcla/termshark)
678 | [xdpcap (tcpdump for XDP)](https://github.com/cloudflare/xdpcap)
679 | [flan (nmap based vulnerability scanner)](https://github.com/cloudflare/flan)
680 | [broot (files)](https://github.com/Canop/broot)
681 | [bandwidth](https://github.com/imsnif/bandwhich)
682 | [sandmap](https://github.com/trimstray/sandmap)
683 | [duf (advanced du)](https://github.com/muesli/duf)
684 | 685 | # Misc 686 | [High Scalability/Availability/Stability articles list](https://github.com/binhnguyennus/awesome-scalability)
687 | [Another github repo](https://github.com/rShetty/awesome-distributed-systems)
688 | 689 | # Videos 690 | [Kafka 2017 Summit](https://www.confluent.io/kafka-summit-sf17/resource/)
691 | [CppCon 2017](https://www.youtube.com/playlist?list=PLHTh1InhhwT6bwIpRk0ZbCA0N2p1taxd6)
692 | [@Scale 2017](https://atscaleconference.com/videos-articles/)
693 | [Strange Loop 2017](https://www.youtube.com/channel/UC_QIfHvN9auy2CoOdSfMWDw)
694 | [FOSDEM 2018](https://www.youtube.com/user/fosdemtalks/videos)
695 | [Computer Architecture course taught at ETH Zürich in Fall 2017](https://www.youtube.com/playlist?list=PL5Q2soXY2Zi9OhoVQBXYFIZywZXCPl4M_)
696 | [GrafanaCon 2018](https://www.youtube.com/playlist?list=PLDGkOdUX1UjpXR6BexaDoOIc0ksE2MzFI)
697 | [SREcon 2018](https://www.youtube.com/playlist?list=PLbRoZ5Rrl5lcszsvhnb4P9Ds4pSmVtkfp)
698 | [KubeCon + CloudNativeCon 2018](https://www.youtube.com/playlist?list=PLj6h78yzYM2N8GdbjmhVU65KYm_68qBmo)
699 | [Networking @Scale 2018](https://code.fb.com/core-data/networking-scale-2018-recap/)
700 | [Highload++ Siberia 2018](http://www.highload.ru/siberia/2018/)
701 | [GrafanaCon 2019](https://www.youtube.com/playlist?list=PLDGkOdUX1UjqKc3ryyoSpWZvs7yktklQr)
702 | [SREcon 2020 Americas](https://www.youtube.com/playlist?list=PLbRoZ5Rrl5lfLXUjFjS0mP1XzNzNZMhYN)
703 | [FAST '21](https://www.youtube.com/watch?v=yjme8LOyhfY&list=PLbRoZ5Rrl5lckayzBszGg_Pq6O1nq5EdV)
704 | --------------------------------------------------------------------------------