A T T E S T
A T T E S T A T T E S T A T T E S T Application (Java) Database - - PDF document
A T T E S T A T T E S T A T T E S T Application (Java) Database - - PDF document
A T T E S T A T T E S T A T T E S T Application (Java) Database 1 2 3 Database B C A E D F I G H J L M K O R N P S Q D2 D1 D3 D4 A T T E S T A T T E S T Testing Exposing externally visible internal stats /
A T T E S T
A T T E S T
Application (Java) Database
Database
2 3 1
A
D4
B C J S P Q G L I
D2 D3
H K R M D O N F D1
E
A T T E S T
A T T E S T
“Testing externally visible behaviour as user would see it.” “Exposing internal stats / metrics for debugging”
A T T E S T
AWS Application Load Balancer monitoring only Zipkin distributed tracing Prometheus and alertmanager StatusCake MAOR metrics, grafana, linkerd dashboard
A T T E S T
AWS Application Load Balancer monitoring only Zipkin distributed tracing Prometheus and alertmanager StatusCake MAOR metrics, grafana, linkerd dashboard
BackendConnectionErrors HealthyHostCount HTTPCode_Backend_2XX, HTTPCode_Backend_3XX, HTTPCode_Backend_4XX, HTTPCode_Backend_5XX HTTPCode_ELB_4XX HTTPCode_ELB_5XX Latency RequestCount SpilloverCount SurgeQueueLength UnHealthyHostCount
A T T E S T
AWS Application Load Balancer monitoring only Zipkin distributed tracing Prometheus and alertmanager StatusCake MAOR metrics, grafana, linkerd dashboard
app app Requires code change; HTTP Proxy
app app app
A T T E S T
A T T E S T
AWS Application Load Balancer monitoring only Zipkin distributed tracing Prometheus and alertmanager StatusCake MAOR metrics, grafana, linkerd dashboard
A T T E S T
Code Infrastructure
Code Infrastructure
Server Containers Instances Scheduler Biz / Application Logic Service Discovery Log shipping Connection pooling Logging Timeouts / Retries TLS Load Balancing
Code Infrastructure
Server Biz / Application Logic Service Discovery Log shipping Connection pooling Logging Timeouts / Retries TLS Containers Instances Scheduler Load Balancing
app app
app
app app app app app app
app app
A T T E S T
request_total response_total response_latency_ms route_request_total route_response_latency_ms route_response_total
A T T E S T
apiVersion: linkerd.io/v1alpha1 kind: ServiceProfile metadata: annotations: name: phone-verification.default.svc.cluster.local namespace: default spec: routes:
- condition:
method: POST pathRegex: /verification name: POST /verification responseClasses:
- condition:
status: min: 409 isFailure: false timeout: 100ms
- condition:
method: GET pathRegex: /verification/\d+ name: GET /verification/{code} responseClasses:
- condition:
any:
- status:
min: 404
- status:
min: 401 isFailure: false timeout: 50ms
A T T E S T
A T T E S T
demo
A T T E S T
A T T E S T
➔ ➔ ➔ ➔ ➔
◆ ◆
A T T E S T
🎊
@askattest medium.com/attest-engineering @zakknill