PREPARATION / PHASE TWO
THE AWS INTERVIEW FIELD GUIDE

Understand the decision.
Explain the trade-off.

Work through the questions in your screenshots, follow the reasoning behind each answer, and build the technical depth to handle the next question.

READ
REASON
REHEARSE
111reconstructed questions
35technical deep dives
65,342words of technical background
329terms in your register
A ROUTE THROUGH THE MATERIAL

Build understanding, then rehearse.

20 verified Ralph passes

How to use the five-point scale

The photographs ask about effectiveness. A 5 means the action strongly fits the stated need; a 1 means it does little to help or conflicts with the constraints. Evaluate each action independently. Middle labels in this guide are study aids when the photo only labels the endpoints.

See reasoning for every level →

What the source material can tell us

This reconstructs the visible material in 93 supplied images, including cropped items and overlaps. Recommendations are reasoned study judgments, with assumptions and alternatives. Work-style and experience items use reflection guidance. The photos do not supply an official answer key or establish a future interview’s exact content.

Inspect the source coverage →
01 / MAKE THE CALL

The reconstructed quiz

Read the scenario, weigh the constraints, and explain your choice. Study recommendations are educational judgments.

02 / FOLLOW THE MECHANISM

The technical background

A deep reference built around the concepts in your quiz: internals, decisions, failure modes, worked examples and interview follow-ups.

TRY THE TRADE-OFF

Does the recovery plan meet the target?

Recovery Time Objective (RTO) limits acceptable downtime. Recovery Point Objective (RPO) limits how far back the recoverable data may be. Change the values to test a simplified backup-and-restore plan.

Model assumptions: recovery steps run sequentially; “other” includes detection, decisions, validation and routing. Every scheduled backup succeeds, is recoverable, and is immediately available in the surviving location. There is no log replay or newer replica. Under those assumptions, data age can approach one full backup interval. Missed or delayed copies make it worse. These calculated bounds are teaching estimates, not proof from a recovery drill.

Networking & request delivery

Global latency: CDN cache keys, CloudFront and Global Accelerator

Separate propagation, origin work and queueing before choosing edge delivery, accelerated transport or regional application placement. Cache identity and state placement determine whether a fast response is also correct.

Networking & request delivery

DNS and Route 53: resolution, routing and health

DNS returns information that clients and resolvers cache; it does not forward application connections. Design records, TTL changes and health decisions around that distributed behavior.

Networking & request delivery

VPC routing, security groups, NACLs and NAT

Trace destination selection and both packet directions before changing access controls. Routes, stateful security groups, stateless subnet filters and address translation each have a distinct role.

Networking & request delivery

Hybrid and private connectivity: routing hubs and network diagnosis

Choose full network connectivity or narrowly exposed services deliberately, then verify DNS, forward and return routes, encryption and the application operation. A connected tunnel or passing configuration model is only one layer of evidence.

Networking & request delivery

HTTP request lifecycle: TCP, TLS, redirects, proxies and sessions

Trace the original browser action through connection setup, intermediaries, method changes and persistence. Relate session placement and load balancing to the actual unit of work instead of trusting a final success status.

Compute & application design

ALB and NLB: target health, routing and failure behavior

Follow requests and connections through healthy, draining and failed targets, and distinguish traffic routing from instance replacement and session recovery.

Compute & application design

Durable sessions: authentication, cookies, JWT and shared stores

Preserve login continuity across replaceable compute while maintaining expiration, revocation and authorization guarantees.

Compute & application design

Horizontal and vertical scaling with EC2 Auto Scaling

Locate the limiting resource, calculate useful capacity and design a scaling control loop that survives startup delays, dependency limits and instance loss.

Compute & application design

Compute choices: containers, ECS, EKS, serverless and modernization

Choose execution and deployment boundaries from workload constraints, preserving immediate responses, reliable batch completion and independently releasable business capabilities.

Compute & application design

Fast startup: golden AMIs, Image Builder, bootstrap and warm pools

Move deterministic installation ahead of demand and preserve rapid, reproducible startup through controlled images, readiness gates, secret delivery and safe patch rollout.

Reliability & data recovery

RTO, RPO and SLO: quantitative recovery and dependency budgets

Define recovery promises in terms of customer transactions, then reconcile backup age, measured restoration time, availability budgets and tier dependencies.

Reliability & data recovery

Disaster recovery strategies: tested failover, failback and capacity

Choose recovery infrastructure from explicit failure domains, capacity and durability requirements, then rehearse traffic transfer and a safe return to the original site.

Reliability & data recovery

Replication and consistency: synchronous commits, geography and zero RPO

Follow a write through local durability, remote acknowledgement and replay, then analyze the latency, availability and consistency costs of zero data loss.

Reliability & data recovery

Backup, PITR, retention and archive: proving an end-to-end restore

Build recoverable history from snapshots and logs, preserve the entire retention chain, and measure restoration through verified application behavior.

Operations & observability

CloudTrail audit and CloudWatch logs: evidence from actor to archive

Choose evidence sources from the actions that must be explained, then engineer collection, attribution, protected retention and tested detection across the full log pipeline.

Operations & observability

Percentiles, traces and alarms that represent customer outcomes

Build measurable service objectives, interpret latency distributions correctly, trace causal paths and route alarms to actions with explicit noise and missing-data behavior.

Operations & incident response

Incident command, evidence-led troubleshooting and customer trust

Coordinate restoration, investigation and communication through explicit ownership, falsifiable hypotheses, controlled changes and evidence that the customer journey has recovered.

Operations & performance diagnosis

Linux, database connections and search: diagnose the constrained layer

Classify failures through the application path, distinguish resource use from saturation, and collect bounded evidence before restarting processes, scaling hosts or changing database behavior.

Security, identity & data protection

SQL injection, XSS and sessions: WAF, Shield and network defense

Follow untrusted input from the network into SQL and browser interpreters, then choose controls that prevent exploitation and contain the damage. Compare application fixes, request filtering, DDoS protection and tier isolation against the photographed alternatives.

Security, identity & data protection

IAM authorization: roles, least privilege and account governance

Build permissions from a real workload’s actions, resources and trust relationships, then evaluate the complete authorization path. Separate account guardrails, workload identity, network access and end-user authorization.

Security, identity & data protection

Credentials and secrets: rotation, exposed keys and incident containment

Distinguish passwords, access keys, temporary role sessions and application tokens before choosing a containment action. Treat secret rotation as a coordinated state transition and verify that stolen authority can no longer perform meaningful operations.

Security, identity & data protection

Encryption, KMS and TLS: data protection and shared responsibility

Protect the entire document lifecycle with classification, correct readership, encryption and recoverable keys. Follow envelope encryption and TLS boundaries, then test enforcement and service-specific operational responsibility.

Data, databases & storage

Relational RDS and Aurora: transactions, indexes, query plans and release recovery

Follow a database request from transaction snapshot and index access to durable commit, then diagnose a report regression and design a credible release recovery path.

Data, databases & storage

DynamoDB: partition keys, hot traffic, consistency and NoSQL decisions

Design access patterns before keys, calculate hot-partition pressure, and choose consistency and lifecycle behavior that preserve the application invariant.

Data, databases & storage

ElastiCache: cache keys, invalidation, TTL and stampede control

Calculate the work a cache removes, preserve freshness and tenant isolation, and keep cold starts or cache outages from overloading the source of truth.

Data, databases & storage

S3, EBS and EFS: object, block and file storage through failure and lifecycle

Choose storage from access semantics and failure scope, calculate performance and restore budgets, and preserve data protection while changing storage tiers.

Architecture, migration & integration

IaaS, PaaS and SaaS: ownership decisions from customer requirements

Translate customer outcomes into control boundaries, measurable acceptance tests and an operating model, then choose infrastructure, managed platforms or finished software per component.

Architecture, migration & integration

Migration and modernization: discovery, staged cutover and recoverable rollback

Build a dependency-based migration plan with observable data convergence, explicit writer ownership and release compatibility that makes rollback credible.

Architecture, migration & integration

SQS, SNS, EventBridge and Kinesis: delivery, replay and idempotent effects

Choose queues, fanout, event routing or retained streams from consumption semantics, then protect accepted work across retries, partitions and recovery.

Architecture, migration & integration

Availability by design: dependencies, tier recovery and architecture reviews

Evaluate the complete customer transaction and recovery path, quantify common dependencies, and turn review findings into tested improvements with owners.

Architecture, migration & integration

Multi-cloud and vendor lock-in: data gravity, exit tests and independent failure domains

Distinguish an affordable provider exit from real-time multi-cloud recovery, and compare managed capability against the measured cost of portability and independent operation.

Customer engineering & communication

Customer discovery: business outcomes, technical workshops and accountable decisions

Translate customer concerns into measurable requirements, collect the evidence that changes a decision, and close workshops with a bounded recommendation and accountable next steps.

Cost & capacity engineering

Cost engineering: TCO, FinOps, rightsizing and useful work

Build a reconciled cost model from usage and customer outcomes, measure rightsizing safely, and select commitments or interruptible compute without hiding reliability and operating costs.

Performance & operations

Performance and capacity: diagnose the limiting path and prove a test plan

Model useful throughput across application, network, storage and database boundaries, then use bounded observations and representative load tests to validate a causal improvement.

Customer engineering & delivery

Technical writing and documentation engineering: evidence, API contracts and release accuracy

Serve executives and engineers from a consistent evidence base, document why and how a solution works, and keep API specifications and runbooks synchronized with released behavior.

Networking & request delivery · 1,407 words · 7 min

Global latency: CDN cache keys, CloudFront and Global Accelerator

Separate propagation, origin work and queueing before choosing edge delivery, accelerated transport or regional application placement. Cache identity and state placement determine whether a fast response is also correct.

↑ Chapter index

Build a latency budget before selecting a service

The worldwide-web scenario fixes an initial US origin and asks for a cost-effective improvement. Start with the user journey: opening a catalogue, searching, signing in and placing an order have different critical paths. Separate name resolution, connection establishment, propagation, server queueing, application execution, dependency calls, transfer and rendering. A single average response time conceals both geography and tail behavior. Record regional median and ninety-fifth-percentile latency, payload size, cache status and whether the connection was reused. Ask which journeys must meet which deadline and whether the hosting location is negotiable.

For an illustrative established connection, assume a remote round trip costs 160 milliseconds, origin computation costs 35 milliseconds and queueing costs 5 milliseconds. First-byte time is approximately 200 milliseconds before large-payload transfer. Removing all queueing saves only 5 milliseconds; adding servers in the same Region cannot remove the 160-millisecond journey. If queueing instead rises to 900 milliseconds during a sale, useful additional workers can matter greatly. This is why the quiz's discovery action is strong and its unqualified extra-server action is weak. The arithmetic identifies a hypothesis; measurement must establish which case actually applies.

Bandwidth and latency also answer different questions. A large image can be transfer-bound even when its first byte arrives quickly. A checkout with five sequential remote calls can be round-trip-bound despite moving few bytes. Batch independent reads, eliminate unnecessary serial dependencies and reduce payloads before concluding that an entire regional stack must be duplicated. A change should improve the measured journey rather than an unrelated infrastructure metric.

Follow a cache hit and a cache miss

A content delivery network, or CDN, stores reusable representations near viewers. In CloudFront, a valid object with the matching cache key can satisfy a viewer request at an edge location; a miss requires an origin fetch. A hit therefore avoids origin work for that request. The key is an identity decision: CloudFront can include selected query parameters, headers and cookies, and unnecessary variation lowers reuse. Understand the cache key

Imagine /catalogue?language=en&currency=EUR&campaign=summer. If language and currency alter the representation, omitting either can return the wrong product description or price. If campaign changes only analytics, including it creates duplicate variants without improving correctness. An origin request policy can forward additional values without including them in the cache key. CloudFront origin request policies keep these decisions separate. A session cookie that selects a personal basket makes indiscriminate shared caching dangerous; disabling caching for that route is often simpler than retaining a separate object for every session.

Define public asset, public catalogue and authenticated transaction behaviors separately. Test two users with distinct synthetic baskets, different currencies, logout and authorization failure. A high hit ratio achieved by mixing private responses is a defect. Think about the representation's full lifetime: a safe response at creation can become stale after a permission or price change. Cacheability is an application contract that the delivery configuration must implement.

Worked origin-load and latency calculation

Suppose a site receives 10,000 requests per second. Eighty percent are eligible public reads, and their measured warm-cache hit ratio is 90 percent. Origin demand is 10,000 × [(1 − 0.80) + 0.80 × (1 − 0.90)] = 2,800 requests per second. The origin avoids 7,200 requests, a 72 percent reduction, rather than 90 percent of all traffic. If hits take 25 milliseconds and all other requests take 200 milliseconds, a simple request-weighted mean is 0.72 × 25 + 0.28 × 200 = 74 milliseconds. This estimate does not compute the ninety-fifth percentile or promise that checkout becomes faster.

The assumptions matter. A cold cache sends much more work to the origin. A sudden catalogue update can synchronize expirations, while arbitrary query parameters can generate many unique objects. Rehearse both a normal warm run and an intentionally cold test against a bounded staging workload. Provision miss capacity and protect expensive dependencies with concurrency limits. Prefer versioned immutable asset names so a new release can coexist with the previous one; keep mutable entry pages on a shorter freshness policy. Estimate saved origin work in CPU time or database calls as well as request counts, because avoiding a cheap icon is different from avoiding an expensive catalogue query.

Freshness and availability have explicit limits

CloudFront cache policies define minimum, default and maximum time to live, or TTL. A positive minimum TTL can make CloudFront cache a response despite origin private, no-store or no-cache directives. Setting all three policy TTL values to zero disables caching. Review the attached behavior and policy together rather than trusting one response header. Understand cache policies

CloudFront origin groups can retry eligible requests against a secondary origin for configured failure responses, but this failover applies only to GET, HEAD and OPTIONS. It does not supply POST or PUT failover. A cached catalogue remaining available during an origin outage does not establish that orders can be accepted. Request and response behavior for origin groups

For a fictional shop, write the recovery test as “a customer can retrieve a catalogue, authenticate and receive a durably recorded order identifier.” This makes missing dependencies visible. A backup origin with old assets, absent secrets or an unavailable identity service is not a usable replacement. Deliberately test origin failure, stale content and failed writes separately. Decide which stale public responses are acceptable; private authorization and inventory commitments need their own correctness rules.

Choose transport acceleration or regional execution for the remaining path

A standard Global Accelerator supplies static anycast entry addresses and steers traffic over the AWS global network using endpoint health, client location and configured policies. Supported standard endpoints include Application Load Balancers, Network Load Balancers, EC2 instances and Elastic IP addresses. This is transport steering, not a response cache or a mechanism for moving application data. What is AWS Global Accelerator?

Global Accelerator listeners support TCP and UDP, with endpoint groups associated with Regions. Global Accelerator listener documentation supports considering it for a non-HTTP protocol where a web response cache is inapplicable. Choose the protocol path first; the existence of an edge network does not make these services interchangeable.

MechanismUseful interventionUnresolved constraint
CloudFrontServe reusable web responses at the edgePrivate transactions and misses still need an origin
Global AcceleratorProvide stable entry addresses and an accelerated pathEvery operation still needs its selected endpoint
Route 53 steeringSelect a destination through DNSCached answers and existing connections persist
Regional compute and dataExecute suitable work closer to usersReplication, write ownership and operational duplication

Moving a web tier to Europe while it makes three sequential calls to a US database may worsen the design. A local read replica can help stale-tolerant reads, but an asynchronously replicated value cannot automatically satisfy read-after-write requirements. Regional write ownership, conflict handling and a clear consistency model must precede active-active writes. For a site-level zero recovery point objective, acknowledged commits must survive the relevant site loss. A remote synchronous acknowledgement includes network travel: if a stated 120 milliseconds is round-trip delay, that is a different floor from 120 milliseconds one way. PostgreSQL provides a concrete synchronous-replication example in which a commit waits for a standby acknowledgement and incurs network round-trip delay. PostgreSQL synchronous replication documents the durability setting behind that wait. Throttling can reduce excess queueing; it cannot shrink propagation time.

Diagnose a delivery change and judge its economics

The following bounded command is illustrative and should target an authorized test endpoint. It performs one GET, discards the body and reports cumulative timings. Use subtraction to estimate phases: connection time minus lookup time approximates TCP setup; TLS completion minus connection time approximates handshake time. First-byte time also includes work beyond the client connection, so it is not a pure database metric. curl — How To Use

curl --silent --show-error --connect-timeout 3 --max-time 10 \
  --output /dev/null \
  --write-out 'dns=%{time_namelookup} connect=%{time_connect} tls=%{time_appconnect} first=%{time_starttransfer} total=%{time_total}\n' \
  https://shop.example.com/catalogue

Compare the same content and user state from representative markets. Inspect cache-status and age headers alongside origin request logs, and test a cacheable asset separately from a private transaction. A regional outage drill must verify destination capacity, replication state, writer fencing and client reconnection before routing traffic. Multi-AZ redundancy handles a different failure boundary from multi-Region recovery; merely placing mandatory dependencies in two Regions can make either failure fatal.

Build the cost comparison from request charges, bytes delivered, origin work avoided, logging, invalidations, acceleration and replicated compute/data. Use current regional prices when purchasing; this chapter supplies no fixed price quote. Two complete regional stacks add deployment, monitoring and recovery work even when idle. The defensible recommendation is a measured edge trial for reusable content, followed by targeted transport or regional changes where the remaining user journey justifies them.

Keep in mind

  • Separate propagation from queueing before adding capacity.
  • Every cache-key omission is a correctness assumption; every unnecessary dimension reduces reuse.
  • Origin failover, traffic steering and durable regional recovery solve different parts of the request path.

At the whiteboard

The cache hit ratio improved to 90 percent, but purchases are still slow. What would you investigate?
First establish the denominator: 90 percent of eligible images may represent little of the purchase path. Trace the authenticated transaction, including serial API calls, remote database acknowledgements and queueing. Compare warm and cold observations and verify private responses are uncached. Improve the slow dependency or regional data design only after identifying its contribution; do not tune the cache to mix user state.
Would you recommend active-active Regions for the global-latency question?
Only after identifying an uncached latency or recovery requirement that warrants the cost. Specify which Region owns each write, how readers observe recent writes, how conflicting writers are prevented during a partition, and whether the surviving Region has usable capacity and dependencies. A CDN is a strong economical candidate for reusable reads; active-active is a larger application and data decision, not simply two deployment locations.

Last verified 2026-09-05

Networking & request delivery · 1,491 words · 7 min

DNS and Route 53: resolution, routing and health

DNS returns information that clients and resolvers cache; it does not forward application connections. Design records, TTL changes and health decisions around that distributed behavior.

↑ Chapter index

A name lookup is a separate transaction

Domain Name System, or DNS, resolution translates a name into records such as addresses. A browser or application can first consult its own cache and the operating system's resolver. A recursive resolver answers from cache when possible; otherwise it follows the relevant delegation chain to authoritative name servers. Route 53 can host the authoritative zone. The application then opens its connection to a returned address. Subsequent HTTP requests may reuse that connection without performing another lookup, so a record change does not move an established stream.

Distinguish the registrar's delegation, the authoritative zone and the recursive answer. Editing a perfectly valid record in a hosted zone that the domain does not delegate to has no effect on public clients. Conversely, seeing an old answer from a resolver does not prove the authoritative edit failed. Cache lifetime, local overrides, a private namespace and a different record type can all explain divergence. Write down the exact fully qualified name, A or AAAA query, resolver address, response code, answer and remaining TTL before changing anything.

Choose an address record, an alias or a canonical name

An A record maps a name to an IPv4 address; an AAAA record supplies IPv6. For the photographed internal portal with an address but no existing DNS hostname, an A record is the direct IPv4 answer. A CNAME points to another name, so it does not manufacture the missing address mapping. Values specific for simple records

A Route 53 alias can target supported AWS resources or qualifying records and can be used at the zone apex, where a CNAME is unsuitable. It is an AWS DNS feature, not a universal alias to any arbitrary destination. Prefer a supported alias to a managed load balancer over copying its current addresses into fixed A records. Alias TTL behavior depends on the target rather than always exposing an independently editable value. Choosing between alias and non-alias records

For a fictional private portal, portal.corp.example.com A 10.20.4.18 gives staff a stable name while the current server address is tracked operationally. Name resolution alone supplies neither a route nor access permission. The staff network must reach that private address, the service must listen on its intended port, and the certificate must identify the hostname. If the instance address can change after replacement, automate record ownership or put a suitable stable service endpoint in front of it. Also decide who updates or removes the record at retirement.

Worked migration: lower TTL before the old cache expires

The quiz specifies a migration in 72 hours and a current TTL of 86,400 seconds, or 24 hours. Lower the TTL now, for example to 300 seconds, and leave the old destination working while prior answers age out. A resolver that fetched the old record just before the reduction can retain it for nearly the old 24-hour lifetime; the new five-minute TTL cannot retroactively alter that cached answer. AWS recommends a shorter TTL before a change, followed by an increase after verification. Values specific for simple records

In a controlled timeline, reduce TTL at T minus 72 hours. By approximately T minus 48 hours, ordinarily compliant caches of the previous positive answer have had a full old lifetime to expire. Verify the shorter value from authoritative and representative recursive servers. At T, change the address after testing the destination. A resolver that fetched the old address just before T can still use it for approximately five minutes. Keep both destinations compatible through a measured drain and rollback window instead of deleting the old server at minute five.

That five minutes is not a universal service-restoration guarantee. Application caches, existing connections, failures to refresh, negative caching and serve-stale resolver behavior can extend observed convergence. Rollback is another distributed update: some users may reach each site during either direction of the change. For writes, use a shared authoritative data path or an explicit migration ownership protocol; two independently writable databases can diverge while DNS behaves correctly. Lowering TTL increases query frequency and dependence on resolution, so choose the short-TTL window deliberately.

Routing policy selects answers rather than individual web requests

Simple routing suits a straightforward destination. Weighted routing selects resources in configured proportions; failover expresses an active-passive arrangement. Latency routing chooses among configured regional resources using latency information. Geolocation follows user location policy, while geoproximity considers resource location and bias. Multivalue answers can return up to eight healthy records, but do not replace a connection-aware load balancer. Choosing a routing policy

For a 90:10 weighted rollout, expect approximate proportions across eligible DNS decisions, not exactly ten percent of purchases. One resolver's answer may serve many clients, and long-lived connections amplify unequal traffic volumes. Validate actual regional request counts and business outcomes. If a ten-percent cohort must be stable per account, make that an application or session-routing decision rather than assuming DNS weights provide cohort identity.

Route 53 latency routing uses observed latency information to AWS Regions, not a live probe of every application's current queue. Resolver location and, where supported, the EDNS client-subnet extension influence the location estimate. A nearby Region with a saturated database can therefore offer worse application latency. Latency-based routing Measure the entire transaction and combine routing policy with meaningful health and capacity signals. Geolocation also is not a complete data-residency control: enforcement must address storage, replication and actual access paths.

Health is an input with its own failure modes

Route 53 health checks can monitor an endpoint, combine other health checks or consume a CloudWatch alarm's status. Associate the resulting decision with the intended DNS record; creating a check alone does not configure failover. Creating Amazon Route 53 health checks A shallow page returning success while all order writes fail is a poor transaction-readiness signal. Conversely, a deep check tied to a shared optional dependency can remove every otherwise useful endpoint simultaneously.

Choose a bounded, representative readiness operation with explicit success criteria, timeouts and ownership. Do not run real purchases as unbounded health probes. Separate “process is alive,” “instance can serve this request” and “Region is safe to accept writes.” Fencing a former writer and establishing destination data readiness belong in the recovery process, not in an arbitrary DNS response.

Do not assume unhealthy means the address will never be returned. For applicable sets of health-checked records, Route 53 can treat all records as healthy when every candidate is unhealthy; the exact fallback depends on policy. When both health-checked primary and secondary failover records are unhealthy, Route 53 returns the primary. Test the all-unhealthy case for the actual tree. How Amazon Route 53 chooses records when health checking is configured Public health-checkers cannot directly probe private addresses. Private-zone failover needs a suitable supported health signal, such as monitoring represented through a CloudWatch alarm, rather than exposing a database merely to make a public probe work. Configuring failover in a private hosted zone

Private DNS changes the namespace visible to a client

A private hosted zone is resolved in its associated VPC context and suitable connected resolution paths. If a matching private zone exists but the requested name/type is missing, Route 53 Resolver does not simply fall back to the public zone. AWS documents an NXDOMAIN response for this case. More-specific private namespaces and matching forwarding rules can also affect the chosen resolution path. Considerations when working with a private hosted zone

Imagine public example.com contains api.example.com, while a newly associated private example.com zone contains only portal.example.com. Public users still find the API, but affected private clients can lose its answer. Adding a public record cannot repair the missing private namespace entry. Compare a failing VPC workload with an unaffected client, inspect zone associations and forwarding rules, and decide whether a narrower private subdomain would reduce accidental shadowing. Treat DNS administration permissions as production routing authority; review changes and retain a known-good record set.

A bounded resolution and failover investigation

These commands illustrate read-only observations against names and addresses you own. The resolver address is an example private address, not an instruction to query an unknown internal server. Use the affected workload's configured resolver first, then the actual authoritative server when investigating a public zone.

dig +time=2 +tries=1 portal.corp.example.com A
dig +time=2 +tries=1 @10.20.0.10 portal.corp.example.com A
dig +time=2 +tries=1 shop.example.com AAAA
dig +time=2 +tries=1 shop.example.com NS

Compare the status and answer sections rather than only a short address list. NXDOMAIN points toward name visibility or existence; SERVFAIL suggests a resolution failure requiring more evidence; a timeout indicates no usable response within the test window. An unexpected AAAA answer can send dual-stack clients down a broken IPv6 path while IPv4-only tests succeed. Avoid flooding resolvers with repeated queries or treating one success as proof of every client's experience.

For failover, record detection time, authoritative decision time, observed resolver answers, client reconnection and successful business transactions. The recovery budget includes each stage and their overlap; DNS TTL alone is not the recovery time objective. Short TTLs, more health checks and resolver endpoints have operating costs, while long TTLs trade fewer queries for slower change. The interview answer should explain that trade and demonstrate a reversible cutover plan.

Keep in mind

  • Lower TTL early enough for previously cached values to expire.
  • DNS health changes future answers; they neither repair state nor migrate existing connections.
  • Investigate from the failing client namespace, including private zones and IPv6.

At the whiteboard

Why is reducing TTL at the moment of migration insufficient?
A resolver that cached the previous address retained the previous TTL. The authoritative server cannot recall that answer. Reduce TTL at least one old lifetime before the planned switch where possible, verify resolution, retain compatible old service and measure actual client drain. Keep write ownership safe during overlap and treat rollback as another period of mixed destinations.
The primary is unhealthy but some clients still reach it. Is Route 53 broken?
Check whether they reused a connection or cached answer, whether the intended health check is associated with the selected record, and how the actual routing tree handles all-unhealthy conditions. Compare authoritative answers with recursive answers and application destinations. Also verify that the health signal measures the relevant operation. These observations separate delayed client convergence from incorrect routing configuration or an incomplete readiness check.

Last verified 2026-09-05

Networking & request delivery · 1,539 words · 8 min

VPC routing, security groups, NACLs and NAT

Trace destination selection and both packet directions before changing access controls. Routes, stateful security groups, stateless subnet filters and address translation each have a distinct role.

↑ Chapter index

Start with addresses, subnet membership and route selection

A virtual private cloud, or VPC, supplies an address and routing environment. A subnet belongs to an Availability Zone and uses an associated route table, explicitly or through the main table. A route identifies a destination prefix and target; the local route ordinarily carries traffic within the VPC. A route grants a possible path, not application authorization. Subnet route tables

Classless Inter-Domain Routing, or CIDR, expresses how many leading address bits must match. In 10.10.1.0/24, the first 24 bits are fixed: 10.10.1.25 matches, while 10.10.2.25 does not. The remaining eight bits describe 256 address values; do not confuse this mathematical count with deployable host capacity in a particular cloud subnet, which has reserved addresses. The photographed firewall requirement uses this prefix as an administration-source restriction, not as permission for every service.

Route selection normally uses the longest matching prefix. With 10.30.0.0/16 → transit gateway, 10.30.8.0/24 → inspection target and 0.0.0.0/0 → NAT, a packet for 10.30.8.41 follows the /24. Adding a default route cannot override that more-specific path. Equal-prefix routes have additional priority rules; do not import one router product's tie-breaking assumptions into every AWS table. IPv4 and IPv6 route selection are independent. How route priority works

Walk an application-to-database exchange

Consider an application at 10.20.1.15 opening a TCP connection from ephemeral source port 49152 to a database at 10.20.2.25:3306. The operating system chooses an interface and gateway, the VPC supplies the destination path, and applicable network controls evaluate the exchange. The database must have a listener on 3306 and accept the application's identity after transport setup. A permitted route with a stopped listener still fails; a successful handshake with incorrect credentials also fails, for a different reason.

The response travels from database source port 3306 to application destination port 49152. Across subnet boundaries, a restrictive stateless design must permit the relevant outward and inward rules on both subnets. An inbound database rule for destination 3306 does not describe the return packet's destination port. Use the actual client's ephemeral range and any middlebox translation behavior rather than treating 49152 as a universal fixed value. The worked port is one connection, not a recommended broad production rule.

When only one application instance fails, compare its subnet association, network interface, attached security groups, source address and operating-system routing with a working instance. This is more discriminating than replacing the database or enlarging every server. When all instances fail after a change, compare the shared dependency path and change timeline. Preserve the specific observed error before attempting a corrective edit.

Security groups are stateful, additive allow sets

Security groups control associated resources and track connections. Responses to an allowed outbound request can return despite inbound rules, and responses to allowed inbound traffic can leave despite outbound rules. This stateful behavior is why each return packet does not require a separate reverse security-group permission. Control traffic to your AWS resources using security groups

Rules allow traffic; they do not contain explicit denies. Multiple attached groups contribute their permissions together. A restrictive group cannot cancel a second group's open database rule. In the same-VPC three-tier example, allow database port 3306 from the application security group and remove the all-sources database allowance. Referencing a group identifies eligible source interfaces; it does not copy that group's rules or authenticate the application's SQL user. Security group rules

The quiz deliberately leaves the application tier's public 443 allowance expected while identifying public database ingress as the defect. Repair the identified boundary without inventing an unrelated requirement. Verify that the intended application connects and that another workload with no approved role cannot initiate database connections. Retain database authentication, scoped grants and encryption: a compromised application on an allowed path can still misuse its permitted operations. Also review all associated groups, IPv6 allowances and any administrative exceptions.

Translate the exact stateful-firewall requirement

The photographed on-premises policy allows web access from anywhere, SSH only from 10.10.1.0/24, and no other new inbound traffic. In a conventional ordered stateful firewall, a conceptual rule list scoped to this server is: accept established legitimate response traffic under policy; permit new TCP 80 and 443 from any source; permit new TCP 22 from 10.10.1.0/24; deny other new inbound traffic. Confirm the actual product's evaluation semantics and earlier rules before implementing it.

New connectionExpected resultReason
External client to TCP 443AllowRequired web service
10.10.1.25 to TCP 22AllowApproved management prefix and service
10.10.2.25 to TCP 22DenyOutside the management /24
10.10.1.25 to TCP 3306DenyManagement origin does not authorize every port

In AWS security groups, express the required positive permissions and omit all other ingress permissions rather than adding a deny entry. For a dual-stack public server, separately define intended IPv6 web and administration access; an IPv4 /24 does not constrain IPv6. A bastion allowlist can narrow the server-login path, but does not revoke a stolen API credential or an existing session. The laptop-theft question therefore cannot be solved solely by creating an intermediate host. Network location is one condition, not a complete identity-control strategy.

NACLs require ordered rules and explicit return paths

A network access control list, or NACL, filters traffic entering or leaving a subnet. Rules are evaluated from the lowest number and stop on the first match; allow and deny actions are available. NACLs are stateless, so reply packets need applicable permission. They do not filter traffic merely routed within the same subnet. Control subnet traffic with network access control lists

In the database example, a reply can leave the database subnet yet be denied entering the application subnet because its destination is the client's ephemeral port. A lower-numbered broad deny can also hide a later narrow allow. Investigate both directions and rule ordering before broadening access. Keep a reviewable connectivity matrix so a correction restores only the intended exchange.

Blocking a confirmed hostile address can provide bounded containment, but a permitted connection can still carry SQL injection or browser-script content. A source-IP deny cannot discriminate two different payloads from the same allowed origin. Nor do these subnet controls solve every special AWS path: security groups and NACLs cannot block queries to AmazonProvidedDNS; use the relevant DNS filtering capability when required. Security group rules Application validation, authorization and suitable application-layer inspection must address threats carried over allowed ports.

Trace zonal public NAT and distinguish private translation

For a zonal public NAT gateway, a private subnet's internet route points to the NAT gateway, and the NAT subnet has an internet-gateway route. NAT maps the workload's private source to its own private address, and the internet gateway maps that address to the NAT gateway's Elastic IP. Return traffic is translated back. External systems cannot initiate unsolicited connections through this mapping. A private NAT gateway instead supports private routed destinations and does not acquire internet access by pointing at an internet gateway. NAT gateways

A public subnet route alone does not give an IPv4 instance a usable public address, and a security-group allowance alone does not create an internet path. Conversely, NAT is not a URL allowlist or an application firewall: a compromised workload may initiate allowed outbound requests. Native IPv6 outbound-only access can use an egress-only internet gateway; DNS64/NAT64 addresses the different case of IPv6 workloads reaching IPv4 destinations. NAT gateways

Zonal NAT is redundant within its Zone, but sharing one across Zones makes that Zone an egress dependency. Same-Zone NAT paths reduce that coupling. A NAT gateway cannot have a security group attached. Its connection capacity also has a destination-specific dimension: the documented zonal allowance is up to 55,000 simultaneous connections per IPv4 address per unique destination IP, port and protocol. NAT gateway basics A burst of many short connections to one API can therefore fail before aggregate bandwidth looks excessive. Check connection reuse, allocation errors and destination concentration.

Regional NAT, cost and a bounded verification plan

Current AWS documentation also describes regional NAT gateways, with a single gateway ID and automatic expansion across workload Zones. They do not require the zonal public-subnet arrangement and do not support private NAT. Automatic expansion into a new Zone can take up to 60 minutes, during which traffic may cross Zones. Therefore, explicitly label a per-Zone design as zonal and verify the chosen availability mode rather than asserting every NAT gateway is zonal. Regional NAT gateways for automatic multi-AZ expansion

Illustrative read-only commands below inspect the operating-system route and authorized AWS configuration. Substitute real resource IDs in your own account. The AWS calls describe configuration; they do not validate a live application exchange or modify routes.

ip route get 10.20.2.25
aws ec2 describe-route-tables --filters Name=vpc-id,Values=vpc-0123456789abcdef0
aws ec2 describe-security-groups --group-ids sg-0123456789abcdef0
aws ec2 describe-network-acls --filters Name=vpc-id,Values=vpc-0123456789abcdef0
aws ec2 describe-nat-gateways --nat-gateway-ids nat-0123456789abcdef0

Combine configuration with bounded positive and negative connection tests from the intended source classes, including a fresh connection after a rule change. Review the return path and state tracking rather than assuming an established session immediately disappears. Price egress using gateway deployment, processing volume, public addresses where applicable and cross-Zone transfer. Private service endpoints can avoid some NAT traffic, but introduce their own coverage and cost decisions. The economical design must retain required Zone resilience and deny unintended paths, rather than minimizing gateway count alone.

Keep in mind

  • A route supplies a next hop; an allow rule supplies permission; neither proves a listening, authenticated service.
  • Security groups combine permissions and track responses; NACLs use ordered stateless rules.
  • Distinguish zonal public NAT, private NAT and regional NAT before making availability or routing claims.

At the whiteboard

The database has a narrow application-group rule, but remains reachable from other hosts. Why?
Inspect every security group attached to the database, since any applicable allow can admit the connection. Confirm the tested source interface and any proxy or translation path. Remove the broad rule after verifying the required source path, then test a new connection from approved and unapproved hosts. Group membership is a network eligibility condition, so database users still need constrained privileges.
Why can an allowed database SYN still lead to a timeout?
The database may not listen, the reply can lack a route, or a stateless subnet filter can block the reply to the client ephemeral port. A middlebox can also see only one direction. Trace the complete tuple in both directions and compare configuration with observed traffic. A timeout is evidence of a missing completion, not proof that the database ingress group is the component at fault.

Last verified 2026-09-05

Networking & request delivery · 1,615 words · 8 min

Hybrid and private connectivity: routing hubs and network diagnosis

Choose full network connectivity or narrowly exposed services deliberately, then verify DNS, forward and return routes, encryption and the application operation. A connected tunnel or passing configuration model is only one layer of evidence.

↑ Chapter index

Choose the reachability boundary before choosing the link

A hybrid connection joins cloud and on-premises environments. Begin with the allowed communication matrix: which callers need which services, whether either side initiates connections, required throughput and latency, encryption, address ownership and failure tolerance. A private connection reduces exposure to public routing but does not establish trusted users. Two departments both using 10.0.0.0/16 also have an addressing conflict that installing a faster circuit cannot solve.

AWS Site-to-Site VPN provides IPsec connectivity between a customer gateway device and the AWS-side gateway arrangement. Each VPN connection includes two tunnels; configure and exercise both rather than treating one working tunnel as complete resilience. What is AWS Site-to-Site VPN? Internet-based VPN can be quicker to establish and useful for backup, but throughput, packet overhead and the public path must fit the workload.

Direct Connect supplies dedicated connectivity into AWS using virtual interfaces for relevant public or private access arrangements, including transit connectivity through suitable gateways. What is Direct Connect? It does not encrypt traffic by default. Use application TLS, supported IPsec designs or MACsec where its supported link scope meets the requirement; MACsec is not an automatic end-to-end substitute for application identity and encryption. Encryption in AWS Direct Connect Verify what is protected between each pair of termination points.

Worked topology growth: full mesh versus a hub

A full mesh of n independent segments requires n(n − 1)/2 undirected pairwise links. Ten segments need 45; twenty need 190. Doubling the estate adds 145 relationships and increases the total by about 4.22 times. A hub-and-spoke arrangement needs ten and then twenty spoke attachments respectively. The photographed requirement combines full interconnectivity, expected growth and limited operational capacity, so centralizing routing relationships is the strongest default. The arithmetic counts links, not every route, security policy or operational task.

VPC peering is nontransitive: peering A with B and B with C does not give A a route through B to C. Peering also rejects overlapping VPC CIDR configurations. How VPC peering connections work Adding a route to a nonexistent transit capability cannot make the topology work. A small stable set of direct relationships may still justify peering for simplicity or path economics; a selective mesh and hub can coexist if the resulting routes remain comprehensible.

A transit hub consolidates a dependency as well as management. A self-managed single routing appliance needs redundant placement, software maintenance, throughput planning and tested failover. A managed hub removes some appliance operations but still needs sound route policy and supported capacity. Full interconnectivity means paths exist; it does not require permitting every application port between every segment. Retain explicit trust boundaries and test them with negative reachability cases.

Follow a Transit Gateway packet and its return

AWS Transit Gateway is a regional layer-three router between attachments. An attachment associates with a transit gateway route table used to choose a next hop for traffic entering from that attachment. Route propagation controls which destination prefixes are learned into selected tables; association and propagation are different operations. VPC subnet routes still need to send the relevant destinations to the transit gateway. How AWS Transit Gateway works

In a fictional design, application VPC A is 10.20.0.0/16 and database VPC B is 10.30.0.0/16. A's application subnet sends 10.30.0.0/16 to the transit gateway. The table associated with A's attachment selects B's attachment for that prefix. B must have the corresponding usable delivery and return path; on the reverse direction, the table associated with B must select A for 10.20.0.0/16. A tunnel marked up does not establish any of these route decisions.

Route advertisements through Border Gateway Protocol, or BGP, communicate reachability; they are not proof that a database accepts queries. Check received and selected prefixes, more-specific routes, propagation policy and return-path preference. Stateful inspection makes asymmetry especially important: both halves of a flow must traverse a compatible inspection state path. Transit Gateway appliance mode can preserve the inspection attachment's Zone affinity for a flow, but cannot repair an omitted route or an unhealthy firewall. How AWS Transit Gateway works

Expose a service privately and resolve its name deliberately

A PrivateLink interface endpoint places service-access network interfaces in selected subnets. With the appropriate DNS configuration, a supported service name resolves to private endpoint addresses. This provides service-specific access rather than general transitive routing to every host in the provider's network. Interface endpoints have per-Zone provisioned-hour and data-processing costs. Access AWS services through AWS PrivateLink Review endpoint security groups, service permissions and identity authorization together; a private address alone does not grant an API operation.

For hybrid DNS, Route 53 VPC Resolver inbound endpoints accept resolution queries from connected networks, and outbound endpoints plus conditional rules forward selected names from the VPC to on-premises resolvers. What is Route 53 VPC Resolver? The physical or virtual connection must carry these packets, and the application data path remains a separate requirement. A successful private lookup can coexist with a blocked service port.

Suppose office clients need orders.aws.corp.example.com while cloud workers need directory.office.corp.example.com. Forward only each owned suffix toward its authority. If both sides forward the same unresolved namespace back to one another, the query can loop until it fails. Test each direction, both DNS transport modes where required, private-zone visibility and the application connection. Distinguish interface endpoints from gateway endpoint designs; selecting a private service-access mechanism requires checking that service's supported endpoint type and reachable client locations.

Capacity and failure constraints belong in the worked design

Assume an illustrative usable throughput of 800 megabits per second over a link with 80 milliseconds round-trip time. The bandwidth-delay product is 800,000,000 × 0.080 / 8 = 8,000,000 bytes, roughly 8 MB in flight to fill the path. A single transfer with only 1 MB of effective in-flight data would be bounded near 100 megabits per second before other limitations. This calculation is not a Direct Connect performance guarantee; it demonstrates why a high nominal circuit rate alone cannot explain actual throughput.

VPN encapsulation also reduces the payload fitting into a link's maximum transmission unit, or MTU. If small requests succeed but larger transfers stall, investigate packet sizing, retransmissions and Path MTU Discovery rather than immediately increasing application timeouts. Do not apply a guessed global MTU change in production. Reproduce the size-dependent behavior on a bounded test transfer, then correct the verified path constraint.

Plan independent failure domains for customer routers, providers, circuits and AWS connection locations. AWS Direct Connect resilience guidance distinguishes connectivity diversity from merely provisioning another logical interface. Resilience in AWS Direct Connect A VPN backup must carry the critical load when the primary fails; an idle tunnel with inadequate bandwidth can turn a failover into an overload incident. Compare circuit commitments, gateway/attachment costs, processing and transfer, endpoint charges, observability and engineering effort. Include restoration drills and lower-priority traffic shedding in the operating cost.

Diagnose from the failing workload network context

Begin with the precise error, UTC time, affected source, destination name and port, and recent changes. A resolver failure, connection timeout, refusal, certificate rejection and database login error imply different next observations. The search question's ping/traceroute proposal correctly targets a dependency but supplies incomplete tools: ICMP can be filtered or unsupported while HTTPS works, and a responding host does not demonstrate an application listener. A trace with missing hops may reflect probe handling rather than the failing data path.

The following examples are bounded diagnostics for an authorized test host and service. Replace addresses and names with your own. They make no configuration changes. A plain TCP test does not validate a database protocol, and TLS tests must match the service's actual protocol rather than assuming every database begins with a raw TLS handshake.

getent ahosts search.corp.example.com
ip route get 10.30.8.41
nc -zv -w 3 10.30.8.41 443
curl --silent --show-error --connect-timeout 3 --max-time 8 \
  --output /dev/null --write-out '%{http_code}\n' \
  https://search.corp.example.com/health
ss -tn

Test from the workload's container or network namespace when relevant, not only an administrator's laptop. Retain certificate verification and use a harmless readiness path. If TLS succeeds but an authenticated database operation fails, involve the database owner with the precise rejection and timestamp. Do not print tokens, passwords or full customer request bodies to gather evidence. A bounded diagnostic should isolate one layer and lead to the next justified check.

Combine observed flows with configuration analysis

VPC Flow Logs capture IP-traffic metadata associated with network interfaces and can help identify accepted or rejected traffic. They are not packet payload captures and cannot establish that an order committed. Logging IP traffic using VPC Flow Logs An ACCEPT record is evidence at its capture point; another component or the application can still fail. Missing records also need interpretation: capture scope, traffic exclusions, delivery and aggregation behavior limit what absence establishes. Flow log limitations

Reachability Analyzer builds a configuration model and checks a specified path without sending packets or analyzing the live data plane. A reachable result therefore does not demonstrate a running process, valid certificate, correct credentials or acceptable latency. It can identify a blocking component, but additional blocks may remain after that one is repaired. How Reachability Analyzer works Pair its result with a bounded live test and application logs; do not treat either alone as comprehensive proof.

For a failed search request, correlate the web request identifier with the attempted backend destination and the relevant flow interval. If the network path is permitted but the server reports authentication failure, broadening NACLs adds risk without fixing the problem. If an inline custom inspection server is the failing dependency, evaluate capacity, redundant protected paths and the documented fail-open or fail-closed policy. A basic port filter cannot inspect encrypted HTTP payloads; application-aware inspection needs deliberate TLS termination or an appropriate inspection design. Restoration should follow the narrowest evidenced correction, with positive and negative path verification afterward.

Keep in mind

  • Hub attachments grow linearly, while pairwise full-mesh relationships grow quadratically.
  • Private transport, private DNS and authorization are separate requirements.
  • Combine configuration models, observed traffic and application outcomes; none alone proves end-to-end health.

At the whiteboard

Twenty VPCs need to communicate. Does Transit Gateway automatically finish the design?
No. It reduces pairwise attachment complexity, but each source subnet still needs a relevant route, attachment associations and propagation must yield the intended destination and return paths, and security policy remains explicit. Check address overlap, enabled Zones, inspection symmetry, capacity and cost. Verify a representative allowed-and-denied matrix and test a failure path rather than relying on an attachment status.
A Direct Connect circuit and BGP session are up, but a database connection times out. What next?
Confirm the resolved destination from the failing workload, selected prefix and next hop, forward and return route tables, security controls and listener. Compare small and larger transfers if symptoms suggest MTU issues. Use flow metadata and configuration analysis to narrow the fault, then test the actual database protocol securely. Circuit and BGP health show underlying connectivity components, not successful service delivery.

Last verified 2026-09-05

Networking & request delivery · 1,783 words · 9 min

HTTP request lifecycle: TCP, TLS, redirects, proxies and sessions

Trace the original browser action through connection setup, intermediaries, method changes and persistence. Relate session placement and load balancing to the actual unit of work instead of trusting a final success status.

↑ Chapter index

Resolve the name, establish transport and negotiate protection

A web journey begins with a URL and an intended operation. The client obtains an address through DNS or a cache, selects a route and connects to a destination. For a new TCP connection, the ordinary three-way handshake exchanges SYN, SYN-ACK and ACK while establishing sequence state. TCP supplies a reliable ordered byte stream; receiving transport acknowledgements does not prove that an application parsed or durably stored those bytes. RFC 9293: Transmission Control Protocol

For HTTPS over TCP, TLS then negotiates cryptographic parameters and authenticates the server through certificate validation before ordinary protected application traffic. TLS 1.3 reduces handshake latency, but resumed early data has replay considerations and must not be treated as universally safe for state-changing operations. RFC 8446: The Transport Layer Security Protocol Version 1.3 A browser lock indicator describes protection to the TLS endpoint; if a reverse proxy terminates TLS, its onward connection is a separate security decision.

Consider a simplified fresh-connection model with a 20-millisecond DNS lookup, an 80-millisecond network round trip, one round trip for TCP, one for an ordinary TLS 1.3 handshake, one request/first-byte round trip and 30 milliseconds of server work. The estimate is 20 + 80 + 80 + 80 + 30 = 290 milliseconds. Reusing the established secure connection removes the modeled DNS and handshake costs, leaving about 110 milliseconds. Packet loss, certificate work, additional negotiations and protocol variants change the result. HTTP/3 uses QUIC rather than this TCP setup, so this example is explicitly not a universal web timing formula.

Methods and status codes describe protocol behavior

GET requests a representation and is intended to be safe; POST asks the resource to process submitted content and is not generally idempotent. PUT and DELETE have idempotent semantics even though they change state. Idempotency means repeating the same intended operation has the same intended effect, not that every response or log entry is identical. Response classes distinguish informational, successful, redirection, client-error and server-error outcomes. A 202 indicates acceptance rather than completed processing; a 200 is scoped to the request that produced it. RFC 9110: HTTP Semantics

For the form-submission quiz, “the final page returned 200” is weaker evidence than “the write handler received the intended POST, validated it and committed the expected row.” A success page may be a login screen, a redirected read or a response generated by an intermediary. A useful operation contract names what was completed and returns an identifier that can be checked through an authorized read. Avoid changing a broken write endpoint to accept GET merely to match an observed faulty client sequence; that can create unintended effects from navigation, prefetching or retries.

Redirects can create a new request with a different method

HTTP preserves historical behavior allowing a client to change POST to GET when following 301 or 302. A 303 directs retrieval of another resource, while 307 and 308 preserve the method when automatically followed. Temporary versus permanent routing and method preservation are separate properties. RFC 9110: HTTP Semantics The browser Fetch algorithm explicitly converts POST to GET for 301/302, clears its body, and similarly converts non-GET/HEAD methods for 303. Fetch Standard: HTTP-redirect fetch

ResponseTypical POST follow-upDesign implication
301 / 302Browser changes to GETDo not rely on preserving submitted content
303Retrieve the indicated resourceUseful after an already completed write
307 / 308Retain method and body when followedDestination must safely accept the original operation

Neither a routing rule nor a redirect status guarantees a client will replay a body successfully. Redirect mode, replayable-body availability, destination trust and origin changes matter. Fetch Standard: HTTP-redirect fetch A 307 to a different host is not permission to disclose submitted data there. Prefer the correct canonical submission URL from the outset and explicitly test any remaining redirect requirement. The exact intermediary responsible must be observed rather than inferred solely from the backend method.

Worked failure: a successful read conceals a lost submission

Imagine the browser submits POST https://forms.example.com/contact with synthetic form data. A proxy normalizes the path to /contact/ using 302 before forwarding to the write handler. The browser follows with GET /contact/; the application renders the form with 200. The access log therefore contains a successful final read, while the database has no new contact. This constructed sequence explains the photographed symptoms without claiming the image proves a particular proxy configuration.

Trace the first response with a Location header. Compare successful and failed paths for scheme changes, host normalization, trailing slashes and authentication redirects. If the browser sent GET initially, investigate the form's method attribute, submit-button overrides and JavaScript instead. If no redirect appears, examine proxy request rewriting and application routing with separate evidence. Preserve the original method, path, response status and correlation identifier at each trust boundary.

A repair might set the form action directly to the canonical path, removing the unnecessary redirect. If relocation must happen before processing, verify a method-preserving redirect with the real supported client. If the application deliberately uses POST/Redirect/GET, commit the write first and then return 303 to a read-only confirmation resource. Test the complete sequence and row persistence, including validation failure and a lost response after commit. A retry after an uncertain outcome needs an application idempotency design, such as a scoped request key bound atomically to the recorded result.

Proxies, cookies and session continuity are separate layers

A reverse proxy accepts client requests and creates or reuses upstream connections. Its view of client addresses, hostnames, scheme and timing may differ from the application's view. Trust forwarded metadata only from known proxy paths and prevent a direct client from supplying authoritative-looking headers. Record a generated request identifier and propagate it through supported components; do not accept arbitrary incoming values as trusted audit identity.

Cookies carry client state according to their scope. Secure limits transmission to secure channels, and HttpOnly restricts access through non-HTTP scripting interfaces. Domain and Path influence where a cookie is sent; they do not replace server-side authorization. RFC 6265: HTTP State Management Mechanism Use appropriate SameSite behavior and request-forgery protection for the application's cross-site flows, plus session rotation, expiry and server-side permission checks. HTTPS protects traffic in transit but does not make a stolen valid cookie harmless.

Sticky routing can return a user to the instance holding its local session, but cannot recover that state after the instance fails. A larger instance changes capacity and perhaps failure frequency; it does not change the missing-state mechanism. Externally stored session state or appropriately designed verifiable tokens can allow another instance to recognize the session, with their own availability, revocation and security constraints. Directing a user to an instance IP bypasses useful service routing and still does not recreate lost authentication state. Thus the session questions require tracing where identity continuity actually lives, not merely where a connection lands.

Balance active work rather than assuming equal arrivals

The streaming question describes long-lived connections with unpredictable duration. Round robin equalizes assignments over a cycle, while fixed weighted round robin accounts for differing capacity but not which prior sessions have ended. Random placement also does not directly observe active load. Generic least connections chooses a healthy target with fewer active connections; NGINX documents this approach. Using nginx as HTTP load balancer

Suppose A, B and C have 100, 35 and 60 similar active streams. Assigning the next stream to B addresses the observed imbalance. It does not migrate A's existing streams or instantly equalize usage. If each B stream consumes four times the bandwidth, connection count becomes a misleading proxy; consider a supported capacity-aware measure. Health, admission limits and graceful draining still matter. With an average arrival rate of two sessions per second and an average duration of 300 seconds, a stable system holds about 600 sessions on average. Capacity should include variability and failure headroom, not just that mean.

Keep the generic answer separate from AWS product settings. Application Load Balancer supports round robin, least outstanding requests and weighted random target-group algorithms, with documented compatibility constraints. Least outstanding requests counts in-progress requests rather than generic established connections; stickiness can bypass subsequent algorithm selection, and WebSocket messages remain on the selected connection. Edit target group attributes for your Application Load Balancer Network Load Balancer uses flow hashing for TCP/UDP; an individual TCP connection remains assigned for its lifetime. It is not a selectable generic least-connections scheduler. What is a Network Load Balancer?

Verify the request chain without changing its behavior accidentally

Use a synthetic staging endpoint you control. This example sends one harmless POST and does not follow redirects, making the first status and Location visible. It is illustrative, not a command executed against production during this content pass.

curl --silent --show-error --connect-timeout 3 --max-time 8 \
  --dump-header - --output /dev/null \
  --data 'message=synthetic-test' \
  https://forms.example.com/contact

Then inspect the browser's preserved network history or a controlled redirect-following test. Avoid forcing -X POST across redirects while trying to reproduce ordinary client behavior; such options can change the behavior under investigation. Curl's redirect options and timeouts are documented by the project. curl — How To Use Do not export live authorization headers, cookies or real submission bodies into a shared trace. Use synthetic users and redact sensitive values before storing evidence.

For a GET endpoint, a controlled curl DNS override can connect to a specific candidate address while retaining the intended hostname and TLS verification. This helps isolate DNS steering from endpoint readiness; using a bare IP URL can instead produce a misleading host or certificate mismatch. Test application status, content and persistence alongside timings. Compare proxy and application error classes, because a gateway failure may occur before application logging begins. If transport and TLS work, do not keep changing routes to repair a data-validation error.

Reliability, security and cost follow the complete operation

Every redirect adds another exchange and can add connection setup when the origin changes. Connection reuse reduces handshake work, but long idle sessions consume resources and complicate deployment draining. A more aggressive timeout releases capacity sooner while increasing the chance that a slow successful operation appears failed to its caller. Tune timeout budgets across proxy, application and dependencies coherently, and bound retries so an incident does not multiply expensive work.

For a document application, encrypt both the client-facing and required backend links and enforce access rights at the service that reads the document; encryption at rest is a separate control. A web application firewall can inspect suitable HTTP traffic at its integration point, while tier segmentation restricts lateral paths. Neither prevents every misuse by an already authorized compromised session. Preserve the distinctions among network filtering, input handling and identity checks when interpreting the financial-application security question.

Choose validation that reflects the business result: a saved form, an accessible authorized document, a stream that resumes after target draining, or a session recognized after an instance replacement. Include denied users and failed writes. Request counts, a healthy load-balancer target and final 200 statuses are useful observations but incomplete acceptance criteria. The strongest interview answer explains what each observation proves, what remains unknown and which bounded test resolves the next uncertainty.

Keep in mind

  • Follow every redirect and verify the method at the write handler, not only the final status.
  • Session persistence, sticky placement and transport connection lifetime are different mechanisms.
  • Map generic load-balancing algorithms to the actual product and workload metric.

At the whiteboard

A POST ends with 200, yet nothing is saved. What evidence would distinguish likely causes?
Capture the original browser method and every response before the final 200. A 301/302/303 can lead to a GET, while an initially generated GET suggests form or JavaScript behavior. Correlate proxy and application logs, inspect validation and authentication, and verify persistence with a synthetic request. Identify the first point of divergence, repair the canonical route or intended redirect contract, and check retries after uncertain commits.
Can ALB least outstanding requests be advertised as the answer to the generic least-connections question?
No. The quiz asks for a scheduler that responds to unequal active stream counts. Explain why least connections fits those assumptions, then verify the deployment product: ALB counts in-progress requests and NLB hashes flows. Long-lived connections, multiplexing and sticky sessions can change the relationship between a connection and backend work. Measure stream bandwidth and resource use, plan draining, and select a supported mechanism that actually observes the relevant load.
What would make session failover secure as well as available?
The replacement instance must verify the same legitimate session using an available shared authority or suitable token design, while enforcing expiry, revocation and current permissions. Protect cookies and transport, rotate session identifiers when appropriate, and test stolen or expired sessions as well as successful instance replacement. A shared store that accepts every old credential forever improves continuity at an unacceptable security cost.

Last verified 2026-09-05

Compute & application design · 1,372 words · 7 min

ALB and NLB: target health, routing and failure behavior

Follow requests and connections through healthy, draining and failed targets, and distinguish traffic routing from instance replacement and session recovery.

↑ Chapter index

The request path and three independent control decisions

A load balancer answers where traffic should go. A capacity controller answers how many workers should exist. The application answers whether the request is authorized and whether its business operation committed. Keeping these decisions separate explains the holiday-capacity wording: an Application Load Balancer (ALB) distributes traffic, but adding an ALB does not itself configure an EC2 Auto Scaling group to launch application instances.

For a typical HTTPS application, the client connects to the ALB listener; the listener rule selects a target group; target selection chooses an eligible backend; the backend executes the request and returns a response through the proxy. The client-facing and backend connections are separate. A successful frontend TLS handshake therefore does not prove that a backend can reach its database. A Network Load Balancer (NLB) instead makes transport-oriented selections: its documented TCP flow hash includes addresses, ports, protocol and sequence information, and a TCP connection remains with one target for its lifetime. AWS NLB data flow

Neither path moves a partially executed transaction from a failed process into another process. After a timeout, the caller may not know whether the order was committed. A safe retry needs an application idempotency key and durable result lookup, because connection recovery and business recovery are different problems.

Health transitions and what a probe actually proves

ALB targets move through states including initial, healthy, unhealthy, draining and unused. Newly registered targets need an initial successful health check; recovery of an unhealthy target uses the configured healthy threshold. HTTP health probes use a path, timeout and response-code matcher. A timeout and a response-code mismatch support different hypotheses. ALB health checks and reason codes

A readiness endpoint should represent whether this process can serve its intended workload. A static page can remain healthy while the business handler is deadlocked; a probe that performs an expensive database query can overload the dependency it monitors. Separate lightweight local readiness, deeper synthetic transactions and dependency monitoring. Decide deliberately whether a shared dependency outage should eject every worker. Removing all workers cannot repair the dependency and may discard useful caches or overload a recovering database with reconnect attempts.

NLB supports TCP, HTTP and HTTPS probes. TCP acceptance proves that something accepted a transport connection, not that a requested image or account lookup will succeed. NLB distributes checks across nodes using consensus, so a target may observe more probes than the configured interval suggests. For UDP applications, expose a supported health endpoint that actually tracks the UDP service. NLB health-check mechanics

Failure detection, fail-open routing and safe recovery

With all registered targets unhealthy across enabled zones, ALB can fail open and route to those targets. NLB likewise documents fail-open behavior when all targets are unhealthy and when a target group is empty; an empty group still has no server that can produce a successful response. Health is consequently an availability signal, never permission to receive privileged traffic. ALB fail-open behavior NLB fail-open behavior

Consider a bad readiness deployment that reports failure even though the application can serve most requests. Fail-open routing may preserve some useful service. Now consider an actual process crash on every target: routing to failed destinations cannot manufacture capacity. Both cases produce an unhealthy dashboard, but require different repairs. Compare application success rates, probe responses and recent configuration changes before widening a matcher merely to make the dashboard green.

Under default NLB behavior, unhealthy-target connection termination is enabled. It can be disabled to let existing connections close gracefully while new connections avoid the target, subject to fail-open behavior. Inspect the actual target-group configuration before promising that established streams either survive or reset. NLB connection termination controls Even when a connection is retained, an unavailable process cannot resume streaming without application-level reconnect or playback-resume support.

Worked timing and capacity example

Illustrative assumptions: three equal targets serve 240 requests per second, each safely supporting 120. One fails immediately after a successful probe. Probes start every ten seconds, the timeout is two seconds and two consecutive failures trigger removal. In a simplified single-checker timeline, failed checks start around seconds ten and twenty and finish at twelve and twenty-two. Failure just before a probe would be detected roughly ten seconds sooner. These are planning estimates, not AWS detection guarantees; node scheduling and health propagation add uncertainty.

Before exclusion, an even routing policy can send roughly one third of new requests to the failed target. After exclusion, the two survivors receive about 120 requests per second each, exhausting the assumed safe budget. If latency rises and clients retry simultaneously, demand can exceed that budget even though two targets remain healthy. Reserve headroom for retries and one-target or one-zone loss, and use bounded randomized retry delays.

A replacement taking ninety seconds to become useful leaves a recovery window that the remaining capacity must bridge. Multiplying the desired instance count by nominal throughput conceals this gap. Track ready capacity over time, successful throughput, error rate and tail latency, then run a controlled staging failure to measure the actual detection and recovery distributions.

Algorithms for unequal work and long streams

The streaming quiz describes unpredictable connection lifetimes. With 100, 35 and 60 comparable active streams on A, B and C, generic least connections directs the next arrival toward B. Round robin equalizes arrival counts, weighted round robin allocates arrivals in fixed proportions, and random selection spreads arrivals statistically. None directly responds to those existing connection counts. Least connections improves future assignments without transferring existing streams. NGINX least-connected explanation

ALB offers round robin, least outstanding requests and weighted random. Outstanding HTTP requests are not identical to active transport connections, especially with multiplexing. NLB TCP flow hashing is not a configurable least-connections policy. ALB slow start cannot be combined with least outstanding requests or weighted random; weighted random also excludes stickiness. ALB routing algorithms and compatibility

Connection count is only a proxy for actual load: ten high-bitrate streams can consume more bandwidth than fifty low-bitrate streams. Compare bandwidth, CPU, memory and buffering before choosing a policy. NLB source-IP stickiness can concentrate users sharing a NAT address on one target. NLB affinity limitations In heterogeneous pools, normalize measured work against each target's tested capacity instead of expecting any simple count to capture all resource differences.

Draining, zones and replacement responsibilities

Planned removal should stop new assignments while allowing existing work a bounded completion period. ALB deregistration delay defaults to 300 seconds; an application that closes connections prematurely can still cause errors. ALB deregistration delay Coordinate process termination, proxy draining and the maximum request duration. Long streams may require a reconnect protocol rather than an unlimited shutdown grace period, which can make deployments impossible to finish.

NLB cross-zone routing is disabled by default at the load-balancer level, with a target-group override available. With it disabled, provision enough capacity in every receiving zone; with it enabled, consider cross-zone data-transfer charges and dependency traffic. NLB cross-zone settings DNS removal of an unhealthy zonal address does not fix clients that keep using cached addresses indefinitely. NLB DNS failure behavior

EC2 Auto Scaling defaults to EC2 health signals; ELB health-check integration must be enabled for the group to use the load balancer's unhealthy result for replacement. Auto Scaling health sources This is why a target can remain application-unhealthy without immediate replacement. Conversely, enabling replacement against a broken shared readiness dependency can churn the fleet. Fix the signal and dependency, not just the instance count.

Evidence-driven diagnosis and protected observations

Use the following read-only illustrations in an authorized environment. Replace the example identifiers with a known target-group ARN and profile; no command registers, terminates or changes a target.

aws elbv2 describe-target-health --target-group-arn "$TG_ARN" --profile study-readonly --no-cli-pager
aws elbv2 describe-target-group-attributes --target-group-arn "$TG_ARN" --profile study-readonly --no-cli-pager
curl --connect-timeout 2 --max-time 5 -sS -o /dev/null -w '%{http_code} %{time_total}\n' http://127.0.0.1:8080/ready
ss -lnt

First determine whether registration, routing configuration or probing failed. Compare the expected port and path with the listening process, then reproduce the probe locally and from an authorized network location. Local success does not test security groups, route tables or the actual probe Host header. Correlate timestamps in load-balancer and application logs without copying authentication headers into shared tickets.

Restrict application ingress to the intended load-balancer path and keep sensitive debugging output off public readiness endpoints. Budget for load-balancer usage, connections, processed bytes, logs and spare targets alongside instance cost. Validate the user-visible success condition after a fix: a green health response is insufficient if search still returns errors or authenticated users lose their sessions.

Keep in mind

  • Target health, instance replacement and session continuity are separate mechanisms.
  • All-unhealthy fail-open behavior means health checks cannot enforce access control.
  • Choose a supported routing algorithm based on actual work, and test draining and failure windows.

At the whiteboard

An ALB has two unhealthy targets, but their EC2 status checks pass. Why are they not being replaced?
Inspect the Auto Scaling group health configuration and grace period, attachment status and activity history. EC2 health by itself need not detect this application failure; ELB integration must be enabled for its signal to drive replacement. First verify that the endpoint and networking are correct and the shared dependency is healthy, because replacement using a defective probe can repeat the failure. Restoring healthy routing and proving a business request succeeds are separate verification steps.
Would selecting least connections ensure uninterrupted video during a target crash?
It can improve new-session placement in a product that supports it, but it does not migrate established streams or save playback state. Verify the selected AWS service semantics: ALB counts outstanding requests and NLB hashes TCP flows. Provide client reconnect with bounded retry, a durable playback position or resumable resource, enough surviving capacity, and measured recovery time. Count bandwidth as well as connections before concluding the algorithm addresses the actual bottleneck.

Last verified 2026-09-06

Compute & application design · 1,770 words · 9 min

Durable sessions: authentication, cookies, JWT and shared stores

Preserve login continuity across replaceable compute while maintaining expiration, revocation and authorization guarantees.

↑ Chapter index

A surviving login needs surviving evidence

Authentication establishes an identity; a session lets later requests present evidence of that authentication; authorization decides whether the identity may perform this operation on this resource. Login continuity requires the next healthy worker to validate the evidence without reading memory from the failed worker. AWS recommends separating relevant state from replaceable compute where possible. Well-Architected statelessness guidance Stateless compute does not mean that the overall system has no durable data.

Trace an opaque-session design: the login handler validates credentials through the identity system, generates an unpredictable session identifier, writes a record into a shared store and returns the identifier in a protected cookie. The next request may land on another worker. That worker reads the record, checks expiration and revocation, constructs the authenticated principal and separately checks access to the requested account or image. The browser stores a reference; the external record supplies its meaning.

A login response must not promise success before the required session write is acknowledged. Otherwise a crash between issuing the cookie and persisting the record creates an apparently logged-in browser whose next request cannot be recognized. Similarly, an order associated with the user belongs in business storage; retaining a login session is not a substitute for committing the order itself.

Why affinity, addresses and bigger instances fail the requirement

Suppose target A keeps session 7 only in process memory and the browser retains both its application cookie and a routing cookie. After A crashes, target B receives the next request but has no session 7. A long-lived routing cookie cannot reconstruct that missing record. ALB stickiness expresses routing affinity; when the selected target is unavailable, the balancer selects another eligible target. ALB sticky-session behavior

Using A's IP address bypasses the useful destination abstraction and still directs the client toward the failed process. Using a larger A might reduce one resource-exhaustion failure mode, but the question explicitly asks what happens after an instance fails. Neither action establishes a state recovery path. These are conditional-failure arguments, not a claim that instance sizing or affinity is always useless.

Affinity can reduce cache misses or support a legacy application while its state is redesigned. Its cost is uneven placement and constraints on scale-in and deployment. Treat a local cache as a recoverable optimization over authoritative state. If losing the cache forces a login, then authentication continuity still depends on the instance. A shared signing or encryption-key configuration is also necessary when workers interpret encrypted session cookies; a different random key on every boot recreates the failure even with a shared database.

Cookies and browser protections

A cookie is a browser transport and storage mechanism, not a declaration that its contents are trustworthy. For an opaque session, choose a cryptographically random identifier, rotate it after login or privilege changes, and invalidate the previous identifier. Set Secure for HTTPS transport and HttpOnly to prevent ordinary script access; scope the cookie narrowly and choose SameSite deliberately. SameSite=None requires Secure in modern browser handling. Browser-facing authentication should also define idle and absolute lifetimes. OWASP session controls

Set-Cookie: __Host-session=ILLUSTRATIVE_OPAQUE_VALUE; Path=/; Secure; HttpOnly; SameSite=Lax

This illustrative header omits Domain, as required for the __Host- prefix. Do not place a real session value in a tutorial or log. HttpOnly reduces theft through direct cookie reads but does not stop injected script from making authorized same-origin requests. Cross-site request forgery abuses the browser's automatic credential attachment; cross-site scripting executes attacker-controlled code in the trusted origin. Relevant state-changing operations still need an appropriate CSRF defense, and application output handling must prevent script injection. Cookie scope and session attack defenses

Test real login redirects and embedded application flows before tightening cookie settings: a policy that breaks the legitimate identity callback can create a login loop. Preserve authentication headers only across explicitly trusted proxy boundaries and keep private responses out of public caches.

JWT validation and the cost of independent verification

A JSON Web Token (JWT) can carry signed claims that any authorized verifier checks using trusted keys. Signing protects integrity; it does not conceal the payload. Define a token profile with required issuer, audience, subject and lifetime claims. A library must validate the signature with allowed algorithms and trusted issuer keys, then validate the claims and intended token type. Decoding base64 is not verification. JWT claims and representation JWT security best practices

Do not let an arbitrary token header choose a remote key URL or permit an ID token to substitute for an API access token. Distribute verification keys safely, cache them with bounded refresh and handle planned key rotation. Public verification keys allow many workers to verify without giving every worker the authority to mint tokens. Algorithm, key-source and token-substitution controls

Independent verification trades per-request lookup for delayed knowledge of change. In an illustrative design, an access token issued at 12:00 expires at 12:15. If an administrator revokes the user at 12:02, an offline verifier can continue accepting that valid token for almost thirteen minutes unless it consults additional revocation state. A five-minute lifetime reduces the window but increases refresh traffic and does not revoke the remaining minutes. Refresh tokens need their own protected lifecycle; deleting a browser cookie does not invalidate a copied bearer token.

For sensitive operations, require fresh authorization or a checked user/session version. That deliberately reintroduces state into the request path. Choose the tradeoff from the acceptable revocation delay, rather than claiming that JWT removes the need for security state everywhere.

External store choices and failure constraints

DynamoDB can store session records keyed by a uniformly distributed session identifier. Strong reads on the base table can observe acknowledged writes, while eventual reads can temporarily return older state. Global secondary indexes do not support strong reads. Choose the consistency path consciously for first-use sessions and revocation; a recently updated revocation flag read through a stale path can be a security defect. DynamoDB consistency semantics

For a supported single-Region table or MREC global table, DynamoDB time to live removes expired items asynchronously, typically within days. Enforce expiration in the request handler even while an expired item physically remains in storage. TTL is cleanup, not an authentication clock. DynamoDB TTL deletion timing For concurrent session refreshes, use a conditional update or version check so an old request cannot overwrite a newer revocation decision.

ElastiCache guarantees depend on the deployment. Without the durability feature, asynchronous replica promotion can lose recent session writes. In a supported durable Valkey cluster, synchronous mode waits for the Multi-AZ transactional log before acknowledging success; asynchronous durability acknowledges sooner and can lose up to ten seconds of writes. Thus the same product name can describe different failure contracts. ElastiCache durability modes

The durability feature requires Valkey 9.0 or later, a supported node family, cluster mode enabled and Multi-AZ with at least one replica per shard. It excludes Serverless and Global Datastores; it is not a general cross-Region zero-RPO promise. Configure durability when creating the cluster rather than assuming it can be enabled on an existing non-durable deployment. ElastiCache durability limitations

Durable keys can still expire or be evicted. Choose eviction policy deliberately: noeviction preserves keys under memory pressure by making writes fail when capacity is exhausted. Test login handling for that error. A durable session record also does not revoke a stolen cookie or make an unhealthy store reachable. See the cache correctness chapter for the detailed distinction between invalidation, eviction, persistence and failover.

A relational session table is another reasonable choice when existing availability, indexing and capacity are adequate. It adds reads to a database that may already constrain checkout. Compare latency, durability, connection usage and operational skills, not just the label NoSQL. All designs need a policy for store timeouts: deny sensitive access safely and report temporary unavailability rather than silently treating everyone as authorized.

The TTL example is not a drop-in MRSC design. DynamoDB MRSC does not support TTL or transaction APIs, and its supported three-Region topology differs from MREC. Enforce expiration in the handler in either case; select an explicit supported cleanup mechanism for MRSC. Multi-account replication isolates administration of each replica, but authorized malicious writes or deletes can still propagate. Independent PITR and backup protection address recoverable history. The DynamoDB consistency chapter explains the mode-specific choices. Global-table design constraints

Worked load, caching and cost calculation

Assume 100,000 active sessions with a one-kilobyte logical record. Raw payload is about 100 MB before keys, metadata, indexing and replication. At 2,000 authenticated requests per second, one lookup per request means 172.8 million daily lookups if that rate persists for twenty-four hours. This calculation is a workload estimate, not a priced DynamoDB capacity prediction; billing depends on actual item size, consistency mode, request pattern and selected service configuration.

A sixty-second local session cache can reduce store traffic but may delay seeing revocation by up to approximately a minute, even if the underlying store read was strongly consistent when filled. If each request also updates last-access time, the design creates a comparable write stream. Updating idle activity less frequently can reduce cost, but must be reflected in documented expiration semantics. Never allow repeated refreshes to extend a session beyond its absolute lifetime unintentionally.

Now fail one of four equal workers. Its local cache is lost, so survivor and replacement cache misses can abruptly increase store load. Test this cold-cache case at peak demand, including simultaneous login bursts after a store incident. Budget for replicas, request charges, encryption, network paths and audit retention as well as compute. Saving a database lookup is beneficial only if the resulting authorization window is acceptable.

Failure drills, diagnosis and stolen-session containment

In staging, log in with a disposable account, record a nonsecret correlation identifier, remove the serving worker through a controlled failure exercise, and request the same authorized resource through the load balancer. Verify both continuity and denial: an expired or revoked session must remain denied on every surviving worker. Also test rolling key rotation, clock skew, store failover and a browser that refuses the intended cookie. A successful anonymous home page proves none of these properties.

aws dynamodb describe-time-to-live --table-name study-sessions --profile study-readonly --no-cli-pager
aws elasticache describe-replication-groups --replication-group-id study-sessions --query 'ReplicationGroups[].{Status:Status,MultiAZ:MultiAZ,Failover:AutomaticFailover}' --profile study-readonly --no-cli-pager

These read-only configuration examples expose no session values. Diagnose a login loop by separating missing cookies, unrecognized identifiers, stale store reads, validation-key mismatch and permission denial. Log categories and correlation identifiers; avoid logging bearer tokens, raw cookies or passwords.

The stolen-laptop questions require containment of existing credentials and sessions. Adding multi-factor authentication (MFA) protects future authentication attempts; phishing-resistant methods such as security keys strengthen that boundary. AWS MFA guidance It does not magically invalidate a session already stolen. Inventory the exposed credential types, revoke supported sessions, rotate affected credentials, investigate activity and remove persistent access. An IP allowlist around a bastion only affects that access path; it cannot revoke a cookie used against a public application.

Keep in mind

  • Every healthy worker must recover or independently validate the same authentication evidence.
  • Cookie lifetime, store cleanup, token expiry and revocation are separate controls.
  • Validate continuity and rejection after failover; never trade store outages for unrestricted access.

At the whiteboard

Should the session chapter recommend DynamoDB or JWT as the universally correct answer?
No. The quiz favors external session state over measures that leave state on the failed instance. An opaque record gives direct revocation control but adds a lookup dependency. A properly validated signed token can preserve continuity with fewer lookups, but claim changes and revocation need an explicit freshness design. Compare permitted revocation delay, durability, latency and operational cost, then test a worker failure and a revoked-session request.
A session row has expired but still exists in DynamoDB. Should the request succeed?
No. The application compares the session expiry with trusted server time and rejects expired evidence regardless of physical deletion. TTL cleanup is asynchronous. Also check idle and absolute expiration semantics and whether a local cache or eventual read could reintroduce older authorization state. A useful test leaves the expired record present and verifies consistent denial on every worker without waiting for deletion.

Last verified 2026-09-06

Compute & application design · 1,500 words · 8 min

Horizontal and vertical scaling with EC2 Auto Scaling

Locate the limiting resource, calculate useful capacity and design a scaling control loop that survives startup delays, dependency limits and instance loss.

↑ Chapter index

Scale the limiting stage, not the symptom label

Vertical scaling gives a worker more resources; horizontal scaling adds workers. Both are mechanisms whose value depends on the work's limiting stage. More CPU can accelerate parallel computation, more memory can avoid paging or permit a useful cache, and faster storage can relieve measured input/output waits. None repairs an invalid credential, a broken query or physical propagation delay between continents. This is why the worldwide-latency question and the broken-search question require diagnosis before buying more application servers.

Trace a representative request from ingress through authentication, application execution, search, database and response serialization. Measure throughput, errors, latency percentiles and saturation at each stage. Compare successful requests with failed ones: a fast authentication rejection is not a slow-capacity symptom. For a sudden regression, compare the same report and data range before and after deployments, query-plan changes, index changes and data growth. A machine that became larger without restoring search is evidence that one capacity hypothesis failed; it does not prove every form of horizontal scaling is useless.

CPU averages can hide one saturated core, memory averages can hide allocation spikes, and low CPU can mean threads are waiting on a database lock. Inspect queue age, connection pools and dependency timeouts alongside host metrics. The goal is to find the stage where arrivals exceed useful completion capacity or where correctness fails independently of load.

Useful parallelism and a worked upper bound

Suppose 20 percent of a request's elapsed work is inherently serial and 80 percent can run in parallel. Ignoring coordination overhead, Amdahl's law gives speedup with eight processors as 1 / (0.2 + 0.8 / 8), or about 3.33. Even infinitely many processors approach only fivefold speedup under these assumptions. This is a theoretical bound on one workload, not a prediction for every EC2 instance family. Database waits may not accelerate at all when application CPU increases.

Horizontal scaling is often more effective for independent requests than for accelerating one serial request. Four workers can handle four separate requests concurrently if their shared dependencies permit it. However, every worker opening fifty database connections means twenty workers request 1,000 connections. A database budget of 400 cannot support that configuration. Control total concurrency, resize pools and consider queuing or a suitable connection-management layer before adding workers blindly.

Vertical scaling may be the fastest mitigation for verified memory exhaustion or a workload constrained to one process, but it has an eventual size ceiling and can require a restart or replacement. Horizontal scaling enables gradual additions and independent failure domains, but requires shared durable state, partitionable work and graceful removal. Compare actual performance per unit cost after the change; nominal core counts do not account for processor differences, software licensing or contention.

EC2 Auto Scaling as a feedback loop

An Auto Scaling group describes a fleet through minimum, desired and maximum capacity, placement and launch settings. Policies adjust desired capacity; launches still need available resources, successful bootstrap and passing readiness checks before they become useful. With ELB integration, instance registration and routing join the lifecycle, while health-driven replacement repairs failed members independently of demand scaling. Auto Scaling health and replacement behavior

Target tracking selects a utilization-like metric and target; AWS manages the associated alarms. Average CPU utilization and ALB request count per target are supported examples. A useful metric should change predictably when capacity changes: total incoming requests remain the same after adding a worker, while requests per worker should fall. Raw latency or raw queue length generally does not meet that proportionality assumption. Target tracking metrics

Default instance warmup handles the interval before a new instance contributes stable metrics. It affects scaling decisions and prevents premature scale-in; it does not establish application readiness. Default instance warmup Likewise, a health-check grace period delays certain Auto Scaling health actions but does not force the load balancer to send traffic to an unready process. A lifecycle hook can coordinate initialization before service admission. Lifecycle hook coordination Choose each timer from the event it controls rather than setting all timers to the same arbitrary number.

Holiday peak: capacity, zone loss and advance scheduling

Illustrative load tests show that one target sustains 100 requests per second within the required tail latency. The expected holiday peak is 600 requests per second. Six targets meet that measured rate with no extra margin. Operating at 75 percent of that tested capacity requires ceiling(600 / 75) = eight targets during normal conditions. If those eight are split four and four across two zones, losing one zone leaves only 400 requests per second of tested maximum capacity, below the peak.

For the same 600-request peak at the chosen 75-request operating point after either zone disappears, each surviving zone needs eight targets, giving sixteen total in the symmetric two-zone design. This deliberately conservative example makes the reliability price visible. Other choices include more zones, controlled degradation, admission limits or a different recovery budget; multi-zone placement alone does not establish sufficient surviving capacity.

Scheduled scaling can change desired, minimum and maximum capacity before predictable demand and can coexist with dynamic policies. Scheduled scaling and dynamic policies Schedule from measured readiness lead time and uncertainty: if p95 launch-to-ready is six minutes, scheduling at the exact sale opening is too late. Raising only desired capacity may let a dynamic policy remove the prewarmed fleet before traffic arrives; a temporary minimum can preserve the planned floor. Restore that floor intentionally when the event ends and verify schedule time zones.

Queueing, feedback delays and overload protection

For a stable system, Little's law relates average in-flight work L, arrival rate lambda and average time W: L = lambda × W. At 200 requests per second and 0.25 seconds average time, about fifty requests are in flight. If a dependency slows the average to two seconds while arrivals continue, about 400 requests would be in flight in a new stable regime. Without sufficient concurrency capacity, the queue instead grows or requests are rejected. This explains why a dependency slowdown can exhaust application memory without a CPU spike.

An asynchronous worker taking two seconds per job completes about thirty jobs per minute. With a target waiting budget of sixty seconds, an illustrative backlog target is thirty queued jobs per worker, assuming steady arrivals, similar job durations and spare processing capacity. Use backlog per available worker rather than only total backlog for proportional scaling. Track oldest-message age too, because an average can hide one permanently failing job. Queue metrics for target tracking

If arrival rate is 500 jobs per second and completion rate remains 300 for a three-minute launch delay, backlog increases by 36,000 jobs. Queues buy time, not infinite throughput. Bound admission, reject or defer nonessential work, and cap downstream concurrency so newly launched workers do not stampede an already failing service. Interactive image responses cannot simply wait for a nightly queue drain.

Safety, cost and control-loop failure cases

Scale-in is a reliability change: stop accepting new work, finish or checkpoint existing work, and preserve business results before terminating a worker. Maintain a minimum appropriate to availability and deployment needs. A maximum capacity can constrain spend and dependency pressure, but hitting it should raise an operational signal rather than quietly violating the latency objective. Launch failures from quotas, subnet address exhaustion, unavailable instance capacity or missing artifact access must be visible.

Cache eligible responses to reduce repeated origin work, while preserving authorization and freshness. Faster storage helps only when measured I/O latency or throughput is limiting. Consolidating another useful workload onto spare capacity can improve cost allocation, but competing memory, disk or burst demand can harm the interactive service. Protect latency-sensitive work with resource limits and a tested removal strategy. Increasing utilization is not itself a customer outcome.

Include metric collection, load balancing, storage, data transfer and software charges when comparing configurations. Faster-starting instances may reduce the idle safety margin required during bursts, while a fleet that continually oscillates adds startup waste. Investigate whether oscillation comes from noisy metrics, overly aggressive targets, heterogeneous instances, insufficient warmup or an application whose bottleneck is outside the scaled tier. A more expensive instance can lower total cost if it completes enough useful work sooner.

Bounded diagnostics and an evidence-based decision

These read-only examples inspect configuration and recent activity. Use actual study-resource names and an authorized read-only profile. Local commands are short observations, not load generators.

aws autoscaling describe-auto-scaling-groups --auto-scaling-group-names study-web --query 'AutoScalingGroups[].{Min:MinSize,Desired:DesiredCapacity,Max:MaxSize,Health:HealthCheckType,Warmup:DefaultInstanceWarmup}' --profile study-readonly --no-cli-pager
aws autoscaling describe-scaling-activities --auto-scaling-group-name study-web --max-items 10 --profile study-readonly --no-cli-pager
vmstat 1 5
free -m

Distinguish desired capacity from running capacity and healthy serving capacity. Inspect a single scaling activity's cause and failure details before editing policies. Correlate sustained paging with memory pressure rather than inferring a shortage from the mere presence of configured swap. Review slow-query evidence with sensitive literals redacted, and compare execution plans when the regression points to the database.

For the SaaS growth question, a strong recommendation names the bottleneck, proposes a bounded intervention and states a measurable expected effect: for example, double stateless workers while capping database concurrency, then verify increased successful throughput and unchanged dependency error rate. If throughput fails to improve, stop expansion and revisit the hypothesis. This reasoning gives both a practical next action and a criterion for avoiding repeated expensive guesses.

Keep in mind

  • Scale from measured saturation and useful throughput, not from an architecture label.
  • Ready capacity and surviving-zone capacity matter more than desired instance count.
  • Metric choice, initialization delay, admission control and safe scale-in determine scaling reliability.

At the whiteboard

A fleet doubles but throughput is unchanged. What would you investigate?
Trace request time and resource waits across the whole path. Check whether new targets are healthy and receiving traffic, whether affinity concentrates requests, whether a shared database or API is saturated, and whether a serial lock limits useful work. Compare per-worker and aggregate completions with connection counts. Stop uncontrolled expansion if it only increases downstream contention; select the next intervention from evidence.
Why combine scheduled scaling with target tracking for a holiday?
The schedule provisions a tested baseline before a known event, bridging launch and readiness delay. Target tracking responds to differences between the forecast and real demand. Set a temporary minimum if the prewarmed floor must persist, and an appropriate maximum based on quotas, cost and dependency capacity. Verify zone-loss headroom, time zone and the post-event reduction. Neither policy establishes that the application is stateless or that downstream systems can absorb the peak.

Last verified 2026-09-06

Compute & application design · 1,820 words · 9 min

Compute choices: containers, ECS, EKS, serverless and modernization

Choose execution and deployment boundaries from workload constraints, preserving immediate responses, reliable batch completion and independently releasable business capabilities.

↑ Chapter index

Separate the decisions before selecting a service

A virtual machine, container and function describe different execution arrangements. A monolith or microservice describes a deployment and ownership boundary. Three tiers describe logical responsibilities. Event-driven describes how work is initiated and coordinated. These dimensions can coexist: a containerized monolith may use a managed database and process events, while a three-tier system may use functions for its application logic. Treating all modernization as a rewrite into microservices confuses these decisions.

Start with the customer problem: release delays, underused compute, unsupported software, missing operating-system access, performance limits or operational burden. Record current cost per successful transaction, lead time for a safe release, availability requirements, execution duration, dependencies and team experience. Then identify the smallest change likely to improve the relevant measure. More servers will not fix broken search credentials, and dividing the caller into services will not repair a poor database execution plan.

The service-model question requires discovering responsibilities before choosing infrastructure as a service (IaaS), platform as a service (PaaS) or software as a service (SaaS). A mandatory host auditing agent can justify guest-OS control on EC2; data residency still requires examining storage, backups, logs and dependencies. Managed execution trades some host control for reduced maintenance. A specialist consultation can help, but a useful handoff carries the discovered constraints and retains a clear owner for the recommendation.

Containers and orchestration data flow

A container image packages application files and dependencies; an orchestrator schedules runnable instances and reconciles desired state. Packaging improves reproducibility but does not automatically externalize sessions, split a database or make releases independent. A typical deployment builds a versioned image, stores it in a registry, updates a workload definition, starts new tasks or pods, checks readiness, adds endpoints to traffic and drains the old version. Failures can occur at image retrieval, scheduling, initialization, health checks or contract compatibility.

Amazon Elastic Container Service (ECS) supplies managed orchestration. A task definition describes the workload; services maintain long-running tasks. Choose EC2 capacity when its control or instance characteristics are needed, Fargate to avoid managing worker hosts, or assess ECS Managed Instances for supported compute flexibility with more infrastructure management delegated to AWS. Service task scaling and underlying capacity scaling remain different concerns. ECS concepts and capacity options

Amazon Elastic Kubernetes Service (EKS) supplies Kubernetes with a managed control plane; EKS Auto Mode extends management into supporting infrastructure and nodes. EKS operating models Kubernetes compatibility can help an experienced platform team reuse its APIs and tooling, but it does not remove application ownership, policy configuration or dependency failures. Choose it for concrete ecosystem or organizational needs. For a small team with one simple application, that flexibility may not justify the additional conceptual surface compared with ECS or a simpler managed runtime.

Serverless execution, concurrency and downstream limits

Lambda can execute code for API calls or asynchronous events without keeping a customer-managed VM continuously running. Under the standard execution model considered here, function execution is bounded by a fifteen-minute timeout and other payload, memory and scaling quotas. Lambda execution quotas A container image deployed to Lambda remains a Lambda workload; packaging does not turn one invocation into an indefinitely running server. Long-lived processing or specialized host requirements can favor container tasks or EC2.

Concurrency is active work, not simply requests per second. If image transformations average 0.4 seconds and arrive at fifty per second, steady-state average concurrency is approximately twenty. At 500 per second it becomes approximately 200. These are mean-value estimates; bursts and tail duration require additional analysis. Reserved concurrency both reserves a function's share and caps its simultaneous executions. Lambda reserved concurrency Use the cap to protect dependencies and provide explicit retry or rejection behavior when it is reached.

Provisioned concurrency prepares execution environments to reduce initialization delay, with extra cost; it is distinct from reserved concurrency. Lambda provisioned concurrency A low average request rate does not prove that a function meets a strict p99 response budget. Measure cold and warm paths, artifact initialization, network access and downstream latency. Keep database connections and retries bounded so elastic execution does not overwhelm a service that scales more slowly.

Immediate image uploads: completion is a contract

The image quiz says users upload and download instantly and each operation needs a little processing. Ask whether an immediate download must return the original object or a completed derivative, then preserve that behavior. A client can request scoped authorization and upload directly to S3 using a presigned URL, removing the application server from the byte-transfer path. Such URLs confer the signer's scoped permission for their validity period and must be protected accordingly. S3 presigned access Removing redundant transfer work is useful; removing required authorization, validation or transformations changes correctness.

S3 Event Notifications deliver asynchronously and are designed for at-least-once delivery; delivery timing and ordering are not a synchronous transformation guarantee. S3 notification semantics A successful upload acknowledges stored input, not finished output. For a derivative required before the user proceeds, implement a bounded synchronous transformation or explicitly wait for confirmed processing completion within the agreed response budget. Returning a job identifier with a processing status is appropriate only when the product permits that asynchronous interaction.

For asynchronous work, use the input object version and transformation version as a deduplication identity. Write the derivative successfully before marking the job complete, and make repeats harmless. Separate input and output locations or trigger filters to avoid recursive invocation. S3 notification loop considerations Handle poison images, validation failures and retries with a visible failed state and bounded retry policy. A scheduled hourly batch would add almost an hour of waiting for an image arriving just after the run, contradicting the stated interaction requirement.

Cost comparison without invented price promises

Assume 10,000 daily transformations, each using one GiB of configured memory for 0.4 seconds. The function workload accounts for 4,000 GiB-seconds per day before retries or provisioned concurrency. A continuously running small VM is allocated for twenty-four hours regardless of those requests. Those quantities expose utilization differences, but they are not directly comparable currency costs. Use the applicable regional rates and include request charges, storage operations, API handling, logs and transfer to finish the comparison.

At high sustained throughput, a well-utilized container or VM fleet may provide better unit economics. At sparse demand, managed per-execution compute can avoid much idle capacity. Existing paid-for spare capacity may make consolidation economical if an added workload does useful work without harming image latency. Check simultaneous peaks, memory, disk and security isolation rather than filling CPU merely to improve a utilization chart.

Engineering time also matters. A rewrite costing several weeks may outweigh modest infrastructure savings. A measured pilot can compare a small image-processing path under both models, including error cases and operations effort. Report the result as cost per successfully produced valid image and response-time compliance, not cost per invocation alone: retries and failed images otherwise appear misleadingly cheap.

Daily batch pipeline: interruption, checkpoints and fallback

The overnight-log question has a flexible two-to-three-hour daily workload. EC2 Spot is suitable when interruption is tolerated, progress is durable and capacity selection is flexible across instance types and zones. AWS recommends interruption-aware design and capacity diversity; availability is not guaranteed. EC2 Spot practices Terminating On-Demand instances after completion is a defensible alternative when checkpointing is impractical or completion risk dominates savings. An annual commitment sized for a short daily peak needs a broader utilization case.

Illustrative checkpoint arithmetic: a checkpoint takes fifteen seconds every ten minutes of useful work, giving about 2.5 percent checkpoint overhead relative to useful processing. If interruption time is approximately uniform within an interval, average lost work is roughly five minutes per interruption. More frequent checkpoints reduce lost computation but increase storage and coordination costs. This is a modeling assumption, not a prediction of AWS interruption frequency.

Partition logs into independently repeatable units. Write each unit's output durably and then atomically publish completion; if a worker dies between those steps, replay must detect or safely overwrite the same output. The checkpoint must live outside the interrupted instance. Track remaining work against the daily completion window and switch to a planned On-Demand fallback with enough lead time when Spot availability or retries threaten completion. On-Demand capacity also needs realistic placement and quota planning. Test recovery by interrupting a staging worker mid-partition, then verify no missing or duplicate business records.

Independent deployment requires business and data boundaries

The retail question describes checkout and catalog release coupling, not a throughput shortage. Decompose around business capabilities with clear responsibility and expertise. AWS business-capability decomposition Give each extracted capability an owner, a stable interface, a controlled data boundary and a deployment pipeline. Containers can package both services, but if a shared schema change requires both to deploy together, the system remains tightly coupled in its release behavior.

For a first extraction, place catalog queries behind a compatible API while checkout remains in the existing application. Add a new optional response field before any consumer depends on it; deploy compatible consumers next; remove obsolete behavior only after usage evidence confirms it is safe. Contract tests check the interactions each side relies on, while end-to-end tests still verify customer journeys. Avoid giving both services unrestricted writes to the same tables and calling that independent ownership.

A broker changes communication timing but does not automatically establish business boundaries. Events require ownership, schema evolution, deduplication and failure handling. A modular monolith may provide sufficient code and test separation when the team cannot yet operate distributed services. Communicate the business hypothesis plainly: reduce the scope and waiting time of catalog releases, while accepting additional network and consistency work. Do not promise that users will see new features merely because deployment boundaries change.

Verification and least-privilege operating boundaries

Use read-only observations to distinguish desired tasks from running and healthy tasks, inspect a function's concurrency cap, or locate unscheduled pods. The identifiers below are illustrative and the Kubernetes command assumes an already selected authorized study context.

aws ecs describe-services --cluster study --services images --query 'services[].{Desired:desiredCount,Running:runningCount,Pending:pendingCount}' --profile study-readonly --no-cli-pager
aws lambda get-function-concurrency --function-name study-image-transform --profile study-readonly --no-cli-pager
kubectl get pods -n study-images -o wide

Correlate pending work with scheduling capacity, image-pull failures, startup errors and readiness evidence. A passing pod status does not prove a derivative is downloadable; verify the output and its authorization. Test duplicate notifications, oversized or malformed images, dependency timeouts and rollback between mixed application versions.

The overprivileged-function question is about blast radius. Give the image reader access to the required input location and the transformer only its necessary output and metadata operations. Avoid broad compute-administration rights merely because the function runs on cloud infrastructure. Keep workload permissions separate from deployment permissions and secret-delivery permissions. Lambda distinguishes its execution role from permissions to invoke or administer the function. AWS Lambda permission boundaries Managed compute removes some host operations, while application input validation, authorization, library patching and safe event processing remain necessary.

In ECS, the task IAM role grants the application its AWS permissions, while the task execution role serves infrastructure actions such as image retrieval. Shared-host containers also need protection against access to host metadata and other workloads; assigning a role alone does not create a security isolation boundary. ECS task roles and isolation considerations

Keep in mind

  • Choose execution, logical architecture and deployment boundaries as separate decisions.
  • Asynchronous notification does not promise a synchronously completed image.
  • Checkpointing, capacity diversity and a timed fallback make interruptible daily work defensible.
  • Independent services need compatible contracts, data ownership and independently usable pipelines.

At the whiteboard

Is Lambda always the cheapest answer for an underused image server?
It is a strong candidate because sparse, small per-event work fits per-execution compute. Verify the required response semantics, duration and concurrency, then price the full path including storage operations, API requests, logging and any prepared execution capacity. A sustained workload or expensive rewrite may favor containers or the existing server. Demonstrate a valid immediate download rather than equating upload acknowledgement with transformation completion.
The team moved checkout and catalog into separate containers, yet every release remains coordinated. What is missing?
Investigate shared data writes, incompatible interfaces, shared pipelines and tests that cannot isolate capability behavior. Define business ownership and backward-compatible contracts, then prove one service can deploy while existing consumers remain functional. Use a bounded extraction with rollback and measure release lead time. A broker or orchestrator cannot supply that independence by itself; a better modular monolith may be an appropriate intermediate step.

Last verified 2026-09-06

Compute & application design · 2,124 words · 11 min

Fast startup: golden AMIs, Image Builder, bootstrap and warm pools

Move deterministic installation ahead of demand and preserve rapid, reproducible startup through controlled images, readiness gates, secret delivery and safe patch rollout.

↑ Chapter index

Measure launch to useful service

Fast startup means quickly producing useful serving capacity, not quickly displaying a running virtual machine. Split the timeline into capacity allocation, OS boot, artifact retrieval, installation, configuration, application initialization, readiness and traffic admission. Each stage can fail or vary. Measure the distribution under concurrent launches, because ten instances downloading the same large dependencies may contend for bandwidth or a repository limit that is invisible in one-instance testing.

The photographed choices differ in where they put work. A bootstrap script automates installation but can leave all downloads and compilation on the urgent path. Manual SSH adds operator waiting and inconsistent execution. A Lambda controller can coordinate remote installation, but code running inside Lambda does not install libraries into an EC2 instance by itself. An application that fetches its own dependencies still waits for mandatory downloads. A baked machine image moves stable installation before demand arrives, directly addressing the stated bottleneck.

Some work cannot safely be baked: environment selection, fresh credentials, unique instance identity and checks of current dependencies. Other work may remain expensive even with local binaries, such as loading a large model or compiling runtime code. Choose the optimization from measured stage timings. A fast boot into an unusable application is an unsuccessful result, and an unused golden image has no effect on Auto Scaling launches.

What an AMI contributes and what it does not

An Amazon Machine Image (AMI) supplies the software and block-device mapping used to launch EC2 instances. It must match the required architecture and other instance characteristics and is Region-specific. Multiple instances can start from the same image; a copy in another Region has its own deployment reference. AMI characteristics A golden image is an organizationally approved image version, not a special guarantee that AWS has validated the customer's application.

Bake the operating-system baseline, pinned runtime, native libraries, application release and operational agents when their lifecycle fits that artifact. Capture an explicit manifest of versions and checksums. Minimize leftover build tools and remove temporary files, builder-specific identities and logs before producing the reusable artifact. Never embed production session keys, database passwords or long-lived AWS credentials. Replicating an image replicates any secret accidentally left inside it.

A general base image rebuilt less often can reduce the number of full application-image builds, with a smaller versioned application artifact added later. This alternative increases launch work and restores a runtime dependency on artifact delivery. A release-specific image gives more predictable startup but creates more image versions and build work. Decide by release frequency, startup budget, patch urgency and rollback needs. In both cases, retain a way to identify exactly which release a running worker serves.

Image Builder as a tested supply path

EC2 Image Builder uses recipes with a base image and build/test components, infrastructure configuration for temporary build instances, and distribution configuration for the resulting artifact. Scheduled pipelines can create patched image versions. Image Builder workflow These stages make image production repeatable; test quality still determines what an approved image proves.

A useful pipeline installs pinned artifacts, verifies their integrity, applies the security baseline, boots the resulting image in a test environment and performs a representative application operation. Include a fresh-instance test that has no accidental access to the builder's local cache. If that test succeeds only because the builder left a secret or filesystem mount behind, the image is not independently deployable. Scan dependencies and record the results alongside the immutable release identity.

Separate authority to build from authority to promote an image into production. Constrain artifact read and image-sharing permissions, and verify that copied encrypted images can be launched with the intended destination-account permissions. A build passing in one account does not prove launch access in another. Keep a known working version available while a candidate is deployed, with retention rules that remove obsolete snapshots only after rollback and audit needs are considered. Building and storing these artifacts consumes resources even when no application instances run.

Launch templates, small bootstrap and lifecycle gates

A launch template stores launch settings such as the AMI and instance configuration and supports versioned settings. EC2 launch templates Pin an explicit tested template version in the deployment process so a promotion has a reviewable meaning. Updating an image ID or template version does not by itself patch already running instances. A mixed-instance fleet must use compatible images and binaries for every selected processor architecture.

On supported Linux images, EC2 user-data scripts commonly run through cloud-init as root and by default run on the first launch, not every reboot. EC2 user-data execution Keep bootstrap short: load nonsecret configuration, obtain runtime credentials, start services and report readiness. Make steps safe to retry and bound network waits. A script that fetches an unpinned latest package on every launch sacrifices reproducibility and can fail during the very scaling event that needs reliability.

Lifecycle hooks can hold a launch in a wait state while initialization completes. Heartbeats and completion reporting must handle timeout and repeated events; a hook coordinates work rather than accelerating it. Auto Scaling lifecycle hooks If an external Lambda controller invokes a remote execution mechanism, verify that the instance is managed and reachable, that the command succeeded inside the instance, and that readiness passed before completion. Do not equate event receipt with successful configuration.

Worked startup budget and burst exposure

Illustrative cold-launch measurements are forty-five seconds for boot, 180 for downloads, ninety for installation, twenty for configuration, thirty-five for initialization and twenty for registration/probe admission. The total is 390 seconds, or six and a half minutes. Baking downloads and installation removes 270 seconds from this example's critical path, leaving 120 seconds. It improves launch-to-ready time by about 69 percent, but still does not meet a thirty-second objective.

Suppose existing workers can serve 800 requests per second and a burst immediately needs 1,200. During the 390-second cold path, the capacity deficit is 400 requests per second, equivalent to 156,000 requests that must wait, fail or be shed if no other capacity appears. Reducing readiness to 120 seconds reduces that exposure to 48,000 requests. An interactive system cannot assume a queue makes these waits acceptable; additional standing headroom, advance scheduling or a faster prepared path may still be necessary.

Do not simply subtract average stage times and declare the p99 solved. Dependencies can overlap, disk reads can remain slow on first access, and probe scheduling adds variability. Measure complete fresh launches across intended zones and realistic scale-out sizes. Use the resulting p95/p99 readiness values for capacity planning, with separate evidence for safe business behavior and release compatibility.

Warm pools and the problem of stale prepared state

An Auto Scaling warm pool holds pre-initialized instances that can be drawn into service. Instances may be stopped, running or hibernated; stopping or hibernating avoids ongoing instance compute charges while storage and applicable address charges remain. Lifecycle hooks help prevent unfinished instances from entering the pool or service. Updating a launch template does not automatically update existing warm-pool instances. Warm-pool behavior and lifecycle

A stopped instance needs to start its OS and application again; hibernation can retain memory subject to instance support, but retained memory may contain expired tokens, stale DNS results or broken database connections. Treat activation as a distinct phase: refresh time-sensitive configuration, reacquire credentials, reconnect safely, confirm the release is permitted and pass readiness. A first-boot-only script cannot be assumed to repeat these operations when a prepared instance returns.

For an illustrative group with desired capacity six and prepared maximum ten, the default difference-based pool size is four. A sudden need for seven additional workers exhausts that reserve, leaving three on a cold path. Pool replenishment also consumes time and resources; consecutive bursts can expose the second burst to full initialization delay. A warm pool is not a universal capacity reservation guarantee. Check supported configurations and prepare a fallback budget rather than promising that every scale-out is warm.

Reuse can improve startup economics but increases the need to sanitize process and local state between service periods. A worker containing customer-specific temporary data must not be treated as clean merely because it was stopped. Keep readiness, cleanup and credential refresh as explicit activation responsibilities.

Secrets injection, patches and immutable deployment

Fetch secrets using narrowly scoped workload credentials at runtime and rotate them according to their lifecycle. Secrets Manager recommends least privilege, protected access and caching appropriate to the application. Secrets Manager practices Avoid printing values in bootstrap output, passing them as visible command-line arguments or committing them into a launch template. Deliver sensitive configuration through a protected runtime mechanism and ensure the application can refresh or restart safely after rotation.

A secret-service outage can block new instances even while existing workers serve with valid cached credentials. Set bounded retrieval retries and decide how long an existing credential may safely be used. Readiness should fail for a new worker that cannot establish required authorization; baking yesterday's password into the image merely hides the dependency while creating a widespread exposure. Restrict who can retrieve secrets separately from who can inspect nonsecret startup status.

Immutable patching produces a replacement image and replaces instances instead of accumulating manual changes. Auto Scaling instance refresh supports rolling replacement with desired launch configuration and health controls. Instance refresh Test a candidate, promote the version, observe a small initial deployment, then replace the rest within a planned capacity budget. Refresh prepared instances as well as active ones. A patched golden image sitting in a catalog leaves the vulnerable fleet unchanged.

Keep database changes compatible with old and new application versions during replacement. Rolling back an AMI cannot undo a destructive schema migration or reverse orders already processed by the new release. Use staged schema changes and verify rollback as an application-and-data operation. During an urgent vulnerability, temporary in-place mitigation may be justified, but rebuild that fix into the image promptly so replacement does not restore the vulnerability.

Read-only verification and operational handoff

The following illustrations inspect the selected image, warm-pool lifecycle and local initialization state without starting a deployment. Substitute a known launch-template ID and an authorized read-only profile. Avoid dumping user data or logs wholesale because poorly designed bootstrap may have exposed secrets there.

aws ec2 describe-launch-template-versions --launch-template-id lt-0123456789abcdef0 --versions 7 --query 'LaunchTemplateVersions[].{Version:VersionNumber,Image:LaunchTemplateData.ImageId,Type:LaunchTemplateData.InstanceType}' --profile study-readonly --no-cli-pager
aws autoscaling describe-warm-pool --auto-scaling-group-name study-web --query 'Instances[].{Id:InstanceId,State:LifecycleState}' --profile study-readonly --no-cli-pager
cloud-init status --long
systemctl is-active study-app
curl --connect-timeout 2 --max-time 5 -sS -o /dev/null -w '%{http_code} %{time_total}\n' http://127.0.0.1:8080/ready

Compare the deployed image manifest with the approved release, then compare startup stage timestamps with the expected budget. Local service status does not prove target-group registration or an externally successful request. A convincing verification launches a clean staging instance without human installation, observes readiness, serves a representative operation and repeats after a warm-pool activation and secret rotation. Record the slowest stage and failure category so the next optimization has evidence.

Cost review includes temporary build compute, image snapshots, copies, retained rollback versions, warm-pool storage, monitoring and deployment surge capacity. The economic benefit is faster trustworthy capacity and reduced manual drift. The interview answer should explain that mechanism explicitly: preinstall stable work, inject changing state safely, and prove that the fleet actually consumes the approved version.

Remote installation needs an execution path and a readiness gate

The Lambda-installation question leaves the remote mechanism unspecified. One concrete design uses a launch lifecycle event to invoke a controller, which sends a versioned Systems Manager Run Command document to the new managed node. Run Command executes on that node; installing a package inside the controller function would only change the function environment. The instance needs a working management agent, appropriate instance permissions and service connectivity before remote commands can run. A missing management path is therefore a startup dependency, not evidence that the package itself is broken. Run Command execution and status model

Use the launch lifecycle hook to keep the instance waiting until installation and a representative readiness check succeed. Complete the lifecycle action after verification; abandon a failed launch according to the recovery design. Heartbeats provide bounded extra time, not an unlimited extension or a guarantee that every interrupted instance survives. Auto Scaling lifecycle gates

Suppose a command request returns an identifier at 10:00, but installation completes at 10:04 and a readiness check at 10:05. Publishing that identifier is not proof of five minutes of completed work. Poll status with bounded backoff, account for eventual API visibility, and verify the intended node and document version. Make retries safe by detecting the installed version and avoiding duplicate destructive initialization. Retain sanitized failure output without package credentials or secrets.

This design improves orchestration, permission boundaries and observability, but leaves installation on the scale-out path. Compare the measured launch-to-ready distribution with a baked image whose dependencies are already installed. For q-1788635317855-1, credit external installation only for the mechanism actually established; the photograph does not promise a working agent, lifecycle hook or fast artifact download. In a staging drill, make the artifact unavailable and confirm that the instance never receives production traffic merely because its virtual machine reached running state.

Keep in mind

  • Bake stable dependencies ahead of demand and measure launch-to-business-readiness.
  • A launch-template update needs an instance rollout; warm-pool contents also require refresh.
  • Keep secrets out of reusable artifacts and refresh time-sensitive state on activation.
  • Immutable rollback must account for database compatibility and completed business effects.

At the whiteboard

Why is a prebuilt image stronger than a bootstrap script for the photographed fast-startup requirement?
The slow dependency installation is performed before the scaling event instead of merely automated after it. Explain the remaining boot, configuration, initialization and health-admission stages, and confirm that the Auto Scaling launch template actually references the image. A small bootstrap still handles dynamic configuration and secret delivery. If runtime initialization dominates, image baking alone may not meet the budget and a measured warm pool or advance scaling may be needed.
The new golden image is patched, but some newly serving instances are vulnerable. What should you inspect?
Check the actual image and launch-template version on each serving instance, including members activated from the warm pool. Existing instances do not change because a new image exists, and prepared instances may preserve an old version. Inspect rollout and pool refresh progress, recipe contents and activation checks. Also verify that bootstrap did not reinstall an older dependency. Repair the deployment path, then confirm the approved manifest and business readiness on both fresh and prepared launches.

Last verified 2026-09-06

Reliability & data recovery · 1,632 words · 8 min

RTO, RPO and SLO: quantitative recovery and dependency budgets

Define recovery promises in terms of customer transactions, then reconcile backup age, measured restoration time, availability budgets and tier dependencies.

↑ Chapter index

Define the outcome and its failure boundary

A recovery objective becomes useful when it names the workload, failure scope, clock boundaries and acceptable business outcome. Recovery Time Objective (RTO) bounds the interruption before useful service returns. Recovery Point Objective (RPO) bounds how far back recovered data may go. Actual recovery time and the age of the last usable recovery point are measurements to compare with these targets. An objective does not become evidence merely because it appears in a policy. AWS recommends deriving objectives from business impact and checking dependent workloads for incompatible promises. AWS recovery-objective guidance

For an order service, define recovery as authorized customers successfully submitting an order, finding it again and receiving a durable confirmation. A database accepting a TCP connection is an intermediate milestone. Agree whether reduced checkout capacity, read-only browsing or deferred fulfillment counts as recovery. An RPO of zero usually concerns acknowledged committed writes under a named failure, such as permanent loss of the primary site. It cannot mean recovering every unsent keystroke or surviving destruction of every authorized copy. Record separately whether rejected work can be retried and whether unknown transaction outcomes require reconciliation.

The backup-planning question favors discovering acceptable data loss and recovery needs with stakeholders. Listing critical systems is valuable input, but does not determine these thresholds. Ask about revenue interruption, reconstruction effort, peak periods, externally committed obligations, evidence retention and budget. Convert answers into testable criteria for each business workflow before selecting backup frequency or buying a second site.

Service levels and the arithmetic of an availability budget

A Service Level Indicator (SLI) measures behavior, for example the fraction of eligible checkout attempts that return a correct result within two seconds. A Service Level Objective (SLO) sets its target over a defined window; a Service Level Agreement (SLA) is a separate agreement that may attach consequences to specified measurements. An error budget is the allowed unsuccessful fraction. These concepts require explicit population and measurement choices, as explained in Google's SRE treatment of service objectives.

Consider an illustrative time-based 99.9% availability target over a 30-day month. The window contains 43,200 minutes, leaving 43.2 unavailable minutes. One 60-minute complete outage produces 1 − 60/43,200 = 99.8611% availability, missing that target even if the workload exactly meets a one-hour disaster RTO. A disaster objective and a monthly SLO answer different questions; excluding declared disasters from one measurement must be an explicit policy, not an arithmetic trick after an outage.

For a request-based target, suppose there are ten million eligible attempts and the objective is 99.95%. The budget is 5,000 unsuccessful attempts. A ten-minute recovery during a peak of 200 attempts per second could affect 120,000 attempts if all fail, whereas the same duration during a quiet period affects fewer. Retried requests must follow a consistent counting rule. Measure customer-visible journeys so internal retries do not conceal failed purchases, and do not multiply component availability percentages unless the independence and dependency assumptions actually hold.

Worked quiz: weekly backups and a three-hour restore

The five related customer questions state a one-hour RTO, a one-day RPO, weekly backups and a measured three-hour database restore. Both objectives are unsupported by that implementation. Three hours is 180 minutes, three times the 60-minute target and 120 minutes over it. Weekly recovery points can be almost seven days old just before the next scheduled backup, much older than 24 hours. A failure shortly after a successful backup might lose less than a day, but a favorable event does not demonstrate that the policy consistently meets the target.

Assume, for a teaching calculation, that each backup represents the database at its start and becomes usable two hours later. A snapshot starting Sunday at 00:00 becomes available at 02:00. Just before the next Sunday's completion, the latest usable point may approach 170 hours of age: a 168-hour interval plus two hours of completion delay. This formula depends on the backup's actual consistency-point semantics and overlapping-job behavior; it is not a universal property of snapshots. Failed jobs, unavailable copies or untested corruption can make the age still larger.

A daily schedule alone therefore does not prove a one-day worst-case RPO. With those same two-hour completion assumptions, a 12-hour interval bounds ordinary point age near 14 hours when every job succeeds, giving room for some delays. Alternatively, retained transaction logs can support more recent recoverable points. Discover whether logs already exist before concluding exactly how much data would be lost. The photographs establish a backup-policy gap, not the existence of unmentioned logs.

A useful customer response states both comparisons, then offers a targeted review of recovery-point freshness and the slow restore stages. The response claiming both targets are met supplies false assurance. Each half-correct response still misstates a consequential fact. An explanation without an improvement offer is helpful; adding practical assistance addresses the next decision without needing to invent an official score.

Turn a recovery procedure into a critical-path calculation

Draw two graphs: the runtime transaction dependencies and the prerequisites for executing recovery. An application may use a database during normal operation while an independently hosted automation service restores that database. Confusing these graphs creates circular runbooks. For a directed acyclic recovery graph, assign each task a measured duration d(v). Its earliest finish is F(v) = d(v) + max(F(p)) over predecessor tasks p. Independent branches can overlap; dependent durations accumulate. Add detection and authorized decision time before recovery work, and validation and traffic convergence after it.

In an illustrative one-hour budget, detection and incident declaration take six minutes. Identity and network checks take four more. Database promotion plus replay takes 18 minutes, while application capacity preparation takes 12 minutes in parallel. Configuration binding requires both branches and takes five minutes. Client routing convergence takes four; transaction validation takes eight. The critical path is 6 + 4 + max(18,12) + 5 + 4 + 8 = 45 minutes, leaving 15 minutes of headroom. Making application preparation twice as fast saves no time because the database branch still gates progress.

If replay instead takes 35 minutes at peak log volume, the total becomes 62 minutes. This failure of the budget should trigger changes to the critical branch, earlier preparation or a revised business decision. Do not add independently measured p95 values and label the sum a p95 prediction: durations may be correlated under a regional event. Keep scenario measurements and explicit margins, including exhausted quotas, slow key access and reduced staff availability.

The unusual one-hour, four-hour and eight-hour tier question

The photographed tier question gives the database a one-hour RTO, the application four hours and the web tier eight hours, then explicitly states that all tiers require the application tier to function. Preserve that condition. If the database is restored in 60 minutes but the application cannot function for 240 minutes, the application's consumers do not obtain a usable database-backed workflow within an hour. Active-active application capacity may remove that shared four-hour bottleneck. AWS specifically asks teams to reconcile upstream and downstream recovery expectations. Dependency compatibility in recovery planning

There are two defensible interpretations to discuss. If the database's one-hour objective measures only independent database operation, its target might be met while the application remains down. If the objective measures database-backed business functionality, the dependency makes that insufficient. If the application actually runs database recovery orchestration, it is also a recovery prerequisite and must be available before relevant recovery steps begin. Clarify this distinction rather than silently imposing a conventional web-to-application-to-database startup order.

Among readable choices, application-tier investment is a provisional preference because it addresses the stated shared dependency. The option's wording about preventing other tiers from recovering is stronger than requiring the tier to function, and lower choices are cropped. No complete answer key follows. Even a continuously available application does not automatically meet the database objective or make an eight-hour web recovery acceptable for an end-to-end one-hour checkout objective.

Practical evidence collection without changing recovery state

Start with an exported incident timeline, backup job history, recovery-point catalog and timestamps from a rehearsal. Normalize timestamps to UTC and retain the source clock and collection time. The following local Python example calculates the critical path above; it does not contact AWS or initiate recovery.

durations = {"detect": 6, "foundation": 4, "database": 18,
             "application": 12, "bind": 5, "route": 4, "verify": 8}
parents = {"detect": [], "foundation": ["detect"],
           "database": ["foundation"], "application": ["foundation"],
           "bind": ["database", "application"], "route": ["bind"],
           "verify": ["route"]}
finish = {}
for task, minutes in durations.items():  # already topologically ordered
    finish[task] = minutes + max((finish[p] for p in parents[task]), default=0)
print(finish["verify"], 60 - finish["verify"])  # 45, 15

For an RDS inventory, a read-only profile can inspect one named instance with aws rds describe-db-instances --profile recovery-audit --region eu-west-1 --db-instance-identifier sales-example --query 'DBInstances[0].{Status:DBInstanceStatus,Latest:LatestRestorableTime,Retention:BackupRetentionPeriod}'. Replace the illustrative identifier; no credentials belong in the command. The returned latest-restorable timestamp describes a service capability, not proof that the application restored correctly. Check the documented fields and permissions in the RDS CLI reference. A permission error or empty result means the inventory needs correction, not that recovery coverage exists.

Reliability, security and the price of a stricter objective

Recovery work depends on people and credentials as well as machines. Include the time to obtain an authorized recovery role, decrypt a copy and locate a signed application artifact when the usual identity or build path is unavailable. Give rehearsals scoped access to recovery resources and preserve audit evidence without copying customer data into incident chat. A separate backup credential boundary reduces correlated administrative loss only if operators can still recover through it.

Compare alternatives using a total operating model: retained bytes, replication traffic, provisioned standby capacity, reservation choices, licenses, monitoring, rehearsals and engineering ownership. In a fictional budget, a smaller standby saves 800 currency units monthly but adds a control-plane scaling dependency that repeatedly consumes the remaining 15-minute recovery margin. The appropriate decision depends on measured failure exposure and business interruption cost, not a universal preference for the cheapest bill. Publish the residual risk and an owner for every gap. A recovery design can promise fast infrastructure recovery yet need a separate, slower process for malicious data changes.

Keep in mind

  • Compare measured recovery and usable recovery-point age with separate RTO and RPO targets.
  • Weekly backups and a three-hour restore fail the photographed one-day and one-hour requirements.
  • Budget the dependency critical path through validated business functionality; the smallest tier RTO alone is insufficient.
  • A disaster RTO does not automatically fit a monthly availability error budget.

At the whiteboard

How would you explain the weekly-backup problem to the customer?
State that both stated targets are missed: 180 minutes exceeds 60, and the backup policy permits much more than 24 hours between usable recovery points. Qualify that retained logs or other copies could change the RPO evidence. Offer to measure selection, restore, replay and validation separately and investigate more frequent points plus a faster recovery path. Do not suggest that increasing frequency will by itself fix restore duration.
Which tier deserves active-active when the printed RTOs are one, four and eight hours?
First preserve the stated dependency on the application tier and ask what each objective measures. Application continuity addresses the shared dependency, whereas a one-hour database restart alone may deliver no useful workflow. Explain the remaining database and web requirements and the distinction between functioning and independently recovering. Because the photographed lower choices are absent, keep this a provisional visible-choice analysis rather than a definitive key.

Last verified 2026-09-06

Reliability & data recovery · 1,726 words · 9 min

Disaster recovery strategies: tested failover, failback and capacity

Choose recovery infrastructure from explicit failure domains, capacity and durability requirements, then rehearse traffic transfer and a safe return to the original site.

↑ Chapter index

Failure domains determine what a second site can accomplish

High availability keeps a workload serving through a defined set of ordinary failures; disaster recovery restores it after disruptions beyond that continuously tolerated set. Neither label defines the boundary by itself. Two application instances can tolerate an instance loss but still share one database, credential provider, queue or deployment mistake. Two Availability Zones (AZs) in one Region address different infrastructure failures from two Regions. A regional design must also consider common configuration, identity, delivery pipelines and deliberate deletion.

A concrete AWS example is an RDS Multi-AZ DB instance deployment: it maintains a synchronous standby in another AZ and supports database failover. That single standby is not a read-serving replica, and the placement remains within a Region. It does not establish survival of a regional loss. RDS Multi-AZ DB instance behavior Avoid conflating that deployment with an RDS Multi-AZ DB cluster or arbitrary cross-Region read replicas.

The recent-outage questions call for reviewing the customer's actual architecture and failed recovery plan. A provider root cause analysis can explain an initiating event but may omit expired customer credentials, untested scripts or insufficient standby capacity. Moving to the cloud is not an outage-prevention proof. Collect a timeline of the failure, detection, attempted actions and customer impact; identify which dependency blocked restoration. A tailored review and revised rehearsal close that gap more directly than a competitor-outage list or an unqualified promise about geographic deployment.

Four patterns and the work each leaves until the incident

AWS describes backup and restore, pilot light, warm standby and multi-site active-active. Backup and restore reconstructs infrastructure and data; pilot light maintains essential replicated state but requires application activation; warm standby maintains a functioning reduced-capacity service; active-active serves workload traffic in multiple locations. Hot standby maintains ready capacity while ordinary traffic uses one active site. These names describe readiness, not guaranteed recovery times or replication semantics. AWS recovery pattern definitions

PatternWork still on the recovery pathCharacteristic constraint
Backup and restoreSelect point, rebuild, restore, bind and testData volume and missing artifacts can dominate
Pilot lightActivate missing components, scale and routeLaunch APIs and dependencies must be usable
Warm standbyGrow reduced capacity, promote state and routeSmall standby can overload before growth completes
Active-activeRemove failed capacity, converge traffic and reconcile stateSurvivors need headroom and safe write semantics

These table entries are design questions to measure, not service timing promises. The geographical customer wants rapid full load, no data loss and affordable operation. Pilot light or warm standby can be a reasonable cost compromise, but zero RPO still depends on the state path. Active-active can improve readiness while adding replication, conflict handling and operating cost. Explain the alternatives with that customer's traffic and durability needs. Sharing technology documentation helps only if it supports an actual decision; involving a colleague should retain an owner, identify the expertise needed and end in a testable recommendation.

Worked capacity and cost comparison

Consider a fictional service requiring 1,200 requests per second at a target latency. A tested application instance handles 150 requests per second under the recovery workload. Eight instances cover arithmetic steady demand, while a recovery plan uses ten to allow 20% of that deployed capacity as spare headroom. A warm standby containing two instances initially handles only 300 requests per second. If launch and readiness take six minutes, routing the full load immediately creates an overload interval. A read-only or admission-limited mode can bridge that interval only if stakeholders accept it as the defined service outcome.

With active-active, suppose each site normally serves 600 requests per second using five instances. After one site fails, the surviving five support only 750 at the tested limit; active-active has not provided full-load survival. Provision ten at each site, prove faster scaling, reduce accepted functionality or change the target. The same calculation must include database connections, queue consumers, cache misses and downstream request amplification. Compute headroom cannot compensate for a database already saturated before the incident.

For an intentionally simplified cost model, take an instance cost of 40 units per month. Two warm instances cost 80 units; ten hot instances cost 400, a difference of 320 before storage, transfer, licenses and operations. These invented numbers illustrate how to expose a readiness tradeoff and are not AWS prices. Quota approval permits a launch request but does not reserve physical capacity. Rehearse unavailable instance types and consider appropriate capacity reservations when the recovery obligation requires them; include their cost and scope in the design.

Failover is a controlled transfer of authority and user traffic

A runbook should begin with impact evidence and explicit entry conditions: affected workflows, failure scope, expected data loss, target health and who may authorize the transition. Separate the decision to initiate from the mechanical steps, which should be automated and observable. Autonomous switching is appropriate only when the failure signal, fencing and recovery behavior are sufficiently trustworthy. A false positive can turn a network partition into competing writers or move healthy users onto an overloaded standby.

A generic stateful failover sequence is: assess the recovery point; stop or fence unsafe old writers; select and promote the authoritative target; bind applications to its credentials and endpoints; validate representative work; move traffic within tested limits; and continue checking correctness under load. Exactly how fencing works is engine-specific. Changing DNS is not writer fencing: clients can retain addresses and existing connections. Route changes also do not transfer queues, log offsets or application state.

Amazon Application Recovery Controller (ARC) routing controls provide highly available switches integrated with Route 53 health checks. They help implement prepared traffic-routing actions; they do not independently certify database consistency or application capacity. ARC routing control Maintain access to the required endpoints and a reviewed procedure before the incident. Where possible, minimize new resource creation or configuration changes during recovery, since these dependencies can fail precisely when existing serving resources remain usable.

For the regional-incident quiz, an applicable current runbook is a defensible first step; an already approved geographic failover may itself be the runbook's immediate action. Without readiness and data-integrity evidence, blindly switching locations is unsafe. For the sparse customer-outage question, check a known backup system through an end-user operation when it exists. Otherwise establish impact and available recovery paths. Communication and diagnosis can proceed alongside mitigation; a long root-cause investigation must not unnecessarily delay a known safe restoration.

Remove the shared queue without losing transaction meaning

The two-data-center transaction question has one shared queue causing complete outages and manual recovery lasting over 20 minutes. More application servers preserve that dependency. Circuit breakers contain waiting and resource exhaustion but cannot make missing transaction events available. Independent queues per site with a prepared failover path directly address the stated isolation gap. A passive standby can also work if its data, promotion and capacity behavior are equivalent; the option label leaves those facts unstated.

Now inspect the data flow. If the order commits locally and a separate publish fails, the order exists without its event. If an event is processed and acknowledgement is lost, a retry can cause a duplicate charge. An illustrative transactional outbox records the order and event intent in one database transaction. A publisher retries delivery; a consumer stores the event identifier with the business effect under a uniqueness rule. Independent queues still require an explicit plan for copying accepted messages or replaying this durable source after failover.

Amazon SQS standard queues can deliver a message more than once, and AWS directs consumers toward idempotent processing. SQS delivery and idempotency guidance This is an AWS mapping for duplicate-handling requirements, not a claim that SQS automatically mirrors a queue across Regions. If the outbox itself has a nonzero regional RPO, events accepted only at the lost site remain at risk. Test a failure between every acknowledgement boundary and verify both no missing business operations and no duplicate effects.

Failback must preserve the writes accepted during recovery

Once the original site returns, the recovery site may hold hours of new authoritative writes. Sending users back because the old health check turns green risks serving stale balances and creating divergence. Keep the old site isolated from customer writes. Determine whether it can safely rejoin as a replica or needs rebuilding; synchronize from the current authority, compare business invariants and prepare a planned return. Preserve evidence of divergent data before replacing it.

AWS Elastic Disaster Recovery distinguishes launching recovery instances from redirecting application traffic, and supports synchronization for failback to source infrastructure. Its recovery operation alone is not application traffic failover. Elastic Disaster Recovery recovery and failback terminology For Aurora Global Database, AWS distinguishes planned switchover, which synchronizes before changing roles, from unplanned failover, which can lose writes not yet replicated. A healthy planned switchover is a documented way to return to the original Region, subject to engine compatibility and prerequisites. Aurora switchover and failover

A generic return procedure pauses or drains writes within an agreed window, confirms final synchronization, transfers writer authority, reconnects applications, shifts traffic and validates again. Do not resume two single-writer histories simultaneously. If reconciliation cannot establish a safe common history, keep the working site authoritative while an engine-specific recovery plan is reviewed. Returning to the original geography is an operational preference unless a concrete business requirement makes it urgent.

Rehearsal evidence, safe diagnostics and secure operations

Exercise the complete path after meaningful changes and on a cadence matched to its risk. Include loss of the primary site, a network partition, an unavailable deployment dependency and a corrupted-data scenario. A successful clean shutdown drill does not reproduce sudden unavailability. AWS emphasizes repeated testing, secondary capacity, quota readiness and configuration drift. AWS disaster recovery testing guidance Record the application version, data size, peak load, runbook revision, permission scope, recovery-point age, phase timings and customer-visible outcome.

Safe illustrative checks in a test environment include curl --fail --silent --show-error --connect-timeout 3 --max-time 10 https://recovery.example.com/health/ready and dig +noall +answer recovery.example.com. The reserved example domain is a placeholder. A readiness response proves only what that endpoint checks; the DNS result describes one resolver's view. Follow with a synthetic transaction under a dedicated test tenant, confirm it through the new site's read path and verify its event effect. Synthetic writes require an isolated target and defined cleanup, so these snippets do not initiate them.

Validate security as part of readiness: recovery roles must be usable, customer keys accessible and authorization no broader than necessary. Prevent tests from sending real payment requests or notification emails. Track encryption, configuration drift, backup availability and standby spend after the exercise. A report should distinguish operational recovery, data reconciliation and restored redundancy; a site can serve customers again while remaining exposed to a second failure.

Keep in mind

  • Pattern names describe readiness; test capacity, state durability and traffic transfer separately.
  • A second AZ does not cover an entire regional loss, and multiple sites can retain a shared queue failure.
  • Failover transfers authority as well as traffic; DNS changes alone do not fence writers.
  • Failback synchronizes from the current authoritative site before returning users.

At the whiteboard

Would you recommend active-active to a cost-sensitive customer demanding zero loss?
First quantify failure scope, full-load recovery time, write latency tolerance and budget. Active-active can reduce activation work but needs survivor headroom and compatible write consistency. Compare a functioning reduced standby with hot capacity, then independently prove the commit durability contract. A geographically asynchronous active-active system can still lose acknowledged writes. Present a measured cost and latency tradeoff instead of granting the pattern a guarantee.
What does a convincing disaster recovery exercise prove?
It shows a timed customer transaction path through the recovery site at representative load, with recovery-point evidence and no unsafe concurrent writers. It also checks credentials, keys, queues, routing, retries and the return path. Keep failed steps and residual risks in the result. Passing a process health check or launching a recovery instance is insufficient; a successful planned switchover also does not establish the data-loss behavior of an unplanned outage.

Last verified 2026-09-06

Reliability & data recovery · 1,692 words · 8 min

Replication and consistency: synchronous commits, geography and zero RPO

Follow a write through local durability, remote acknowledgement and replay, then analyze the latency, availability and consistency costs of zero data loss.

↑ Chapter index

Trace the commit contract through the data path

A client sees a successful write only after the database reaches its configured acknowledgement condition. In a common log-based design, the engine checks constraints, changes buffered pages, appends write-ahead log (WAL) records and makes the required commit record durable. A sender streams log records to another site, whose receiver writes or flushes them before a replay process applies them to queryable state. The foreground commit need not wait for every modified data page to reach storage if durable logging supports crash recovery. The exact acknowledgement boundary determines what a successful transaction survives.

PostgreSQL makes these distinctions explicit. With synchronous standbys configured, synchronous_commit=on waits for remote durable flush; remote_write waits for a remote operating-system write that need not survive that operating system's crash; remote_apply additionally waits for replay and query visibility. The setting alone is insufficient when synchronous_standby_names is empty. PostgreSQL synchronous commit settings A replica can therefore possess durable data that is not yet visible to its queries.

Synchronous and asynchronous describe whether the required remote condition is on the commit acknowledgement path. They do not, alone, specify transaction isolation, multi-row invariants, read freshness or durability across a particular geographic boundary. Physical replication copies engine-specific state; logical replication transfers interpreted changes and has separate compatibility and object-coverage constraints. Begin with the actual database, version and configuration rather than promising guarantees from the word replication.

Zero RPO is relative to which failures must be survived

Suppose site A acknowledges transaction 101 after both its primary and a local synchronous replica have durable copies. Its remote asynchronous site B has reached transaction 100. Permanent loss of all of A destroys the only copies of acknowledged transaction 101. The local synchronous replica improved server-level resilience but did not establish site-level zero RPO. Conversely, waiting for durable acknowledgement from B before reporting success can preserve the write after total loss of A, assuming B and the recovery procedure remain sound.

A network partition exposes the availability tradeoff. If A cannot prove that its required remote partner persisted a write, it must wait or reject new commits to preserve that particular remote durability contract. Automatically falling back to local-only success changes the guarantee. A timeout cannot reliably distinguish a failed remote server from a slow link, so promotion also needs a mechanism that prevents unsafe competing authorities. PostgreSQL's synchronous replication discussion describes acknowledgement waits and the operational consequences of unavailable synchronous standbys. PostgreSQL standby and synchronous replication mechanics

Quorum designs can retain progress through a permitted failure if a sufficient communicating group survives. The voting and durability rules matter: a majority count is not itself a proof that the right data survives the named geography. A witness is not automatically a fully queryable data copy, and witnesses in different products need not store the same information. Test the documented topology and fault model rather than applying a generic three-node diagram to every engine. Retained backups still address validly committed deletions and corruption that replication faithfully propagates.

Worked quiz: the site 120 milliseconds away

The question describes active-passive synchronous replication to a site 120 milliseconds away and peak write timeouts, while requiring zero RPO. It does not say whether 120 milliseconds is one-way delay or round-trip time (RTT). Under an illustrative 120 ms RTT assumption, add 8 ms of nonoverlapped local and remote processing to obtain a simplified 128 ms commit-path floor. With 120 ms one-way and a roughly symmetric return path, the illustrative floor is 248 ms. Real implementations overlap work and sometimes require additional exchanges, so these are explicitly assumed models rather than measurements inferred from the photograph.

One serial client waiting 128 ms per commit can complete at most about 1/0.128 = 7.81 such commits per second before other work. This is a per-client sequential ceiling, not the database's total throughput ceiling: independent commits can overlap and log flushes may be grouped. At a stable 500 admitted commits per second and 0.128 seconds of average time in the modeled stage, Little's law gives about 64 concurrent in-flight commits. If arrival pressure grows beyond the tested processing capacity, queueing adds latency even though the network RTT stays unchanged.

Among visible choices, throttling peak writes retains the remote acknowledgement guarantee while reducing contention. Replacing remote synchronization with asynchronous replication, including a local synchronous plus remote asynchronous topology, weakens protection against primary-site loss. Reducing an acknowledgement timeout merely stops waiting sooner; it cannot accelerate propagation or durable storage. If the deadline is 100 ms while the unavoidable path exceeds 120 ms, throttling cannot make successful commits meet it. Change the network placement, deadline, workload shape or explicitly negotiated objective.

Admission control and retries that preserve the guarantee

Apply admission control before expensive database work begins. Bound queue length, per-tenant concurrency and total in-flight transactions using measured capacity and latency distributions. A token bucket can permit a bounded burst while limiting long-run arrivals, and a semaphore can bound concurrent operations. These solve different problems: a rate bound can still permit excessive concurrency when latency increases, while a concurrency bound alone does not define a fair arrival rate.

# Illustrative pseudocode, not a deployable database client.
if deadline_remaining() < measured_commit_budget:
    return RETRYABLE_NOT_ACCEPTED
permit = try_acquire_commit_slot()
if permit is None:
    return RETRYABLE_NOT_ACCEPTED
try:
    return commit_with_required_remote_durability(request_id, operation)
finally:
    release(permit)

Rejected requests were never accepted as durable business operations. If a service instead returns an accepted status for deferred work, its queue must meet the promised failure-scope durability and its API must distinguish acceptance from completion. Retrying timed-out commits is different from retrying a request rejected before execution. The commit may have succeeded while the response was lost. Persist an idempotency key and result with the business operation, then look up the result before repeating a non-idempotent effect such as charging a card.

Use bounded retries, randomized delay and an overall deadline. Otherwise, every timeout creates extra work and can sustain overload after the original peak ends. Fair admission can protect smaller tenants; an unlimited queue merely converts overload into old work and memory pressure. Batching can amortize overhead, but do not group unrelated transactions if that changes required isolation, failure attribution or acceptable response time.

Asynchronous lag, catch-up and read consistency

In an asynchronous design, local success precedes remote durability. This removes the required remote wait but creates a loss window when the primary disappears. Measure distinct positions: what the primary committed, what was sent, what the remote received, what was flushed and what was applied. A byte gap is useful for backlog, while a time-based lag estimate depends on workload activity and sampling. A replica that is caught up during an idle interval may show an old last-transaction timestamp; interpret it alongside positions and observation time.

Suppose the replication backlog is 6 GiB, the link and receiver can sustain 60 MiB/s, and new writes add 20 MiB/s. The net catch-up rate is 40 MiB/s, so draining 6 × 1,024 MiB takes about 153.6 seconds. Dividing by the gross 60 MiB/s would underestimate catch-up because it ignores new work. If arrivals rise to or exceed 60 MiB/s, this simple model never catches up. Replay may impose a separate, slower limit even after receipt. Measure both stages.

Strong read-after-write behavior is also separate from survival. A durable remote log does not guarantee a query hits a replica that has applied the write. A user routed between asynchronous regions can observe a new order disappear temporarily. Pin relevant reads to the writer, carry a commit-position requirement, wait for replay or select an engine with the needed read contract. Each alternative changes latency and availability. For global latency questions, adding regional application servers without a plan for authoritative writes can make reads faster while leaving checkout bound to a distant primary.

AWS mappings: distinguish product modes and planned operations

RDS Multi-AZ DB instances use a synchronous standby across AZs within a Region. Aurora Global Database replicates asynchronously across Regions; an unplanned regional failover can lose changes absent from the promoted secondary. Its healthy planned switchover first synchronizes and can provide zero data loss for that controlled transition. Planned zero loss is not evidence of zero RPO for abrupt site loss. RDS deployment scope Aurora recovery semantics

DynamoDB global tables offer multi-Region eventual consistency (MREC) and multi-Region strong consistency (MRSC). MRSC synchronously replicates changes to at least one other Region before write success and supports zero RPO within its documented architecture. It requires exactly three participating Regions, either three replicas or two replicas and a witness, within supported Region sets. The witness cannot serve application reads or writes. MRSC has higher cross-Region operation latency and does not support the transaction APIs, Time to Live or local secondary indexes. Loss of the required communicating quorum restricts operations. Current DynamoDB consistency modes and constraints

These are alternatives with different data models, not a recommendation to migrate a relational transaction workload into DynamoDB solely for its RPO label. For object storage, S3 replication is asynchronous, so successful source writes do not prove the destination already holds them. S3 replication behavior Specify the resource and configured mode in an interview. Older generic descriptions of all global tables as asynchronous are incomplete for the currently documented MRSC mode.

Read-only replication diagnosis and protection costs

On an authorized PostgreSQL test primary, inspect configuration and sender state without promoting anything or changing durability:

SHOW synchronous_commit;
SHOW synchronous_standby_names;
SELECT application_name, state, sync_state,
       sent_lsn, write_lsn, flush_lsn, replay_lsn,
       write_lag, flush_lag, replay_lag
FROM pg_stat_replication;

These fields distinguish sender state and remote progress, but privileges and supported fields depend on the installed version. Null lag values are not a certificate of zero loss, and a replay-lag value is not a forecast of future catch-up time. PostgreSQL documents these monitoring semantics. Replication statistics and lag interpretation Compare measured network RTT, remote flush latency, wait events, transaction throughput and client deadlines over the same interval. Avoid polling so aggressively that diagnosis adds material load.

Encrypt replication links and restrict replication identities and network reachability; replicated data carries the same sensitivity as the source. Monitor permission or key failures as replication failures, and protect audit logs from exposing full transaction payloads. Retained WAL can exhaust source storage when a lagging consumer prevents cleanup; recovery readiness includes backlog growth alarms and a documented rebuild option. Budget extra storage, replicated writes, network transfer where charged, remote compute and the engineering burden of conflict handling. A cheaper asynchronous path is defensible only when its loss window is acceptable and measured.

Keep in mind

  • Define zero RPO against acknowledged commits and a specific failure domain.
  • Throttling can reduce queueing while retaining synchronous durability; it cannot remove geographic latency.
  • Remote receipt, durable flush and replay are separate evidence points.
  • Aurora planned switchover, DynamoDB MRSC and asynchronous regional replication have different guarantees and constraints.

At the whiteboard

Why not add a local synchronous replica and make the distant copy asynchronous?
That protects some local server failures but leaves a regional loss window. A locally acknowledged write may be absent remotely when the whole primary site disappears. Under the stated site-level zero RPO, keep the required remote durability condition. Admit fewer peak writes if contention causes the timeouts, then measure whether the base network delay still exceeds application deadlines. Change the guarantee only through an explicit requirements decision.
Does a timed-out synchronous commit mean the transaction was rolled back?
No. The client may lose the response after the durable decision, or stop waiting while the server is still completing it. Determine the engine and driver semantics and use a durable request identifier to query the authoritative outcome. Retry with bounded backoff and idempotency rather than issuing an unrelated duplicate operation. Distinguish known rejection before execution from an unknown outcome after commit work began.

Last verified 2026-09-06

Reliability & data recovery · 2,037 words · 10 min

Backup, PITR, retention and archive: proving an end-to-end restore

Build recoverable history from snapshots and logs, preserve the entire retention chain, and measure restoration through verified application behavior.

↑ Chapter index

A recoverable history contains more than replicated current state

A replica helps preserve service after infrastructure loss, but a valid deletion or malicious update can propagate immediately. A backup preserves a recoverable historical state under its retention and access rules. Point-in-time recovery (PITR) combines an appropriate base with an ordered history of subsequent changes to reconstruct a selected moment. An archive changes the economics and access time of retained data. These mechanisms overlap, but none substitutes automatically for the others.

In a self-managed PostgreSQL example, a base backup plus a continuous sequence of archived WAL permits replay toward a recovery target. Missing a required log segment breaks that route, and recovery configuration must select the intended target and timeline. Keep configuration needed to start and access the recovered instance as well; the WAL stream does not recreate every operational file. PostgreSQL continuous archiving and recovery A raw copy of changing database files is not an application-consistent backup simply because the copy command completed.

Distinguish crash consistency from application consistency. Crash-consistent storage can reflect a sudden machine stop and require log recovery. Application consistency additionally accounts for coordinated application state, which may span a database, objects and external effects. For example, recovering an invoice row without its referenced object creates a logical hole even if the database opens cleanly. Document authoritative stores, derived indexes, identifiers and replayable sources, then define which data must be recovered together.

Snapshots, incremental storage and the service boundary

Full, incremental and differential describe how backup changes are represented. A traditional incremental chain depends on its base and intervening increments; a differential depends on its base and the chosen differential. More frequent full bases can reduce replay or dependency length but consume bandwidth and storage. Do not assume every managed snapshot exposes such a customer-managed chain: AWS Backup retains necessary reference data so supported incremental recovery points remain fully restorable even after the original full recovery point expires. AWS Backup incremental reference handling

Amazon RDS automated backups support recovery within the configured retention window, while manual snapshots have a distinct lifecycle. RDS backup types RDS PITR creates a new DB instance without modifying the source. The documentation exposes the latest restorable time and describes transaction-log uploads every five minutes. Use the actual latest-restorable timestamp rather than treating that cadence as a guaranteed RPO. Restored volumes may continue initializing after the instance becomes available, affecting performance. RDS PITR behavior and initialization

A recovery procedure must therefore specify target identity, network placement, parameter settings, access credentials, application endpoint changes and post-restore load checks. Selecting a recovery point restores data into a resource; it does not automatically reconnect every consumer. Preserve a configuration manifest alongside the backup catalog and verify compatibility with the application revision used in recovery. The source remains valuable for investigation and comparison, so an isolated target also reduces the chance of destroying evidence.

Worked retention plan: any recent data within two hours

The quiz requires any data from the last 30 days to be restorable within two hours, while older data must remain retained but rarely needs access. Keeping recent recovery points in a fast-access tier and moving eligible older points to lower-cost archive storage matches those age-based needs. Keeping everything fast may waste money; deleting older points violates the stated retention requirement. No duration is supplied for the older history, so an engineer must obtain the governing retention policy instead of inventing a seven-year period.

Clarify the granularity of any data. If it means any chosen instant, daily snapshots alone do not supply that capability. If it means specified daily business records that can be reconstructed, a different scheme may suffice. For a custom backup chain, a 29-day-old target could depend on a 35-day-old base. Archiving that base to slow storage would jeopardize the recent-data target even though the target's increment remains hot. Transition complete self-contained sets, retain necessary bases in the fast tier, or use a managed recovery-point mechanism whose dependencies are preserved.

Consider an illustrative 1 TiB database and a two-hour deadline. Recovery authorization and point selection take 10 minutes; target provisioning takes 15; the modeled sequential data transfer uses sustained 400 MiB/s and takes 1,048,576/400 = 2,621 seconds, about 43.7 minutes. Replay takes 20 minutes, configuration and connection changes 10, and application verification 15. The total is 113.7 minutes, leaving just 6.3 minutes. This is a planning model for a measured transfer path, not a prediction that RDS must copy its entire volume before becoming available.

If sustained throughput falls to 250 MiB/s, the transfer alone takes 69.9 minutes and the total becomes 139.9 minutes. More backup frequency does not fix that throughput bottleneck. Faster storage, smaller recovery units, a maintained replica or overlapping independently safe phases are possible alternatives. Benchmark the actual database size and query working set; tiny sample restores cannot validate the production deadline.

Archive retrieval is only the first stage of recovery

S3 Glacier Flexible Retrieval standard retrieval typically takes three to five hours; Deep Archive standard retrieval typically takes about 12 hours. Expedited retrieval is a separate Flexible Retrieval option with capacity and cost considerations, and large datasets can take longer than typical single-object figures. These retrieval characteristics do not fit a two-hour full-restore target merely because the destination later becomes readable. S3 archive retrieval modes and limits Storage classes with immediate object access have different cost and usage assumptions; do not infer access behavior from the word Glacier alone.

S3 Lifecycle transitions also have minimum storage-duration considerations and transition charges, so frequent movement or early deletion can erode expected savings. S3 Lifecycle transition constraints Database backup services have their own resource-specific lifecycle capabilities; an S3 rule is not a universal method for moving every managed database snapshot into an arbitrary archive class. Select the backup product and supported transition before calculating savings.

For a simple fictional storage comparison, let 20 TiB of eligible older self-contained backups cost 20 units per TiB-month in the fast tier and 4 in the archive tier. Gross storage savings are 20 × (20 − 4) = 320 units monthly. Subtract transition requests, retrievals, temporary restored copies, transfer where charged, minimum-duration penalties and testing. The calculation uses invented prices and excludes compression or deduplication assumptions. Rare retrieval can justify lower-cost storage only when its measured delay fits the older-data requirement and the full recovery set remains discoverable.

PITR is not transaction rollback or arbitrary engine downgrade

For a release failure, first determine what must be reversed: application code, configuration, schema, engine version or committed data. Rolling back an open transaction discards work within that transaction's supported semantics. Restoring to before a destructive committed operation creates an older database history, which can also omit legitimate later writes. An application rollback may be possible without data restoration if its code remains compatible with the current schema; a schema rollback can fail if the migration discarded information.

The managed-database hosting question favors provider-managed routine operations with supported configuration controls, but its prior-version requirement must be checked for the chosen engine. RDS for PostgreSQL major upgrades can introduce backward incompatibilities and require testing; supported upgrade paths are explicit. RDS PostgreSQL major-version planning Do not promise a generic in-place downgrade button. A pre-change recovery copy may supply an earlier environment, but selecting it still requires a plan for writes accepted after the change.

For a teaching example, a faulty migration runs at 10:05, legitimate orders continue until detection at 10:17, and a known-good point exists at 10:04. Restoring that point fixes the earlier schema state while excluding those subsequent orders. Freeze unsafe writes when appropriate, preserve the damaged source and restore separately. Compare order identifiers with authoritative event or payment records, reconstruct approved missing work and prevent duplicate external effects. A compensation procedure may be more suitable than wholesale rewind. Decide from business invariants and engine capabilities rather than treating all rollback requests as identical.

An end-to-end restore verification pipeline

Define a restore test as a series of evidence gates. First confirm that a recovery point exists in the intended account and Region and covers the desired time. Next verify access to its data and keys. Restore into an isolated network using the recorded configuration. Check engine startup and integrity, then validate schema versions, representative record relationships and business totals. Run the application with safe integrations and a synthetic tenant, checking login, a representative write, a read from the authoritative path and the resulting event. Finally record latency under representative load and the actual recovered point.

AWS Backup restore testing can periodically launch restores and measure job durations; optional validation can report the application's additional checks. AWS Backup restore testing Restore testing validation supports an event-driven validation workflow and recorded validation status. Restore validation integration A job's completion alone does not establish that a payment workflow, access policy or full data set is correct. Current restore-testing documentation also supersedes older generalized statements that AWS Backup cannot schedule restores for testing.

Use known synthetic markers to test temporal boundaries. In a controlled source environment, write marker A before the selected target, marker B after it, and track their committed outcomes. A PITR restore to that boundary should include A and exclude B, subject to engine target semantics. Compare referential relationships and domain totals as well; equal row counts can hide wrong values. Full scans and cryptographic checksums may be expensive and require consistent snapshots, so choose a documented combination of engine integrity checks, bounded samples and targeted complete checks for critical invariants.

Record point selection time, restore submission, resource availability, initialization, application readiness and verification completion separately. Keep failures in the report rather than rerunning until only a successful sample remains. AWS recovery guidance calls for periodic restoration to verify both backup integrity and the procedure. AWS periodic recovery testing Cover recent, boundary-age and archived points across exercises, including a test with the primary environment unavailable.

Safe illustrative inspection commands and diagnosis

Use an authorized read-only audit profile for catalog checks; these commands do not restore or delete resources. Replace the example vault name and Region with the intended test inventory. The CLI paginates results; limiting displayed output is not a complete inventory audit. Backup recovery-point listing reference

aws backup list-recovery-points-by-backup-vault   --profile recovery-audit --region eu-west-1   --backup-vault-name sales-example   --query 'RecoveryPoints[].{Point:RecoveryPointArn,Created:CreationDate,Status:Status}'   --output json

Check whether the expected recovery point is present, completed and associated with the intended resource. A catalog timestamp alone does not establish a database consistency point. For an isolated PostgreSQL restore containing an application-owned marker table, a bounded example is BEGIN READ ONLY; SET LOCAL statement_timeout = '5s'; SELECT marker_id, committed_at FROM recovery_markers ORDER BY committed_at DESC LIMIT 10; COMMIT;. The table is illustrative and must exist; no production records should be exported into the report.

If recovery fails, classify the stage. Missing points suggest schedule, selection, retention or copy problems. Access failures suggest role, vault policy, key policy or Region mismatch. A stalled log replay suggests a missing segment, wrong timeline or engine incompatibility. A healthy database with failing application calls suggests endpoint, network, credential, schema or dependency problems. A correct but slow application suggests initialization, working-set misses or undersized capacity. Use phase evidence to choose the next check instead of repeatedly submitting restores.

Retention security, keys and cleanup ownership

Backups contain production secrets and personal data even when restored for testing. Restrict backup administration and restore permissions, audit access and keep test integrations isolated. Encryption must remain usable across the retention period. AWS Backup encryption depends on resource type: some resources use independent vault encryption while others inherit source encryption, and copies have additional key and permission requirements. AWS Backup encryption and key permissions Do not assume one vault-key setting proves every resource's recoverability.

AWS Backup Vault Lock governance mode permits authorized removal, whereas compliance mode becomes immutable after its grace period while recovery points remain subject to the lock. This can prevent premature deletion but also commits storage cost until the lifecycle permits expiration. Vault Lock modes and retention behavior Immutability does not prove the data was correct when captured or guarantee continued access to every required key. Validate retention settings before locking them and protect key administration as part of the recovery boundary.

Give every test an owner, resource inventory and cleanup deadline. Preserve compact evidence and necessary failure diagnostics, then remove approved temporary resources under the test procedure. Account for delayed cleanup and restored-resource cost in the budget. Recovery assurance is a maintained ability to locate, decrypt, reconstruct and use the right history within the promised time, not merely a growing collection of snapshots.

Keep in mind

  • Keep the base, logs, catalog, configuration and keys needed for every promised recovery point.
  • Two-hour recovery includes retrieval, provisioning, replay, application reconnection and verification.
  • PITR creates historical state; it does not automatically reverse a release without losing later legitimate work.
  • Restore-job success needs independent integrity, security and business-transaction validation.

At the whiteboard

How would you reduce storage cost while keeping the latest 30 days recoverable in two hours?
Clarify required temporal granularity and older retention duration. Keep recent recovery points and all required dependencies in a tier whose tested full restore meets the deadline. Archive eligible older self-contained sets using supported product transitions, then include retrieval, requests and temporary copies in total cost. Exercise the 30-day boundary and old archives. Do not delete a base needed by a recent custom incremental chain or assume daily snapshots support every timestamp.
What would make you reject a successful restore test result?
Reject an end-to-end success claim if it only shows a completed job or available instance. Require the intended point and resource, usable decryption, engine and schema checks, correct representative business data, safe application access, required event effects and performance within the agreed clock. A test that sent real payments or broadened customer access is also defective. Record which gate failed and retain enough evidence to repair the process without concealing the failed sample.

Last verified 2026-09-06

Operations & observability · 1,517 words · 8 min

CloudTrail audit and CloudWatch logs: evidence from actor to archive

Choose evidence sources from the actions that must be explained, then engineer collection, attribution, protected retention and tested detection across the full log pipeline.

↑ Chapter index

Start with the investigation question and an evidence matrix

“Review actions in our cloud environment” is a requirement awaiting definition. An administrator changing a firewall, a role downloading an object, a shopper changing an address and a worker exhausting memory are different events with different producers. Ask who will investigate, which resources and accounts matter, how quickly suspicious behavior must be detected, how long evidence must remain searchable, and which data must never enter logs. Daily volume, event format, retention, access restrictions and the team's existing search workflow determine a useful shortlist.

Build a matrix with action, producer, actor identifier, resource identifier, expected outcome, destination, delay and retention. For an illustrative retailer, a security-group change maps to AWS control-plane audit; a sensitive object read maps to selected object-level audit; a customer export maps to application audit; and a process crash maps to runtime logs and host telemetry. Include denied attempts and background service actions. A blank producer cell is a visibility gap that buying a dashboard cannot fill.

This explains the five photographed logging responses. Asking for sources, formats and storage needs makes selection concrete. An architecture discussion is valuable with a logging agenda. A partner shortlist is useful when requirements support it, while asking customers to invent a shortlist transfers discovery work to them. A promise to email generic documentation later provides little immediate decision support. Offer a preliminary evidence matrix and a small representative ingestion trial, then compare native services and partner tools against demonstrated fit.

AWS audit is different from runtime observation

CloudTrail records supported AWS activity; a trail delivers selected event records for ongoing retention, commonly into Amazon S3. Management events describe resource administration, while data events describe supported resource-level activity such as S3 object operations. Trails do not collect data events by default: inspect selectors and supported resource types. CloudTrail event history separately exposes the preceding 90 days of management events for an account and Region, excluding data events; an empty history search is therefore not proof that no object was accessed. What is AWS CloudTrail? Logging management events Logging data events Working with CloudTrail event history

CloudWatch Logs receives configured application, operating-system and service log streams. CloudWatch metrics hold numerical observations over time, such as error counts or latency distributions; alarms evaluate conditions on monitoring signals. Shipping a CloudTrail record into a log group can make it queryable alongside operational logs, but does not change which source event was originally captured. Conversely, an application exception in CloudWatch Logs does not automatically provide an audit trail of AWS configuration changes.

Consider a suspicious export. The AWS event might identify a shared application role reading an object. Application audit must connect the authenticated customer, authorized tenant, export operation and result to a correlation identifier. Record identity after server-side authentication, never trust a supplied username header as proof, and preserve the distinction between a human and the credentials used. The application could legitimately act on a customer's behalf or be compromised. Correlation supports investigation; it does not make the shared role identify a unique human with certainty.

Follow bytes through the collection pipeline

A typical operational pipeline is producer → local buffer → collector → log group → subscription consumer → searchable index or archive. Emit structured records with a schema version, UTC event time, service, deployment version, severity, trace or request ID, operation, outcome and sanitized error classification. Keep resource and tenant fields consistent across producers. Encode messages as data so embedded newlines or control characters cannot forge extra audit entries. Preserve event time and ingestion time separately: clock skew and delayed shipment can otherwise reverse an apparent incident sequence.

At the producer, choose whether logging blocks work when its buffer is full. Blocking can preserve evidence at the price of customer latency or availability; dropping can preserve service while losing evidence. A bounded disk spool helps absorb interruption but competes with application storage and is lost with an ephemeral host. Specify rotation, truncation detection, restart offsets and backpressure behavior for the actual collector. Do not imply every agent has durable buffering simply because it can send logs.

CloudWatch Logs subscriptions can forward matching events to Kinesis Data Streams, Data Firehose or Lambda, using gzip-compressed, base64-encoded payloads. Delivery can include duplicates. Retryable failures have a retry horizon of up to 24 hours; non-retryable errors such as denied access temporarily disable delivery and skip logs during that interval. These are reasons to monitor destination health and maintain a replay path, not to claim every event will eventually arrive without intervention. Real-time processing of log data with subscriptions

Give each business audit event a stable identifier and make downstream indexing idempotent on that identifier. A batch retry must not count the same export twice. Deduplicate repeated delivery without merging two legitimate identical operations. Preserve original records when transforming fields, quarantine parse failures with restricted access, and exclude the consumer's own diagnostic output from any subscription that could recursively invoke it.

Worked sizing: storage, backlog and recovery headroom

Suppose 20 application instances each produce 50 records per second, averaging 800 raw bytes. The fleet emits 1,000 records per second and 800,000 bytes per second: 69.12 decimal GB per day. Thirty days retain 2,073.6 GB of raw content. An assumed measured compression ratio of four to one gives 518.4 GB of compressed payload, before index overhead, replicas, metadata and additional audit sources. These are sizing calculations, not service prices or a claim that ingestion is billed after compression.

A two-hour destination outage accumulates 7.2 million events, or 5.76 GB raw, if an upstream retained copy remains available. When the destination returns at 1,500 events per second, new arrivals still consume 1,000. Net backlog drainage is 500 events per second, taking 14,400 seconds, or four hours. At exactly the incoming rate, the backlog never drains. A configuration with only average-day capacity cannot recover promptly after an outage even when all components appear healthy.

A durable archive plus selective hot indexing is an alternative to retaining every field in an expensive interactive index. It trades lower recurring storage demand for slower investigations and replay engineering. A native managed log destination can reduce collector ownership; an existing cross-platform investigation product can reduce analyst workflow fragmentation. Compare ingest bytes, retained bytes, scanned bytes, indexing compute, cross-Region transfer, key operations and engineering effort. Avoid recording full successful payloads when an operation identifier and outcome answer the requirement. Do not sample away required audit actions merely because sampled debug logs are cheaper.

Protect evidence and test the detection chain

Separate permissions to produce logs, investigate them and administer retention. An application writer should not be able to erase the archive that records its activity. Encrypt transport and storage, restrict decryption, audit changes to collection policies and define retention from actual investigation requirements. Tokens, passwords, raw authorization headers and unnecessary personal data should be removed before broad distribution; encrypting a log does not make excessive collection harmless. A filtered support excerpt can retain timestamps, error classes and correlation while replacing customer literals.

CloudTrail log integrity validation uses signed digest files to support checking whether delivered files changed or disappeared. Enabling digest generation is not the same as performing validation. Its evidence concerns delivered files; it cannot prove an event excluded by selectors was recorded, nor replace preventive deletion controls. Validating CloudTrail log file integrity

Use a controlled test identity and non-sensitive fixture to exercise an allowed read, denied read and administrative change. Define the expected source for each event before running a test in an authorized test environment. Verify actor, resource, result, arrival delay, query access, retention and alert delivery to an accountable responder. Then test collector interruption, malformed records and duplicate delivery. Monitor producer heartbeats and arrival lag through a path that is not wholly dependent on the failed collector. “No suspicious events” and “no telemetry arriving” must be distinguishable.

Read-only verification and a concrete acceptance decision

The following illustrative commands inspect a named trail using an existing read-only profile. Replace the trail and Region with the intended scope. They do not create selectors or turn logging on. CloudTrail status command reference Inspect status together with selector configuration; a running trail that excludes the required resource still fails the requirement. Management-event lookup cannot substitute for querying a selected data-event archive. Logging management events

aws cloudtrail get-event-selectors --profile audit-read --region eu-west-1 --trail-name audit-example
aws cloudtrail get-trail-status --profile audit-read --region eu-west-1 --name audit-example

For search-failure evidence, query only the affected log groups and incident time range. A query such as the following assumes the application emitted these structured fields; selecting fields does not create instrumentation. Results can contain customer information, so share a redacted extract through the approved support path. Limit both scanned time and output; an output limit alone is not a scan-cost limit. CloudWatch Logs Insights query syntax

fields @timestamp, service, request_id, error_code, duration_ms
| filter request_id = "demo-request-42"
| sort @timestamp asc
| limit 100

Accept the design when required test events can be found and acted on within the agreed delay, unauthorized readers cannot retrieve them, and a simulated shipment gap has a documented recovery result. Report any missing producer honestly. For the photographed “all API actions and user activities” proposal, logging is a detective control whose effectiveness depends on verified scope and response. It cannot prevent an unauthorized operation by itself, and enabling it now cannot reconstruct unrecorded failures from yesterday.

Keep in mind

  • Define audit coverage per action and source; default management history is not comprehensive end-user evidence.
  • Engineer delivery failure, duplicates and replay alongside normal ingestion.
  • Size retained volume and backlog drainage separately; recovery needs throughput above current arrival rate.
  • Prove detection and access controls with representative events, not merely a running collector.

At the whiteboard

The customer says “CloudTrail is enabled, so every user download is audited.” How do you respond?
Clarify whether downloads invoke a supported AWS data API and whether selectors include that resource. Event history contains management events only. Inspect the configured evidence path and run an authorized fixture read. If a shared application role performs the read, correlate application audit with authenticated tenant/user context. Confirm retention and response. Do not infer a unique human from a role or promise that absent historical events can be recreated.
Why can a log pipeline lose evidence even when retries are enabled?
Retries are bounded and not all failures are retryable. Permissions can disable forwarding, buffers can overflow, ephemeral hosts can disappear and consumers can reject malformed records. Inspect arrival lag, collector loss counters and destination errors; keep a retained replay source and idempotent processing. In the worked example, 1,500 events per second only drains a 1,000-per-second live stream backlog at 500 per second. Resilience requires tested headroom and replay, not a retry setting alone.

Last verified 2026-09-06

Operations & observability · 1,784 words · 9 min

Percentiles, traces and alarms that represent customer outcomes

Build measurable service objectives, interpret latency distributions correctly, trace causal paths and route alarms to actions with explicit noise and missing-data behavior.

↑ Chapter index

Instrument a customer journey before selecting a dashboard

A Service Level Indicator (SLI) is an explicitly defined measurement of useful behavior. A Service Level Objective (SLO) is its target over a window. For search, define an eligible attempt and count it as good only if it returns a valid, authorized response within 800 milliseconds. A correct empty result can be good; an HTTP 200 containing a backend error is bad. Decide how malformed client input, cancelled requests, retries and dependency timeouts enter the population before an incident creates pressure to redefine success.

Place measurements at boundaries that reveal loss: edge accepted attempts, application completions and business-result checks. Counting only completed requests omits work that never reaches completion. Server timing excludes parts of DNS, connection setup and browser rendering, so client observations or controlled synthetic journeys complement it. Synthetic checks need representative authentication and data but must not create real purchases repeatedly. For low traffic, a stable synthetic workload can reveal a dead service even when real-request statistics have no denominator.

Use metrics to locate patterns, logs to inspect specific events and traces to connect stages. Record deployment versions and comparable workload attributes so a report that now scans ten times the data is not compared uncritically with last week's small report. The latency-discovery and scaling questions reward this measurement work because global distance, queueing, storage waits and application computation require different remedies. A larger instance can leave every remote round trip unchanged.

Percentiles describe distributions, not average customers

A p95 latency is a value at or below which about 95 percent of observations lie, according to the aggregation method. It is not the average of the slowest five percent. CloudWatch defines percentiles over the metric observations; collecting only per-host averages destroys the distribution needed to recover a fleet tail. A namespace, metric name and dimension combination identify a CloudWatch metric, and custom dimension combinations do not automatically roll themselves into an application-wide series. CloudWatch statistics definitions Metrics concepts

Consider 100 measured requests: 90 take 100 ms, nine take 500 ms, and one takes 5,000 ms. The mean is (9,000 + 4,500 + 5,000)/100 = 185 ms. Under an explicitly chosen nearest-rank method, p95 is observation 95, or 500 ms; p99 is observation 99, also 500 ms; the maximum is 5,000 ms. Even p99 misses the worst request in this small set. Different interpolation conventions can give different boundary values, so name the estimator in small teaching calculations and inspect sample count.

Do not average host percentiles. Host A could serve 990 requests all at 100 ms while host B serves ten all at 5,000 ms. Their p95 values average to 2,550 ms, but the combined nearest-rank p95 is 100 ms. Request weights and distributions matter. Merge suitable histogram bucket counts or supported distribution representations, keeping identical boundaries and units. Histograms estimate within buckets; broad buckets limit precision. CloudWatch permits percentile retrieval from a statistic set only in restricted cases: a single sample with equal minimum, maximum and sum, or equal minimum and maximum with sum equal to that value times sample count. A general minimum/maximum/sum/count summary cannot reconstruct the original distribution. Negative metric values prevent its percentile statistics; publish appropriate raw observations or supported equivalent samples. Metrics concepts

Segment by operation and meaningful region or tier, with enough samples to support interpretation. A changing mixture of fast health checks and slow searches can make the aggregate look better while search deteriorates. Keep request IDs and customer identities in searchable event context rather than metric dimensions, where unbounded combinations increase both management effort and cost.

Equal sample counts do not make percentile averaging valid. Under the nearest-rank convention, imagine two hosts each serving 100 requests: all host A observations are 10 milliseconds and all host B observations are 100 milliseconds. Their p95 values are 10 and 100, whose average is 55. Across the combined 200 observations, rank ceil(0.95 × 200) = 190 is 100 milliseconds. The averaged value is not the combined p95 and was never even observed. Aggregate raw observations or compatible histogram distributions for the same measurement window, then estimate the percentile; histogram bucket resolution still affects precision. Prometheus histogram and summary aggregation guidance

A trace explains causality only if context survives

A trace joins spans representing timed operations. Parent relationships show nesting; trace context propagates through service boundaries so the database span can be linked to the incoming search. For queued work, a span link can express a causal connection without pretending that a later worker runs inside a still-active synchronous parent. OpenTelemetry describes span identifiers, attributes, events and links as parts of that model. Traces

In an original worked trace, a request takes 420 ms. It spends 20 ms in validation, 100 ms waiting for a connection, then makes two concurrent dependency calls lasting 250 and 80 ms, and spends 50 ms rendering. The path is 20 + 100 + max(250,80) + 50 = 420 ms. Summing every child gives 500 ms and double-counts overlap. If the 100 ms wait lacks a span, it can appear as unexplained parent time; it is not automatically CPU work. Instrument pool acquisition separately from network connection and query execution.

Head sampling decides near the start and limits collection overhead, but can discard a request before its later failure is known. Tail sampling can retain traces based on observed errors or latency after spans arrive, requiring buffering and coordination; late or missing spans still limit completeness. Sampling Neither approach makes sampled traces an unbiased denominator for the availability SLI. Maintain suitable unsampled counters at the chosen measurement boundary and use selected traces for explanation.

Correlate sanitized logs with trace IDs and compare healthy and failing cohorts. A missing child may mean propagation broke, instrumentation is absent or the request never reached the dependency. Clock skew can distort cross-host ordering; causal links and local durations provide stronger guidance than sorting every timestamp as if clocks were exact. Exclude secrets from span attributes and baggage, and validate untrusted propagated context before allowing it to influence privileged behavior.

Worked error-budget and queueing calculations

For a 99.9% good-request target, the allowed bad fraction is 0.001. A measured bad fraction of 0.02 burns budget at 0.02/0.001 = 20 times the sustainable rate. Over a 30-day window of 720 hours, one hour at that rate consumes 20/720 = 2.78% of the full-window budget, assuming traffic is uniform. With variable traffic, calculate actual bad-request counts against the request budget; the time shortcut is only a planning approximation. Burn rate connects alert urgency to objective consumption. Alerting on SLOs

A fictional search service receives 200 eligible requests per second. At 2% failure for one hour, it produces 14,400 bad requests. If the month's traffic remains at that rate, the total is 518.4 million and the monthly budget 518,400; the same 2.78% follows directly. If traffic is ten times higher during that hour, the count and impact are different. Multiple windows help distinguish a burst that has already recovered from sustained exhaustion: a long window establishes significance while a short window checks whether the condition remains active. Thresholds should follow response urgency and service traffic, not copied constants. Alerting on SLOs

For saturation, Little's law gives average in-flight work L = arrival rate λ × average residence time W under a stable flow. At 200 requests per second and 0.1 seconds, L is 20. If dependency latency rises to one second with throughput maintained, concurrency becomes 200. A connection pool limited to 100 can then create waiting or rejections. Enlarging every front-end pool may overload the same backend further. Measure acquisition wait, active connections, backend service time and queue age before choosing additional workers, admission control or dependency optimization.

Alarm semantics and actionable routing

A CloudWatch metric alarm can evaluate a statistic or expression and initiate configured actions; composite alarms can combine alarm states to reduce duplicate notifications. The alarm must name a responsible team and a practical response. “CPU exceeds 80 percent” is context; “search success falls below the objective while connection acquisition waits rise” identifies customer impact and a promising investigation branch. Capacity warnings remain useful for work that can be scheduled before customers are affected. Using Amazon CloudWatch alarms

With complete one-minute observations, a three-out-of-five alarm requires three breaching points among five evaluation periods; they need not be consecutive. That filters isolated noise while introducing detection delay. Choose a period, threshold, statistic and comparison that match the signal's unit and expected traffic. Review low-sample percentile behavior separately. CloudWatch's documented evaluation behavior, rather than an assumed instantaneous threshold crossing, determines when a state changes. Alarm evaluation

Missing data can be treated as breaching, not breaching, ignored or missing. A metric emitted only when an error occurs differs from a heartbeat expected every minute. Sliding-window alarm evaluation can retrieve older real points from a wider range before applying the missing-data setting, so test actual transitions with gaps. Zero traffic can also make an error-rate denominator undefined; replacing it with zero errors can silently hide a dead service. Pair appropriate absence detection with user-path checks. Configuring how CloudWatch alarms treat missing data

A page should contain impacted operation and scope, current measurement and denominator, first-observed time, incident link, owner, playbook and safe mitigation conditions. Avoid independent pages for every failed dependency when they all reflect one event, but preserve root signals for investigation. Test the notification route through acknowledgement and escalation, including nights and ownership changes. An alarm displayed in a console that nobody watches does not complete detection.

Verify collection quality, safety and cost

Guest memory and application internals require configured telemetry; EC2 host-level defaults do not establish what a container's memory limit or application's heap is doing. The CloudWatch agent can collect additional host metrics, logs and traces when configured for the environment. Its deployment, credentials and health are themselves operational dependencies. Collect metrics, logs, and traces using the CloudWatch agent Collect CPU, memory pressure, I/O, connection pools and work queues where those resources actually constrain execution.

A safe local calculation makes the percentile convention explicit and requires no service access. Use the same recorded dataset to check dashboard calculations, and inspect whether the production backend uses approximation or interpolation.

from math import ceil
samples = sorted([100] * 90 + [500] * 9 + [5000])
for p in (95, 99):
    print(p, samples[ceil(p / 100 * len(samples)) - 1])
print(sum(samples) / len(samples))  # 185.0 milliseconds

Before a holiday peak, compare expected arrivals with measured service demand, queue growth and readiness time. Conduct bounded load tests in an authorized environment with abort thresholds; production incident diagnosis should not add an uncontrolled stress test. Verify a known slow trace, dropped instrumentation and a recovered alarm. Recording more telemetry raises ingestion, storage, query and human review costs. Keep business SLIs stable, retain useful diagnostic detail by policy and tune sampling without removing the evidence needed to explain rare failures.

Keep in mind

  • Define good customer outcomes and eligible attempts before computing availability or latency.
  • Never average percentiles across hosts or confuse absent observations with successful requests.
  • Use traces to explain critical paths and waiting; sampled traces are not automatically reliable SLI denominators.
  • Every page needs ownership, a tested delivery path, evidence and an actionable response.

At the whiteboard

Mean latency is 185 ms. Can you promise that users finish within 800 ms?
No. In the example, one request takes five seconds and the mean conceals it. Define the target population and percentile or good-request threshold, count failures and missing completions, and inspect sample size. The nearest-rank p99 is still 500 ms for this dataset, so inspect maximum and the fraction exceeding the actual threshold. Client-observed completion can include time absent from server metrics.
Search latency rises while front-end CPU remains low. Which metrics and traces guide scaling?
Inspect connection acquisition, backend spans, queue age, active work and dependency errors. Low CPU can mean waiting or quota throttling rather than spare end-to-end capacity. At 200 requests per second, increasing residence time from 0.1 to 1 second increases average concurrency tenfold if throughput persists. More front ends or larger connection pools may overload the backend. Choose a change from the measured bottleneck and validate customer outcomes as well as utilization.

Last verified 2026-09-06

Operations & incident response · 1,940 words · 10 min

Incident command, evidence-led troubleshooting and customer trust

Coordinate restoration, investigation and communication through explicit ownership, falsifiable hypotheses, controlled changes and evidence that the customer journey has recovered.

↑ Chapter index

Command creates one shared operating picture

An incident is an interruption or degradation that requires coordinated response. The immediate outcome is restored, trustworthy service, while causal investigation explains how the system reached the failure and what will prevent repetition. Assign an incident commander to set priorities and coordinate decisions, an operations lead to control technical changes, a communications lead to maintain stakeholder updates, and a scribe to preserve the timeline. One person can initially hold several roles, but delegation should become explicit as the event grows. Google's incident-management guidance explains this separation and the importance of a shared live incident document. Managing Incidents

Declare severity from impact and urgency: which customer workflows fail, how many users or locations are affected, whether data integrity is uncertain, and how rapidly harm is growing. Avoid waiting for a complete diagnosis before activating support. Record the start time as an estimate if it is not yet known. Name a working channel and a source of truth reachable when the affected service is unavailable. Track facts, hypotheses, decisions, owners, next checkpoints and links to controlled evidence.

Command does not require the commander to approve every read-only observation. It requires visibility into actions that could conflict. Two engineers simultaneously changing routing and rolling back an application can make results uninterpretable or overload a destination. Assign bounded investigation branches with questions and stopping conditions: one responder compares release cohorts, another checks dependency health, while a third assesses customer impact. If more expertise is needed, escalate with observed errors and an explicit request, keeping an owner for follow-through.

The photographed first-step questions are conditional

For the regional-outage question, an applicable tested runbook is the strongest general restoration mechanism among the visible options. A runbook should specify matching symptoms, prerequisites, permissions, actions, verification and failure branches. An investigative playbook instead helps narrow an unknown problem and can lead to a mitigation runbook. AWS emphasizes keeping those guides accessible, current and connected to escalation. OPS07-BP04 Use playbooks to investigate issues

Failover to a backup data center can be the correct first technical action when that site is ready and the goal is workload continuity. It does not literally repair the original data center. Verify destination capacity, usable data, independent dependencies, traffic control and protection against conflicting writers. A label such as geographic redundancy does not establish those facts. If a ready failover is already the tested runbook's prescribed response, “runbook first” and “failover first” describe compatible decisions at different levels.

The separate customer-environment outage question offers verifying that a backup system is actually serving end users. Under its stated condition that a backup exists, this is valuable immediate continuity evidence. If no backup is known, ask for timing, affected operations and impact while acknowledging the report. Diving into arbitrary logs is less directed, and acknowledgement alone is not restoration. A backup server that responds to a health check but returns stale account data has not necessarily restored the customer's work. These are reasoned interpretations of incomplete scenario constraints, not an official answer key.

Calling the backup on-call responder can occur immediately alongside technical work. Reserve scarce staff attention for bounded tasks; having every engineer join a conference without roles can slow recovery. Root-cause analysis should continue, but do not defer a known safe restoration while waiting to prove the final causal chain.

Turn error reports into discriminating experiments

Begin with one failing operation, a timestamp with timezone, a sanitized request identifier, the observed error and the last known success. Ask whether the failure affects all users, one tenant, one release or one location. Compare an equivalent successful request. Construct a path through client, edge, application and dependency, then identify the first boundary where observations diverge. This follows the hypothesis-and-test approach described in Google's troubleshooting guidance. Effective Troubleshooting

Write predictions before changes. “The search backend is unreachable” predicts failed transport from the affected application context. “The new application lacks authorization” predicts successful transport followed by an authorization rejection, concentrated on the new version. “The pool is exhausted” predicts growing acquisition wait or rejected acquisition despite a reachable backend. A successful laptop test discriminates poorly if the application uses a different network namespace and identity. The highest-value observation is often the cheapest one that separates plausible explanations.

Preserve negative evidence with its limits. No errors in a sampled log does not exclude failures, and a provider's green status page does not establish that this account or dependency is healthy. A configuration change close to onset raises a hypothesis, but correlation alone does not prove causation. Compare affected cohorts, inspect the exact difference and use a controlled rollback or isolated reproduction when compatible with service safety. Change one causal variable at a time where practical.

A decision record can be concise: “12:05 UTC; facts: version B receives 403 from search, version A succeeds; hypothesis: B's execution identity lacks the required read; next test: compare effective role and policy for one instance; owner: operations; stop if test needs a broader grant.” That separates evidence from the tempting but unjustified response of disabling authorization globally.

Worked search incident: restoration with retained evidence

In this fictional teaching incident, search fails immediately after a deployment. The customer already enlarged the server without improvement, matching the photographed scenario. At 12:00 UTC, a user-path alert reports 35% failed searches. At 12:02, the commander confirms that product browsing still works and delegates a targeted log inspection. At 12:04, one request identifier links a public 502 to a backend 403 on version B; version A succeeds. At 12:06, the responder confirms that B uses a different execution role.

The team saves sanitized errors, release identifiers and the configuration difference, then begins the pretested application rollback at 12:08. It confirms that the release has no incompatible data migration and that surviving version A instances have capacity. By 12:12, routing favors the healthy cohort; by 12:17, representative searches succeed for affected tenants and the error ratio has returned to baseline. The event duration is 17 minutes, but estimated customer impact should use measured requests rather than pretending the whole interval had constant severity.

For an illustrative estimate, assume 100 searches per second with 35% failures for twelve minutes, then 5% failures for five minutes. Bad attempts are 100 × 0.35 × 720 + 100 × 0.05 × 300 = 26,700. That is not necessarily 26,700 unique customers, because retries and repeated searches occur. State the counting boundary and uncertainty. An incident summary that reports only “five instances restarted” omits the outcome customers care about.

This evidence favors requesting the actual error and correlating useful existing logs. Enabling bounded logging is justified if essential evidence is missing; it cannot reconstruct prior unrecorded requests. Adding servers repeats the broken authorization configuration. Restarting might temporarily clear a stuck process in another incident, but would not repair this role mismatch. Connectivity tests still help because the received 403 demonstrates a different failure class from a transport timeout. Each photographed action is assessed independently under its actual assumptions.

Communicate known impact, decisions and the next update

A communication owner keeps external statements consistent with the incident record and uses channels that remain available during the outage. AWS recommends clear, prompt, regular communication and explicit responsibilities. OPS10-BP05 Define a customer communication plan for service-impacting events Distinguish an internal hypothesis from a confirmed customer-facing cause. Avoid raw stack traces, tenant identifiers or speculative assurances in public updates. A reliable next-update time is more useful than an invented restoration estimate.

A fictional initial message could read: “We are investigating failures affecting website search since approximately 12:00 UTC. Product browsing remains available in our checks. We have assigned an incident lead and are testing a recovery action. We will update you by 12:15 UTC, or sooner if impact changes.” Only state unaffected functions when observations support that claim. If the customer asks about data safety, explain the checks underway and any uncertainty instead of converting absence of evidence into a guarantee.

An update during recovery might say: “We have restored routing to the previous application version. Search failures are decreasing; we are checking the affected customer paths before declaring recovery. Next update by 12:25 UTC.” A closure then identifies the confirmed recovery time, remaining limitations, any user action and when further analysis will be shared. This sequence separates mitigation from verified resolution without burdening the customer with internal mechanics.

The recovery-assurance questions exercise the same discipline outside a live outage. Weekly backups and a measured three-hour restore do not support a one-day Recovery Point Objective or one-hour Recovery Time Objective. Explain both gaps, qualify unverified supplementary recovery mechanisms, and offer a concrete review. Claiming both targets are met trades immediate reassurance for future harm. Customer communication is a technical responsibility because its promises influence business recovery decisions.

Safe evidence collection, controlled mitigation and closure

Collect the smallest useful evidence before disruptive mitigation when that collection will not materially delay safe recovery. A read-only local example for a systemd-hosted application is shown below. Use an existing authorized account; lack of journal permission requires the appropriate operator, not improvised privilege escalation. The command reads a bounded incident interval, but its output may still contain sensitive data.

date -u --iso-8601=seconds
journalctl --unit=search-web.service --since='2026-09-06 12:00:00 UTC' --until='2026-09-06 12:10:00 UTC' --lines=200 --no-pager --output=short-iso-precise

Retain original timestamps and collection context in restricted evidence storage; provide redacted working excerpts to the incident channel. A checksum can detect later byte changes in an exported file, but does not prove the originating host told the truth. Packet captures and memory dumps can expose secrets and impose overhead, so use a specific need, short duration, appropriate access and retention controls. Do not dump the entire environment into chat to seem thorough.

Before restart, consider in-memory sessions, queued work, unacknowledged transactions and whether restart removes the only diagnostic state. Drain a redundant instance and verify survivor capacity when the architecture permits. Before rollback, check schema and state compatibility. Before failover, establish the data authority boundary. Define the recovery signal and abort condition in advance. A reversible operation can still cause an outage, so bounded scope and an accountable operator matter.

Keep observing after symptoms improve. Verify representative user operations, backlog age, data reconciliation, duplicate side effects and the health of the remaining capacity. A quiet alarm during zero traffic is insufficient. During handover, the incoming commander explicitly accepts responsibility and restates facts, active changes and unresolved risks. Restrict expensive broad log queries and high-volume debug capture once the discriminating evidence is obtained.

Post-incident analysis produces tested changes

The provider's root-cause report is an input, not the complete explanation of the customer's loss. A provider might explain a storage interruption while the customer timeline reveals missing recovery credentials, an unavailable queue or an untested routing procedure. Compare the external event with local detection, decision, mitigation and validation delays. AWS post-incident guidance calls for examining contributing factors and improving operations rather than merely assigning blame. OPS11-BP02 Perform post-incident analysis

In the fictional search incident, the role change triggered failures, but missing identity checks in deployment tests permitted the defect, insufficient canary traffic hid it, and an unhelpful initial capacity change delayed diagnosis. Assign separate improvements: test representative backend authorization before promotion; exercise a canary user journey; add a backend error class to structured logs; and rehearse rollback with a responder unfamiliar with the release. Each action needs an owner, due date and observable acceptance test.

For the screenshot about runbooks drifting within a two-week sprint, update the affected operational guide in the same reviewed change as the implementation. Validate commands against the intended version and rehearse decision branches; prose review alone cannot show that a deleted role still works. A useful closure record links the revised procedure to evidence from a drill. This operational connection complements the later documentation-engineering chapter without treating “write a postmortem” as proof that reliability improved.

Keep in mind

  • Coordinate technical changes while restoration, investigation and communication proceed together.
  • Choose runbook or failover actions from verified prerequisites; sparse scenario wording does not establish a universal first step.
  • Separate observed facts, hypotheses and predictions; preserve evidence without blocking a safe known recovery.
  • Close on verified customer outcomes and accountable, tested improvements.

At the whiteboard

Would you restart the process immediately because search is down?
Only if evidence or an applicable runbook supports restart as the safest mitigation. First obtain a bounded error sample and impact view where feasible. A stuck process may recover, but authorization, missing data or a failed shared backend usually will not. Check local state, in-flight work, survivor capacity and the success signal. In the worked role-mismatch incident, rollback of the incompatible deployment addresses the demonstrated cause while an arbitrary restart repeats it.
The provider says the outage is resolved, but the customer remains down. What do you do?
Keep the customer incident open and verify the actual user path. Check recovery dependencies, queues, routing, credentials and stale connections using timestamps correlated with provider updates. Use the applicable runbook and escalate with precise evidence. Explain what is restored upstream and what remains impaired locally, with a next update time. Later compare the provider report with local recovery gaps and assign tested corrective actions; provider restoration is not proof of end-to-end recovery.

Last verified 2026-09-06

Operations & performance diagnosis · 2,379 words · 12 min

Linux, database connections and search: diagnose the constrained layer

Classify failures through the application path, distinguish resource use from saturation, and collect bounded evidence before restarting processes, scaling hosts or changing database behavior.

↑ Chapter index

Classify the failure before changing capacity

“Search no longer works” could mean a browser error, empty results, a timeout or a valid response with wrong content. “Reports take three to four times longer” is a regression relative to a baseline, not a resource diagnosis. Capture the exact operation, one sanitized error, onset, affected scope, deployment version and comparable input size. Map browser → web listener → application handler → connection pool → search or database endpoint → result rendering. Identify where useful progress stops.

An application may return a generic 500 while its log contains a DNS resolution failure, a connection refusal, a certificate error, an authentication rejection or a query timeout. Each predicts different evidence. A refusal often means the destination path produced an active rejection, but does not prove which machine or firewall sent it. A timeout can occur while establishing transport, acquiring a pool slot or executing work. A 403 proves an HTTP responder handled the request, not that the intended backend and identity were correct.

The database-connectivity choice favors application error codes and tests from the web application's real network context. Changing a nonstandard port to the default is unjustified unless it disagrees with the configured listener. Redirecting production to a nonproduction database risks incorrect data, weaker controls and inconsistent writes. Contact the database owner in parallel with a precise error and scope; collaboration is useful, but an evidence-free handoff is not a complete diagnostic method. Amazon RDS troubleshooting documents endpoint, port and network checks and notes that RDS instances do not respond to ping. Troubleshooting for Amazon RDS

Use the actual protocol from the actual execution context

Run a bounded test from an authorized application host or diagnostic container with the relevant routes and name resolution. A container may have a different resolver, network namespace, proxy and identity from its host. Successful access from an administrator's laptop proves only that laptop's path. Resolve the configured name, check the intended TCP listener, then verify TLS and application authorization. Preserve certificate validation and hostname matching; disabling them changes the question being tested.

This illustrative curl command performs one request to a documented read-only health endpoint. Replace the reserved example hostname only with an authorized target and known safe path. It discards the body and prints timing, so credentials or returned data are not needlessly copied. Do not add real secrets to the command line. A health endpoint without representative dependency checks may pass while real search fails.

curl --silent --show-error --connect-timeout 2 --max-time 5 --output /dev/null --write-out 'status=%{http_code} dns=%{time_namelookup} connect=%{time_connect} tls=%{time_appconnect} first_byte=%{time_starttransfer} total=%{time_total}
' https://search.example.invalid/health

curl's reported times are cumulative from request start. For a fresh direct HTTPS connection with DNS 0.010 seconds, connect 0.040, TLS 0.100, first byte 0.600 and total 0.650, the approximate phases are 10 ms resolution, 30 ms TCP establishment, 60 ms TLS, 500 ms from TLS completion to first byte and 50 ms remaining transfer. The 500 ms includes request transmission, network and server work; it is not a direct database execution measurement. Connection reuse, redirects and proxies change the interpretation. curl — How To Use

Ping and traceroute probe different behavior from authenticated application requests. Missing ICMP replies may reflect filtering, rate limiting or unsupported echo response, while a successful ping says nothing about TLS, the listener or a valid query. Traceroute timeouts at intermediate hops can coexist with working end-to-end traffic. A targeted TCP connection test narrows transport behavior but still does not establish database login or query correctness. For HTTP failures, preserve redirects and methods in the request evidence rather than assuming a final 200 proves the intended operation ran.

Read Linux saturation signals together

Utilization measures busy capacity; saturation measures work waiting because capacity or a limit is insufficient. High utilization with acceptable latency may be efficient operation, while low fleet-average CPU can coexist with one saturated thread or a throttled container. Inspect demand at the same layer as the limit. Linux runnable work, blocked tasks, memory availability, storage wait and process behavior help separate competing hypotheses. A rising load average alone does not prove CPU exhaustion because Linux also includes certain uninterruptible tasks.

The following bounded local commands are illustrative reads, not a request to run them on this workspace as if it were the customer's server. Some tools may not be installed and journal visibility varies by permission. Compare intervals with the slow operation and a baseline. The first vmstat report uses since-boot CPU and activity averages; subsequent samples describe the requested interval. Its runnable and blocked columns, swap-in/swap-out and CPU fields require joint interpretation. vmstat(8) — procps-ng manual

uptime
free -m
vmstat 1 5
ps -eo pid,comm,stat,pcpu,pmem --sort=-pcpu | head -n 16
df -h /var/log
df -i /var/log
cat /proc/pressure/cpu /proc/pressure/memory /proc/pressure/io

Use a command-name column rather than full process arguments to reduce accidental disclosure of credentials. Check both storage bytes and inodes: a log writer can fail when either is exhausted. A small bounded directory inspection can locate a known application's log growth; avoid recursively scanning every mounted filesystem during an I/O incident. Never delete evidence or truncate arbitrary open files just to make a dashboard green.

Linux Pressure Stall Information reports time stalled on CPU, memory or I/O. The “some” value tracks periods with at least some tasks stalled; “full” for memory or I/O identifies simultaneous stalls across all non-idle tasks. Trends and deltas show productive time lost to contention, not merely allocated resource size. Interpret available fields for the kernel and scope in use; system-level CPU full has special semantics and should not be treated like memory full. PSI - Pressure Stall Information

Swap, working sets and container limits

Swap is backing storage for memory pages, not additional RAM with equivalent latency. Nonzero swap occupancy can reflect cold pages moved earlier and does not prove active thrashing now. Low free RAM alone also does not prove pressure because reclaimable filesystem cache can occupy available memory. Examine available memory, ongoing swap-in/swap-out, major faults, pressure stalls, process resident memory and operation latency together. Increasing allocated swap may avoid an immediate allocation failure while making an oversized working set painfully slow.

For a fictional report regression, a host has 16 GiB RAM. The database uses an approximately 10 GiB resident working set, other services 3 GiB, and a new reporting job repeatedly touches an additional 8 GiB. The combined working demand is roughly 21 GiB, exceeding physical capacity by 5 GiB before accounting for sharing and reclaimability. If repeated page-ins and memory pressure coincide with the fourfold slowdown, memory pressure becomes a supported hypothesis. If the same report is waiting on a lock while swap traffic is zero, adding swap or RAM targets the wrong delay.

Containers introduce enforced limits below host capacity. On a confirmed cgroup v2 system, inspect the application's actual control-group path rather than assuming the root represents it. The following files expose consumption, configured limits and counters. Their meaning and availability depend on enabled controllers. CPU throttling counters can rise while the host has idle cores; memory events can reveal limit enforcement or out-of-memory kills. Control Group v2

cat /sys/fs/cgroup/APP_CGROUP/memory.current
cat /sys/fs/cgroup/APP_CGROUP/memory.max
cat /sys/fs/cgroup/APP_CGROUP/memory.events
cat /sys/fs/cgroup/APP_CGROUP/cpu.max
cat /sys/fs/cgroup/APP_CGROUP/cpu.stat

APP_CGROUP is an illustrative placeholder; locate the workload's path through its runtime or process membership. Read counter deltas across the failure interval. Do not change limits, clear caches or disable swap as an exploratory step: those operations alter workload behavior and can trigger failure. Managed databases generally require service metrics and supported administrative interfaces rather than host commands. The CloudWatch agent provides an AWS mapping for configured guest telemetry on machines you operate. Collect metrics, logs, and traces using the CloudWatch agent

Application and search internals explain failed scaling

A web handler usually borrows a pooled connection, sends a search request, waits for distributed execution and renders a response. Search itself may coordinate work across shards and merge partial results. The effective bottleneck can be pool acquisition, a saturated search node, unavailable shards, a malformed query, an authorization policy or simply an index that does not contain the expected document. Enlarging a front-end host cannot repair those logical failures and may allow more concurrent requests to overwhelm the shared dependency.

If the backend is Amazon OpenSearch Service, inspect domain and cluster health, JVM memory pressure, free storage and rejected requests using supported monitoring and read-only interfaces. Red cluster status indicates unavailable primary shards and possible missing results; yellow generally indicates unavailable replicas with primaries assigned, reducing resilience without necessarily preventing every query. Storage and memory constraints can impose blocks or rejections. These are service-specific diagnostic branches, not evidence that the photographed unnamed search engine is OpenSearch. Troubleshooting Amazon OpenSearch Service

For an authorized OpenSearch-compatible deployment, a small read-only request such as GET /_cluster/health?filter_path=status,active_primary_shards,unassigned_shards can narrow shard availability. Use its supported authenticated client; AWS IAM access may require request signing, so an unsigned curl 403 is not proof that the cluster failed. Avoid broad index scans, force allocation, deletion or reindexing while determining basic health. A diagnostic search should use a non-sensitive fixture and a small result limit.

A 429 response suggests a rejection or throttling condition whose emitting layer must be identified. Check queues, concurrency and retry behavior. Retrying every failed request immediately can multiply pressure; bounded retries with backoff and idempotency constraints are different from adding limitless workers. Empty results with healthy transport deserve checks of index alias, tenant filter, mapping, ingestion lag and document visibility. A green infrastructure dashboard cannot establish search correctness.

In the failed-search rating scenario, request the actual error, correlate a known failure with web and backend evidence, and test the actual dependency path. Restart is a possible mitigation for leaked connections or stuck local state with a controlled procedure. More servers are justified only if work can be distributed and the constrained resource is the tier being expanded. Failure of vertical scaling weakens unsupported capacity guesses, but does not logically prove horizontal scaling can never help.

Diagnose the report regression with engine-specific evidence

Compare the last good week with the two-day regression window: application and database releases, configuration, indexes, statistics, data volume, input predicates, concurrent jobs and report format. Decompose elapsed time into queueing, pool acquisition, database work, transfer and rendering. A changed execution plan is one explanation; an unchanged plan processing many more rows is another. A static query review without runtime timing cannot distinguish those cases from locks or expensive application formatting.

Suppose a report rises from 20 seconds to 70 seconds. Measurements show queue wait increased from 2 to 52 seconds while database execution remains 12 seconds and transfer/rendering remains six. The ratio is 3.5, matching the photographed symptom, yet making query CPU twice as fast would only reduce total time from 70 to 64 seconds if the queue remained unchanged. In contrast, a query whose rows examined rose from 10,000 to 10 million calls for predicate, plan and indexing investigation. State the predicted effect of any proposed capacity change.

Slow-query logs provide focused evidence but are engine-specific. MySQL 8.4 uses duration and other filters; entries are written after statement execution and lock release, and initial lock acquisition has documented timing qualifications. A currently stuck query can therefore be missing. Many short statements can make an N-plus-one report slow without any individual statement crossing the threshold. Inspect active waits separately and correlate completed entries with the report interval. MySQL 8.4 Reference Manual: The Slow Query Log

PostgreSQL has its own duration and statement logging controls; do not paste a MySQL configuration into an unspecified database. SQL text and parameters can expose personal data or secrets. Use a bounded threshold and capture period, restricted storage and a redacted support extract. PostgreSQL 18: Error Reporting and Logging An empty log might mean wrong filtering, absent collection or delay outside the database. Plan inspection should start with existing evidence and nonexecuting explanations where supported; EXPLAIN ANALYZE actually runs work and can be expensive or have side effects. Test execution in an appropriate environment with engine-specific safeguards.

The swap-capacity action receives limited credit because it explores only one narrow constraint. CPU/RAM enlargement is plausible mitigation when measurements show pressure, but unsupported as an automatic first recommendation. Checking recent changes and collecting affected-window query evidence discriminate among more explanations. Preserve that reasoning instead of treating “slow database” as a diagnosis.

Choose a safe remedy and demonstrate its effect

Match the remedy to the demonstrated limiter: fix the endpoint or intended listener for a configuration mismatch; repair narrowly scoped authorization for rejected legitimate operations; optimize the query or index when excess work is proven; reduce concurrency for pressure caused by overlapping jobs; or add capacity to the constrained layer when the workload can use it. Workload consolidation can improve an underutilized server's economics, but colocating a batch report with latency-sensitive search can create the noisy-neighbor pressure just diagnosed. Isolation has a reliability value beyond average utilization.

For storage, distinguish operations per second, bandwidth and latency. At 5,000 operations per second averaging 16 KiB, requested data transfer is about 78.125 MiB/s, ignoring overhead. A 125 MiB/s throughput ceiling alone would not explain saturation at that demand, while a lower operations limit or queueing elsewhere might. At 64 KiB per operation, the same operations rate demands 312.5 MiB/s and throughput can become decisive. Device behavior, caching and request merging matter; this arithmetic is a starting hypothesis, not a benchmark.

Before changing a production resource, preserve relevant measurements, choose a bounded scope, define the success and rollback conditions, and account for replacement or restart effects. Afterward compare equivalent workload, success ratio, latency distribution, resource pressure and cost. Warm caches can make a second run faster even when the change was irrelevant, so use multiple comparable observations when feasible. Stop investigation commands once their question is answered and remove temporary verbose logging through the normal change procedure.

The final evidence should explain why the intervention addressed the cause and what remains uncertain. A recovered process without an identified trigger warrants further investigation; a confirmed query regression needs a representative regression test. No live customer hosts or AWS resources were accessed for these examples. The commands teach safe evidence collection under authorized operating procedures, with security and resource overhead treated as part of technical correctness.

Keep in mind

  • Classify application errors and test from the same route, namespace and identity context as the workload.
  • Allocated swap, high load average and low free memory are not standalone proofs of a bottleneck.
  • Investigate limits and waiting at the constrained layer before enlarging an unrelated host.
  • Bound slow-query capture and diagnostics; engine-specific behavior and sensitive evidence matter.

At the whiteboard

The reports are four times slower and swap is nonzero. Is more swap the answer?
Not from those facts. Compare active page movement, available memory, pressure, resident working set and database waits during equivalent reports. Cold swapped pages can persist without current pressure. In the worked queue example, 50 added seconds arise before database execution; extra swap does not remove that queue. If active memory contention is demonstrated, evaluate concurrency, working-set reduction or RAM at the actual limiting layer, and account for container limits or managed-service restrictions.
Ping to the database fails, but a TCP connection and TLS handshake succeed. What next?
Treat the ping result as limited ICMP evidence; RDS does not answer ping. Confirm that the configured endpoint and identity are intended, then use a supported bounded database operation to test authentication, authorization and query behavior. Inspect pool acquisition and database error codes because transport success does not imply useful queries. Do not switch to a test database or disable TLS validation. Correlate the result with the actual application path and involve the database owner with precise findings.

Last verified 2026-09-06

Security, identity & data protection · 2,719 words · 14 min

SQL injection, XSS and sessions: WAF, Shield and network defense

Follow untrusted input from the network into SQL and browser interpreters, then choose controls that prevent exploitation and contain the damage. Compare application fixes, request filtering, DDoS protection and tier isolation against the photographed alternatives.

↑ Chapter index

Follow the request through distinct trust boundaries

Consider a document portal receiving a search request. Packets first reach the published endpoint; a TLS terminator exposes HTTP to the service handling the request. A request filter may inspect selected components. The application authenticates a session, authorizes access to a tenant, calls a database, and renders returned fields into a browser document. There are several interpreters and several identities along this path. A packet allowed through port 443 is only permitted to reach a listener. It has not been declared a safe database expression, an authorized tenant operation, or harmless browser content.

SQL injection occurs when supplied data changes the structure of a database instruction. Cross-site scripting, or XSS, occurs when untrusted content becomes executable browser content. These vulnerabilities can be reachable through ordinary permitted web traffic. Fix the point where data becomes code; removing one currently hostile source address does not remove that interpreter boundary. Prepared statements separate SQL structure from parameter values; browser output needs handling appropriate to its context. OWASP SQL Injection Prevention Cheat Sheet OWASP Cross Site Scripting Prevention Cheat Sheet

A useful threat model follows three paths separately: input to query execution, displayed content to browser execution, and a compromised process to other network destinations. The financial-services architecture question names all three through injection, session hijacking and lateral movement. An answer that lists a powerful cipher but never follows these paths leaves the most relevant failure mechanisms intact.

Construct queries and browser output without turning data into instructions

In this original SQLite teaching example, a tenant comes from the authenticated server-side session, while the requested document identifier is bound as a value. A user-supplied tenant parameter must not replace the trusted tenant. Parameterization prevents SQL syntax injection; the tenant predicate supplies a separate authorization constraint.

# Local fixture only; conn is an in-memory SQLite connection.
row = conn.execute(
    "SELECT title FROM documents WHERE tenant_id = ? AND document_id = ?",
    (authenticated_tenant, requested_document_id)
).fetchone()

Test a document belonging to another tenant and expect no row. Test ordinary apostrophes and verify that they remain data. These two tests detect different defects. For selectable sort columns, map a small public enumeration to fixed column names in code; SQL bind parameters generally represent values, not identifiers. An object-relational mapper or stored procedure is only protective when its underlying query construction preserves this separation. Restrict the database identity so a read-only search cannot alter tables. OWASP SQL Injection Prevention Cheat Sheet

For browser rendering, use an auto-escaping template in its supported text context, or assign plain text through textContent. If a feature deliberately accepts rich HTML, use a maintained sanitizer with a narrow allowed feature set. HTML text encoding does not establish that a value is safe as executable JavaScript or an arbitrary URL. Avoid unsafe insertion contexts instead of trying to build one universal escaping function. A Content Security Policy can constrain execution, but remains an additional layer rather than proof that every insertion is safe. OWASP Cross Site Scripting Prevention Cheat Sheet

A practical fixture stores a title containing angle brackets and verifies that it appears as literal text without adding an element to the document. Repeat through the actual template and a client-side navigation update: testing only initial server rendering misses a different DOM update path.

Session hijacking and CSRF require different protections

An authenticated session identifier is often a bearer credential: possession can be sufficient to act as the user. Use unpredictable identifiers, TLS, server-enforced expiry, rotation after authentication or privilege changes, and effective logout or revocation. Cookies marked Secure restrict transport, HttpOnly restricts script access to their value, and a narrow scope limits where browsers send them. HttpOnly does not prevent malicious same-origin script from making authenticated requests. Avoid tokens in URLs or logs. OWASP Session Management Cheat Sheet

Cross-site request forgery, or CSRF, exploits the browser attaching credentials to an unwanted request initiated from another site. It does not require the attacker to read the cookie. Use the framework's CSRF protection for state-changing cookie-authenticated requests, such as a session-bound unpredictable token, with appropriate origin checks and SameSite cookie settings. SameSite is a useful layer, not a complete substitute in every application topology. XSS can undermine CSRF defenses because hostile code executing in the trusted origin may obtain or submit the token. OWASP Cross-Site Request Forgery Prevention Cheat Sheet

In a synthetic portal test, sign in as tenant A, revoke that session, and verify that replay no longer authorizes a download. Separately attempt a state change without a valid CSRF token and verify denial. Failing one application instance should preserve a legitimate shared session; deleting or revoking the session should invalidate it across surviving instances. Availability and revocation must coexist. A sticky-routing cookie only chooses a target; it must not become the application's proof of identity. These tests extend the session-continuity material without confusing persistence with indefinite trust.

Server-side request forgery: separate the request flaw from its blast radius

Server-side request forgery (SSRF) occurs when untrusted input makes an application issue an unintended request from its own execution environment. An image importer or webhook sender can become the requesting intermediary. The attacker need not directly reach the destination that the server can reach. This differs from CSRF, which induces a victim browser to send a request, and XSS, which runs unwanted script in a trusted browser origin. OWASP SSRF prevention

In the photographed overprivileged-function question, option 3 confuses vulnerability creation with damage after compromise. Broad storage permissions do not themselves create a URL-fetching flaw. They can increase the consequences if a separate flaw exposes usable credentials or permits unintended privileged operations. Conversely, narrowing the role does not prove the request handler is safe. Review both the request capability and the effective identity permissions. Option 2 remains the strongest readable description of the overgrant, while the missing fourth option prevents a complete source key.

Prefer a fixed destination or a business identifier mapped to an approved destination when the task permits it. Otherwise validate the parsed scheme, destination and port, account for both address families, and enforce the approved destination at connection time. DNS changes can invalidate an earlier address check. Disable redirects unless required; revalidate every permitted redirect. Constrain outbound paths independently, and avoid forwarding credentials intended for one destination to another. An allowlisted-looking URL string alone is insufficient. Application and network controls

For EC2 workloads, the Instance Metadata Service is a separate sensitive boundary. IMDSv2 uses session tokens for metadata requests; requiring it adds protection beyond accepting tokenless IMDSv1 requests. Its request and hop-limit controls must fit the deployment. It does not repair arbitrary server-side fetching, and usable workload credentials still need least privilege. This EC2-specific mechanism should not be described as a switch that configures every Lambda runtime. EC2 metadata-service behavior

Consider an original fictional image-import service with a separate fetch worker. Its contract accepts approved public images while rejecting unauthorized destinations. A test set contains eight approved fixtures and six forbidden destinations served by controlled test doubles. Passing requires eight correct images, six explicit rejections, and zero connections recorded by the forbidden destinations. Fourteen HTTP success responses would be a failure if they merely concealed the rejection behavior or returned error pages as images. Include a permitted server that redirects to a forbidden test destination, and a controlled resolver whose answer changes between validation and connection. These are proposed isolated tests, not probes performed against customer infrastructure.

Also verify timeouts, response-size limits, content validation and deletion of partial output. A fetcher can avoid forbidden destinations yet still exhaust its worker pool on slow responses. Diagnose which boundary failed before choosing the repair: destination policy, outbound enforcement, credential handling, privilege scope or resource admission. In an interview, explain the evidence that would demonstrate each repair and the useful import behavior that must remain available. A broad firewall claim or a smaller role alone does not establish the entire result.

Choose WAF, Shield and network controls by what they observe

ControlUseful boundaryWhat still needs another control
AWS WAFRules over supported HTTP request components at associated resourcesSafe query construction, browser-side behavior and document authorization
AWS ShieldDistributed denial-of-service protectionApplication correctness and the permissions of an authenticated request
AWS Network FirewallRouted network traffic with stateless/stateful inspection and intrusion preventionCorrect route placement, applicable inspection rules and application authorization
Security groupStateful allowed network connections for associated resourcesSQL and browser semantics inside an allowed connection

AWS WAF supports web request filtering, while Firewall Manager centrally manages supported protection policies; centralized management is not itself another packet inspection layer. Shield Standard provides baseline DDoS protection automatically, and Shield Advanced adds protection capabilities for eligible resources and a paid operational offering. Do not treat Shield as an SQL-injection sanitizer. AWS WAF, Shield and Firewall Manager overview How AWS Shield and Shield Advanced work

It is equally wrong to describe every network firewall as a ports-only device. AWS Network Firewall includes deeper inspection capabilities. Its TLS inspection explicitly decrypts traffic, applies stateful rules and re-encrypts it, using configured certificates and firewall policy integration. An HTTPS allow rule alone does not supply decrypted payload visibility. What is AWS Network Firewall? Inspecting SSL/TLS traffic with TLS inspection configurations in AWS Network Firewall

For the photographed unspecified firewall, ask what it observes, which encodings it handles, where it sits and how its effectiveness was tested. That uncertainty justifies a conditional assessment. For CAPTCHA, a solved puzzle provides a bot-management signal; it cannot certify that a human-submitted comment is safe SQL or HTML. Interactive challenges can also disrupt legitimate automated clients. CAPTCHA and Challenge in AWS WAF

Network Firewall only inspects the traffic routed through its endpoints. Trace the forward and return route tables, including any internet gateway edge association, transit hub or address translation. Creating an endpoint without steering the intended flows through it does not establish coverage. Route table configurations for AWS Network Firewall

Both directions of a flow must traverse the same Network Firewall endpoint for supported processing. A return path through another endpoint can break stateful handling. Also check that stateless rules forward the appropriate traffic to the stateful engine; a unidirectional pass rule can undermine the intended inspection path. Diagnose a newly introduced timeout by tracing these transitions before widening destination access. Avoiding asymmetric routing with AWS Network Firewall

Inspection size, bypass paths and false-positive calculations

AWS WAF has request-component inspection limits. For an Application Load Balancer or AppSync, body inspection covers the first 8 KB. CloudFront and several other supported integrations start at 16 KB and support configuration up to 64 KB. Oversize handling must be chosen deliberately: continuing inspection does not mean the uninspected remainder was checked. An allowed request can include bytes beyond the inspection limit. Review header and cookie limits as well. Oversize web request components in AWS WAF

Suppose a synthetic validation corpus contains 100,000 legitimate requests and 1,000 labeled suspicious requests. A candidate rule flags 400 legitimate requests and 900 suspicious ones. Recall on this corpus is 900/1,000 = 90%; precision is 900/1,300, about 69.2%; the legitimate false-positive rate is 400/100,000 = 0.4%. Those are measurements of the corpus, not production guarantees. If the same false-positive rate held across two million legitimate daily requests, approximately 8,000 legitimate requests would be affected each day. Small percentages can create a large customer problem.

Start tuning with count or observation where appropriate, examine matches by endpoint and request shape, then enforce a reviewed change. Exempt only the necessary field or route with a documented compensating control. An exception for the entire checkout path may remove protection precisely where value concentrates. Verify that direct origin addresses, alternate hostnames and administrative endpoints cannot bypass the intended control. Large uploads need application-level size, format and content validation even when inspection limits are raised.

Rule presence is not enough: AWS WAF evaluates numeric priorities from lowest upward. Review the entire sequence, including rules inside groups, so the intended inspection actually executes. Setting rule priority in AWS WAF

Allow and Block terminate evaluation, while Count continues. If an early broad Allow matches a request, later injection rules are not evaluated for that request. For example, a blanket trusted-office Allow before the attack rules can remove their coverage for a compromised office client. Count mode also supplies observation rather than enforcement; its metrics must not be reported as blocked attacks. How AWS WAF handles rule and rule group actions

Contain lateral movement without breaking the permitted path

In the exposed-database question, remove public TCP 3306 ingress and allow the database port from the application's security group where supported by the topology. A source security-group reference is a network membership rule, not the copying of the referenced group's own rules. The application still needs valid database credentials and appropriate grants. A compromised permitted application can continue using its permitted connection, which is why segmentation and authorization are complementary. Security groups are stateful; they do not require a second inbound rule for response packets to an allowed outbound request. Control traffic to your AWS resources using security groups

The on-premises firewall question allows HTTP and HTTPS from anywhere, SSH only from 10.10.1.0/24, and rejects other inbound connections. Allowing every service from that management subnet is broader than requested. Check rule order and existing broad allows in the actual firewall product, and review IPv6 separately. A network access-control list can help contain a confirmed hostile source, but an address is not a permanent user identity and another source can reach the same vulnerable public form.

# Read-only illustration; substitute an authorized test resource.
aws ec2 describe-security-groups --group-ids sg-0123456789abcdef0 --query 'SecurityGroups[].{Inbound:IpPermissions,Outbound:IpPermissionsEgress}'
# Synthetic staging endpoint; no real cookies or customer data.
curl --head --max-time 10 https://portal.example.test/health

The first command exposes the configured rules for review; it does not prove the entire route works. The second proves only the observed HTTP result from its execution location. Test allowed application-to-database traffic and denied access from a separate test tier. Correlate request identifiers through the filter and application without logging credential values.

AWS network ACLs differ from security groups: they apply ordered allow and deny rules at subnet ingress and egress and are stateless. Return packets therefore need matching permitted paths, including the relevant client port range. Security-group state tracking does not override a subnet ACL denial. An IP blacklist in an ACL can temporarily block an identified source but neither classifies HTTP content nor fixes a vulnerable query. Control subnet traffic with network access control lists

Reliability, cost and interview decision reasoning

A single custom inline inspection server adds a shared dependency. In an illustrative design where all traffic needs both a 99.95% available application and an independent 99.9% available filter, combined availability is 0.9995 × 0.999 = 0.9985005, about 99.85005%. Over a thirty-day month that corresponds to roughly 64.8 unavailable minutes under these simplifying assumptions. Correlated failures can be worse. Bypassing the failed filter trades disruption for loss of inspection; failing closed retains the boundary but can block customers. Document the chosen failure behavior and rehearse a protected recovery path.

Compare operating effort, redundant capacity, certificate management, request latency, inspection traffic and rule tuning. A managed control removes some maintenance work but not the need for policy design. Network Firewall TLS inspection adds endpoint and inspected-traffic cost dimensions. Avoid dollar estimates without the intended Region, traffic profile and current price inputs. Inspecting SSL/TLS traffic with TLS inspection configurations in AWS Network Firewall

For the architecture choice, WAF plus segmentation is the strongest visible combination because it addresses web request inspection and tier reachability together. It does not fully solve stolen sessions. MFA strengthens login, encryption protects relevant stored copies, and penetration testing finds defects; none independently replaces the combined architectural controls. For the five ratings, prefer the explicit WAF proposal while retaining code fixes, credit IP blocks as supplementary containment, condition an unspecified firewall on demonstrated capability, limit CAPTCHA to its actual signal, and require redundancy and evidence for custom inline software. These are reasoned study judgments, not an official answer key.

For the IP-blocking action, IP reputation is supporting evidence rather than a property of the payload. An attacker can change egress addresses, while many legitimate users may share one translated address. Record which source address a trusted proxy actually observed, time-limit emergency blocks, and compare blocked requests with confirmed customer impact. For a custom inspector, security maintenance includes dependency patching, rule regression tests, certificate renewal and a tested rollback. A filter that was effective before an application encoding change may now miss attacks or reject legitimate requests. Input validation constrains allowed business values, but does not replace parameterized queries or context-specific output encoding.

Keep in mind

  • Keep SQL values separate from instructions and browser data separate from executable contexts.
  • A WAF plus segmentation is useful without being a complete session-security solution.
  • Measure legitimate traffic impact and test alternate entry paths and oversize handling.

At the whiteboard

Why did a WAF-protected application still disclose another tenant’s document?
A syntactically ordinary request can still select an unauthorized object. I would reconstruct the authenticated user, tenant boundary, requested identifier and server authorization decision. A filter may correctly allow the HTTP request while the application fails to check ownership. I would repair the authorization predicate and add a two-tenant regression fixture, then review data-access evidence for scope. More aggressive injection rules would not directly address this defect.
Would you remove an inspection device during an outage?
I would follow the predefined failure policy after confirming its role in the outage. The decision weighs customer impact against exposure through an uninspected path. Prefer a healthy protected route or rollback to a known-good rule set. If an emergency exception is necessary, bound its duration, eligible endpoints and monitoring, record ownership, and verify restoration. Calling a design fail-open does not establish that the resulting risk is acceptable.

Last verified 2026-09-06

Security, identity & data protection · 1,980 words · 10 min

IAM authorization: roles, least privilege and account governance

Build permissions from a real workload’s actions, resources and trust relationships, then evaluate the complete authorization path. Separate account guardrails, workload identity, network access and end-user authorization.

↑ Chapter index

Authentication establishes a caller; authorization evaluates a request

Identity and Access Management, or IAM, is about the authority to perform an operation, not simply possession of a console login. Authentication establishes the caller. Authorization evaluates that caller's requested action against a resource and a request context. An AWS account is a resource and governance boundary containing identities; an IAM role is an identity with a trust relationship and permissions. End users of an application may never receive AWS credentials at all. Their business permissions still need enforcement before the application uses its AWS role.

For a typical signed API call, AWS authenticates the request, builds context and evaluates applicable policies. An explicit deny overrides a relevant allow; absent a sufficient grant, the request is implicitly denied. Identity policies and resource policies can grant access, while other policy types constrain it. The exact evaluation depends on the principal and policy types, so a single simplified set-intersection formula is not universally correct. IAM policy evaluation logic

Consider a portal where Alice may read tenant A documents and Bob may read tenant B documents. Both requests execute under the same backend role. IAM can restrict that role to the portal bucket, but cannot infer which customer was entitled to the object unless the design carries a trustworthy isolation boundary into the authorization mechanism. The application must validate the requested document. Cloud audit evidence naming the shared role alone also cannot establish which human made the request.

Understand role assumption and the two different permission directions

A role's trust policy controls who can assume it. Its permissions policies control what the resulting role session may do. A Lambda execution role trusts the Lambda service and supplies the function's AWS API permissions. Permission to invoke a function is a separate decision from permission for its code to read a bucket. Giving the function an execution role does not authorize every outside caller to invoke it. Defining Lambda function permissions with an execution role

For cross-account vendor access, the target role must trust the intended caller and the calling side must have the required authority. An external ID condition helps defend a third-party confused-deputy scenario by tying a provider's assumption request to the intended customer relationship. It is not a password that substitutes for an appropriately scoped trusted principal. Access to AWS accounts owned by third parties

In an original deployment review, distinguish the developer who changes a function, the deployment pipeline that passes its execution role, the service that assumes that role and the runtime that accesses storage. A developer able to attach a more powerful role or replace privileged function code may obtain that role's effective power indirectly. Therefore, reducing only the runtime policy is incomplete if the same person can immediately replace it with administrator access. Review the authority to change trust, policies, role assignment and executable code as part of the same system.

Use short-lived workload credentials delivered through the supported role mechanism instead of embedding long-lived access keys in source code or machine images. Human workforce access should use federation and temporary access where practical. This reduces secret distribution and ties access to a centrally managed identity lifecycle, while leaving stolen active sessions as a separate risk. Security best practices in IAM

Worked example: one function, one bucket, one read responsibility

The photographed function reads from one storage bucket but has full read/write authority over storage and compute across the environment. The risk is excessive blast radius: code execution, a dependency compromise, or server-side request forgery that exposes usable credentials can turn a narrow function into a broad destructive actor. The immediate correction is to derive required permissions from its actual calls, not merely rename the role or enable more logging.

Assume an original example where the function receives the exact object key in its input and reads only incoming/ objects. Its object permission can begin with the following statement. This is a partial illustrative policy, not a deployable promise: add its separately scoped logging permissions and any genuinely required decryption permission after tracing those calls.

{
  "Effect": "Allow",
  "Action": "s3:GetObject",
  "Resource": "arn:aws:s3:::example-ingest/incoming/*"
}

S3 object actions use object resources, while listing a bucket is a different action against the bucket resource. Do not add s3:ListBucket merely because a read example contains a bucket name; add and scope it if discovery of keys is part of the workflow. Similarly, SSE-KMS objects introduce a distinct decryption authorization dependency. How Amazon S3 works with IAM

Construct a test matrix: reading a designated fixture succeeds; reading a different prefix fails; reading another bucket fails; object deletion fails; launching compute fails. Suppose the initial simplified review matrix contains six operation categories across twenty datasets, or 120 candidate action/dataset pairs. If the workload needs two pairs, 118/120 = 98.3% of that coarse matrix was unnecessary. This is a prioritization illustration, not a mathematical estimate of compromise probability; one policy-management permission may be more dangerous than many reads.

Record why each allowed call exists, its owning team and the test proving it. If deployment or recovery requires temporary broader access, use a separate bounded role instead of preserving those powers permanently in the runtime.

Boundaries and organization guardrails limit different things

A permissions boundary limits what identity policies can grant; it does not grant permissions itself. But within one account, a resource policy granting directly to an IAM user ARN or role-session ARN has important interactions with implicit denies. A grant directly to a role-session principal is not bounded by implicit denies in the role's identity policy, boundary or session policy in the same way as a grant to the role ARN. Explicit denies remain important. Inspect the actual Principal field rather than claiming that a boundary is an unbreakable sandbox around all resource grants. Permissions boundaries for IAM entities

A service control policy, or SCP, sets an organization-level permissions ceiling for affected member-account principals. It does not give them permissions. SCPs do not constrain the management account, and service-linked roles have documented exemptions. Test a proposed guardrail in a limited organizational unit before expanding it. Removing a required allow or adding a broad deny can break legitimate recovery, deployment or logging workflows. Service control policies (SCPs)

For an original three-account design, put production workloads, development experiments and protected audit storage in different accounts. Give a production runtime no reason to assume development administrator roles, and give development pipelines only the production deployment path they actually need. Record who owns the organization root, who can change organizational-unit placement and who can alter centralized controls. Account separation reduces some accidental cross-environment changes, but a shared overly privileged automation identity can reconnect the blast radius.

A guardrail preventing selected administrative actions is preventive. An alert on a prohibited configuration is detective until a tested response changes access. A recovery procedure is corrective. Labeling these mechanisms accurately helps explain why enabling logs cannot replace narrowing an overprivileged function's authority.

MFA, tags and network locations are scoped evidence

For console accounts compromised through stolen usernames and passwords, enforcing multi-factor authentication changes the login requirement directly. A longer password does not rescue an already disclosed password. Prefer phishing-resistant passkeys or security keys where supported, and cover the actual federation or identity-provider path as well as emergency accounts. Enrolling a second factor without enforcing its use leaves a gap. Session recovery and factor replacement deserve the same scrutiny as normal login. AWS Multi-factor authentication in IAM

Do not apply a naive MFA condition to every workload role. Machines need a supported noninteractive identity flow, and context keys vary with the authentication method. The desired outcome is strong authentication for people and narrowly scoped, short-lived authority for workloads. Existing sessions and unprotected API keys need separate containment, covered in the credentials chapter.

Attribute-based access control can compare trusted principal or session tags with resource tags. Its security depends on who can set or change those attributes. If a developer can relabel a restricted resource as their own project, the comparison may succeed for the wrong reason. Protect tag mutation and test missing or mismatched tag behavior. Controlling access to and for IAM users and roles using tags

A private subnet or source allowlist also provides only scoped evidence. It restricts a network path, not every AWS API endpoint or every application permission. In the database question, narrow TCP 3306 to the application source group; then narrow the database login's grants. In the cloud segmentation rating, determine which resources actually have VPC network attachments and which use service endpoints and resource policies. Naming a VPC does not place every stored object inside its packet-filtering boundary.

Diagnose AccessDenied without granting administrator access

Start by identifying the exact runtime principal, requested action, resource ARN, Region and timestamp. Separate failure to assume the role from failure of a subsequent service request. Inspect identity policies, resource policies, trust, boundaries, session restrictions and applicable organization controls. Check condition values such as a required tag or endpoint path. A missing context key can explain why a statement that looks correct does not apply.

# Read-only examples under an authorized study profile.
aws sts get-caller-identity --profile study
aws iam get-role --role-name ExampleReader --query 'Role.{Trust:AssumeRolePolicyDocument,Boundary:PermissionsBoundary}'
aws iam list-attached-role-policies --role-name ExampleReader
aws iam simulate-principal-policy --policy-source-arn arn:aws:iam::111122223333:role/ExampleReader --action-names s3:GetObject s3:DeleteObject --resource-arns arn:aws:s3:::example-ingest/incoming/fixture.txt

These examples do not fetch object contents or mutate permissions. The role metadata and attached-policy list are only part of the evidence: inspect inline policies, managed-policy versions and resource policies too. Simulation evaluates supplied or included policies and context without executing the service action; it does not prove that every live endpoint or organization restriction has been modeled. AWS documents differences from the live environment, including lack of RCP support. Use harmless fixture operations for final confirmation. IAM policy testing with the IAM policy simulator

Write an expected allow/deny table before changing a policy, so the repair is judged by a requirement rather than disappearance of one error. If a denied request is actually out of scope, the correct result may be to keep it denied and repair the caller's behavior. IAM changes can take time to propagate; record when the policy changed and retest the same identity instead of repeatedly widening permissions.

GetCallerIdentity identifies the caller and requires no permissions; it can return identity information even when an explicit deny targets that operation. It is therefore not a valid success/failure probe for session-permission revocation. Test a harmless protected fixture operation to establish whether meaningful authority has actually been denied. GetCallerIdentity — AWS Security Token Service

Governance is an operational design with availability and cost effects

Least privilege means enough authority for approved work, including necessary recovery. Zero permissions everywhere would simply prevent service delivery. Maintain a tested emergency path with strong authentication, independent access prerequisites, time-bounded use and review. An outage of the primary identity provider should not turn recovery into improvised credential sharing. Test the path with harmless actions and preserve evidence of which duties it can perform.

Use observed access to help refine a policy, but do not conclude that an action absent from a short observation window is never needed. Rare restore jobs, certificate renewal and seasonal processing may not have run. Ask owners to justify such exceptions and exercise them. Remove abandoned grants and credentials, while preserving the distinction between an infrequent business requirement and an unowned permission copied years ago.

In a cost review, count the operational effort of maintaining many bespoke policies, investigating false alerts and recovering from broken automation alongside security tooling expenditure. Reusable role templates reduce review effort if their parameters retain meaningful resource boundaries. An uncontrolled universal template can instead distribute the same excessive grant everywhere. Overprivileged compute permissions can also enable unauthorized resource creation and unexpected charges; billing anomalies are useful evidence, but do not prove the absence of data theft when charges stay flat.

The least-privilege rating is therefore strong because it defines account security requirements and the minimum necessary privileges. The exact function question exposes the consequence of failing that requirement. Strong interview reasoning names the authorized task, follows trust into runtime authority, identifies escalation paths and supplies both positive and negative verification.

Keep in mind

  • Trust policies authorize role assumption; runtime permissions authorize subsequent actions.
  • SCPs and permissions boundaries constrain grants but do not create them.
  • Verify allowed duties and denied out-of-scope operations under the actual runtime identity.

At the whiteboard

An administrator policy still gets AccessDenied. What do you inspect?
I first confirm whether the error is role assumption, object access or key use and capture the exact principal, resource and action. An administrator allow does not override an explicit deny or every permissions ceiling. I inspect organization controls, boundaries, session policies, resource policies and relevant endpoint conditions, plus KMS authorization if decryption is involved. I do not remove all guardrails to make the symptom disappear; I identify the intended permitted path and test the smallest justified change.
Would a dedicated AWS account solve the function’s excessive permissions?
It may reduce the set of unrelated resources reachable through that account, but does not make full storage and compute access appropriate. I would narrow runtime actions and resources, inspect cross-account trust and deployment authority, and preserve separate logs. If the account still contains sensitive datasets or has trusted paths to other accounts, compromise can remain serious. The account boundary complements a workload-specific policy rather than replacing it.

Last verified 2026-09-06

Security, identity & data protection · 1,954 words · 10 min

Credentials and secrets: rotation, exposed keys and incident containment

Distinguish passwords, access keys, temporary role sessions and application tokens before choosing a containment action. Treat secret rotation as a coordinated state transition and verify that stolen authority can no longer perform meaningful operations.

↑ Chapter index

Inventory the credential, its issuer and its reachable authority

A stolen laptop is an incident involving potentially usable authority, even when nobody yet knows which credential was copied. Ask which production identities were used, when the device was last trusted, whether it was unlocked, and which browser, command-line, VPN and database sessions existed. Do this while containing credible exposure, rather than waiting for a perfect inventory. Do not ask the user to paste secret values into a ticket. Credential identifiers, issuer names, session timestamps and affected systems are usually the relevant starting evidence.

An IAM access key contains an access key ID and secret access key used for programmatic authentication. A temporary credential set additionally includes a session token and expiry. A console password, database password, SSH private key, browser session cookie and refresh token each have their own validation and revocation system. Changing one does not imply that every other artifact became unusable. AWS recommends temporary credentials where practical instead of distributing long-lived IAM user keys. Manage access keys for IAM users

Build a small incident table with columns for artifact type, issuer, exposed device or repository, principal, permitted resources, last known use, containment mechanism and verification. For an original example, a developer's laptop may hold a browser session for account administration and a cached database password. Resetting the database password does not invalidate the browser session. Revoking the browser session does not end an already authenticated database connection. This is a causal inventory, not a checklist of products to buy.

Contain exposed access keys and investigate what they could create

Use a trusted responder identity from a trusted device. For a confirmed exposed long-lived AWS key, promptly deactivate its ability to authorize calls and replace legitimate dependencies through a protected channel. Preserve the identifying evidence and review account activity and unexpected resources. Removing the public file or repository commit alone cannot retract copies already obtained by someone else. AWS's exposed-key guidance explicitly combines credential action with account investigation. What to Do If You Inadvertently Expose an AWS Access Key

Routine rollover may temporarily keep old and new credentials active while consumers migrate. Confirmed compromise changes that tradeoff: every extra minute of overlap may leave the attacker operational. Decide whether temporarily stopping a dependent workload is necessary to stop harm, and coordinate restoration using a clean identity. Never distribute the replacement secret back to the device or build artifact that caused the exposure.

Investigate persistence as well as calls signed directly by the original key. Review newly created keys and identities, changed role trust, policy attachments, function code changes, altered logging, unusual storage policies and unexpected resource creation. A stolen identity with permission to assume another role may have produced sessions under that target role. Blocking the original key does not prove those independent sessions or newly created identities are contained. Establish the reachable role chain and follow its activity.

Separate containment from evidence destruction. Deleting unfamiliar compute immediately may remove useful process or disk evidence; leaving it unrestricted may permit continued abuse. Choose isolation and evidence capture appropriate to observed risk, using the incident runbook and forensic owners. The goal is to stop unauthorized authority, preserve enough evidence to establish scope, and recover a trustworthy service.

Temporary session revocation is a policy and issuance problem

Temporary credentials expire, but expiration is not the only control available. Permissions are reevaluated on AWS requests; an appropriate explicit deny can block an already issued session. Simply removing an identity allow may be insufficient if a resource policy independently grants access. Policy propagation is not instantaneous. Use the documented procedure for the actual issuer, and verify protected operations after containment. Disabling permissions for temporary security credentials

For ordinary IAM roles, the console's revoke-session mechanism attaches an AWSRevokeOlderSessions inline policy using a aws:TokenIssueTime cutoff. It denies sessions issued before that time. This can affect legitimate users of the role as well as the compromised session. New assumption requests remain a separate path: if the attacker still meets the trust and authentication requirements, they may obtain a session issued after the cutoff. Removing the revocation policy too early can allow still-unexpired older sessions to regain access. Revoke IAM role temporary security credentials

In a fictional timeline, a laptop is stolen at 10:00, a cached role session expires at 11:00, and responders learn of the theft at 10:10. Waiting for expiry leaves up to fifty more minutes of usable access after detection. Suppose the deny becomes effective at 10:13: the post-detection window is then about three minutes, subject to actual propagation and alternate access paths. A session newly acquired at 10:14 can evade a 10:12 issuance cutoff if reissuance was not blocked. This arithmetic explains why responders must address both old sessions and the ability to obtain new ones.

IAM Identity Center permission-set sessions require the corresponding Identity Center revocation workflow; do not assume ordinary role editing is the supported path. Federated browser sessions, application refresh tokens and application sessions must also be handled by their own issuers. Root sessions have different constraints and demand account-specific recovery procedures. The general rule is to prove that affected authority has stopped, not merely observe that a logout button was clicked. Issuer-specific temporary-credential restrictions

Why bastion allowlists and hardware MFA are incomplete after theft

A bastion can constrain server administration only when the affected route actually passes through it. A stolen AWS API key can be used against service endpoints without traversing an SSH bastion. A thief holding usable VPN access may even originate from the allowlisted network. The photograph's wording about access “to known IP addresses” also leaves inbound-source versus outbound-destination interpretation uncertain. Treat a source allowlist as one possible interpretation, not recovered wording or guaranteed containment.

Likewise, a hardware security key can strengthen a new sign-in but does not retrospectively invalidate an existing bearer session. FIDO security keys and passkeys offer a different phishing-resistance property from hardware devices that merely display one-time codes. Enforce the chosen factor on the actual sign-in route and control recovery bypasses. AWS documents the supported MFA mechanisms; the photograph does not identify a specific protocol. AWS Multi-factor authentication in IAM

This distinction also explains why the separate phishing-console question strongly favors MFA: its observed failure is attackers authenticating with stolen usernames and passwords. The stolen-laptop question has a broader, already-exposed-artifact problem. A fifteen-minute inactivity timeout is not necessarily protective if an attacker keeps the session active. A stronger password is not secret merely because its composition is complex. Account disablement, revocation, device containment and reauthentication can be necessary alongside improved future authentication.

For a rehearsal, enumerate three credentials on a disposable test device: a console session, an application session and a server login key. Record the expected outcome of revoking each one separately. This makes the scope visible and prevents a dashboard marked “MFA enabled” from being misread as proof that every production access path has been repaired.

Secret rotation coordinates two systems and several consumer states

A secret manager stores and distributes a credential; the database or external service decides whether that credential is valid. Updating only the stored value can break clients while leaving the real old password valid. Updating only the database can strand clients on a stale value. A successful rotation must move both systems coherently and verify a new connection before declaring completion.

For Lambda-based Secrets Manager rotation, the documented sequence creates a pending version, changes the target credential, tests it and moves the current-version label. The stages AWSPENDING, AWSCURRENT and AWSPREVIOUS expose progress and support retry handling. The rotation function has powerful access to the secret and target; validate the intended resource so it cannot be redirected into changing another target. Lambda rotation functions

Single-user rotation changes one user's password. Existing database connections are not dropped merely by this rotation, and a short update window can affect new connections. Alternating-user rotation maintains two users, with one usable while the other changes; it adds privileged setup and requires keeping their permissions aligned. Both credentials can remain valid after a rotation. Thus an availability-oriented alternating strategy must not be mistaken for immediate revocation of an exposed old user's authority. Lambda function rotation strategies

Suppose sixty workers refresh a cached secret every five minutes and the password changes just after they refresh. Without an authentication-failure refresh path, each worker can hold stale credentials for nearly five minutes. If each attempts one new connection per second, the illustrative upper count is 60 × 300 = 18,000 failed connection attempts. Existing pooled connections may hide this defect until a deploy or scale-out replaces them. Add a bounded refresh-on-authentication-failure path, jitter retries and test actual new connections during rotation. Do not retry forever or convert every database error into a secret refresh storm.

Collect bounded evidence without printing the secret

# Metadata only, under an authorized responder identity.
aws iam list-access-keys --user-name ExampleUser --query 'AccessKeyMetadata[].{Id:AccessKeyId,Status:Status,Created:CreateDate}'
aws iam get-access-key-last-used --access-key-id AKIAEXAMPLE0000000000
aws secretsmanager describe-secret --secret-id example/portal/database --query '{RotationEnabled:RotationEnabled,LastRotatedDate:LastRotatedDate,Stages:VersionIdsToStages}'
aws cloudtrail lookup-events --lookup-attributes AttributeKey=AccessKeyId,AttributeValue=AKIAEXAMPLE0000000000 --start-time 2026-09-06T10:00:00Z --end-time 2026-09-06T11:00:00Z --max-results 20 --region eu-west-1 --query 'Events[].{Time:EventTime,Name:EventName,Id:EventId}'

These examples are illustrative read-only diagnostics. The key ID is a placeholder identifier, not a usable secret. Metadata can identify active keys or an unfinished rotation without exposing a password. Last-used information is a clue, not complete forensic proof. The bounded CloudTrail lookup returns selected event metadata for a specified Region and time window; pagination and wider investigation are necessary when the incident scope requires them.

CloudTrail data events, such as relevant object reads, need appropriate configuration and are not captured by simply assuming default management-event coverage is comprehensive. End-user application audit records must be correlated when AWS only sees a shared runtime role. No matching event in an unconfigured or delayed evidence source does not establish no access. Logging data events in AWS CloudTrail

During a failed rotation, inspect version stages, sanitized function errors, target reachability and permissions before initiating repeated new rotations. After repairing the cause, prove a fresh connection with the intended account and permissions. In the slow-query-log question, remember that SQL literals and connection errors may contain sensitive data; forward only the relevant redacted evidence through an approved support path. Avoid fetching the secret into shell history simply to demonstrate that access works.

Recovery, delegated URLs and the cost of stale authority

Presigned S3 URLs delegate a particular operation using the signer's authority. Treat them as bearer material and avoid putting them in general logs. Their usability is bounded by both the URL's expiry and the underlying signing credentials; a URL created with temporary credentials expires when those credentials expire even if the requested URL lifetime is longer. Revocation and policy restrictions can also matter. Download and upload objects with presigned URLs

In the image-processing redesign question, removing an unnecessary server hop through a presigned upload must preserve authorization, permitted object destination, expiry and validation. A user who may upload one image must not receive a general write capability to another tenant's prefix. The cheaper data path is only a valid improvement when it retains those properties and the application's required processing behavior.

Recovery should replace exposed secrets at their consumers, clear or retire unsafe caches, remove confirmed persistence, restore intended permissions and verify legitimate work. Preserve a timeline of the observed exposure, containment changes, policy propagation and successful negative tests. Do not restore an old compromised password merely because it is the previous version in the secret manager. Treat that version as historical material whose safety depends on the incident, not its staging label.

Cost includes secret storage, retrieval and rotation execution as well as incident labor, failed customer operations and unauthorized resource usage. Caching can reduce retrieval calls and latency while increasing stale-value risk; measure both. A simple healthy service with controlled refresh is often easier to operate than many independent rotation scripts. Rehearse expiration, failed rotation, lost device and issuer outage cases so a containment action has a known recovery path rather than an improvised global credential reset.

Keep in mind

  • Identify the credential issuer and all resulting sessions before claiming containment.
  • Revoke old authority and block unauthorized reissuance; MFA enrollment alone does neither.
  • Test fresh connections during rotation, because existing pools can hide stale credentials.

At the whiteboard

A leaked access key was disabled. Why can suspicious access continue?
The attacker may already hold an assumed-role session, application token, database connection or newly created credential with a separate lifetime. I would correlate the original identity with role assumptions and persistence changes, then apply the supported revocation or explicit-deny mechanism to the affected authority. I would block reissuance and verify meaningful resource operations fail. I would also distinguish delayed log delivery from newly successful activity before concluding containment failed.
The current secret version changed successfully, but half the fleet cannot connect. What next?
I would compare failures on existing versus fresh connections and inspect sanitized authentication errors, version stages, client cache age and the target account state. A label change alone does not establish that every client refreshed or that both alternating users have equivalent grants. I would repair the failed stage or refresh path with bounded retries, canary a new connection and monitor connection creation. If exposure prompted rotation, restoring the known-compromised previous credential is not an acceptable availability shortcut.

Last verified 2026-09-06

Security, identity & data protection · 2,287 words · 11 min

Encryption, KMS and TLS: data protection and shared responsibility

Protect the entire document lifecycle with classification, correct readership, encryption and recoverable keys. Follow envelope encryption and TLS boundaries, then test enforcement and service-specific operational responsibility.

↑ Chapter index

Begin with classification and follow every copy

Encryption answers how bytes are protected under a key; classification answers how information should be handled. Neither question automatically determines who may read a document. Begin with owners and useful classes such as public, internal and restricted, then define permitted audiences, retention, sharing, geographic placement and recovery needs for each class. AWS's data-classification guidance places those handling decisions before the choice of individual controls. Data classification — AWS Security Pillar

For the mixed-bucket question, discovery without enforcement only locates the problem, while blanket encryption without classification can preserve an incorrect readership. Combine inventory, validated discovery findings, appropriate access paths and continuing drift detection. Amazon Macie provides sensitive-data discovery and security visibility for Amazon S3; it is not a universal scanner for every service or a complete inline data-loss-prevention enforcement system. Supported object eligibility and access affect what can be analyzed. What is Amazon Macie?

In an original migration inventory, follow a contract through browser upload, reverse proxy buffers, application temporary storage, object storage, search index, database metadata, logs, backups and download. A diagram with one encrypted bucket omits most of that lifecycle. For each copy, ask whether it contains the full document or sensitive derived fields, which identity writes it, who reads it and how it is deleted or restored. A debug log containing a financial identifier can become a sensitive data store even if the main document system is well protected.

Public marketing content can be delivered through a controlled distribution backed by private storage. Therefore, blocking direct public bucket access may be compatible with public content; it does not remove the need to distinguish the marketing readership from internal and restricted datasets.

Envelope encryption separates bulk data from key protection

Envelope encryption uses a data key to encrypt content and another key to protect that data key. This avoids sending an entire large document through a central wrapping-key operation. AWS KMS protects KMS keys within its service boundary and supports cryptographic operations over them; the encrypted data key can be stored alongside the ciphertext. Use a maintained encryption SDK or service integration rather than inventing a wire format or nonce scheme. AWS KMS cryptography essentials

For a client-side example, GenerateDataKey returns a plaintext data key and a wrapped copy. The application encrypts the document using the plaintext key, then removes that plaintext key from memory when practical. It persists the ciphertext, required algorithm metadata and wrapped key. On reading, an authorized unwrap operation recovers a data key for local decryption. The plaintext data key exists in the application's memory during use, which matters when evaluating a compromised host. GenerateDataKey API

In an original workload calculation, one million documents averaging two MiB contain about 1.91 TiB of plaintext. A design that generates one data key per document may require one million generation calls during ingestion, while encrypting approximately 1.91 TiB locally. That example does not predict the internal call count of an AWS managed storage integration, which may use its own optimizations. It shows why request rate and bulk byte volume are distinct capacity and cost dimensions.

A thief who obtains only ciphertext faces a different boundary from code already permitted to call decryption and read plaintext. Server-side encryption does not stop the service from decrypting for a principal it authorizes. Client-side encryption can move where plaintext appears, but brings application key handling, search limitations, sharing and recovery complexity. A design decision must specify the adversary and plaintext locations instead of treating a key length as the entire security argument.

KMS authorization, context and rotation are separate controls

A KMS key policy is a central authorization control for that key. IAM permissions only work through the applicable KMS authorization model; attaching an IAM allow is not a universal substitute for the key policy. Review grants and service integration permissions as well. Separate permission to administer a key from permission to decrypt where the threat model requires it, while recognizing that a sufficiently powerful policy administrator may be able to grant themselves use. Key policies in AWS KMS

Encryption context is nonsecret authenticated metadata supplied to supported symmetric encryption operations. It must match for decryption and can participate in policy conditions. It is logged, so do not put passwords or sensitive document contents in it. An application can bind an opaque tenant or purpose identifier into the context, but that only supports isolation if the application validates the trusted tenant and policies actually enforce the intended relationship. An attacker allowed to choose arbitrary context and decrypt any key is not constrained by the presence of a field named tenant. Encryption context

Rotating KMS key material preserves the logical key and access to ciphertext encrypted under retained older material. It does not re-encrypt stored objects, rotate their data keys or remedy a compromised plaintext data key. Automatic rotation is supported for eligible symmetric encryption keys with AWS-generated material; other key types or origins have different mechanisms. Avoid promising universal automatic rotation. Rotate AWS KMS keys

For the one-million-document example, wrapping-key rotation is therefore not a million-object rewrite. If a data key or plaintext corpus was compromised, plan the actual data re-encryption or replacement boundary and acknowledge that already copied plaintext cannot be made secret again by changing a key. Conversely, deleting the wrapping key can destroy access to healthy backups. A backup retention design must retain every key and permission path needed for the full supported restore window.

TLS protects a connection between specific endpoints

Transport Layer Security, or TLS, negotiates traffic protection between peers. In a typical certificate-authenticated TLS 1.3 connection, the peers negotiate supported cryptography, establish shared secrets, authenticate the server through certificate and handshake checks, and protect application records with authenticated encryption. The client must verify the intended server identity and trust chain. Encryption without appropriate peer verification can protect a connection to the wrong party. The current TLS 1.3 specification is RFC 9846, which supersedes RFC 8446. RFC 9846: The Transport Layer Security (TLS) Protocol Version 1.3

Trace browser-to-edge, edge-to-origin, proxy-to-application and application-to-database separately. TLS termination at an edge does not automatically encrypt the origin hop. AWS's transit-protection guidance treats protected communications and enforcement as explicit design work. A private address alone does not prove the confidentiality or identity verification of that connection. Protecting data in transit — AWS Security Pillar

Suppose a portal has four sensitive communication hops and three enforce the intended TLS configuration. Reporting “75% encrypted” does not imply 75% of the documents are safe: every document may traverse the one remaining plaintext hop. Complete path coverage matters more than an average across settings. Identify where decryption intentionally occurs for processing or inspection, restrict access there and avoid dumping request bodies into general diagnostics.

Session resumption can reduce handshake work, but do not confuse transport optimization with application replay safety. TLS 1.3 early data has replay considerations; state-changing financial operations require an application policy that handles or rejects such replay exposure. Mutual TLS can authenticate a client endpoint as well as the server, but a certificate still needs mapping to an authorized application identity. It does not automatically decide which tenant document that client may retrieve. RFC 9846: The Transport Layer Security (TLS) Protocol Version 1.3

Enforce encryption without blocking the business operation

Amazon S3 automatically encrypts new object uploads with SSE-S3 as a baseline. That does not prove every historic object, exported copy or other storage service meets a chosen encryption policy, and it does not establish that customer-managed KMS controls are configured. Inspect the actual object and bucket configuration for the requirement being asserted. Using server-side encryption with Amazon S3 managed keys (SSE-S3)

For a requirement that demands a particular encryption mode and key, define compliant uploads, noncompliant uploads and how omitted request headers interact with bucket defaults. A policy that denies every missing encryption header may reject a request that would have been encrypted by default; that might be intentional, but it is a different requirement. Apply tested service-specific conditions rather than assuming a prose policy is enforced. Likewise, reject insecure data-transfer paths while allowing the approved encrypted path.

The photographed encryption rating literally proposes to “block all traffic” and prohibits storing data without implemented encryption. Its likely intended meaning is to reject unencrypted traffic and storage, but that is an interpretation. An implementation that blocks even compliant business traffic would fail availability requirements. Preserve this distinction when explaining the score: tested enforcement of the intended encryption objective is useful; indiscriminate blocking is not an effective migration.

For the document-management choice, encrypting stored records and using TLS between server and clients directly covers the two stated locations. Hashing records is not a substitute for reversible storage of documents that must later be read. Network restrictions alone do not provide transport confidentiality. Relying on defaults can be defensible only when those defaults are known, enforced and verified across the full scope. In every case, a denied cross-tenant read remains a necessary authorization test even if encryption checks pass.

Worked classification and restore acceptance plan

Assume an original inventory of 100,000 objects: owners classify 60,000 as public marketing, 30,000 as internal and 10,000 as restricted. A discovery job flags 12,000 possible sensitive objects, of which review confirms 9,000. Precision among flagged results is 9,000/12,000 = 75%. That number does not tell us recall: we do not yet know how many sensitive objects were missed among the unflagged set. Validate representative samples and known synthetic markers, investigate unsupported content types and maintain owner review for ambiguous findings.

Separate the access paths so a public delivery identity reaches only approved marketing content, an internal role reaches internal materials, and restricted document access requires the designated application authorization. Give discovery its necessary read and decryption permissions without allowing it to rewrite access policies. Route confirmed findings to a workflow that can quarantine or correct exposure with clear ownership. Automated remediation should account for false positives and business interruption rather than deleting everything a detector flags.

Construct a nine-cell readership test with three identity classes and one fixture from each data class, explicitly marking permitted and denied pairs. Add an anonymous request, a wrong-tenant authenticated request and an expired delegated URL. Then restore one encrypted restricted fixture from backup under the intended recovery identity, verify its content hash against the fixture baseline and confirm that an unauthorized identity still cannot read it. The hash here checks recovered content integrity; it is not the document's confidentiality mechanism.

This exercise connects encryption, authorization, classification and reliability. If restoration succeeds only with an undocumented administrator identity, the actual recovery design is weaker than the declared least-privilege model. If deleting a production key makes the backup unusable, separate backup storage alone did not establish recoverability.

Diagnose certificates, storage settings and denied decrypts safely

# Illustrative read-only configuration checks; use authorized fixture resources.
aws s3api get-bucket-encryption --bucket example-documents
aws s3api head-object --bucket example-documents --key fixtures/public.txt --query '{Encryption:ServerSideEncryption,Key:SSEKMSKeyId}'
aws kms describe-key --key-id alias/example-documents --query 'KeyMetadata.{State:KeyState,Usage:KeyUsage,Origin:Origin}'
aws kms get-key-rotation-status --key-id alias/example-documents
# Bounded TLS handshake against a synthetic staging endpoint.
timeout 10 openssl s_client -connect portal.example.test:443 -servername portal.example.test -verify_hostname portal.example.test -verify_return_error < /dev/null

Run these only after substituting intended resources and identity. They do not retrieve document contents or plaintext keys. A head-object response provides metadata for that object; bucket settings alone do not prove the status of every copy. The OpenSSL example supplies the intended hostname and requests verification failure reporting; interpret its trust-store configuration and certificate errors. Do not bypass a certificate error with an insecure client option and then report transport validation as successful.

In the database-connectivity question, distinguish a route timeout, refused TCP connection, certificate failure, login rejection and KMS authorization error. They require different evidence and repairs. Verify clock, hostname, trust chain, listener configuration and each TLS terminator before changing application credentials. For a decrypt denial, inspect the actual key ARN, state, context and caller permissions. A successful network connection proves none of those authorization facts.

Monitor certificate renewal, key state and restoration tests as operational dependencies. A cost-saving data-key cache can reduce calls while increasing the amount of plaintext key material retained in memory and delaying the effect of a key-access change on already cached data. Bound such caching through a supported library and the threat model instead of inventing a promise that disabling a KMS key instantly erases every decrypted copy.

Shared responsibility follows the selected service boundary

AWS operates the underlying cloud infrastructure, while customer responsibilities depend on the service consumed. On EC2, the customer manages the guest operating system and application stack, including patching and configuration. More abstracted services remove some infrastructure tasks but leave customer data, permissions and appropriate configuration decisions with the customer. The shared-responsibility model requires this service-specific mapping. AWS Shared Responsibility Model

The photographed auditing-tool question requires OS-level configuration access and says the customer's team will manage day-to-day operations. IaaS is the strongest match because those requirements depend on guest operating-system control. Geographic residency is a separate placement question: enumerate storage, backups, logs, replicas, exports and the auditing tool's outbound destinations. Choosing an infrastructure model alone is not proof that all copies remain inside an intended geographic boundary.

For migration, preserve objectives such as authorized access, encrypted transfer and recoverable copies, then remap who operates each control. A data-center physical-access checklist cannot simply be copied into a managed object-store design; API policies and workload identities become central. This explains the conditional value of the “same best practices” rating. Reusing principles is useful, but reusing every implementation unchanged can omit cloud-specific control points.

Finally, compare ongoing key and request charges, discovery scanning, audit retention and engineering effort with the value of the protection. More keys can improve administrative separation while increasing policy and recovery complexity. Managed services can reduce host maintenance while requiring careful integration testing. Choose boundaries that operators can explain, validate and recover, and keep exact dollar forecasts separate until current prices and workload measurements are available.

Keep in mind

  • Classify data and enforce correct readership; encryption does not determine the audience.
  • KMS rotation preserves older decryptability and does not rewrite the protected data.
  • Verify each TLS hop and retain the keys and permissions needed to restore backups.

At the whiteboard

The bucket is encrypted. Why could a customer still download another customer’s contract?
Encryption can work exactly as configured while authorization fails. I would trace the authenticated tenant, requested object key, application ownership check, delegated URL scope and the backend role used for retrieval. The service may legitimately decrypt for that broadly authorized role. I would repair tenant isolation, add allowed and denied fixture tests, and investigate access evidence to determine exposure. Rotating a wrapping key does not retract plaintext already downloaded.
Would you choose client-side encryption for every migrated dataset?
Only after identifying who must be excluded from plaintext and what operations the application needs. Client-side encryption changes plaintext locations and can strengthen a chosen boundary, but complicates search, sharing, key distribution and recovery. I would compare it with service-managed encryption and narrowly scoped key permissions, test the restore path, and measure latency and operations effort. Public marketing material and restricted contracts can have different requirements without abandoning a common classification and audit process.

Last verified 2026-09-06

Data, databases & storage · 2,181 words · 11 min

Relational RDS and Aurora: transactions, indexes, query plans and release recovery

Follow a database request from transaction snapshot and index access to durable commit, then diagnose a report regression and design a credible release recovery path.

↑ Chapter index

The request path and the actual durability boundary

A relational design makes relationships and invariants explicit: an order belongs to a customer, its line items refer to products, and a payment reference must be unique. The benefit is not merely SQL syntax. Constraints and transactions let one authoritative system reject impossible states while concurrent clients operate. Begin with the business invariant, expected queries, write volume and failure scope. A flexible reporting workload with joins and changing predicates can justify relational storage even when a key-value database offers simpler operational scaling.

A request first waits for an application connection, establishes database protocol and authentication, parses SQL, selects a plan and executes operators against pages in memory or storage. Updates acquire necessary locks and create recoverable changes. With ordinary durable PostgreSQL settings, write-ahead log records reach durable storage before the associated changed data pages must be flushed. Recovery can replay the log after a crash. This separates commit latency from writing every modified table page immediately. PostgreSQL WAL mechanics

Aurora separates database compute from a shared cluster volume distributed across three Availability Zones. Its storage architecture uses replicated redo information; it is not simply an RDS instance with a larger attached disk. Storage redundancy does not make a single writer process continuously reachable, and a reader connection is not automatically a writer connection after failure. Aurora storage architecture Traditional RDS Multi-AZ DB instance deployments instead maintain a synchronous standby for failover; that standby does not serve read traffic. Do not generalize this restriction to every RDS cluster or Aurora reader topology. RDS standby role

A client timeout does not prove that its transaction failed. The server may commit and lose the response. For a payment, put a unique business operation identifier in the same transaction as the state change, and resolve an uncertain result by that identifier. Retrying a blind debit can duplicate the effect. In q-1788637212739-2, keeping remote acknowledgement preserves the stipulated site-loss protection; reducing admission can reduce queueing but cannot remove propagation delay. If 120 ms means round-trip time, 40 serial commits incur at least 4.8 seconds of network waiting alone. If it means one-way time, the corresponding lower bound doubles.

Isolation, concurrent updates and rollback are distinct decisions

Atomicity makes the transaction all-or-nothing; isolation determines how concurrent transactions interact; durability concerns surviving the specified failures after success. PostgreSQL Read Committed ordinarily takes a new snapshot for each statement. Repeatable Read preserves a transaction snapshot but can allow serialization anomalies. Serializable detects incompatible concurrent histories and can abort a transaction that the application must retry in full. Sequences have special behavior and are not rolled back like ordinary row updates. Engine and isolation level therefore belong in any claim about what a transaction protects. PostgreSQL isolation semantics

Consider a stock row with quantity one. Two customers both read one and each later stores zero: both may believe they bought the last unit. Instead, perform a conditional decrement that requires positive stock, verify the affected-row count, and record the order in the same transaction. A unique request identifier also prevents a retried checkout from reserving twice. If an invariant spans several rows, a row-level conditional update alone may be insufficient. Lock the required invariant-bearing rows in a consistent order or select suitable serializable transaction semantics and bounded retry behavior.

Keep transactions short because locks and retained snapshots are shared-resource obligations. Calling a payment provider while holding inventory locks extends contention to the provider's response time. An alternative is a reservation with a durable expiry workflow and an outbox record committed beside it; subsequent payment processing must tolerate retries and compensating business actions. Compensation is a new audited action, such as a refund, not a historical erasure of the original payment.

ROLLBACK reverses eligible uncommitted work. It does not undo an earlier committed release. PostgreSQL supports transactional behavior for many schema operations, but exceptions exist; MySQL 8.4 documents implicit commits for many data-definition statements, including common CREATE and ALTER operations. Wrapping an arbitrary migration script in BEGIN/ROLLBACK is therefore not a portable recovery plan. Test the exact engine and statement sequence. MySQL implicit-commit statements

Indexes are physical access paths with maintenance costs

A B-tree provides an ordered route through key ranges. For a reporting query constrained by tenant and time, an index beginning with tenant_id followed by created_at can narrow the tenant and then traverse the relevant time interval. Column order matters: leading equality constraints followed by a useful range are a strong starting point. Current PostgreSQL also documents skip-scan optimizations, so the simplistic claim that a non-leading column can never benefit from a multicolumn index is incorrect. PostgreSQL multicolumn B-tree behavior

Use a fictional orders table containing 12 million rows. A customer query asks for the newest 200 orders for tenant 42 during August. A suitable access path may inspect a small tenant/time range and emit rows in the required order. A different report requesting all tenants for the full year touches much of the table; a sequential scan with an aggregate can be more efficient than millions of random row lookups. The first query succeeding with an index does not prove that the second query should use it.

Index entries consume storage and buffer-cache space, and every relevant insert, update or delete must maintain them. Ten speculative indexes can damage the write path while serving no meaningful request. A covering index can reduce additional row access, but wider entries increase storage and write amplification; visibility and engine implementation still matter. Evaluate a proposed index against actual predicates, ordering, returned columns, data distribution and write rate. Build and deployment methods have their own locking and resource costs, so an illustrative CREATE INDEX is a staging experiment, not an instruction to modify production during an incident.

Search semantics also constrain indexing. A leading-wildcard text search, incompatible cast, or function applied to a column may not match the available index expression. Rewriting predicates or choosing an appropriate search index can matter more than buying IOPS. First reproduce the intended results: an index optimization that changes collation, timezone boundaries or null handling is a correctness regression.

Worked report regression: read the plan and the workload together

The photographed report was satisfactory last week and became three to four times slower over two days. Establish comparable report parameters and row counts before comparing timings. In a fictional measured run, elapsed time rises from 20 to 72 seconds: pool waiting grows from 2 to 4 seconds, database execution from 12 to 62, and rendering remains six. That localizes most added time to the database. Had database time remained twelve seconds, a query rewrite would have been a weaker first intervention.

EXPLAIN describes a tree of scans, joins, sorts and aggregates. Estimated cost is an optimizer unit, not milliseconds. EXPLAIN ANALYZE runs the query and exposes observed rows, loops and timing; parent measurements include child work, so summing every node double-counts elapsed time. Reading PostgreSQL execution plans Suppose the old estimate expects 500 matching orders but execution now returns 80,000 after a bulk import. A nested-loop detail lookup therefore runs 160 times more often than expected. At an illustrative average 0.4 ms per repeated lookup, those 80,000 probes consume roughly 32 seconds of cumulative work before other operators.

Inspect stale statistics, tenant skew, changed bind values, a lost index, an engine upgrade and altered join predicates. A hash join may help a large equijoin if its build side fits the available memory; spilling changes that cost. Conversely, a nested loop can be excellent for a small outer input with selective indexed inner lookups. Do not force an operator merely because it looks unfamiliar. Compare estimated versus actual cardinalities at the earliest divergent node, then trace how the error multiplies downstream.

Memory settings are frequently per operation rather than one safe global budget. As a planning example, 60 concurrent reports with two sort operations each and a possible 64 MiB per operation expose 7,680 MiB of sort memory demand before buffers, connections and other activity. Additional RAM might mitigate this; unlimited concurrency can consume it again. Nonzero swap occupancy alone does not establish active paging. CPU headroom with lock waits points elsewhere, while sustained reads and storage queues may justify an I/O improvement. These distinctions explain why recent-change review, query review and focused evidence are stronger initial answers than an unmeasured CPU/RAM purchase.

Bounded diagnosis and a safe illustrative query

Capture request timestamps, database endpoint and role, connection-pool waiting, SQL fingerprints, representative parameters, returned rows and the last good plan. For connectivity failures, distinguish DNS lookup, TCP connection, TLS validation, database authentication and SQL permission errors. Successful TCP access does not prove a query can authenticate; an application security-group source rule on the database port is narrower than internet-wide access. Verify the application-to-database path while keeping database credentials out of shell arguments and shared logs.

The following PostgreSQL example is for a staging copy with a known plain table and a least-privilege read-only role. It inspects a plan without executing the report. Local timeouts bound waiting; they do not turn every arbitrary statement or extension into harmless work. Use an existing configured connection rather than embedding a password.

BEGIN READ ONLY;
SET LOCAL statement_timeout = '3s';
SET LOCAL lock_timeout = '500ms';
EXPLAIN (FORMAT JSON)
SELECT order_id, created_at
FROM orders
WHERE tenant_id = 42
  AND created_at >= DATE '2026-08-01'
  AND created_at < DATE '2026-09-01'
ORDER BY created_at DESC
LIMIT 200;
ROLLBACK;

SELECT pid, state, wait_event_type, wait_event
FROM pg_stat_activity
WHERE datname = current_database()
  AND state IS DISTINCT FROM 'idle'
LIMIT 20;

The activity query intentionally omits SQL text and identities. Visibility depends on the monitoring role, and a snapshot of waits needs repeated, bounded observation to establish persistence. PostgreSQL activity and wait fields Do not terminate a blocking transaction until its owner and rollback consequences are understood. For RDS MySQL, slow-query logging uses engine parameters and supported log destinations; PostgreSQL has different controls. RDS MySQL log configuration Gather only the relevant interval and redact literals. Completed-query logs and live wait observations answer different questions.

Managed configuration, upgrades and the three meanings of recovery

For q-1788636939776-1, a managed database service fits provider-operated backups and monitoring while exposing supported tuning controls. RDS parameter groups distinguish dynamic changes from static settings requiring a restart. Engine/version compatibility matters, and a shared parameter group can affect multiple resources. RDS parameter groups The team still owns schema design, query behavior, authorization, performance tests and the business release decision. Managed does not imply unrestricted operating-system access or every extension.

Separate application rollback, data/schema recovery and engine downgrade. Redeploying yesterday's application works only if today's schema remains compatible. Restoring yesterday's data loses or requires reconciliation of subsequent valid writes. An upgraded engine is not generically downgradable in place; supported upgrade and restoration paths must be checked for the exact engine. RDS engine upgrade rules RDS for PostgreSQL recommends testing a major upgrade on a representative duplicate, checking parameters and extensions and retaining a known restore point. PostgreSQL upgrade rehearsal

RDS point-in-time recovery creates a new DB instance rather than rewinding the original endpoint. Verify its latest restorable time, network settings, security groups and application configuration before cutover. RDS point-in-time restore A fictional pre-release snapshot at 10:00 followed by 500 valid orders and discovery of a defect at 10:20 cannot be restored wholesale without addressing those orders. Stop or fence writes for the cutover, establish which records are correct, rehearse reconciliation and verify application invariants. If correction can be expressed safely as an audited forward migration, it can preserve valid writes more simply than replacing the entire database.

The weekly-backup questions require arithmetic independent of service branding: a failure just before the next weekly copy can lose almost seven days of changes, exceeding the one-day RPO, while a measured three-hour restore exceeds the one-hour RTO. A continuous recovery log might improve the first result only if it actually exists and covers the interval. Faster storage might improve part of restoration, but discovery, provisioning, replay, validation and routing still consume the recovery budget. Neither improvement should be promised from an untested backup checkbox.

Security, availability and cost as a single design review

Separate the application role from schema administration and use parameterized SQL. Restrict network reachability to intended callers, validate TLS server identity, protect stored data and backup keys, and audit privileged changes. Query samples and copied production datasets can reveal personal information even when the live database is encrypted. A performance-test environment needs proportional access controls and representative data distribution without unnecessary sensitive payloads.

Read replicas can move tolerant reporting traffic away from the writer, but replica lag matters for a report that must include the latest committed checkout. Connection pooling limits expensive backend concurrency; it does not increase sustainable database work. Partitioning can simplify retention and prune suitably constrained scans, but a query without the partition predicate may still touch everything. A warehouse or precomputed reporting projection is an alternative when analytical scans compete with transactional latency, provided the business accepts its refresh delay.

Compare total recurring compute, replicas, storage, backup retention, applicable I/O charging, transfer and operational effort. Quantify the write and memory cost of indexes and the capacity needed during failover. A smaller query workload may reduce both latency and the required instance size, but keep measured reserve for bursts and recovery. The verification target is a representative report and checkout workload meeting latency and correctness goals through a rehearsed failure, not a single faster EXPLAIN output.

Keep in mind

  • Identify the transaction invariant and acknowledgement boundary before promising correctness or zero RPO.
  • Compare actual cardinalities, waits and workload parameters before changing indexes or instance size.
  • Treat committed-data recovery, application rollback and engine downgrade as separate rehearsed procedures.

At the whiteboard

A report is four times slower after a release. Would you add an index or double the database size?
First correlate the release and report parameters with end-to-end timing. Obtain the actual SQL, compare plan shape and estimated versus observed rows, and inspect pool waiting, locks, CPU, memory and I/O. An index is justified when it reduces measured access work for the important predicates without excessive write cost. Capacity is justified when the constrained resource and expected gain are demonstrated. Preserve results and compare equivalent before/after workloads; neither option resolves a report spending its time outside the database.
The customer requires managed maintenance and the ability to roll back a database release. Is RDS sufficient?
It is a strong service-model candidate, conditional on supported engine settings and a tested recovery path. Ask whether rollback means application code, schema/data state or engine version. Use a representative restored environment to rehearse the release, document endpoint cutover and reconcile valid writes after the recovery point. Do not promise a generic in-place downgrade or lossless instant snapshot restoration. If mandatory extensions or host access are unsupported, evaluate a different managed engine or self-management and its operating burden.

Last verified 2026-09-06

Data, databases & storage · 1,774 words · 9 min

DynamoDB: partition keys, hot traffic, consistency and NoSQL decisions

Design access patterns before keys, calculate hot-partition pressure, and choose consistency and lifecycle behavior that preserve the application invariant.

↑ Chapter index

Start with requests and invariants, then encode keys

NoSQL is a broad family of data models, not a promise that schemas or transactions disappear. DynamoDB is useful when important reads and writes can be expressed through bounded key-based access patterns, demand needs to scale across many independent keys, and the team prefers managed placement to operating database servers. Relational storage remains attractive for evolving joins, rich constraints and flexible analytical queries. A document embedded in one item still has a schema: the application must validate types, version fields and compatibility between old and new readers.

DynamoDB uses the partition key as input to an internal hash function that determines data placement. A composite primary key adds a sort key, which orders items sharing a partition-key value. Applications select logical keys; the service manages physical partitions. Many distinct logical values can occupy a physical partition, and the mapping can change as the service manages capacity. DynamoDB partition placement

For an order service, first list concrete operations: fetch one order by its identifier, list a customer's recent orders, conditionally advance its state, and resolve a retried checkout. One possible primary key is customer identifier with a time-and-order sort key, but a direct order lookup then needs a secondary access path or a separate lookup item. A single-table design can colocate related entity types behind key prefixes; separate tables can simplify ownership and permissions. Choose based on operational boundaries and access requirements, not a rule that fewer tables is always better.

This connects to q-1788637455081-1: checkout and catalog becoming independently deployable requires explicit ownership of their stored models and compatible event or API contracts. Splitting tables without removing shared release assumptions does not create independence. Conversely, copying a catalog description into an order can preserve the historical purchase even when the current product changes; that deliberate duplication needs a clear source of truth and update rule.

Hot keys survive large aggregate capacity

Capacity must be distributed where the traffic lands. AWS documents a physical partition design ceiling of 3,000 read units and 1,000 write units per second; unit consumption depends on item size and consistency. Adaptive capacity applies to provisioned and on-demand modes, but it does not give one item unlimited throughput. Partition limits and unit sizing A large table-level allowance cannot guarantee service for every skewed access pattern.

In an illustrative event-ingestion workload, 6,000 writes per second each store a 1.5 KiB item. Ordinary writes round up to two 1 KiB write units, so demand is 12,000 write units per second before secondary-index work. A key equal to today's date concentrates new data in one logical collection. Even if the service can split some collections, do not rely on instantaneous splitting or assume a continuously increasing sort key will distribute the current hot edge. A frequently updated single summary item is more restrictive: it cannot be subdivided into independently writable pieces without changing the model.

A calculated suffix such as hash(event_id) modulo 24 produces 24 logical write buckets. The average bucket demand becomes 500 write units per second in this example, creating planning headroom relative to 1,000, but 24 logical buckets are not a reservation of 24 separate physical partitions. Verify actual placement adaptation, skew and table/index limits with a representative ramp. Queries for all events on a date must now query multiple buckets and merge their ordered results. A calculated suffix enables direct lookup when the original event identifier is known; a random suffix may require an additional lookup mechanism. Write-sharding alternatives

Secondary indexes have their own key distributions. A global secondary index partitioned only by status='OPEN' can concentrate a workload that is well distributed in the base table. Review every write amplification path and every popular read, including dashboard counters. Sharded counters reduce contention but make exact aggregate reads more expensive and coordination-dependent. A cached approximate count may fit a dashboard; it does not enforce a hard inventory limit.

Consistency is scoped to the operation and the topology

A successful DynamoDB write is durably persisted. An eventually consistent read can still return an older committed value. Strong reads are available on base tables and local secondary indexes, while global secondary indexes and streams are eventually consistent. A strong read is not a lock: another writer can change the item immediately afterward. DynamoDB read guarantees Use a conditional write against a version or expected state to prevent a read-modify-write race.

For example, a worker reads order state RESERVED with version seven and attempts to store PAID with condition version=7. A failed condition signals that the worker's assumptions need reevaluation; repeating the exact stale update indefinitely does not help. If a debit and an order must commit together, a supported transaction can group their changes atomically. DynamoDB transactions are bounded to up to 100 distinct items and 4 MB, operate within one account and Region, and incur additional underlying read/write work. Client request tokens offer a documented ten-minute idempotency window; longer business retry windows need durable application identifiers. Transaction scope and idempotency

Global tables require an explicit consistency-mode decision. MREC replicates asynchronously and resolves concurrent item conflicts with last-writer-wins behavior; a multi-item transaction's changes need not appear together in another Region. MRSC synchronously replicates to another Region before write success and supports globally current strong reads. It uses exactly three participating Regions, as three replicas or two replicas plus a non-serving witness, within supported Region sets. MRSC does not support TTL, local secondary indexes or transaction APIs. Global-table modes and feature limits

Consequently, do not apply the following TTL session design unchanged to MRSC, or propose MRSC as a drop-in replacement for a relational transaction workload. For q-1788635051888-1, regional locality can improve latency while creating replication and conflict decisions. For q-1788637212739-2, changing to asynchronous remote replication changes the site-loss guarantee even when local reads remain strong. A consistency label without the chosen operation, failure scope and deployment mode is incomplete.

Worked shared-session design with real expiry enforcement

For q-1788635178732-1, use a single-Region DynamoDB table as an illustrative external session store. The browser holds a high-entropy opaque credential; the server derives a protected lookup key and stores identity, authorization version, absolute expires_at and relevant revocation state. After a successful login write, any healthy application target can fetch the same record and validate it. A strong base-table read is a reasonable choice when immediate login visibility or logout revocation matters. Avoid looking up authorization through an eventually consistent secondary index.

Suppose 18,000 requests per second each read a 2.5 KiB session item. Each strong read fits one 4 KiB read unit, giving 18,000 read units per second before retries. Eventual reads would consume half as much, but can return an older revocation state. The cost difference is a product security decision, not an automatic optimization. The load distributes well only when many session identifiers are active; a bot hammering one credential can still create hot traffic.

DynamoDB TTL accepts an epoch-seconds attribute and removes expired items asynchronously, typically within a few days. Expired items can remain visible pending deletion. DynamoDB TTL behavior Therefore every authorization check compares expires_at with a trusted server clock and rejects expired records even when GetItem returns them. TTL cleans up storage; it is not the logout clock. An absolute expiry also avoids accidentally extending access indefinitely whenever a request refreshes inactivity state.

Test login through target A, route the next request to target B and confirm the same permitted identity. Then test logout, expiry, authorization changes, storage timeouts and repeated requests during recovery. Sticky routing cannot supply state lost with A; an instance IP address cannot reconstruct it; a larger instance changes capacity rather than the location of the only copy. If the application cannot validate a session because the authoritative store is unavailable, sensitive actions should fail with a controlled retry response instead of trusting arbitrary stale authorization. Public browsing may degrade differently.

Read efficiency, bounded inspection and operational evidence

A DynamoDB Query requires a partition-key value and can constrain a sort-key range. A FilterExpression removes items after the read and therefore does not save the read capacity already used; the one-megabyte Query page limit applies before filtering. A page can contain no returned items and still have a continuation key. Query filtering and pagination An application that stops at an empty filtered page can silently miss results. A Scan for one customer's orders is a warning that the access model may not match the workload.

The following AWS CLI example uses a synthetic nonsecret key in a staging table. It performs one bounded read and requests capacity information; the response projection avoids returning the session payload but does not reduce item-size-based read charging. Use an already configured least-privilege profile and the actual staging Region. Do not paste live bearer credentials into command history.

aws dynamodb get-item \
  --table-name study-sessions \
  --key '{"session_key":{"S":"synthetic-session-14"}}' \
  --consistent-read \
  --projection-expression 'expires_at, auth_version' \
  --return-consumed-capacity TOTAL

aws dynamodb describe-table \
  --table-name study-sessions \
  --query 'Table.{Status:TableStatus,Mode:BillingModeSummary,Indexes:GlobalSecondaryIndexes[*].IndexName}'

Compare client latency and retries with service latency, consumed capacity and throttling metrics during the exact incident window. Separate base-table pressure from index pressure, and inspect error details rather than treating all failures as retryable throughput errors. Use per-key observations or an appropriately controlled hot-key analysis to find skew. Aggregate utilization can look low while one key is saturated. Bound SDK retries with jitter and a total deadline so throttling does not multiply the original offered load.

Security, durability and the decision to keep relational data

Give the application only the table, index and operations it needs. Application tenant authorization must bind the authenticated tenant to the requested key; a partition-key prefix is not automatically an access-control boundary. Protect data in transit and at rest, restrict backup access, and avoid sensitive material in key names or diagnostic dimensions. Deletion, retention and encryption-key lifetimes must be designed together so old replicas or backups do not undermine the intended policy.

Regional replication protects against infrastructure failures, but authorized bad writes can propagate. Independent backups and tested restoration remain useful. A restored table also requires application routing, permissions, indexes and correctness checks; retained items alone are not a recovered service. Compare provisioned and on-demand economics using observed demand, item rounding, transactions, secondary-index writes, replicated writes, backup storage and operational effort. No price assumption is needed to see why returning less data after an expensive Scan may leave the bill unchanged.

Prefer the relational design when unpredictable reporting queries and cross-entity invariants would otherwise require a growing collection of denormalized projections and repair jobs. Prefer DynamoDB when stable access patterns distribute naturally and conditional item or supported bounded transaction operations express the invariants clearly. A hybrid can store transactional orders relationally while using a key-value session store, provided ownership and failure behavior remain understandable. Measure migration and operating complexity as part of cost rather than treating a managed service label as a complete architecture argument.

Keep in mind

  • Design the base table and every secondary index for traffic distribution, not just key uniqueness.
  • Strong reads, conditional writes and transactions solve different concurrency problems.
  • Enforce session expiry in application logic; MRSC does not support the single-Region TTL/transaction feature set.

At the whiteboard

An on-demand table throttles while aggregate usage appears modest. What would you investigate?
Look for a hot logical key or item, an index with low-cardinality keys, table/account limits and a sudden traffic increase. Calculate item-size-rounded demand and inspect request errors, retry volume and per-key skew. Increasing aggregate capacity may not fix concentrated traffic. Shard only if the access pattern can tolerate fan-out and merge costs, then validate the ramp and index distribution. Protect the application with bounded admission and retries during the correction.
Can a shared DynamoDB session table guarantee uninterrupted login and immediate logout across Regions?
It removes the dependency on one web server, but those stronger guarantees require more decisions. Specify consistency mode, authoritative reads, expiry enforcement, revocation handling and failure response. A single-Region strong read can observe a completed local revocation; MREC remote replicas can lag. MRSC offers globally strong reads but lacks TTL and transaction APIs, so the design must change. Test failover and logout under partitions, and choose controlled rejection of sensitive actions when validation is unavailable.

Last verified 2026-09-06

Data, databases & storage · 2,067 words · 10 min

ElastiCache: cache keys, invalidation, TTL and stampede control

Calculate the work a cache removes, preserve freshness and tenant isolation, and keep cold starts or cache outages from overloading the source of truth.

↑ Chapter index

Place the cache at the layer whose work should disappear

A cache stores a reusable result closer to its consumer. A process-local cache avoids a network hop but has independent copies on every application instance. A shared ElastiCache deployment gives application instances a common in-memory data layer. An HTTP response cache in front of the application can avoid executing the application at all. These positions save different work: caching a database lookup still executes routing, authentication, serialization and the cache request. For the photographed action proposing a layer before web servers, an edge or reverse-proxy response cache is the most literal mapping; ElastiCache normally participates behind the application.

In cache-aside, the application reads a key, obtains the value from the database on a miss, and populates the cache. Write-through refreshes cache data as part of handling a database update. TTL limits how long an entry remains eligible without refresh. AWS describes these patterns in its cache-maintenance guidance. AWS caching strategies The following concurrency and failure analysis extends the simple diagrams: two independent writes do not become an atomic transaction because the pattern has a name.

Choose the unit of reuse before choosing the engine. A product description might remain useful for minutes, an inventory reservation must be authoritative at checkout, and a private account response must never be shared with another customer. Valkey and Redis OSS offer rich data structures and replication configurations; Memcached can suit simple disposable key-value results. Cluster topology, command support and client behavior must match the actual selected deployment. The application contract should specify what a miss, stale result, timeout and unavailable cache mean.

Worked holiday-capacity calculation and the cold-cache constraint

Consider a fictional holiday workload of 20,000 requests per second. Eighty percent are eligible for safe reuse; among eligible requests, the warmed cache hits 95 percent. The application origin therefore receives 20,000 × (0.20 + 0.80 × 0.05) = 4,800 requests per second when the cache sits before it. The overall hit rate is 76 percent, not 95 percent. If the cache is inside the application, the same calculation estimates avoided backing work only when every eligible request would otherwise perform one equivalent backing operation.

Suppose origin capacity at the required latency is 6,000 requests per second. The warm test has 1,200 requests per second of reserve. During an empty-cache restart, origin demand can return to 20,000, or 3.33 times its sustainable capacity. A cache can therefore be essential to normal operation while its failure becomes an overload event. Test recovery with bounded request admission, priority for checkout, controlled prewarming and safe degraded public responses. A plan that merely says to bypass the cache during all errors omits its most important capacity condition.

With a one-millisecond cache lookup and a twenty-millisecond database read, an illustrative eligible lookup averages 1 + 0.05 × 20 = 2 ms before fill overhead, versus 20 ms without caching. That mean does not describe the miss tail or queueing under overload. Measure p95 and p99 for both classes and weight savings by avoided CPU or query work, not only request counts. A high hit rate on tiny assets may hide an expensive uncached reporting endpoint.

If a cache entry averages 1 KiB of payload, ten million entries contain about 9.54 GiB of payload alone. Keys, object metadata, allocator overhead, replication buffers and operational reserve add memory demand. An estimate that sizes nodes to payload bytes exactly invites eviction and latency problems. Lower reuse or expensive invalidation can make query optimization, precomputation or additional origin capacity a simpler choice than a larger cache.

Keys and invalidation: reason through the race in time order

A key is a claim that two requests may share the same answer. Include tenant identity, authorization scope where necessary, locale, schema version and meaningful query parameters. Authenticate and authorize before using private data. Omitting tenant identity can produce fast, apparently successful responses that disclose another organization's records. Conversely, placing a unique request identifier in every key eliminates reuse. Bound key cardinality so attacker-controlled parameter combinations cannot fill memory with useless variants.

Consider cache-aside invalidation after a committed database update. Reader A misses and reads database version four. Writer B commits version five and deletes the cache entry. Reader A then fills the cache with version four. Invalidation happened, yet stale data reappeared. Reversing the order to invalidate before the database write creates a different stale-refill window. Two writes can also race so that an older write-through response arrives at the cache after a newer one.

Possible remedies include versioned immutable cache keys with a carefully controlled current-version pointer, an ordered change stream with idempotent consumers, or a monotonic version check on each cache update. Deleting a key loses the version information, so a compare-and-set on the value alone is insufficient if a stale fill can recreate an absent key; retain a generation fence or design readers to name immutable versions. These mechanisms cost coordination and require explicit behavior when the update stream is delayed.

For low-risk product descriptions, a short TTL and visible refresh behavior may be an acceptable simpler policy. For stock allocation or revoked privileges, perform the authoritative decision in the transactional store. An outbox recorded beside the database change can make invalidation delivery retryable, but a delayed event still creates a freshness interval. A second delayed delete can reduce one race window; it is not proof against every scheduling delay or failed delivery.

TTL, stampedes and lease safety

TTL is time to live for a cache entry, distinct from a DNS record's TTL and from DynamoDB's asynchronous deletion feature. A five-minute cache TTL bounds residency after insertion, not necessarily source-data age: loading from an already stale replica can exceed the intended freshness bound. Store a source version or last-authoritative timestamp when the business requirement refers to data age. Negative caching of a missing product can reduce repeated lookups, but needs a short policy and invalidation when the product is created; never confuse a transient database error with proof of absence.

A stampede occurs when many requests rebuild the same missing or expired result simultaneously. If a hot product receives 8,000 requests per second and a rebuild takes 250 ms, approximately 2,000 requests can arrive during one rebuild. Coalescing them behind one in-flight computation can remove most duplicate work. Add bounded random jitter to expiration times so a deployment that fills thousands of keys together does not synchronize their later misses. Jitter spreads separate keys; it does not by itself stop the simultaneous rebuild of one key.

A short lease can coordinate rebuilds. Valkey SET with NX and PX can atomically create a key only when absent and give it a millisecond lifetime. Valkey SET options Give each acquisition a unique token and release only when the stored token still matches. A paused worker can outlive its lease; deleting unconditionally can remove the next worker's lease. Lease ownership and release Even a correctly released lease does not make external business writes safe. A fencing token checked by the protected resource, or a transaction in that resource, is needed when duplicate work would violate correctness.

For cache fills, occasional duplicate recomputation may be tolerable. Set a total deadline for waiting callers; let one refresh continue if appropriate, serve a bounded stale public value when permitted, or reject excess work. Do not let every waiting caller start its own database query when the lease expires. Stale-while-revalidate needs both a soft refresh threshold and a hard maximum acceptable age. Authentication revocation and money movement normally demand a stricter path than a public bestseller list.

Availability and durability require an explicit ElastiCache configuration

For node-based Valkey or Redis OSS replication groups without durability enabled, replication is asynchronous and a promoted replica can lack some recent acknowledged writes. Multi-AZ automates promotion and updates the primary endpoint's DNS mapping, but clients must reconnect and recover their view of the topology. ElastiCache failover behavior A replica can also return older data before any failure, which matters if the value represents an authorization decision.

Current ElastiCache also supports node-based durability through a Multi-AZ transactional log. Synchronous writes persist across at least two AZs before replying; asynchronous writes reply first and risk losing up to ten seconds of uncommitted changes. If asynchronous persistence is blocked for more than ten seconds, incoming writes are rejected. This is a materially different guarantee from an ordinary disposable cache and adds write-path latency. ElastiCache durability options Verify engine/version, supported configuration and operation consistency before relying on it.

Durable storage does not make eviction policy appropriate for authoritative session or order data, nor does it provide an atomic commit between a cache and an unrelated relational database. Decide explicitly whether the deployment is a derived cache or a source of truth and select lifecycle, backup and access semantics accordingly. For q-1788635178732-1, an external store solves the application's local-state failure only when its own loss, expiry and revocation behavior fits the requirement. Sticky routing or a larger web server still leaves the fundamental state placement problem.

Test client connection recovery, bounded retries, stale reads, lost cache contents and simultaneous application restarts in an isolated environment. A healthy failover event in the service console is not the same as a recovered customer checkout. Read scaling adds replica capacity but can increase staleness exposure; more shards distribute many keys but do not automatically split a single hot key or expensive single command.

Durability requires Valkey 9.0 or later, supported node families, cluster mode enabled, Multi-AZ with a replica per shard, and encryption. Enable it when creating a supported cluster; it cannot be added to an existing non-durable cluster. It is unavailable with Serverless or Global Datastores. Durability configuration limits Synchronous durability preserves strong primary reads through failover, while replicas remain eventually consistent. Asynchronous mode can lose acknowledged writes during failover, so its normal-operation primary consistency must not be advertised as the same failure guarantee. Durability read consistency

Diagnostic evidence and an isolated lease demonstration

Compare application cache outcomes with database load over the same interval. A rising miss rate plus evictions suggests memory pressure or a working-set shift. High engine CPU with few misses may indicate expensive commands or a hot key. Connection churn can consume resources even when individual data operations are cheap. Inspect memory, evictions, hit/miss counters, current connections and replication lag rather than relying on one overall utilization graph. ElastiCache metric definitions

The read-only commands below are illustrative for a staging endpoint, using a compatible Valkey client and an established credential mechanism. TLS must validate the server certificate; do not disable verification to make a diagnostic succeed. ElastiCache TLS Avoid KEYS *, MONITOR or an unrestricted production benchmark because these can create work or expose payloads unrelated to the investigation.

valkey-cli --tls -h study-cache.example.invalid INFO stats
valkey-cli --tls -h study-cache.example.invalid INFO memory
valkey-cli --tls -h study-cache.example.invalid INFO replication

In a disposable local test cache, one can inspect the lease race with a unique synthetic key and token. SET creates at most one live lease; the script releases it only for its owner. This mutating demonstration is not a distributed-lock correctness proof and should not run against application keys.

SET study:14:lease unique-test-token NX PX 2000
PTTL study:14:lease
EVAL "if redis.call('get',KEYS[1]) == ARGV[1] then return redis.call('del',KEYS[1]) else return 0 end" 1 study:14:lease unique-test-token

Repeat the conceptual experiment with the original worker paused past expiry and a second owner acquiring the lease; the first owner's release must return zero. Then test that the protected rebuild checks its generation before publishing. The important evidence is controlled origin concurrency and correct published versions, not merely successful lock acquisition.

Security and economic acceptance criteria

Restrict cache network access to intended application roles and hosts, use supported authentication and command permissions, and protect data in transit and at rest where configured. Cache contents, snapshots and diagnostics can contain the same sensitive data as the database. Tenant-scoped keys help correctness but do not replace authorization. Limit payload size and use a safe serialization format so loading a cached value does not execute untrusted code.

Include node or serverless usage, replicas, reserve memory, applicable storage/log charges, network transfer, misses and engineering maintenance in the cost comparison. Longer TTL can improve reuse but increase stale exposure; shorter TTL can meet freshness goals while raising origin cost. Measure cost per successful business operation and latency under both normal and degraded conditions. For the holiday question, the recommendation becomes strongest when a representative warm/cold test demonstrates meaningful saved work without privacy errors or origin collapse. A cacheable public catalog supports that reasoning; a mostly unique write workload does not.

Keep in mind

  • Place caching where it removes the expensive work and calculate overall cacheability separately from eligible-request hit rate.
  • Invalidation is a concurrency protocol; TTL and write-through do not make two stores atomic.
  • Scope failure guarantees to the actual ElastiCache durability mode and preserve origin capacity during cold starts.

At the whiteboard

The cache has a 95 percent hit rate. Why can the database still fail during the sale?
Determine whether 95 percent refers to eligible requests, all requests or low-cost keys. Misses may contain the expensive operations, and an empty cache or synchronized expiry can multiply origin load. Calculate peak miss demand, coalesce rebuilds, bound origin concurrency and prioritize critical operations. Test cache restart and loss under the expected traffic. A high warm average is insufficient evidence of safe recovery or acceptable tail latency.
Would deleting a cache entry immediately after every database commit guarantee fresh reads?
No. A reader can fetch an old database version before the commit and refill it after the deletion. Trace the read, commit, delete and fill in time order. Choose a bounded-staleness contract for low-risk data, or use monotonic generations, ordered invalidation and authoritative reads for stricter decisions. A durable cache or Multi-AZ deployment addresses storage/failure properties; it does not automatically solve the ordering race between independent stores.

Last verified 2026-09-06

Data, databases & storage · 2,328 words · 12 min

S3, EBS and EFS: object, block and file storage through failure and lifecycle

Choose storage from access semantics and failure scope, calculate performance and restore budgets, and preserve data protection while changing storage tiers.

↑ Chapter index

Choose the access contract before comparing capacity

Object storage addresses a value by bucket and key through an API. Block storage exposes addressable blocks to a host that supplies a filesystem or database storage layout. File storage exposes named files and directory operations to multiple clients through a filesystem protocol. These interfaces impose different synchronization, sharing and failure responsibilities. The fact that all three can hold image bytes does not make them interchangeable for the software opening those bytes.

With ordinary S3 object access, a client uploads an object and later retrieves it by key; an application should use the supported object API rather than assume a mounted adapter recreates every POSIX behavior. S3 provides strong read-after-write consistency for completed object writes and deletes, including listing effects, but key-level consistency is not a multi-object transaction. S3 object and consistency model To publish a dataset comprising many objects, write immutable members first and publish a manifest only after all required members are verified. Readers resolve one manifest version and avoid mixing old and new members.

EBS supplies persistent block volumes attached within an Availability Zone. The host operating system and application control filesystem and buffered-write behavior. EBS volume model A database can use block storage for small random updates and log flushes, while a legacy application that expects several hosts to open the same directory may fit EFS. Do not attach an ordinary local filesystem read-write to multiple hosts merely because a block-storage feature permits multiple attachments; safe sharing requires a supported coordinated filesystem and application design.

EFS presents NFS access through network mount targets; Regional deployments can provide a mount target in each client Availability Zone. EFS mount-target access This reduces application changes for shared file workloads, but network paths, client caches and permissions remain part of every operation. S3 is often simpler for independently uploaded immutable media, EBS for a host-owned random-I/O layout, and EFS for a genuine shared filesystem requirement. Ask what the application does with names, renames, partial writes, locks and concurrent readers before choosing.

Data flow and durability are not the same as continuous access

A write returning to application code can mean it reached a user-space buffer, an operating-system page cache, a remote service, or durable replicated storage, depending on the operation. For an EBS-backed application, a successful buffered write does not itself prove the application's entire transaction is crash-consistent. The database must use its supported log and flush protocol. An EBS snapshot does not include unwritten data still in application or operating-system caches; coordinate the application or use its supported backup method. EBS snapshot consistency considerations

EFS provides NFS close-to-open consistency and advisory locks. Regional file data is durably stored across AZs at the documented synchronous-write or close boundaries; independent clients must still use compatible synchronization. A lock cannot protect an application that ignores it. Regional file systems distribute copies across AZs, whereas One Zone files can be lost with destruction of that AZ. EFS consistency and failure domains

Durability asks whether stored data survives a defined failure over time. Availability asks whether a valid operation can succeed when requested. An unreachable but intact volume demonstrates the distinction. S3 Standard is designed for eleven nines of annual object durability and stores data across multiple AZs; its availability design target is a different number. One Zone classes have a different failure scope. Neither durability engineering nor an SLA is a promise that application code cannot delete data or that every client route will work continuously. S3 class properties

A replicated store can reliably replicate an accidental overwrite. Retain suitable versions or independent backups and restrict destructive permissions. A regional storage service also depends on credentials, keys, endpoints, network access and application recovery. For a batch worker, write checkpoints to a durable shared location before acknowledging them, and make each output discoverable by job and input version. A Spot interruption can then restart from a verified checkpoint rather than assume local scratch files survived the worker.

Worked IOPS, throughput and queueing diagnosis

For q-1788635156421-1, upgrading storage is compelling only when storage is the demonstrated constraint. IOPS counts operations per second; throughput counts bytes per second. At 8 KiB per operation, 10,000 IOPS transfers 78.125 MiB/s. At 256 KiB per operation, the same 10,000 IOPS would require 2,500 MiB/s. A volume limited to 500 MiB/s cannot reach that latter combination, and the instance's own EBS bandwidth can impose a lower ceiling. AWS documents request sizing, I/O accounting and queue measurements together. EBS I/O characteristics

In a fictional steady workload, 4,000 completed operations per second at an average two-millisecond operation latency imply roughly eight operations in flight by Little's law: 4,000 × 0.002 = 8. If concurrency is increased while useful completion throughput stays flat and latency rises, the new requests may simply be waiting behind the limit. Queue length has to be interpreted relative to throughput and request size; no one queue number is healthy for every volume and access pattern.

Separate storage service time from database locks, CPU scheduling and application serialization. A fast volume cannot accelerate an application that submits one serial remote call at a time. Likewise, increasing IOPS is ineffective when a large sequential backup is throughput-bound. Measure p95/p99 completion time, operation sizes, read/write mix, instance and volume limits, and any burst-credit behavior relevant to the actual volume type. Do not project one benchmark's peak throughput onto a different production access pattern.

A bounded Linux observation for a staging host is iostat -xz 1 5, when sysstat is installed. Inspect latency and queues alongside application timing. lsblk -o NAME,SIZE,TYPE,MOUNTPOINTS helps identify the intended device without touching its data. Do not run a write benchmark against a mounted database volume. For EFS, examine client retransmissions, metadata operations, throughput mode and concurrency; many small serial file opens can remain slow despite ample bulk bandwidth. EFS performance and operation shape

Lifecycle and archive: a worked two-hour restore budget

The retention question requires recent data from the past thirty days to be restorable within two hours, while older data must remain retained but need not restore quickly. Keep every component needed for a recent recovery in an access tier that meets the full budget. If yesterday's incremental backup needs a full backup created forty days ago, archiving that base solely because it is old can break the recent-data promise. Retention must follow recovery dependencies, not just object creation dates.

In an illustrative exercise, locating and provisioning takes ten minutes, moving 800 GiB at a sustained 400 MiB/s takes 2,048 seconds or 34.1 minutes, log replay takes thirty minutes, and application validation takes twenty minutes. Total recovery is 94.1 minutes before any archive wait, leaving about 25.9 minutes of the two-hour budget. These are hypothetical measured-phase inputs, not AWS performance promises. Compression, parallelism, network limits and database reconstruction can change the observed transfer rate.

S3 Glacier Instant Retrieval supports immediate object access; Glacier Flexible Retrieval and Deep Archive require retrieval workflows. Standard Flexible Retrieval is typically three to five hours, while standard Deep Archive is typically within twelve hours. Expedited Flexible Retrieval is typically one to five minutes for eligible objects but available capacity and object characteristics matter; it is not a blanket two-hour database guarantee. Archive retrieval options In the worked budget, ordinary multi-hour retrieval plainly fails, and even a quick retrieval requires a complete restore test.

S3 Lifecycle transition paths and minimum storage durations constrain the cost model. Current defaults generally prevent transitioning objects smaller than 128 KB unless configured otherwise; older configurations can retain prior behavior. Requests, early-transition or deletion charges and retrieval fees can dominate tiny objects or short retention. Lifecycle constraints A policy that copies database exports into S3 does not establish that an RDS automated backup can be moved through the same classes. Apply each backup service's supported lifecycle rather than treating all stored backups as user-controlled S3 objects.

For capacity planning, a log archive receiving 50 GiB per day accumulates 1,500 GiB in a thirty-day hot window and 16,750 GiB across the next 335 days, before compression, metadata, replicas and versions. This arithmetic makes the logging requirements question concrete: ask about daily volume, object sizes, retrieval frequency and retention, not just whether the customer wants cheap storage. Cost is hot bytes times the relevant rate plus archive bytes, requests, retrievals and supporting operations; rates depend on the chosen Region and configuration and are not invented here.

File lifecycle and recovery are separate controls

EFS lifecycle management uses an internal last-access timer to move file content between Standard, Infrequent Access and Archive. Directory listing and other metadata operations do not count as file-data access, and metadata remains in Standard. A configured return-to-Standard policy can move content back on access; do not infer the policy from the visible POSIX access timestamp. EFS lifecycle mechanics A cold-file transition changes access economics and latency but preserves the filesystem interface.

EFS Archive is a different product behavior from S3 Glacier Deep Archive; sharing the word archive does not imply a twelve-hour file retrieval workflow. EFS Archive requires Elastic throughput in the documented configuration. EFS Archive support Test the application's first read after transition and its access charges. A workload that repeatedly rereads large supposedly cold files may spend more on data access than it saves on stored bytes. Lifecycle transitions are storage placement; backups preserve recoverable historical states. Both may be needed.

For any backup, enumerate the catalog entry, data pieces, encryption keys, permissions and software needed to read it. Validate a representative recent and old recovery point. A checklist that checks only the existence of files misses damaged indexes, missing transaction logs or an unavailable key. Define separate recovery-time and data-loss objectives with the customer before choosing the retention mechanism, matching q-1788637166029-1. Compliance retention length remains a stakeholder requirement absent from the photograph; do not invent a deletion deadline.

Image uploads: object success is not processing completion

The image scenario says upload and download interactions require immediate small processing steps. A direct object upload can remove a redundant application-server data-transfer hop if scoped authorization and validation remain in place. It does not remove the required transformation itself or automatically eliminate a server that still handles every request. Profile which step consumes resources and compare the total operating cost before proposing a rewrite.

A reliable asynchronous design assigns a unique upload version, stores the original, processes an event into a separate derivative location, validates the result and records readiness. S3 event notifications are asynchronous and at least once, so consumers must tolerate duplicate notifications and ordering differences. S3 event delivery behavior Use an idempotency key derived from source version and transformation version; write output under a deterministic versioned key and publish readiness only after successful completion. Separate input/output prefixes or buckets to avoid recursively triggering transformation on its own output.

S3 strong read-after-write means the completed original can be read; it says nothing about when a later function finishes its derivative. If the next download requires the transformed image immediately, use a synchronous transformation path within the latency budget or an explicit readiness contract accepted by the customer. Scheduling mandatory transformation hourly creates nearly an hour of possible wait for an upload arriving just after a run. That violates the photographed interaction requirement even if batching improves processor utilization.

Test duplicate events, corrupt inputs, source replacement, failed transformations and a download arriving before readiness. A user-visible ready state must identify the exact source and derivative version, not just whether some object with a reused name exists. For optional offline thumbnails or analytics, batching can be reasonable; preserve the immediate path for mandatory validation and user-visible output.

Protection, lifecycle inspection and acceptance evidence

The mixed-data question describes public marketing assets, internal documents and personal information sharing unclassified buckets. Classify and discover the data, establish owners, then enforce proportional access and retention. Bucket layout alone does not establish readership; encryption alone does not distinguish public from confidential. Keep public delivery paths separate from private authorization paths, restrict application roles to required resources and operations, and validate denied requests using a different tenant or unprivileged identity. The function that only reads one bucket does not need write access across storage and compute.

For EFS, combine restricted mount-target networking, supported IAM authorization, POSIX identity/permissions and appropriate access points, with encryption in transit and at rest. EFS data protection For object retention, S3 Object Lock protects versions through retention periods or legal holds, with materially different governance and compliance modes. Object Lock retention controls Retained encrypted bytes still depend on a usable key. Have accountable owners review retention rules before deploying them because preservation and deletion obligations affect later operations.

These AWS CLI examples inspect selected configuration without downloading document contents or changing lifecycle. Replace synthetic identifiers with approved staging resources and use a least-privilege profile. A missing lifecycle configuration is evidence to interpret, not a reason to apply a guessed policy.

aws s3api get-bucket-lifecycle-configuration --bucket study-archive-14
aws s3api get-bucket-versioning --bucket study-archive-14
aws s3api head-object --bucket study-archive-14 --key synthetic/backup-manifest.json \
  --query '{Class:StorageClass,Bytes:ContentLength,Restore:Restore,Version:VersionId}'
aws ec2 describe-volumes --volume-ids vol-00000000000000000 \
  --query 'Volumes[].{AZ:AvailabilityZone,Type:VolumeType,IOPS:Iops,Throughput:Throughput,Encrypted:Encrypted}'
aws efs describe-lifecycle-configuration --file-system-id fs-00000000000000000

Inspect version and retention coverage, archive state, key accessibility, measured transfer performance and the result of a complete restore rehearsal. StorageClass can be absent for an ordinary S3 Standard object, so absence in this selected response does not itself mean a failed object. Combine configuration evidence with application tests: no unintended public access, correct file/object version, successful checkpoint recovery and recent restores within the stated two hours. This makes reliability and cost claims reviewable without implying that illustrative commands have been run against live infrastructure.

The proposed VPC segmentation control needs a storage-specific interpretation: an S3 bucket is not a subnet-resident server to which one attaches an application security group. VPC endpoints provide private service access paths, and endpoint and bucket policies can constrain access, but the object authorization policy remains decisive. A private path with an overprivileged role still permits excessive reads. Verify service access from the intended workload and denial from unintended paths without blocking the recovery role. S3 private endpoint architecture

Keep in mind

  • Object, block and file storage differ in access and concurrency semantics even when they store identical bytes.
  • Match IOPS and throughput to operation size, instance limits and observed queues before buying capacity.
  • Lifecycle placement must preserve every dependency needed for the full restore budget, not just a fast retrieval step.

At the whiteboard

Which storage service would you choose for uploaded images, database files and a shared legacy directory?
Begin with access semantics: independently addressed immutable images often fit S3; a host-owned random-update database layout fits supported block storage; multiple clients requiring NFS file operations can fit EFS. Verify concurrency, rename/locking behavior, data durability boundaries and failure domains. Managed RDS/Aurora may remove the need to operate database files directly. An object-mounted adapter or multi-attached block device does not automatically reproduce a safe shared filesystem.
Can moving every backup older than thirty days to cheap archive prove a two-hour recent-data restore?
No. A recent incremental point may require an older base, and retrieval is only one recovery phase. Inventory the chain and measure provisioning, transfer, replay and application validation. Keep dependencies in tiers that meet the combined budget and archive only when the older-data access objective permits it. Include request/retrieval and minimum-duration costs, protect keys/catalogs, and test a real recovery. The quiz supports age-based tiering as a policy direction, conditional on those dependencies.

Last verified 2026-09-06

Architecture, migration & integration · 1,455 words · 7 min

IaaS, PaaS and SaaS: ownership decisions from customer requirements

Translate customer outcomes into control boundaries, measurable acceptance tests and an operating model, then choose infrastructure, managed platforms or finished software per component.

↑ Chapter index

Start with a decision the customer can verify

A service model describes a boundary of control and operating responsibility. Infrastructure as a Service (IaaS) provides infrastructure on which the customer operates software. Platform as a Service (PaaS) abstracts more of the runtime or database operation. Software as a Service (SaaS) supplies an application capability. These categories are useful vocabulary, but one customer system can consume all three. AWS itself cautions that its solutions can span traditional categories. Types of Cloud Computing

In the quiz, understanding requirements is the strongest first step because the customer has supplied no criterion for suitability. Make discovery concrete: identify the users, critical transaction, existing stack, deadline, mandatory controls, acceptable interruption, data loss tolerance and people available for operations. Convert “control” into an action such as installing a host auditing agent. Convert “easy maintenance” into an owner for patches, backups, alarms and failed restores. Convert “global” into user locations and measured response budgets. A list of service descriptions cannot resolve conflicting requirements until these meanings are known.

Write acceptance tests before selecting services. An example is “the approved auditing agent observes the required kernel events on the selected guest operating system, while production data and its documented copies stay in approved locations.” Another is “a representative workload meets the agreed response percentile after a database release, and recovery completes within the allowed outage.” These tests reveal disqualifying constraints earlier than a numerical feature score. Weight preferences only after every mandatory condition passes; excellent convenience cannot compensate for missing required host access.

Ownership follows the request and the administrative path

On Amazon EC2, AWS operates physical infrastructure and the underlying host layer; the customer maintains the guest operating system, installed applications and security group configuration. With abstracted services, the customer still controls data classification and permissions. Moving a workload therefore changes how a security objective is implemented. It does not remove the objective or preserve every old procedure unchanged. Shared Responsibility Model

Decision surfaceTypical IaaS workloadTypical managed platformTypical SaaS consumption
ExecutionCustomer deploys runtime and guest patchesProvider operates documented runtime boundary; customer deploys supported code or schemaVendor deploys application; customer configures permitted features
Data and accessCustomer defines application permissions and storage controlsCustomer defines identities, data permissions and supported settingsCustomer governs tenant membership, sharing, imports and exports
Recovery evidenceCustomer builds and exercises restore mechanismsCustomer configures available recovery options and verifies business recoveryCustomer evaluates contractual recovery and tests available export or continuity paths

This table is a decision aid, not a universal contract. Inspect the actual service and configuration. Trace a request from user authentication through the application to persistent storage, then separately trace an administrator deploying code or changing permissions. The first path explains customer latency and failure behavior; the second explains who can accidentally or maliciously change it. A SaaS administrator can expose records through an overly broad sharing rule even though the vendor patches every server correctly. Conversely, guest administrator access does not give an EC2 customer access to AWS's physical hypervisor.

Resolve the exact OS-access and managed-database cases

The auditing-tool question explicitly requires operating-system configuration and says the customer's IT team manages daily operations. IaaS is a coherent model because it supplies the needed guest boundary and the team accepts its burden. Test the actual agent on the intended image, including privileges, reboot behavior, supported kernel version and outbound telemetry destination. Geographic residency must cover replicas, snapshots, logs, support exports and external tools as well as the primary instance. No service-model label automatically establishes where every data copy goes.

The database question has a different boundary: delegate routine maintenance while retaining supported tuning. A managed database is the closest model-level fit. Amazon RDS parameter groups expose engine configuration; supported settings, parameter families and application timing must be checked for the selected engine. An analytics SaaS product does not necessarily supply the transactional database the application needs, and serverless compute with an embedded store does not establish the requested maintenance and recovery capabilities. Parameter groups for Amazon RDS

Clarify whether “prior database version” means application release, schema, data state or engine major version. These have different reversal mechanisms. RDS for PostgreSQL documents major-version preparation and snapshot-based recovery considerations; do not promise an arbitrary in-place downgrade. A replacement restored from an earlier snapshot has earlier data too. If the new database accepted orders, recovery must preserve or reconcile them before traffic returns to the old application. Testing configuration on a clone is useful only when its data distribution, concurrency and extensions represent production sufficiently. Choosing a major version for an RDS for PostgreSQL upgrade

The engine-specific How to perform a major version upgrade for RDS for PostgreSQL belongs in the release runbook; verify its prechecks and recovery preparation for the actual supported upgrade path.

Worked architecture and operating-cost comparison

Consider a fictional twelve-person company with four application engineers and no dedicated database operator. Its differentiated feature is scheduling; generic employee email is not part of the product. A reasonable candidate uses finished software for email, managed database operation for appointments and either managed execution or virtual machines for custom application code. If a mandatory host agent applies only to one legacy integration, that component can remain on virtual machines without imposing guest administration on every other component.

Suppose the self-managed database candidate costs an illustrative €900 per month in infrastructure plus 22 engineering hours at an internal planning rate of €80 per hour. Its modeled monthly cost is €2,660. A managed candidate costs €1,450 plus eight customer engineering hours, totaling €2,090. The €570 difference is not an AWS price quotation: it follows from invented assumptions and excludes migration, licensing and outage consequences. If the team already automates operation down to five hours, the self-managed figure becomes €1,300 and the conclusion changes. Request real measurements before presenting savings as a fact.

Run the same exercise for reliability and delivery time. The managed service may remove patch execution work while leaving query tuning, permission reviews and restore drills. A custom host requirement may disqualify it regardless of estimated savings. Record who receives each alert and who performs the next action. An architecture with cheaper compute but no qualified on-call owner has an unpriced operational dependency. Useful comparison therefore includes residual work and confidence in estimates, rather than treating invoice totals as complete cost.

Diagnose before scaling or rearchitecture

The SaaS scaling question says the customer operates its own SaaS application. That describes its relationship to its users, not the infrastructure model underneath. First identify the constrained path. Record request rate, concurrency, error classes, latency distribution, database wait time and downstream throttling. If twelve sequential database round trips consume most response time, adding web servers can increase connection pressure without shortening those round trips. If requests wait on CPU-bound transformations and the data tier has headroom, parallel workers may help. A queue changes when the answer is delivered; it cannot preserve an immediate-result contract merely by absorbing traffic.

For a global application, likewise distinguish distance from capacity. Measure representative user locations and separate cacheable reads from authenticated writes before choosing edge caching or regional deployment. For modernization, a three-tier design separates presentation, logic and data, but does not specify who operates them. Containers package dependencies; serverless services change execution responsibilities. Neither term proves independent deployment, appropriate latency or a feasible migration. Present these as candidates with explicit acceptance tests.

The following read-only examples target an approved staging environment. Replace the resource identifiers and use a restricted profile. The first command reveals engine and deployment configuration without requesting credentials. The local agent service check reports process state, which must be supplemented by a functional audit-event test; “active” alone does not prove coverage.

aws rds describe-db-instances --profile study-readonly --region eu-west-1 --db-instance-identifier study-db --query 'DBInstances[0].{Engine:Engine,Version:EngineVersion,MultiAZ:MultiAZ,Parameters:DBParameterGroups}' --no-cli-pager
systemctl is-active example-audit-agent.service
curl --connect-timeout 2 --max-time 5 --silent --show-error --output /dev/null --write-out 'status=%{http_code} total=%{time_total}\n' https://app.staging.example.com/health

Record the decision and its change triggers

A useful architecture decision states the problem, mandatory constraints, alternatives tested, chosen responsibility boundary and what remains uncertain. Attach evidence: agent compatibility results, measured query performance, restore duration, a data-flow inventory and an operating-cost model. Include a revisit trigger such as a new geographic requirement, unsupported extension, unacceptable release recovery time or staffing change. This turns the decision into a maintained agreement instead of an enduring assertion that one service model is best.

Security, reliability and cost interact at this boundary. An unrestricted database tuning privilege can damage availability. A cheaper single-copy deployment may fail the recovery requirement. Copying realistic production data into a test environment can create a new access exposure. Use masked or synthetic data where feasible, retain representative distributions for performance tests, restrict clone access and schedule its deletion after review. Require actual application checks after restore, because a provider's completed backup job does not demonstrate that customers can resume their work.

Keep in mind

  • Choose the required control boundary before comparing convenience.
  • SaaS consumption and the infrastructure beneath a SaaS product are different perspectives.
  • A managed database recovery plan must account for supported versions and writes after the recovery point.

At the whiteboard

A customer demands PaaS and also a kernel-level auditing agent. How do you respond?
Clarify the evidence the agent must collect and verify whether a supported service integration supplies it. If guest kernel access is truly mandatory, explain the conflict with the proposed managed boundary and offer IaaS for the affected component. Test the agent, document patching and monitoring ownership, and map every data destination. Do not quietly discard the security requirement or assume every managed platform exposes its hosts.
Why is “use a managed database” incomplete in the version-rollback question?
It chooses the appropriate division of routine work but does not establish a supported recovery mechanism. Distinguish engine, schema, code and data versions. Rehearse the exact upgrade and replacement restore, measure endpoint and application recovery, and account for writes accepted after the snapshot. Recommend the model conditionally on those results and the required configuration settings being supported.

Last verified 2026-09-06

Architecture, migration & integration · 1,591 words · 8 min

Migration and modernization: discovery, staged cutover and recoverable rollback

Build a dependency-based migration plan with observable data convergence, explicit writer ownership and release compatibility that makes rollback credible.

↑ Chapter index

Discover transactions and dependencies before drawing the target

The migration customer wants cloud-native operation but has not defined the application problem. The highest-value next step is a focused assessment followed by a proposed target and a migration approach for review. Start with one real business transaction and identify every participating process, datastore, schedule and external system. Inventory owners, versions, licenses, privileged integrations, network endpoints, authentication, data classifications and recovery objectives. AWS's portfolio assessment guidance provides the assessment context; the transaction workflow below is a practical way to turn that inventory into decisions. Application portfolio assessment guide for AWS Cloud migration

A connection map is evidence of observed communication, not complete proof of dependency. A monthly invoicing job can remain invisible during a two-day capture. A database view may conceal a shared schema dependency, and a license server may matter only after restart. Interview operators and business owners; compare deployment manifests, scheduled jobs, logs and sampled traces across representative periods. Label each edge as synchronous runtime, asynchronous delivery, shared data, deployment or recovery dependency. Record direction, protocol, peak demand, tolerance for interruption and an owner who can verify it.

Build migration waves around these edges. Moving a chatty application while leaving its database across a slow link can transform local calls into a latency problem. Moving the database first may break an incompatible driver. A wave therefore needs either a coherent dependency group or a tested temporary bridge. “Move the simplest server first” is useful only when that server is actually separable. Security discovery must also locate mixed public, internal and personally identifiable data; classify it before copying it into new buckets and apply access controls according to intended readership.

Choose the amount of change, then choose service boundaries

AWS describes retire, retain, rehost, relocate, repurchase, replatform and refactor as distinct migration strategies. They express different changes to the portfolio. Retiring an unused system can remove work entirely; retaining a hardware-dependent component can be a rational interim decision. Rehosting preserves much application behavior, whereas replatforming changes selected platform responsibilities. Refactoring changes architecture and typically demands more compatibility and behavioral testing. The large-migration guidance favors separating broad refactoring from bulk movement where feasible; this is contextual advice, not a prohibition on modernizing a well-understood small application. About the migration strategies

For the retail quiz, the bottleneck is release coupling between checkout and catalog. Independent services organized around business capabilities address that constraint if they have clear owners, separate deployment pipelines and compatible interfaces. A shared queue or multiple containers alone does not remove the requirement to deploy both together. A modular monolith can be a cheaper intermediate design when boundaries are still changing rapidly. Measure release lead time, regression scope and cross-team coordination before deciding that distributed operation is worth its additional cost.

The strangler fig pattern routes a selected capability to a new implementation while other behavior stays on the existing application. A facade or routing layer creates the migration seam, but must itself be available and observable. Start with a bounded capability such as catalog reads; preserve identifiers and contract semantics while comparing results. Each successful extraction reduces the old system's scope. A complete rewrite can still fit a small, unsupported application with good behavioral knowledge, but should be justified by evidence. Strangler fig pattern

Data movement is a convergence process

A common migration sequence copies an initial dataset and then applies changes occurring during the copy. AWS Database Migration Service (DMS) can use engine logs for change data capture (CDC). Source prerequisites and target support are engine-specific, and DMS explicitly does not promise real-time CDC latency. Treat captured, transferred and applied changes as different progress points. Check source-log retention, large transactions, target constraints and ingestion capacity before interpreting a healthy task status as readiness to cut over. Creating tasks for ongoing replication using AWS DMS

In an illustrative migration, a two-terabyte decimal dataset copies at an effective 100 megabytes per second: 2,000,000 / 100 = 20,000 seconds, approximately 5.56 hours. Suppose changes accumulate at five megabytes per second during that copy and are applied afterward. The conservative backlog is 100,000 megabytes. If the target applies twenty megabytes per second while new changes continue at five, net catch-up is fifteen; catch-up takes about 6,667 seconds, or 1.85 hours. If apply rate falls to five, there is no convergence. More network bandwidth will not fix a target that spends its time waiting on locks.

These are planning assumptions, not DMS guarantees; real tasks can overlap phases differently. Measure the actual watermark and completion behavior. Validate counts, selected values and business invariants at comparable source and target positions. DMS validation supplies table-level evidence but adds load and has prerequisites and limitations; a suspended or unvalidated table is not a passed table. Row equality alone cannot prove that user privileges, stored procedures, scheduled tasks, collations or application behavior survived the move. Maintain a separate checklist for objects outside the chosen replication path. AWS DMS data validation

Stage traffic and commit to exactly one writer

Separate code exposure from data ownership. Shadow read traffic can compare old and new results while suppressing writes and external side effects. A canary cohort can exercise a new API against an established writer. Two independently writable database copies require deliberate conflict handling, so do not implement “five percent traffic” by randomly splitting state-changing requests between unsynchronized writers. Route a whole tenant or capability consistently when that supplies an explicit ownership boundary.

For a planned single-writer cutover, rehearse this sequence: stop new writes at all entry points, drain or suspend background writers, record a final source watermark, wait for its verified target application, validate critical invariants, fence the old writer, switch connection configuration, and run synthetic business transactions before admitting traffic gradually. Fencing must constrain stale workers too; changing a website banner does not stop a scheduled process or open database connection. Assign one person authority for each gate and an explicit deadline beyond which the team stops the attempt.

The DNS quiz gives 72 hours before migration and a current time to live (TTL) of 86,400 seconds. Lower it now, for example to an illustrative 300 seconds, so the old 24-hour cache period has time to expire before the window. Route 53's TTL describes caching duration; changing it does not retroactively invalidate cached answers. Keep the old route safe during transition. DNS also does not terminate existing connections, so application pools and long-lived clients need their own drain or reconnect strategy. Lower TTL trades faster future changes against more queries and does not create an instantaneous rollback button. Values specific for simple records

Rollback after new writes is a data problem

Before the first target write, returning traffic to a still-authoritative source may be straightforward after verification. After target writes, the old source is stale. If two thousand new orders exist only on the target, restoring last night's snapshot and switching DNS can make the incident look resolved while losing accepted business. Maintain an event or transaction reconciliation path, or a tested reverse-replication design where engine and schema compatibility permit it. Otherwise choose a forward repair or a controlled outage to preserve the new state.

Use expand-and-contract changes to keep adjacent application releases compatible. Add a nullable field or new representation, deploy readers that understand both, backfill with resumable checkpoints, then move writers. Retire the old representation only after all consumers have moved and the rollback window has closed. Dual-writing two systems without a transaction or durable reconciliation record creates another partial-failure window. A compensation, such as cancelling a reservation, is an explicit business action with an audit trail; it is not equivalent to reversing arbitrary committed database operations.

Define rollback triggers by customer impact and data integrity: an agreed elevated error rate sustained over a specified window, an invariant violation, unbounded replication delay or inability to authenticate required operators. Keep a point-of-no-simple-return in the runbook. Measure decision time as well as mechanical execution time. A plan requiring a specialist who is unreachable during the window has a real dependency even if every command is correct. Reserve funds for overlap, temporary replication, extra logs and retained old infrastructure until evidence justifies decommissioning.

Verify safely and close the operational handoff

Use read-only diagnostics to inspect readiness before making changes. These examples assume approved staging identifiers and credentials; they are illustrative and were not run against customer infrastructure. DMS table statistics show validation status and pending or failed records. The DNS check shows one resolver's answer and remaining TTL, which is useful evidence but does not prove that all clients agree.

aws dms describe-table-statistics --profile study-readonly --region eu-west-1 --replication-task-arn arn:aws:dms:eu-west-1:111122223333:task:STUDY --query 'TableStatistics[].{Table:TableName,State:ValidationState,Pending:ValidationPendingRecords,Failed:ValidationFailedRecords}' --no-cli-pager
dig app.staging.example.com A +noall +answer
curl --connect-timeout 2 --max-time 5 --silent --show-error --output /dev/null --write-out 'status=%{http_code} total=%{time_total}\n' https://app.staging.example.com/health

If validation fails, inspect a bounded sample of mismatched keys in a protected environment, compare transaction positions, and check schema transformations before rerunning a whole dataset. Do not paste sensitive row contents into public tickets. If application health passes but checkout fails, trace authentication, database permissions and downstream effects rather than declaring cutover complete from a process health endpoint. Exercise restore and rollback on disposable data before the scheduled production event.

Present the business sponsor with the reason for migration, expected release or operating improvement, disruption allowance, principal risk and evidence required to proceed. Attach implementation detail separately. This addresses the business-focused monolith email question without assuming that jargon helps approval. When specialist help is needed, provide a scoped problem, collected evidence and a joint next deliverable; simply asking the customer to call another team transfers the discovery burden. Close the handoff with accountable owners, updated runbooks, restore evidence and a dated decommissioning decision.

Keep in mind

  • A dependency map needs representative observation and owner confirmation.
  • CDC must converge and application invariants must pass before writer ownership changes.
  • After target writes begin, traffic rollback requires data reconciliation or a tested reverse path.

At the whiteboard

The CDC dashboard reports zero lag. Is it safe to switch?
Not on that fact alone. Confirm the metric is current, every intended table is included, the final source watermark is applied, validation is complete and no unobserved writer can continue on the source. Test permissions, nonreplicated objects and critical business operations. Zero observed lag during a quiet interval is weaker evidence than a controlled writer freeze and verified final position.
How would you extract catalog without forcing checkout to release simultaneously?
Introduce a stable catalog contract, identify ownership of product data, and keep compatible responses while checkout transitions. Route a bounded read cohort to the new implementation, compare results, and monitor latency and failure behavior. Give catalog its own pipeline and contract tests. If a shared table change still forces joint deployment, resolve that coupling before claiming service independence. Retain a tested routing reversal while preserving authoritative data.

Last verified 2026-09-06

Architecture, migration & integration · 2,256 words · 11 min

SQS, SNS, EventBridge and Kinesis: delivery, replay and idempotent effects

Choose queues, fanout, event routing or retained streams from consumption semantics, then protect accepted work across retries, partitions and recovery.

↑ Chapter index

Choose who needs each record and when

A work queue distributes tasks among competing workers: the business normally wants one completed effect per task. Publish/subscribe sends an event to several interested consumers, each with a separate purpose. An event bus matches event content to routing rules and target integrations. A stream retains a sequence that independent consumers can revisit from their own positions. These patterns overlap, but choosing by product name hides the important questions: must every subscriber see every event, is order required per customer, how long can processing lag, and must history be replayable?

AWS mappingUseful consumption modelDesign obligation
Amazon SQSWorkers receive buffered tasks and delete after completionVisibility, duplicates, poison messages and completion evidence
Amazon SNS with SQS subscriptionsPublish once; each subscribed queue buffers its consumer's copySubscription policies, filtering and independent failure handling
Amazon EventBridgeRules route matching events to targetsTarget delivery failures, routing correctness and configured archives
Amazon Kinesis Data StreamsPartitioned retained records with independent consumersPartition choice, checkpoints, replay and consumer lag

For an order, inventory reservation, accounting and email are separate effects. Putting their workers on the same ordinary work queue would make them compete for messages rather than each receive the intended event. SNS fanout into distinct SQS queues is one documented solution. A delayed email consumer then accumulates its own backlog while accounting continues. This isolates processing speed, although the topic and shared dependencies still need analysis. Fanout Amazon SNS notifications to Amazon SQS queues for asynchronous processing

SQS receive, visibility and acknowledgement mechanics

An SQS producer submits a message, a worker receives it, the message becomes temporarily invisible, and the worker deletes it after durable completion. Visibility is a processing lease, not proof that a business action has happened. A worker that crashes before deletion can cause the message to become available again. Choose a visibility duration that covers expected processing and deletion, with bounded extensions for variable work; excessively long leases delay recovery from dead workers. FIFO message groups constrain progress within a group, so a stuck group can serialize a customer's work. Amazon SQS visibility timeout

SQS standard queues store redundant message copies and can redeliver a copy after receive or delete operations encounter an unavailable storage server. Consequently a standard-queue consumer must tolerate duplicate delivery, including uncertainty around a previously successful attempt. Queue replication improves durability but does not make the application database and message deletion one transaction. Amazon SQS at-least-once delivery

FIFO producer deduplication suppresses repeated sends using the same deduplication identity within the documented five-minute interval. Content-based deduplication uses the body rather than message attributes. Its scope does not make an external card charge atomic with queue acknowledgement. A consumer can charge successfully, crash before deleting, and receive work again after its visibility expires. Deduplication identity must therefore express the business operation, not an attempt number, and the business destination must protect the effect. Exactly-once processing in Amazon SQS

A dead-letter queue isolates repeatedly failing messages for diagnosis. It is an unresolved-work inventory, not a successful terminal state. Define who investigates it, which errors can be repaired, how payloads are protected and when controlled redrive is safe. Moving a poison message out of an ordered workflow can also create a missing predecessor; the business state machine must detect that gap rather than silently treating later events as a complete history.

SNS delivery and EventBridge routing are separate contracts

SNS delivery retry behavior depends on the subscription protocol. Exhausted retries can result in discarding a message unless the subscription has a dead-letter queue. Do not assume a topic provides an indefinitely retained history to every subscriber. Queue subscriptions add buffering for workers, and each subscription's delivery failures remain distinct from failures after a consumer has received the event. A queue policy rejecting the publisher is a different incident from a payment worker rejecting an invalid amount. Amazon SNS message delivery retries

EventBridge rules route matching events to targets. For retriable target failures, the documented default policy retries for up to 24 hours and up to 185 attempts with backoff and jitter; configure the policy and a dead-letter queue according to the event's usefulness and recovery needs. This describes delivery to the target, not the target's successful completion of business work. Inspect failed individual entries when using a batched publish API rather than treating an HTTP-level success as proof that every entry was accepted. How EventBridge retries delivering events

EventBridge archive and replay is a configured capability, not an automatic eternal log for every bus. An archive can filter records and set retention; replay sends events to the original source bus, optionally selecting rules, and does not guarantee original arrival order. Consumers should preserve event identity and distinguish an intentional new business operation from reprocessing an old one. Historical replay can send old schemas through today's code and can repeat emails or charges unless explicitly controlled. Archiving and replaying events in Amazon EventBridge

EventBridge also documents that publishing to a nonexistent event bus can return HTTP 200 without adding to the failed-entry count while the event is dropped. Verify bus identity and routing with a controlled end-to-end test, not just response-code monitoring. Sending events with PutEvents in Amazon EventBridge

SNS also has configured archive and replay capabilities. Standard topics can export notifications through Firehose, but do not have built-in replay equivalent to FIFO topics. FIFO topics can retain an in-place archive when the owner enables ArchivePolicy, with a retention period from one to 365 days. Subscribers use ReplayPolicy to request historical delivery. A replay requirement alone is therefore not sufficient to reject SNS. Standard versus FIFO archives FIFO archive configuration

ReplayPolicy selects a timestamp range, and subscription filtering applies to replayed records. Replayed messages retain their original identity and include a replay indicator. An explicit EndingPoint pauses delivery after that endpoint, including newly published messages; resuming requires a new replay policy without EndingPoint. Test this transition rather than assuming a bounded replay automatically returns to live consumption. Replay lifecycle and subscription behavior

In a fictional recovery exercise, a subscriber needs to rebuild yesterday's search projection from an already configured seven-day archive. First verify the requested interval is retained, select a controlled destination or side-effect policy, and confirm the subscription filter admits the necessary records. Reuse event identities to avoid repeating customer notifications. After a bounded replay, explicitly restore live delivery and reconcile the last processed event against current arrivals. A count of delivered messages alone does not prove a correct rebuilt projection.

A stream may still be preferable when the application requires consumer-managed positions and independent ongoing stream processing. Compare retention, partition ordering, progress semantics, endpoint support and recovery operations. An archive does not turn separate regional queues into one atomic transaction system; q-1788637119607-1 still requires durable acceptance, safe failover and business-level reconciliation.

Kinesis retains records; consumers own progress

Kinesis Data Streams maps partition keys to shards, each containing sequenced records. Independent applications can consume the same retained history without deleting it for one another. Retention defaults to 24 hours and can be configured up to 365 days. Choose a partition key that balances throughput while preserving the grouping the application needs. A single hot account can concentrate work even if other partitions have spare capacity; there is no automatic global business ordering across unrelated shards. Amazon Kinesis Data Streams Terminology and concepts

A consumer checkpoint means “resume after this processed position.” If it checkpoints before its output is durable, a crash can skip required effects. If it writes output then crashes before checkpointing, restarting reprocesses records. Producer acknowledgement timeouts can likewise lead to repeated records, potentially with different stream sequence numbers. Kinesis documentation therefore requires duplicate-aware processing. Carry a stable event identifier and make the destination write conditional or idempotent. A stream sequence number identifies transport position, not necessarily a unique customer operation. Handle duplicate records

Use a stream when independent analytics, audit processing or materialized views need retained history and their own progress. Use a work queue when deleting completed tasks and controlling worker concurrency are the main requirements. Watch the oldest unprocessed position against retention: if a consumer remains behind longer than retained history, scaling it later cannot recover expired records. Plan replay throughput, destination capacity and an independent archive where the business recovery horizon exceeds transport retention.

Make the database effect and deduplication decision atomic

The transactional outbox pattern commits business state and a pending event record in the same database transaction. A relay publishes committed outbox records and marks progress afterward. If the relay crashes between publish and marking, it may publish twice, so the destination still needs idempotency. This addresses the dual-write failure in which an order commits but its event never publishes, or an event publishes for a transaction that later rolls back. Transactional outbox pattern

In a teaching design, every operation carries a stable tenant ID, event ID, event type, schema version and payload digest. The ledger has a unique constraint on tenant and operation identity. Claiming the identifier, verifying any existing digest, changing local business state and recording the completed result happen in one database transaction. A retry with the same identity and a different payload must be rejected, not interpreted as the previous operation. Retain the identity at least as long as retries and authorized replay can occur; deleting it too early reopens the duplicate window.

# Illustrative transaction logic; not executable infrastructure code.
begin transaction
  insert operation_identity(tenant, event_id, payload_digest)
  if identity already exists:
    verify stored digest matches
    return stored completion result
  apply conditional business state transition
  store completion result and any outgoing outbox event
commit transaction
acknowledge transport only after commit

The unique constraint must resolve concurrent attempts correctly; an in-memory “seen IDs” cache cannot protect two workers after a crash. A failed business transaction must roll back its identity claim too. External effects require another boundary: use the same idempotency key at a payment provider that supports it, record the provider result, and reconcile ambiguous outcomes by querying that provider. Without such a contract, local deduplication alone cannot prove an external effect happened exactly once. Model pending, completed and uncertain states explicitly.

Worked backlog recovery and the shared-queue outage

The photographed financial system has two data centers but one shared queue, and queue failures cause over twenty minutes of downtime plus manual recovery. Independent queues per site with automatic failover most directly address the common queue and manual routing dependency among the visible choices. Larger broker capacity does not remove that dependency. A circuit breaker can contain cascading failures but cannot process work while the only broker remains unavailable. A passive queue is useful only with a tested activation and data-continuity design.

Suppose arrivals are 1,200 events per second and consumers stop for twenty minutes while events remain durably accepted upstream. The backlog is 1,200 × 1,200 = 1,440,000 events. Survivor workers can complete 2,000 per second, leaving 800 per second for catch-up after new arrivals. Drain time is 1,440,000 / 800 = 1,800 seconds, another thirty minutes. If a synthetic worker benchmark suggests 3,000 but the ledger database can commit only 2,000, use the latter. Queue recovery time must include durable business completion, not just a successful connection to the new endpoint.

Define where acceptance becomes durable across site loss. Asynchronously copying accepted events to the second site leaves an exposure window. Waiting for independent durable copies changes latency and partition availability. SQS within one AWS Region is not an automatic cross-Region or on-premises queue replication mechanism. Routing, replay source, writer fencing and deduplication are application architecture decisions. During a partition, allowing both sites to debit the same balance independently can violate financial invariants even if each queue works perfectly. Give each account one authoritative processing owner or provide a proven coordination protocol.

Image readiness, diagnostics and operating constraints

The image-processing questions require attention to when a result is needed. An upload can place an original in S3, trigger asynchronous processing and publish a derivative under a separate key or bucket. S3 notifications are delivered at least once and processing is not instantaneous; writing into the triggering location can cause recursive invocations. Use a stable object-version and transformation-version identity so retries produce the intended derivative. Amazon S3 Event Notifications

If the customer requires the transformed image in the same response, an accepted upload plus event notification does not satisfy that requirement. Either perform a bounded synchronous transformation, precompute before exposing the result, or explicitly agree on pending status and later retrieval. Returning a status URL is a changed product contract. Batching improves utilization only when its waiting time fits the requirement. Direct upload or download can remove unnecessary proxy work when authorization, validation and content controls remain enforced; blindly removing processing steps may remove required behavior.

Diagnose in order: producer acceptance errors, queue ingress, visible and in-flight backlog, consumer errors, destination commit latency and unresolved events. Use approved staging metadata rather than receiving production messages for inspection: receiving changes visibility. The example inspects queue attributes without consuming or deleting work. Combine it with the age-of-oldest-message metric and application completion counts; approximate queue counts are not a financial reconciliation ledger.

aws sqs get-queue-attributes --profile study-readonly --region eu-west-1 --queue-url https://sqs.eu-west-1.amazonaws.com/111122223333/study-orders --attribute-names ApproximateNumberOfMessages ApproximateNumberOfMessagesNotVisible VisibilityTimeout RedrivePolicy --no-cli-pager
aws kinesis describe-stream-summary --profile study-readonly --region eu-west-1 --stream-name study-events --no-cli-pager

Restrict producers and consumers to their required resources and actions, encrypt sensitive payloads, and keep secrets out of messages and diagnostic output. Include key permissions in failure diagnosis because an encryption-policy change can block an otherwise healthy pipeline. Cost includes requests, payload volume, retries, fanout copies, retention, encryption calls and destination work. Long polling and batching can reduce overhead, but batch failure handling must not repeatedly apply successful records. Cap concurrency at the slowest safe downstream rate; a queue buys time, not unlimited throughput.

Keep in mind

  • Choose queue, fanout, routed event or stream semantics before selecting a service.
  • Transport deduplication never substitutes for atomic business-state protection.
  • Recovery requires durable acceptance, safe routing, reconciliation and sufficient catch-up capacity.

At the whiteboard

A FIFO consumer charged a card and crashed before deleting its message. What prevents a second charge?
The payment operation needs a stable idempotency identity honored by the payment destination, with a durable local record and reconciliation of uncertain outcomes. FIFO producer deduplication limits duplicate sends during a bounded interval; it cannot atomically commit an external payment and queue deletion. On retry, reuse the original payment identity and obtain the prior result instead of issuing a new operation identity.
Would two site-local queues automatically solve the financial outage?
They remove the shared broker only if each site has usable routing and independent supporting dependencies. Prove how accepted events survive site loss, how stale producers are fenced, and how consumers avoid conflicting or repeated effects. Measure detection, rerouting, backlog drainage and reconciled business completion. If copies are asynchronous, disclose the exposure window; if zero loss is mandatory, define the acknowledgement boundary and partition behavior explicitly.

Last verified 2026-09-06

Architecture, migration & integration · 1,847 words · 9 min

Availability by design: dependencies, tier recovery and architecture reviews

Evaluate the complete customer transaction and recovery path, quantify common dependencies, and turn review findings into tested improvements with owners.

↑ Chapter index

Review the customer outcome and the actual graph

An availability design starts with a customer operation: logging in, finding a product or completing a transaction. Record what success means, its allowed response time, the workload envelope and the failure scenarios the design must tolerate. A review should examine evidence collaboratively and produce improvements. AWS Well-Architected describes a constructive review process rather than an audit that exists to blame a team. Bring operators and application owners because an apparently simple component diagram often omits deployment and recovery dependencies. The review process

Draw the synchronous serving path and annotate each edge with timeout, retry, capacity, authentication and data needs. Draw asynchronous work separately with its maximum acceptable delay. Then add administrative dependencies such as identity issuance, secrets retrieval, artifact registries and configuration distribution. Some edges are hard: checkout cannot commit without its authoritative ledger. Others can be soft: recommendations may be omitted while checkout remains correct. This distinction identifies useful graceful degradation, which must be intentional and acceptable to the business.

The logging architecture question illustrates discovery at a smaller scale. Review where logs originate, which actor identity survives each hop, how records reach storage, and how operators access evidence during an outage. A managed collector is insufficient if its only network route or identity service fails with production. Asking the customer for architecture and requirements should yield a concrete collection and access plan, not an indefinite series of meetings.

Calculate serial dependencies and correlated redundancy

For a simplified model with independent necessary dependencies, end-to-end availability is the product of their availabilities. If web, application and database each have hypothetical availability 99.95%, and a required broker has 99.9%, the product is 0.9995 cubed × 0.999, approximately 99.7502%. In a 30-day month that corresponds to about 108 minutes of unavailability. These invented probabilities are neither service-level agreements nor measured AWS performance. They show why several strong individual numbers can still produce a weaker workflow.

Two interchangeable paths with availability 99.9% each would yield 1 − 0.001 squared = 99.9999% only under independence, sufficient survivor capacity and successful selection of the healthy path. Suppose both also depend on a shared identity component with hypothetical availability 99.95%. Multiplying by that shared component yields about 99.9499%, losing most of the apparent redundancy benefit. Correlated failures cannot be wished away by squaring a probability. Use incident evidence and fault trees to locate common causes instead of treating the formula as a guarantee.

The queue question is a direct example: two data centers share one required broker. Another is a custom inline inspection server through which every request passes. If it fails closed, protected traffic stops; if it fails open, availability may continue while an assumed security control disappears. Replication, operational maintenance and application protections must be considered together. A second application server cannot repair either shared dependency. Draw what is actually required on each request and during failover.

Recover the unusual application dependency in the quiz

The tier question gives the database a one-hour recovery time objective (RTO), the application four hours and the web tier eight hours, while explicitly stating that every tier requires the application tier to function. Preserve that condition rather than substituting a conventional three-tier dependency order. AWS recovery guidance requires reconciling objectives across dependent workloads. A database that is individually running within an hour may still be unusable for the customer if its application dependency remains down. REL13-BP01 Define recovery objectives for downtime and data loss

Distinguish runtime dependency from recovery orchestration. If the database can restore independently but the application is needed to use it, restoration and useful service have different completion times. If the application orchestrates recovery too, it lies directly on the restoration critical path. Among readable options, prioritizing active-active application capacity is a reasonable provisional choice because it addresses the stated shared dependency. The lower choices are cropped, and “needed to function” does not prove “cannot independently recover.” Therefore the guide must not assert a complete official key or imply that one tier's investment solves every target.

Consider a separate worked recovery graph: detection takes five minutes; identity and configuration restoration takes ten more. After that, database restore takes thirty minutes and application activation fifteen in parallel. End-to-end validation takes ten minutes after both finish. Total recovery is 5 + 10 + max(30, 15) + 10 = 55 minutes. If application recovery must finish before the database procedure starts, the total becomes seventy minutes. A one-hour target passes the first graph and fails the second without any component's individual time changing. Put dependency order in the runbook and verify it through a drill.

Survivor capacity and control-plane independence

AWS distinguishes the control plane that configures resources from the data plane that serves work. A resilient serving path should minimize the control-plane operations required during failure. Existing workers might continue processing while a provisioning API is impaired; a plan that requires creating all recovery workers first has a different dependency. Record which credentials, routes and artifacts are needed continuously, on refresh and only at deployment. Cached material has a finite lifetime and may postpone rather than eliminate a dependency. Control planes and data planes

Static stability keeps enough resources in place to continue through the intended failure without depending on immediate provisioning. The AWS Builders' Library discusses this approach using Availability Zones. It does not mean never scaling; it means the basic failure response can operate with already-provisioned capacity and known behavior. Test available quota, load distribution and dependency capacity as well as instance counts. Static stability using Availability Zones

Suppose an application needs 900 requests per second, and each worker is measured to sustain sixty within the latency objective. Fifteen workers meet nominal demand. With three zones, surviving any one-zone loss requires at least eight per zone: sixteen survivors provide 960 requests per second, with little margin. Requiring capacity twenty percent above demand uses demand as the denominator: 900 × 1.2 = 1,080 requests per second of survivor capacity, requiring eighteen workers after loss, or nine per zone. The actual demand remains 900. This leaves 180/1,080 = 16.7% of survivor capacity unused. If the requirement instead reserves twenty percent of installed survivor capacity, divide 900 by 0.8 to obtain 1,125; at sixty per worker that needs nineteen survivors, or ten per zone with equal three-zone provisioning. Twenty survivors then provide 1,200 requests per second. State which denominator the requirement uses before rounding workers. This example ignores uneven load, startup and database limits, so a real test may require more. Autoscaling can replenish capacity later; it cannot be assumed available quickly enough to prevent the initial overload.

A second Region broadens the failure boundary but adds replication, routing, operational and data-consistency decisions. Multiple Availability Zones do not by themselves provide Region-loss recovery. Pilot light minimizes some running capacity but requires activation work; warm standby keeps more functioning infrastructure; active-active carries serving work in more than one location. Their labels do not establish zero data loss or affordable operation. Select the least expensive tested design that meets the customer's actual targets and supported failure scenarios.

Prevent overload from turning one failure into many

A degraded dependency often becomes slower before it disappears. Longer calls hold connections, worker slots and memory, which raises queueing elsewhere. Retries add demand just when capacity is least available. In an illustrative three-layer request path where each layer may make three total attempts, one original request can induce up to 27 attempts at the deepest dependency. Put retries at a deliberate layer, use bounded timeouts, backoff with jitter and an overall deadline, and retry state-changing operations only with a safe idempotency design.

Use admission control to protect durable completion capacity. A circuit breaker can stop repeatedly invoking a failing search service and return an agreed degraded experience, but it cannot repair the search index. Bulkheads reserve worker or connection capacity for distinct operations so optional features do not starve critical transactions. Test whether health checks themselves depend on optional services; otherwise a harmless recommendation outage might remove every healthy checkout instance.

In the failed-search scenario, additional web servers are speculative until evidence identifies the bottleneck. Ask for the exact errors and correlate an affected request with application and search logs. Inspect DNS, connection establishment, TLS, credentials, request format and dependency saturation from the application's network context. An ICMP response does not establish that the search protocol or authentication works, and lack of ICMP response does not establish application failure. A reversible mitigation may be appropriate during an incident, but preserve evidence and verify customer outcomes afterward.

Inspect the retry policy already supplied by the chosen SDK before adding an application retry loop. AWS documents configurable modes and maximum attempts, with behavior that varies by SDK support and opt-in settings; do not assume one historical default applies universally. Retry behavior

Use bounded diagnostics and review evidence

These read-only examples inspect approved staging resources. A target-health query identifies load-balancer observations but cannot establish full business correctness. A bounded synthetic request can exercise a known diagnostic endpoint; do not use a production action that creates orders or changes balances merely as a health probe. No live test is implied by these examples.

aws elbv2 describe-target-health --profile study-readonly --region eu-west-1 --target-group-arn arn:aws:elasticloadbalancing:eu-west-1:111122223333:targetgroup/study/1234567890abcdef --no-cli-pager
curl --connect-timeout 2 --max-time 5 --silent --show-error --output /dev/null --write-out 'status=%{http_code} connect=%{time_connect} total=%{time_total}\n' https://search.staging.example.com/health
dig search.staging.example.com A +noall +answer

Collect a timeline of error onset, configuration changes, dependency health and recovery actions. Request the hosting provider's root-cause analysis when relevant, but do not wait for it to measure current customer impact or improve a known recovery gap. Compare the observed failure with the documented recovery plan and repeat the failed path safely in an isolated exercise. A recommendation to move to cloud infrastructure alone does not demonstrate that any dependency or recovery weakness has changed.

Review findings need an owner, measurable risk, proposed change, validation method and deadline. For example: “The standby cannot obtain credentials without the failed site; the platform owner will implement and test an independent recovery-access path before the next drill.” Ask a colleague or specialist to help when their expertise is needed, while retaining coordination responsibility. Send relevant availability documentation as supporting context and explain how it changes the customer's design. A whitepaper or a list of new technologies is not evidence that the particular workload now recovers.

Make security, cost and recovery evidence agree

Start backup planning with business interruption and data-loss needs, then check that recovery access, keys and retained data support them. A backup protected by an inaccessible key does not satisfy the objective. Test least-privilege restoration roles ahead of time and record necessary emergency access. Geographic copies and independent accounts can reduce some shared risks, but an authorized destructive write can still propagate through replication; isolated recovery points address a different threat.

Budget for survivor capacity, standby data, rehearsals, telemetry and trained operators. Compare that cost with the business impact of the failures being mitigated, and distinguish measured recovery from optimistic estimates. After a drill, record detection time, decision time, critical-path completion, data reconciliation and end-to-end transaction success. Return corrective work to the architecture backlog and repeat only the affected checks after fixes. This makes the review an engineering feedback process with evidence of improvement.

Keep in mind

  • Availability belongs to a customer workflow and its dependencies.
  • Recovery order can make the same component timings pass or fail an end-to-end objective.
  • Pre-existing capacity and independent recovery access must be demonstrated through failure exercises.

At the whiteboard

Why can two highly available sites still produce poor availability?
Both may need the same queue, identity issuer, route, key service or deployment configuration. They can also run the same faulty release or overload the same database during retries. Map common dependencies, separate serving from recovery needs, and test one complete site path in isolation. Only use independent-path probability arithmetic when its assumptions are defensible.
Would you select the database tier solely because its printed RTO is shortest?
No. The photographed stem explicitly makes the application tier a dependency of all tiers. Determine whether that is a runtime or recovery-orchestration dependency and calculate useful recovery along the actual graph. Application redundancy is a defensible visible preference, but cropped choices prevent a complete key, and the database and web tier still need designs consistent with the end-to-end objective.

Last verified 2026-09-06

Architecture, migration & integration · 1,879 words · 9 min

Multi-cloud and vendor lock-in: data gravity, exit tests and independent failure domains

Distinguish an affordable provider exit from real-time multi-cloud recovery, and compare managed capability against the measured cost of portability and independent operation.

↑ Chapter index

Define the concern before proposing another provider

Vendor lock-in is the cost and difficulty of replacing a dependency, which can arise from data formats, APIs, operational expertise, contracts or business workflows. Multi-cloud means using more than one provider; it does not specify whether a single application runs in both or whether either can replace the other. A company with email on one provider and its ledger on another is multi-cloud but may have no ledger failover capability. AWS's multicloud guidance acknowledges legitimate reasons for and against adoption and frames the choice around business value, complexity and risk. Treat it as a provider-authored perspective, not neutral proof of superiority. Proven practices for developing a multicloud strategy

Ask what event motivates exit: a contract change, unavailable capability, policy requirement, acquisition or provider-wide outage. Establish the workload scope, acceptable migration duration, data-loss tolerance, allowed redevelopment effort and budget. A ninety-day orderly exit with both providers cooperating is a different engineering problem from surviving an unexpected outage in fifteen minutes. The latter needs already-usable capacity, current data and independent access, while the former may allow export, transformation and staged deployment. AWS's exit-strategy guidance is useful for structuring that distinction. Evaluate exit strategy requirements

Choose a measurable statement such as “restore and operate the order service on a second platform within thirty days using documented exports, with four hours of scheduled final interruption.” This is a fictional planning requirement, not a recommended universal target. It makes the portability claim falsifiable. Specify who runs the exercise and which evidence counts; a slide showing a second provider's logo is not an exit test.

Data gravity sets a lower bound on exit time

Data gravity describes how a large, frequently used dataset attracts computation and integrations because moving or remotely accessing it has time and cost. Code may deploy in minutes while terabytes take days to transfer, index and validate. Inventory primary data, versions, backups, logs, derived indexes, object metadata and encryption dependencies. Measure effective transfer rate end to end; a circuit's advertised bit rate is not the same as database export or target import throughput.

Suppose an illustrative order archive contains 120 decimal terabytes and the sustained cross-provider transfer rate is four gigabits per second. That is 0.5 gigabytes per second, so transfer alone takes 120,000 / 0.5 = 240,000 seconds, or 66.7 hours. At 65 percent effective utilization, it becomes approximately 102.6 hours. If live changes arrive at 0.1 gigabytes per second and 0.325 gigabytes per second of effective capacity is available for changes, net catch-up capacity is 0.225. A ten-terabyte backlog then requires 10,000 / 0.225 = 44,444 seconds, another 12.35 hours under those assumptions.

This arithmetic excludes export preparation, integrity checks, retries, index rebuilding and the final writer transition. It shows why a one-day exit requirement may be impossible without a continuously maintained copy. With an invented transfer planning rate of €0.05 per gigabyte, a single 120,000-gigabyte copy costs €6,000 for that modeled charge alone. This is not any provider's quoted price; request current service- and route-specific terms, including any exit allowances, before presenting a budget. Continuous replication also incurs destination storage and operational costs even during months without an incident.

Portable packages are only one part of a portable application

A container image can preserve application binaries and runtime dependencies, but it does not reproduce the surrounding identity, storage, ingress or database service. Kubernetes StorageClasses expose provisioners and parameters that can vary by backend. A manifest referencing one provider's storage class, identity annotation or load-balancer behavior may need translation and new operational testing on another platform. Preserve a common deployment contract where useful, while documenting environment-specific modules instead of promising byte-for-byte portability. Storage Classes

Separate replaceable boundaries around messaging, object access and database operations only where the abstraction preserves needed semantics. An interface named “publish” that hides ordering, retention and deduplication can create a false sense of interchangeability. Test identical business invariants under duplicate delivery, concurrency and outages on both candidate implementations. Database compatibility must include extensions, collations, isolation, indexing and query performance, not merely a shared wire protocol.

Exports require equal scrutiny. Amazon RDS snapshot export produces data in Apache Parquet in S3, and AWS explicitly says exported snapshot data cannot be directly restored into a new database instance or imported into an existing one using that snapshot mechanism. It can help move or analyze data, but an operational exit also needs schema, constraints, users, sequences, code and a tested import process. Keep native restore artifacts for recovery and deliberate portable representations for exit; verify what each actually reconstructs. Exporting DB snapshot data to Amazon S3 for Amazon RDS

An illustrative exit manifest records object counts and digests, schema definitions, application version, required extensions, configuration templates, access mappings and the procedure to recreate keys or re-encrypt data for the destination. The test must run the application against the reconstructed dataset. Matching file hashes proves copying integrity, not that a migrated query returns the correct customer balance.

Managed capability has an opportunity cost in both directions

Adopting a distinctive managed capability can increase dependence while removing substantial engineering work. Avoiding it can improve replacement options but require the team to build and operate its own scheduler, replication system or database automation. AWS's vendor-lock-in guidance discusses advantages as well as disadvantages; the engineering conclusion still depends on the customer's workload and skills. An abstraction should earn its maintenance cost through a plausible change scenario, rather than exist solely to make a diagram provider-neutral. Consider the advantages and disadvantages of vendor lock-in

Compare three candidates: one primary provider with rehearsed exports; separate whole workloads placed on different providers; or a single service actively maintained across providers. The first can meet planned-exit requirements economically. The second can exploit specific capabilities and diversify the portfolio while avoiding cross-cloud calls inside every transaction. The third may address stringent provider-outage continuity, but needs consistent state ownership, replicated data, survivor capacity and skilled operations in both environments. No candidate is universally best.

For a fictional team, a portable self-operated subsystem might require thirty extra engineering days each year. At an internal €800 per day, that is €24,000 before infrastructure. If a managed feature saves that work and a rehearsed exit requires forty days only when triggered, compare the time horizon, likelihood and impact of exit with the recurring engineering burden. Do not mechanically multiply a guessed outage probability into false precision. Document uncertain assumptions and test the most decision-sensitive ones, including whether the team can maintain the alternative at all.

Identity, networking and observability can remain common dependencies

Map human and workload identity separately. AWS supports OpenID Connect (OIDC) federation to roles, while Google Cloud Workload Identity Federation supports external workloads, including AWS workloads, without relying on long-lived service-account keys. These are useful interoperable building blocks, not interchangeable authorization policies. Restrict issuer, audience and subject or mapped attributes, then grant narrow destination permissions. Verify how credentials are renewed and whether the identity provider remains available when either cloud is isolated. OIDC federation Workload Identity Federation

A shared identity provider can be a common failure domain. Existing short-lived credentials may work until expiration, so a five-minute isolation test can miss a later renewal failure. Provide tested recovery access with strict custody and audit, and preserve necessary logs independently. Avoid solving independence by distributing permanent administrator keys; that increases security exposure and still leaves rotation and revocation dependencies.

Plan address space, DNS resolution, certificate trust, route propagation, egress, tunnel or private-link capacity, maximum transmission unit and firewall enforcement for every cross-cloud flow. AWS VPC peering is nontransitive and does not permit overlapping VPC CIDRs; it is not a universal route to another provider. Select and test the actual cross-provider network path. Two tunnels sharing the same physical carrier route or colocation device may not provide independent connectivity. A private connection also does not eliminate the need to evaluate application encryption. How VPC peering connections work

OpenTelemetry can standardize instrumentation and export of traces, metrics and logs; it is not itself an observability storage or analysis backend. Keep stable operation and trace identifiers across providers, align time sources and semantic conventions, and compare customer outcomes rather than incompatible dashboard defaults. If both clouds send their only logs to a collector in the failed cloud, diagnosis still fails. Buffer locally, bound telemetry backpressure and retain an independent means of determining which transactions completed. Account for duplicate ingestion and high-cardinality cost. What is OpenTelemetry?

Prove independence through the full failure and recovery paths

Draw provider-independent paths for serving, data durability and recovery. A second-cloud application that must call a primary-cloud database for every request has a serial dependency, not a standalone failover path. An exported configuration that still fetches artifacts or secrets from the failed provider has the same problem during recovery. The AWS distinction between control and data planes helps identify which operations must already work and which require resource changes during an incident. Control planes and data planes

Correlated causes include one bad application release deployed everywhere, a shared DNS authority, common identity compromise, a globally distributed invalid configuration and synchronized operators making the same mistake. Independent infrastructure cannot protect against every replicated logical error. Stagger releases, validate configuration, retain protected recovery points and test data reconciliation. If both locations can accept writes during a partition, decide how the application prevents conflicting ownership or resolves conflicts. Synchronous cross-cloud acknowledgement can preserve a stricter durability boundary at the cost of latency and availability during a partition.

Exercise an agreed isolation scenario in staging: deny the primary provider path, verify the alternate can authenticate and start with available artifacts, run synthetic transactions, and observe credential refresh and backlog catch-up. Record the exact isolation achieved and dependencies left reachable. A simulation that disables one endpoint cannot establish independence from the entire provider. AWS multicloud recommendations include governance and operations scope; use that as a prompt to verify ownership and evidence across both teams. Multicloud strategy recommendations

Use safe evidence and give the customer a credible comparison

The commands below inspect existing staging configuration or local rehearsal exports; none switches traffic or initiates a transfer. Replace contexts and filenames with approved test artifacts. Storage class output identifies dependencies needing translation. A checksum verifies local bytes but must be paired with an import and business-validation exercise. Keep identity tokens and sensitive data out of terminal recordings.

kubectl --context study-secondary get storageclass -o wide
aws rds describe-export-tasks --profile study-readonly --region eu-west-1 --query 'ExportTasks[].{Task:ExportTaskIdentifier,Status:Status,Progress:PercentProgress}' --no-cli-pager
sha256sum --check rehearsal-export.sha256
dig api.staging.example.com A +noall +answer

A credible customer comparison uses the same workload, dataset, geographic scope, load, recovery requirement and measurement method for each candidate. Record service and configuration versions, dates, tested behavior, cost assumptions, unsupported features and remaining uncertainty. Distinguish provider documentation, measured results and engineering inference. If reliability history matters, compare incidents over a defined period with consistent service scope and customer impact, including one's own proposed dependencies. Selective competitor outage lists do not measure this customer's exit ability.

This directly explains the three multi-cloud ratings. Balanced articles are useful preparation but incomplete without a workload-specific dependency and exit assessment. Generic documentation promoting AWS benefits may be factual while failing to answer the stated lock-in concern. A list of competitors' outages is even less relevant because it supplies no portability mechanism. A stronger deliverable is a short comparison tied to the customer's requirements plus an exit rehearsal: demonstrate export, alternative deployment, identity and network setup, a synthetic business transaction, and measured time and cost. These are reasoned study judgments about the visible actions, not an Amazon answer key.

Keep in mind

  • Planned exit and unexpected provider-loss recovery need different architectures.
  • Application portability includes data, semantics, identity, networking and operating procedures.
  • Use measured customer-specific comparisons and rehearse the entire alternate path.

At the whiteboard

Does Kubernetes eliminate vendor lock-in?
It can reduce differences in application packaging and orchestration APIs, but storage provisioners, identity integration, ingress behavior, managed databases and operations still vary. Inventory those dependencies and run the same workload and failure tests on the proposed alternative. A portable manifest is evidence for one layer, not a demonstrated complete application exit.
A customer asks for multi-cloud to reduce lock-in. What would you deliver first?
Clarify the exit trigger, workload scope, time allowance, data-loss tolerance and acceptable redevelopment effort. Map provider-specific data and operational dependencies, compare a rehearsed export strategy with maintaining a live alternate, and quantify transfer and operating costs. Present balanced primary documentation alongside measured results and a bounded proof of exit. Do not substitute generic provider advantages or competitor outage history for that assessment.

Last verified 2026-09-06

Customer engineering & communication · 1,742 words · 9 min

Customer discovery: business outcomes, technical workshops and accountable decisions

Translate customer concerns into measurable requirements, collect the evidence that changes a decision, and close workshops with a bounded recommendation and accountable next steps.

↑ Chapter index

Discover the decision, the people and the measurable outcome

A customer request is usually a proposed solution wrapped around a business concern. “We need microservices” may mean that catalog releases wait for checkout regression tests. “We need multi-cloud” may mean an affordable exit at contract renewal. “We need new logging” may mean that an investigator cannot attribute a sensitive document download. Discovery separates the desired result from the first technology named. AWS recommends involving business, development and operations stakeholders when evaluating external customer needs. OPS01-BP01 Evaluate external customer needs

Identify the economic sponsor who can approve spending, the product owner who defines user impact, the engineers who know dependencies, the operator who receives incidents, and the security or data owner who defines permitted use. One person's low-latency preference may conflict with another's residency constraint. Record whose evidence can resolve the disagreement and who has the decision authority. A meeting with only procurement can establish a budget but cannot establish the database's recovery semantics.

Use a short causal chain: customer pain, affected journey, baseline, desired outcome, technical constraint, acceptance evidence. For example, overseas buyers abandon slow product pages; the measured regional p95 is 2.4 seconds; the candidate target is 1.2 seconds under the observed mobile-network mix; personalized prices must remain tenant-correct. A customer-centric method starts from that experience before selecting implementation. AWS describes this direction in its Working Backwards guidance. Working Backwards to drive customer experience and SMB innovation forward Treat the target as a negotiated requirement, not a claim that the business benefit is already proven.

Run a workshop that follows requests and evidence

Prepare a bounded workshop around one pending decision. Request a current dependency diagram, a representative customer journey, recent incident or release evidence, traffic distribution, and a redacted cost breakdown. State the questions these artifacts will answer so that the customer does not produce a large inventory without purpose. A ninety-minute illustrative agenda assigns fifteen minutes to outcomes and constraints, twenty to the current request and data path, twenty to conflicting evidence, twenty to alternatives, and fifteen to acceptance tests and owners. Adjust the allocation when an urgent incident requires immediate restoration.

Trace a real operation: client identity reaches an entry endpoint; routing selects an application; the application reads authoritative state, emits an audit event, and responds; background workers later update derived data. Mark where data becomes durable, where authorization is evaluated, and which step fails when a dependency disappears. Then follow the operational path: who observes the failed event, how an alert reaches them, which credentials recovery requires, and how the customer sees restoration. This exposes gaps a service inventory misses.

Separate observations, assumptions and hypotheses in the notes. “The provider had an outage” is context; “the application lost 420 acknowledged orders” needs reconciliation evidence. Requesting a provider root-cause analysis can clarify a failure, while reviewing the customer's architecture and existing recovery plan identifies their own exposure. AWS's review guidance frames architecture review as constructive assessment and improvement. The review process — AWS Well-Architected Framework End each disputed claim with the smallest safe experiment that could change the recommendation.

Apply discovery to the exact logging and modernization choices

The logging scenario illustrates different amounts of useful progress. Asking about log sources, formats and storage establishes ingestion and capacity inputs. Continue with the actions that must be reconstructed, end-user versus infrastructure identity, search latency, retention, access boundaries and response ownership. A solution that ingests every server log but cannot connect a document read to its application user misses the outcome. Discussing the current architecture helps locate missing sources; merely asking the customer for a preferred product list transfers technical selection work back to them.

Partner products can be appropriate when they meet established requirements, integrate with the operational environment, and have acceptable support and export paths. Define a trial matrix: generate an allowed synthetic event, verify actor and resource attribution, interrupt a collector, recover the backlog, and restrict who can read the evidence. Rate the visible offer to recommend matching partners for what it actually promises. Do not silently assume a requirements workshop or completed trial. A later email containing collection documentation provides some assistance, but leaves the selection decision unresolved until the material is annotated and tied to evidence.

For modernization, presenting containers and serverless options can educate the customer, but does not establish that either repairs release coupling. Ask which changes currently require coordinated deployment, who owns the data, and whether compatible contracts can isolate one business capability. A three-tier design describes a structure; a containerized rewrite proposes significant change. Neither is automatically the right next step. The deeper discovery action is stronger because it leads from the actual stack and pain to a design the customer can review. Specialist involvement should supply a defined contribution while preserving customer continuity.

Work a business case without pretending the outcome is certain

Consider a fictional retailer with eight catalog releases per month. Each release consumes six engineer-hours coordinating a shared test window, and the internal planning rate is €90 per hour. Avoidable coordination would be worth 8 × 6 × €90 = €4,320 per month if it were fully removed. A catalog extraction costs 35 engineer-days at €720 per day, or €25,200, and adds €900 monthly operating effort and infrastructure. Under that optimistic assumption, net recurring benefit is €3,420 and simple payback is about 7.4 months.

Now test the sensitive premise: suppose a pilot eliminates only half the coordination. Benefit becomes €2,160 and net benefit €1,260 monthly, moving simple payback to twenty months. This calculation excludes financing, tax, revenue effects and residual migration risk; it is an engineering planning example, not financial advice or an AWS quotation. A modular change that isolates catalog tests for €6,000 may therefore deserve comparison before a distributed architecture. Faster release capability also has value beyond saved hours, but attribute revenue improvement only when suitable product evidence supports it.

The decision package should state a pilot boundary: one catalog read path, synthetic contract tests, a maximum engineering budget, a measured reduction in coordinated release steps, and unchanged checkout correctness. Include the new failure possibilities, such as network timeouts and stale catalog data, along with their detection and recovery measures. Business stakeholders can then evaluate a concrete tradeoff rather than a promise that a modern architecture inevitably creates agility.

Treat objections as constraints that can change the design

When a customer says “cloud is too expensive,” identify whether the concern is total operating cost, unpredictable monthly spend, migration cash demand, or an existing commitment. Each requires different evidence. A usage-based prototype helps estimate a variable bill, while a staffing study addresses operational effort. When they say “we cannot depend on one vendor,” distinguish planned exit from continuity during provider failure. Balanced references can inform that conversation; promotional feature lists and selective competitor outage lists do not demonstrate this customer's exit capability.

Recovery objections require candor. Weekly backups permit a recoverable point approaching seven days old, so they do not demonstrate a one-day recovery point objective when no additional history exists. A measured three-hour restore exceeds a one-hour recovery time objective. Explain both gaps, then offer a focused review of backup frequency, restore critical path and validation. Saying both targets pass is unsupported assurance; stating the failure accurately is useful; adding a concrete offer of help improves the next step. Avoid softening the numbers to preserve rapport.

“No data loss, instant regional recovery, and minimal expense” contains competing constraints. Clarify acknowledged transactions, covered failure domains, acceptable interruption, current workload and budget before comparing standby and active-active options. A workshop can conclude that no tested option meets every condition. Present the infeasibility and a choice of revised constraints instead of making an unverified promise. Amazon's principles connect customer focus with candid trust-building, ownership and reasoned disagreement; they do not supply an official quiz score. Leadership Principles — Amazon Jobs

Collect safe evidence and retain accountable next steps

A read-only check can anchor a workshop in observable behavior. The following illustrative command performs one bounded HTTPS request to an approved staging health endpoint and prints timings without the response body. Replace the example hostname only with a destination you are authorized to inspect. No customer infrastructure was tested for this chapter. The timing fields are cumulative from transfer start; interpret their differences cautiously because DNS caching, proxies, redirects and reused connections change the path. curl — How To Use

curl --connect-timeout 2 --max-time 5 --silent --show-error   --output /dev/null   --write-out 'status=%{http_code} dns=%{time_namelookup} connect=%{time_connect} tls=%{time_appconnect} first=%{time_starttransfer} total=%{time_total}\n'   https://api.staging.example.com/health

A successful health check does not prove checkout completion, session continuity or audit attribution. Pair it with a synthetic business transaction and permitted evidence at each relevant boundary. Redact customer identifiers and tokens before sharing logs; collect only the time interval and fields needed to distinguish the hypotheses. Diagnostic access should not become standing administrator access merely because several specialists attend.

Close with a decision record containing the chosen option, rejected alternatives, assumptions, evidence, unresolved risks and revisit trigger. Every next action needs one accountable owner, a due date, a deliverable, and a definition of done. “Database specialist investigates replication by Thursday” becomes reviewable when it specifies a staging failover trace and reconciliation of acknowledged transaction IDs. The original advisor owns the consolidated response and next meeting. Contacting a colleague is constructive collaboration; telling the customer to call another team without context or follow-through is a weak handoff. A missed date should trigger an updated plan, not silent disappearance.

Communicate the recommendation at the decision-maker’s level

A business-facing email should lead with the reason for the change and its customer effect: “We propose isolating catalog releases so product updates can ship without waiting for checkout testing. Buyers should retain the same checkout behavior. A limited pilot will measure release delay and verify pricing consistency before broader migration.” Add the main risk, expected cost range, and decision needed when space allows. This makes the recipient's approval meaningful without requiring them to infer benefits from infrastructure vocabulary.

In the photographed email choice, outcome-first wording is a defensible educational preference. A familiar analogy plus a benefit and risk can also communicate effectively when it helps that audience. The judgment is editorial and context-sensitive, unlike an arithmetic RPO comparison. Do not call a reasonable alternative technically false. For a joint executive and engineering report, retain one shared recommendation and place detailed interfaces, tests and operating instructions in a navigable appendix, as developed in the documentation-engineering chapter.

Finally, establish how the team will learn whether the recommendation worked. Revisit the original baseline after representative demand, record new operating burden, and ask downstream users whether their problem improved. A workshop is valuable when it reduces consequential uncertainty and produces an owned result, not when it fills a calendar or accumulates architecture diagrams.

Keep in mind

  • Translate concerns into a customer journey, measurable outcome and explicit decision authority.
  • A technical workshop must produce evidence, alternatives and acceptance criteria for the actual workload.
  • Retain ownership when bringing in specialists, and assign dated deliverables with a definition of done.

At the whiteboard

A customer insists on microservices immediately. How do you respond without blocking progress?
Acknowledge the desired outcome and ask for the release or operating problem behind the request. Trace one coupled change through code, data and team dependencies. Offer a small extraction or modularization experiment with release-delay and correctness acceptance criteria. Compare ongoing operations and migration effort. The strong answer makes progress this week while preserving the ability to reject a costly architecture if it does not repair the demonstrated constraint.
How would you handle a recovery requirement you cannot honestly promise?
Define the lost-data boundary and covered failure, compare the measured recovery path with the target, and state the gap explicitly. For the photographed database, a three-hour restore and weekly-only backups miss the one-hour and one-day targets independently. Propose an owned restore experiment and more frequent recoverable history, cost the alternatives, and return with observed results. If no option meets all constraints, ask the decision owner to choose a revised budget or objective; do not substitute a reassuring architecture label.

Last verified 2026-09-06

Cost & capacity engineering · 1,892 words · 9 min

Cost engineering: TCO, FinOps, rightsizing and useful work

Build a reconciled cost model from usage and customer outcomes, measure rightsizing safely, and select commitments or interruptible compute without hiding reliability and operating costs.

↑ Chapter index

Optimize the cost of an accepted business outcome

Total cost of ownership, or TCO, includes the resources and operating work required to deliver a defined outcome over a stated period. FinOps is the ongoing collaboration through which engineering, finance and product teams understand that spending and decide how to improve its value. Cost optimization is constrained by function, security and reliability: an inexpensive pipeline that loses input records has not delivered the same product as a reliable one. AWS's cost pillar explicitly ties resource efficiency to business outcomes and functional requirements. Cost Optimization Pillar — AWS Well-Architected Framework

Specify the accounting boundary before comparing options. Include compute, storage capacity and requests, database capacity, network paths and transfer, monitoring, security controls, support, licenses, backup retention, and operational labor. Include temporary migration overlap, data conversion, validation and decommissioning separately from recurring costs. A planned-exit obligation may require export and rehearsal effort. Keep sunk expenditures distinct from future avoidable cost: an existing server can have low marginal expense today while still requiring replacement and operation over the planning horizon.

Choose a useful-work denominator such as validated images delivered within the response objective, successfully settled orders, or complete daily log datasets. Dividing by invocations rewards a design that retries heavily or produces unusable results. Report total spend and unit cost together: a business can grow efficiently while its bill rises. Also report latency and completion reliability so that an apparent saving cannot hide a degraded service.

Follow billing data into an auditable allocation model

The measurement flow starts with metered service usage, proceeds through billing records and allocation rules, and joins business counters for the same period. AWS Data Exports provides Cost and Usage Report 2.0 with configurable time granularity and resource detail. Its schema differs from legacy CUR, so explicitly choose the export and fields used by your pipeline. Cost and Usage Report (CUR) 2.0 Athena can query CUR data stored in S3; the legacy integration documentation describes its particular setup and format, rather than a universal schema for every billing export. Querying Cost and Usage Reports using Amazon Athena

Use accounts, workload identifiers and activated cost allocation tags to associate spend with owners. AWS distinguishes ordinary resource tags from tags activated for billing allocation. Cost allocation tags — Best Practices for Tagging AWS Resources Record shared platform costs under a visible allocation policy. A shared logging service might be apportioned by ingested bytes and retention class, while a fixed security baseline may be split by account. Neither is a law of nature. Keep an unallocated category so that missing tags remain visible instead of disappearing from the total.

Normalize cost carefully. An amortized view distributes upfront commitment cost over its benefit period; an invoice view reflects billing cash timing. Discounts, refunds, credits, taxes and commitment fees need explicit treatment. Naively adding on-demand-equivalent usage to the associated commitment fee double counts the same consumption. Reconcile the normalized total against an agreed billing basis before allocating it. Preserve export revision and cutoff time because recently delivered billing data can change.

A safe illustrative local query below assumes a prepared, reconciled SQLite table with one row per allocated charge. It is not raw CUR SQL and does not initiate a paid cloud query. The input must already contain refunds and shared-cost allocations under the agreed basis.

sqlite3 -readonly cost-study.sqlite "SELECT workload, ROUND(SUM(allocated_cost_eur),2) AS cost_eur FROM normalized_costs WHERE usage_day >= '2026-08-01' AND usage_day < '2026-09-01' GROUP BY workload;"

Work the complete cost comparison and sensitivity

Consider a fictional image service completing one million acceptable transformations monthly. Its virtual-machine design costs €420 for compute, €150 for storage and requests, €90 for network paths, €80 for monitoring and protection, and twelve operating hours at €75, giving €1,640 monthly. A proposed event-driven design costs €180 for execution and API handling, €170 for storage and requests, the same €90 for network paths, €110 for monitoring and protection, and five operating hours, totaling €925. These are invented planning inputs, not AWS prices.

At the same successful-output count, unit costs are €0.001640 and €0.000925 per image. Monthly benefit is €715. If implementation and verification require sixty hours at €75, the €4,500 transition cost has simple payback of approximately 6.3 months, before financing and other excluded costs. If the virtual-machine workload was already well automated at six operating hours, its total would instead be €1,190, shrinking monthly benefit to €265 and extending payback to approximately seventeen months. Labor assumptions materially affect this decision.

Decompose variable cost as attempts per successful image multiplied by execution and request cost per attempt, plus storage, transfer and fixed costs. A reduction from ten operations to six removes work only if the output contract still passes. Removing a duplicate metadata lookup differs from removing malware scanning or a required image transformation. Likewise, pre-scheduled batching may reduce startup overhead while violating instant upload/download behavior. For the screenshot's sparse image workload, measure a synchronous path when transformed output is required immediately; asynchronous object notifications alone cannot certify readiness.

Rightsize from limiting resources and representative observations

Rightsizing selects a configuration that meets workload requirements with appropriate unused capacity for variation and failure. Average CPU is insufficient. Inspect per-core execution, active memory working set, garbage collection, network bandwidth and packets, storage IOPS and throughput, connection counts, burst behavior, and tail latency. A smaller instance may remove memory or network capacity even when CPU has room. Consolidating useful background work can reduce idle allocation, but overlapping peaks and shared credentials can create performance interference and a larger compromise scope.

Compute Optimizer recommendations depend on supported resources and available telemetry. For EC2 and Auto Scaling groups, AWS documents at least thirty hours of CloudWatch data within the standard fourteen-day period; that eligibility threshold does not prove a holiday or month-end workload is represented. Resource requirements — AWS Compute Optimizer Use recommendations as hypotheses. Record the proposed change, expected saving, resource constraint, load envelope, and rollback procedure. Canary one workload, test peak and failure conditions, then compare before and after under comparable demand. Track actual invoice effects after commitment allocation rather than declaring list-price savings realized.

Lambda illustrates why the smallest allocation is not necessarily cheapest. CPU allocation increases with configured memory. Configure Lambda function memory Suppose an isolated benchmark needs 800 milliseconds at 512 MiB and 300 milliseconds at 1,024 MiB. Duration-based consumption falls from 0.5 × 0.8 = 0.4 GB-seconds to 1 × 0.3 = 0.3 GB-seconds per invocation, a 25% reduction under equal per-GB-second rates. If the higher setting instead takes 600 milliseconds, consumption rises to 0.6 GB-seconds. Include request charges, retries and any additional capacity features separately. Measure the actual function and do not infer proportional speedup from proportional CPU allocation.

Separate commitment coverage, utilization and capacity assurance

A commitment discount exchanges future spending flexibility for a lower eligible usage rate. AWS Savings Plans apply against eligible hourly usage; unused commitment in one hour cannot be carried into a later busy hour. Understanding how Savings Plans apply to your usage Coverage asks what fraction of eligible usage receives the discount. Utilization asks what fraction of the purchased commitment is consumed. A workload can have excellent coverage and poor utilization if it is small relative to an oversized purchase.

For a simplified example, a hypothetical €1 per hour commitment runs for a thirty-day month of 720 hours and therefore costs €720. If a daily three-hour job consumes exactly that commitment while running and no other eligible workload uses it, only ninety commitment-hours are utilized: 90/720 = 12.5%. If the equivalent on-demand job cost €2 per running hour, terminating it after completion would cost €180. A 50% hourly discount did not overcome twenty-one idle hours per day. These illustrative rates are not a comparison of any named instance's current prices.

Purchase against durable, measured eligible demand after planned rightsizing and decommissioning. Consider existing organization usage and sharing rules, future architecture changes, term and payment timing. A reservation or plan should not be selected simply because the peak is large. Savings Plans do not themselves reserve capacity; AWS distinguishes their pricing benefit from On-Demand Capacity Reservations. Compute Savings Plans and Reserved Instances For a recovery site or daily fallback, check actual placement and quotas separately. Financial commitment and the ability to launch when needed are different properties.

Price interruption and checkpointing into the daily pipeline

The overnight-log question specifies a two-to-three-hour daily pipeline with flexible timing and reliable daily completion. Interruptible capacity fits when units of work can be resumed and different instance pools are usable. AWS recommends designing for interruption and diversifying Spot capacity. Best practices for Amazon EC2 Spot Preserve progress outside the worker: write a partition output, verify it, then publish a completion marker under a deterministic input/version identity. A restarted worker checks the marker and safely repeats incomplete work. A marker saved before output durability can falsely report completion.

Suppose useful processing takes 180 minutes. Checkpointing every fifteen useful minutes requires twelve checkpoints at twenty seconds each, adding four minutes. Assume, solely for this model, two interruptions uniformly distributed within checkpoint intervals and one minute of restart overhead each. Expected repeated work is 2 × 7.5 = fifteen minutes, plus two restart minutes; total compute time is approximately 201 minutes, or 3.35 hours. At hypothetical fleet rates of €0.80 per Spot hour versus €2 per on-demand hour, compute cost is €2.68 versus €6 for three uninterrupted on-demand hours. Add checkpoint requests and storage, retries during recovery, and operating effort to finish the comparison.

The expectation is not a deadline guarantee. With an eight-hour completion window, three hours of remaining fallback work and a half-hour startup/validation allowance require switching by hour 4.5. Recalculate from the observed remaining partitions rather than waiting for repeated failures. AWS documents interruption notices on a best-effort basis; the usual two-minute notice is not available in the same way for hibernation. Spot Instance interruption notices Periodic progress persistence must work without relying on a notice. Test lost workers, corrupt checkpoints, capacity unavailability and duplicate delivery. Terminating on-demand capacity remains a strong alternative when the saving does not justify this machinery.

Preserve security and recovery while closing the savings loop

Classify optimization actions by reversibility and customer consequence. Scheduling disposable development instances differs from deleting the only recovery copy. For the retention question, keeping recent recoverable history on a fast path and archiving older required history can reduce cost, but validate the entire two-hour restore path, including keys, retrieval, provisioning, replay and application verification. Do not delete retained history simply because it is rarely queried. A storage tier decision must use the access and recovery contract, not cost per stored byte alone.

Map network cost onto the actual data path. A CDN can reduce repeated origin delivery, while extra Regions add replicas, transfer and operational obligations. Querying large unpartitioned cost or application datasets can itself consume analysis budget. Protect billing exports because account names, resource identifiers and usage patterns can reveal business activity. Restrict who may read detailed SQL or customer dimensions in diagnostic datasets. Consolidation should maintain workload identity and resource isolation even when it improves utilization.

Assign an owner to each cost anomaly and optimization experiment. AWS Budgets supports actual or forecast threshold notifications and optional actions, but billing updates and notifications are not an instantaneous universal spending ceiling. Managing your costs with AWS Budgets Record projected versus realized savings, the date of rollout, comparable demand, service quality, and residual commitment cost. Review the outcome after a representative interval. Close an action when useful unit cost improves within the agreed reliability and security limits, or retain the previous configuration when the experiment disproves the saving.

Keep in mind

  • Reconcile the accounting basis and measure cost per successful customer outcome.
  • Rightsizing needs representative resource and service-quality evidence, followed by a reversible trial.
  • Hourly commitments, checkpoint overhead and fallback capacity must be included in a reliable cost comparison.

At the whiteboard

A low-CPU server is already very small. Is consolidation or serverless automatically better?
Neither follows from CPU alone. Determine memory, I/O, network and tail-latency constraints, and count useful completed work. Consolidation may spread existing cost across compatible workloads but can couple failures, security and peaks. Event-driven execution can reduce idle allocation, but must preserve the immediate image-response contract and include requests, storage, retries and operating effort. Compare measured unit cost and transition payback under both designs, then canary the chosen change.
Why can a discounted daily batch job cost more than on-demand?
The commitment is paid every hour while the job runs only a few hours. In the worked model, €720 of monthly commitment covers just ninety busy hours, whereas ninety on-demand hours at €2 cost €180. Check whether other eligible usage can consume the unused commitment before generalizing. For Spot, model interruption, checkpoint and fallback costs, and demonstrate complete output under restart. A cheap rate is useful only when paid capacity produces the required outcome.

Last verified 2026-09-06

Performance & operations · 2,001 words · 10 min

Performance and capacity: diagnose the limiting path and prove a test plan

Model useful throughput across application, network, storage and database boundaries, then use bounded observations and representative load tests to validate a causal improvement.

↑ Chapter index

Model the whole request before naming a bottleneck

A request can wait before receiving any CPU time. Follow client resolution and connection setup, front-door admission, application scheduling, database-pool acquisition, query execution, storage completion, response serialization and network delivery. Instrument elapsed intervals at the relevant boundaries with correlated request identifiers. Nested spans overlap, so adding every span duration double counts work. The critical path is the chain that determines when the response can finish; parallel branches contribute their completion dependency rather than a simple sum.

Distinguish offered requests, admitted requests, completed operations and successful customer outcomes. At overload, a system may appear stable because it rejects work quickly or clients give up before the server records completion. Measure errors, timeouts, abandoned work and retries alongside throughput. Utilization describes busy resources; saturation describes waiting or rejection caused by an exhausted resource or enforced limit. A low average CPU can coexist with a saturated single thread, container quota, database lock or network packet allowance.

The failed-search photograph already supplies negative evidence: moving to the largest server did not repair search. It does not prove that every capacity issue is excluded, but it weakens an unsupported recommendation to buy more of the same resource. Capture the actual error, timing and dependency context. A DNS failure, TLS failure, authentication rejection, empty index and query timeout imply different next experiments. A restart can be justified restoration under a known runbook; it does not by itself explain the defect or prove that scale was the issue.

Calculate service demand, concurrency and the next limit

Use a deliberately simple capacity model to generate testable predictions. Suppose one request consumes 20 milliseconds of application CPU and makes two database calls. An eight-vCPU worker offers eight CPU-seconds per wall-clock second; ignoring serialization and overhead, its CPU ceiling is 8/0.020 = 400 requests per second. Reserving 30% of installed CPU capacity for variation gives a planning rate of 0.7 × 400 = 280 requests per second. This is a stated denominator, not an unexplained “30% headroom” claim.

If the shared database can sustain 500 of those calls per second within its latency objective, the application-level database ceiling is 500/2 = 250 requests per second. Adding another application worker cannot exceed that shared limit without changing the database demand or capacity. An optimization that removes one redundant database call raises this simplified ceiling to 500 requests per second, but the original single worker then encounters its CPU limit. Re-measure after each improvement because the limiting stage moves.

Little's law relates mean in-flight work, throughput and mean time in a stable system: L = λW. At 240 completed requests per second and mean end-to-end time of 0.15 seconds, about 36 requests are in flight. If throughput remains 240 while mean time rises to 0.6 seconds, concurrency rises to 144; many extra requests may simply be waiting. This is not a rule for deriving p99 latency or a guarantee under an unbounded growing queue. A useful test identifies the point at which increased offered load raises waiting sharply without increasing successful completions.

Network capacity includes packet rate, flows and connection state

Bandwidth in bits per second is only one network constraint. Packet processing, tracked connections, per-flow limits, destination paths and burst behavior can bind earlier. EC2 documents instance and flow-dependent bandwidth limits and best-effort burst behavior for applicable instance types. A short run on a newly launched instance can therefore overstate sustained capacity. Amazon EC2 instance network bandwidth Diagnose the actual instance, destination and traffic shape rather than treating the advertised “up to” number as an application guarantee.

For a fictional path delivering 1 Gbit/s with a 120-millisecond round-trip time, the bandwidth-delay product is 1,000,000,000 × 0.12 / 8 = 15,000,000 bytes, approximately 14.3 MiB. Sustaining that throughput on a TCP transfer requires sufficient data in flight, along with adequate sender, receiver and congestion windows. Enlarging a window cannot defeat loss or an enforced throughput cap. Meanwhile, 100,000 payloads per second at 100 bytes represent only 80 Mbit/s of payload, but require substantial packet handling before acknowledgements and protocol overhead. Low bandwidth utilization does not exclude packet-rate saturation.

ENA exposes counters for bandwidth, packet-rate and connection-tracking allowance exhaustion. Inspect deltas during the symptom interval; cumulative nonzero counters may describe an old event. Monitor network performance for ENA settings on your EC2 instance On an approved Linux staging host, the following read-only observations inspect interface statistics and connection summaries. The interface name is illustrative; determine the actual device first. Restrict saved output because peer addresses can reveal internal topology.

ip -brief link
ethtool -S ens5 | rg 'allowance|drop|error'
ss -s
ss -ti dst 192.0.2.10

The example destination is a documentation address, not a target to probe. A failed ping is weak evidence for an application outage because ICMP handling can differ from the service protocol. Test the required DNS name, TCP port, TLS identity and permitted operation from the application's network context. More parallel flows can improve aggregate transfer in some settings but also consume connection state and downstream concurrency; it is an experiment, not a default repair.

Storage performance is constrained by both volume and instance

For block storage, translate the actual I/O size and pattern into separate IOPS and throughput requirements. A fictional report reading 4,000 operations per second at 64 KiB each needs 4,000 × 64/1,024 = 250 MiB/s. A volume configured for 6,000 IOPS but 125 MiB/s can carry at most about 2,000 such operations per second before other overheads. Buying additional IOPS without additional throughput does not meet the stated demand.

For gp3, AWS documents independently provisionable performance above the included 3,000 IOPS and 125 MiB/s baseline, without a burst-credit mechanism. Current regional maxima differ from older values and Outposts has separate limits; verify the supported configuration rather than copying a stale maximum. Amazon EBS General Purpose SSD volumes Even sufficient volume settings can exceed the instance's EBS channel. If two volumes each attempt 250 MiB/s through a fictional 375 MiB/s instance limit, their combined 500 MiB/s demand cannot be sustained. AWS publishes instance-specific EBS bandwidth and IOPS specifications. Amazon EBS-optimized instance types

Observe queues, completion latency, operation sizes and useful work together. An application issuing one serial I/O at a time cannot consume a large parallel IOPS allowance. A report may also spill intermediate data, inflate temporary I/O, and evict useful cache without increasing the source dataset. Compare warm and cold runs and avoid claiming cached benchmark results represent storage performance.

lsblk -o NAME,SIZE,TYPE,MOUNTPOINTS
iostat -xz 1 5
vmstat 1 5

These illustrative commands read local statistics when the utilities are installed; initial reports can include historical averages. They do not perform a storage benchmark. Never use a write workload against a mounted database device as an exploratory check. A storage change must preserve durability, encryption and recovery behavior as well as improve the measured limiting dimension.

Database limits feed back into application queues

Database capacity is not a single connection-count setting. Active queries contend for CPU, cache, storage, locks and commit coordination; idle connections still consume resources. An application pool of twenty connections whose calls each occupy a connection for 50 milliseconds has an optimistic ceiling of 20/0.05 = 400 calls per second. If lock contention raises occupied time to 500 milliseconds, that ceiling drops to forty calls per second. Increasing the pool to two hundred may merely create two hundred waiting database sessions and worsen memory pressure.

For the report that became three to four times slower, compare workload inputs and changes during the two-day window: data volume and skew, predicates, execution plan, statistics, indexes, concurrent jobs, connection waits and report rendering. A new report can issue many individually quick queries, so a slow-query threshold may capture none. Active waits are needed for currently stuck work; completed-query logs alone provide incomplete evidence. CloudWatch Database Insights provides database-load analysis, with detailed capabilities dependent on engine, mode and Region. CloudWatch Database Insights Do not assume every fleet member exposes the same plan or lock analysis.

A bounded PostgreSQL staging inspection can use a read-only transaction and a plain EXPLAIN of a known SELECT. Plain EXPLAIN supplies estimates; ANALYZE executes the query and can be expensive. PostgreSQL 18: Using EXPLAIN This example assumes an existing synthetic table and is not a generic command for every database engine.

BEGIN READ ONLY;
SET LOCAL statement_timeout = '2s';
SET LOCAL lock_timeout = '500ms';
EXPLAIN (FORMAT JSON)
SELECT order_id FROM study_orders
WHERE created_at >= DATE '2026-08-01';
ROLLBACK;

In the synchronous-replication choice, preserving zero RPO prohibits silently switching the remote durability path to asynchronous acknowledgement. Admission control can reduce queueing, but cannot remove the 120-millisecond geographic delay. Shortening a timeout does not accelerate the secondary. State whether that delay is round-trip or one-way before calculating the commit floor, and distinguish transport acknowledgement from remote durable commit.

Design a load test that can falsify the recommendation

Write the test contract first: workload version and dataset, customer operations and proportions, geographic/client mix, expected arrival rate, acceptable error and latency thresholds, sustained duration, failure conditions, and cost ceiling. Use representative synthetic or sanitized data in a controlled environment. AWS recommends production-like end-to-end load testing, defined objectives and monitoring, rather than inferring whole-system performance from isolated components. PERF05-BP04 Load test your workload Do not generate traffic toward customer or third-party systems without the scope needed for that test.

An illustrative plan runs a small smoke phase to verify data correctness, then warm-up, then fifteen-minute plateaus at 100, 150, 200 and 250 offered requests per second. Hold the highest passing level long enough to expose memory growth, exhausted burst credits, storage maintenance and autoscaling behavior; duration must reflect the mechanisms under investigation. Test a separate cold-cache ramp and a controlled instance-loss phase. Define abort criteria such as sustained error rate above 1%, unchecked queue growth or exhaustion of the agreed test budget. Preserve evidence before teardown.

Choose a load-generation model deliberately. A closed-loop client sends its next request after the previous one completes, so slower responses can reduce offered load and conceal overload. An arrival-rate model schedules demand independently, but the generator must have enough workers and capacity. Record scheduled, started, rejected, completed and timed-out attempts and measure latency from the intended arrival where appropriate. Otherwise missing delayed requests create coordinated omission: the most stressed periods are underrepresented in the latency results.

Run the same workload against baseline and candidate with consistent data state. Change one causal factor, capture client and server metrics on aligned time axes, and check confidence across representative repetitions. A canary must validate business invariants as well as response codes. Predefine success, for example 200 successful requests per second, p95 below 300 milliseconds, errors below 0.1%, and a draining queue after an instance returns. These are fictional acceptance values, not AWS service guarantees.

Choose the remedy and verify the complete tradeoff

Select a change by the evidence it should alter. A saturated CPU path may benefit from profiling, a faster implementation or more ready workers. Storage throughput saturation calls for fewer bytes or a supported higher-throughput path. Lock contention calls for shorter conflicting transactions or changed access patterns. A regional propagation delay may justify caching eligible content or moving execution, but additional servers in the same location do not shorten geography. Compression trades network bytes for CPU; caching trades repeated source work for freshness and failure handling.

Capture a before-and-after prediction: “At 200 requests per second, removing the redundant lookup should halve database calls per successful request and reduce pool waiting; it should not change authorization or response content.” If calls decrease but latency does not, inspect the next limiting stage. If p95 improves while p99 timeouts rise, the change has not uniformly improved service. Verify failure-mode capacity and startup delay before using a normal-run throughput number for holiday planning.

Protect profiling data, SQL parameters and trace attributes; performance evidence can contain sensitive content. Apply least-privilege diagnostic roles and bounded retention. Include test-environment cost, higher network or storage spend, and ongoing tuning effort in the recommendation. Restore the prior deployment or configuration when the stated acceptance test fails. The final capacity claim should name the observed workload, duration, failure assumptions and remaining uncertainty so that an interviewer or operator can understand exactly what has been demonstrated.

Keep in mind

  • Measure offered work, useful completions and waiting at the same system boundary.
  • Network packets, storage throughput and database contention can constrain a low-CPU application.
  • A valid load test preserves traffic shape, failed attempts, data correctness and failure-mode capacity.

At the whiteboard

The application is at 25% CPU, but p99 latency rises sharply with load. What do you investigate?
Treat the average as insufficient evidence. Correlate per-core or container throttling, pool acquisition, active database waits, storage queues, ENA allowance deltas and dependency traces with client timeouts. Check whether the load generator reduces offered demand as the system slows. Form a specific prediction for the likely limit, change one factor in staging, and require both useful throughput and latency to improve without breaking correctness.
A storage upgrade doubles provisioned IOPS but leaves reports unchanged. Explain plausible causes and a discriminating test.
The workload may be throughput-bound because its operations are large, constrained by aggregate instance EBS capacity, serialized by the application, or waiting on database locks rather than storage. Compute IOPS times operation size, inspect interval queues and actual completion throughput, and compare report phase timings. The 64-KiB example needs 250 MiB/s for 4,000 IOPS, so a 125-MiB/s setting remains the limit after an IOPS-only upgrade. Test the supported throughput change against the same dataset and concurrency, while retaining database wait evidence to reject an incorrect storage hypothesis.

Last verified 2026-09-06

Customer engineering & delivery · 2,261 words · 11 min

Technical writing and documentation engineering: evidence, API contracts and release accuracy

Serve executives and engineers from a consistent evidence base, document why and how a solution works, and keep API specifications and runbooks synchronized with released behavior.

↑ Chapter index

Treat documentation as a product with an audience and a task

Documentation is an interface through which someone makes a decision or changes a system. Define the reader's task, prior knowledge, permitted access and desired result before choosing the level of detail. An executive decides whether an integration's benefit justifies its cost and risk; an engineer implements its protocol; an operator recovers it during an incident. Google's technical-writing guidance emphasizes the difference between what readers need to know and what they already know. Audience — Google Technical Writing The same underlying facts can support these different tasks without identical prose at every level.

Separate explanation, procedure and reference. An explanation describes why the solution exists and its causal mechanics. A procedure gives ordered actions, prerequisites, expected observations and branching on failure. A reference defines exact fields, defaults, constraints and error semantics. A deployment script's function names are not a substitute for its purpose; a paragraph about business value is not a usable recovery procedure. Link these forms under a clear entry point so readers can reach the information their task requires.

The photographed solution-documentation question favors explaining both how the solution works and why it was implemented, with the audience in mind. A small behavior change can require a targeted paragraph or example in an existing guide. A consequential automation needs operating and recovery detail. Documentation should not depend on how visible the project is, nor should essential instructions be available only by contacting its original author. The appropriate depth follows the reader's risk and task complexity rather than a fixed document length.

Build a source hierarchy and resolve contradictory evidence

Gather complementary evidence: implementation and internal documentation for current local behavior; coworkers for design intent and undocumented constraints; approved primary documentation for supported product behavior; relevant case studies for applied tradeoffs; and customer feedback for confusion and missing tasks. This explains the broad-source option in q-1788637001150-1. The objective is not to maximize the number of links. An unrelated case study contributes less than one reproducible local result.

Maintain a claim record containing the statement, authoritative source, applicable version and configuration, access date, local verification and remaining uncertainty. Classify statements as documented behavior, measured result, local policy, engineering inference or illustrative example. If an old runbook says an API returns a completed report while the deployed implementation returns an accepted job, inspect the deployed version and test its response; do not average the two accounts into ambiguous wording. A colleague can explain why the change happened, while a contract test verifies what a consumer receives.

When sharing AWS availability or recovery documentation from the rating scenarios, annotate the exact requirement each reference addresses and what it leaves unresolved. A general whitepaper can teach options; it cannot prove this customer's restore completes on time. Include the local evidence and next action that turns reading into a decision. Remove secrets, account-specific session identifiers and customer data from shared examples. Public documentation should remain understandable without exposing the confidential support artifact used to validate it.

Layer one API report for executives and engineers

The dual-audience question explicitly requires the same document for both groups. Use one versioned report with a concise executive summary, a decision and risk discussion, then a navigable engineering appendix. The summary should contain the customer workflow, intended business effect, expected cost or effort range, main dependencies, material risks, unresolved assumptions and decision requested. The appendix supplies enough evidence to inspect those claims. Independent reports or an executive-only email fail the photographed distribution requirement even though they can be suitable in other contexts.

For a fictional inventory integration, write: “The integration should reduce manual stock reconciliation and let customers see inventory updates sooner. We propose a limited rollout to one catalog segment. Duplicate event delivery and delayed supplier updates could create misleading availability, so rollout depends on reconciliation and replay tests. The proposed budget and rollback boundary are listed below.” Link the duplicate-delivery risk to the idempotency design and the freshness claim to an explicit measurement. Do not hide an unresolved data-loss possibility in a technical appendix while calling the summary low risk.

The engineering layer follows data: supplier authentication, request validation, durable receipt, queueing, inventory update, acknowledgement and downstream refresh. It defines identity scope, schema, ordering assumptions, timeout and retry behavior, observability, replay and rollback. An executive can stop after the decision discussion; an engineer can follow its references to implementation constraints. Both should encounter the same rollout scope and success criterion.

For the short monolith-to-microservices email, the existing study recommendation credits an accessible analogy that includes a benefit and a risk, while accepting the business-first opening as a strong alternative. A useful real email can combine them. Explain reduced release coordination, mention additional network and data-consistency work, and request the bounded pilot decision. This is subjective communication judgment; neither a familiar analogy nor a direct opening is universally correct.

Make API specifications precise enough to test

An API contract defines more than endpoint names. Specify methods, paths, request fields and media types, successful and error responses, authentication, authorization scope, pagination and relevant limits. OpenAPI provides a machine-readable description of HTTP APIs and supports schemas, operation responses and security descriptions. Pin the specification version supported by the toolchain; this chapter's reference is OpenAPI 3.1.1, not a claim that it is the latest version. OpenAPI Specification v3.1.1 Generating a page from that description does not prove the server implements it.

Consider an original example: a report-creation POST accepts an idempotency key scoped to a tenant and returns a job identifier after the input has been durably accepted. A separate GET returns queued, running, failed or completed state. Specify what a repeated key with different input does, how long deduplication survives, what completion means, and whether a client can retry after losing the response. An HTTP success code alone cannot establish that every report row was generated. Preserve one stable operation identity through retries and make reconciliation possible.

A contract excerpt might document this successful acceptance shape. It remains only an example response, not a complete OpenAPI document or a full security design.

{
  "job_id": "study-job-17",
  "status": "queued",
  "status_url": "/reports/study-job-17"
}

Test both positive and negative cases: a valid request, a missing required field, a foreign tenant's job identifier, an expired credential, a duplicate submission and an unsupported version. Compare response structure with the schema and verify business effects separately. A schema check can catch a changed field type but cannot infer whether an accepted request was durably stored. Example payloads should use synthetic values and explicitly mark placeholders so readers cannot mistake them for usable credentials.

Connect the pull request to generated and published documentation

The final screenshot reports stale API specifications and runbooks within a two-week sprint. The strongest listed process change is to include affected documentation in the same pull request as the behavior change. Review occurs while the author and reviewers retain implementation context. Google's engineering review guidance explicitly includes updating associated documentation when a change affects how users build, test, interact with or release code. What to look for in a code review — Google Engineering Practices AWS likewise recommends version control for code and related artifacts so changes and releases can be tracked. OPS05-BP01 Use version control

Build an explicit flow: implementation and contract source change together; continuous integration checks syntax, examples and compatibility; reviewers inspect behavior and instructions; the build produces a versioned documentation artifact; deployment selects a code release; publication exposes the corresponding guide; post-deployment verification confirms the pairing. A successful merge covers only the first part. If publication fails, the source can be correct while customers still read old instructions.

For GitHub-hosted work, CODEOWNERS can request review from responsible teams, and repository rules can require code-owner approval. Merely adding the file does not automatically enforce a merge gate; a rule must enable the requirement. Also, listing two owners does not inherently require both to approve. About code owners — GitHub Docs Choose the review policy needed for the actual change. API owners review compatibility; operators review actionable runbooks; security specialists review changes to sensitive access.

A justified “no documentation impact” conclusion is valid for a private refactor whose external behavior and operation remain unchanged. Requiring meaningless edits encourages checkbox compliance. When documentation lives in another repository, coordinate linked changes and release artifacts with a common version instead of assuming the same physical pull request is possible. Emergency fixes need a visible exception, interim instructions and a named short follow-up deadline. Weekly reminders, rotating owners and retrospective audits can detect misses, but allow stale behavior to ship if they are the only control.

Work a release-drift incident and its compatibility repair

Suppose release 4.2 changes report generation from a synchronous response to asynchronous acceptance. The implementation and source guide merge Monday, code deploys Tuesday, and the documentation publishing job fails. A downstream client still expects completed report data, retries the POST and triggers duplicate work. Updating the guide alone would not make the behavior change compatible: the release also needs an explicit client migration or a versioned interface. Documentation engineering exposes that design issue rather than disguising it as a wording problem.

Diagnose the incident by identifying the deployed build, contract artifact hash, published guide version and client version. Reproduce the smallest synthetic request and inspect the status and response schema. Then decide whether to restore the prior compatible endpoint, route affected clients to a maintained version, or complete a previously tested client migration. If the new release accepted legitimate jobs, rolling back code must preserve or reconcile those jobs. A documentation rollback cannot undo business effects.

Quantify the exposure without inventing incident probabilities. In a fictional process with ten behavior-changing merges uniformly spread through a ten-workday sprint and documentation reviewed only at sprint end, average lag is roughly five workdays: approximately fifty change-workdays of potential stale guidance per sprint. Same-change source updates can remove much of that deliberate lag, but this example's publication failure shows why source lag and published-version mismatch need separate measurements. Neither measure is itself a count of customer incidents.

The repair adds a compatibility review, a tested migration path, a documentation manifest containing the release identifier, and a post-release comparison between deployed behavior and published examples. Maintain older guides while older clients remain supported. A mutable “latest” link can help discovery, but operational instructions should expose the supported release range and allow a reader to find their actual version.

Engineer runbooks that remain usable during failure

A runbook is an executable operational argument: under stated preconditions, a sequence should produce a verified outcome. Include the symptom or trigger, scope, required identity and permissions, dependencies, estimated duration, observations, conditional branches, stop criteria, recovery or rollback, and escalation owner. AWS runbook guidance emphasizes procedures that achieve specific outcomes and are kept accurate through operational use and change. OPS07-BP03 Use runbooks to perform procedures A generic instruction to “restart the service” hides instance selection, customer impact, draining, readiness and failed-restart behavior.

Distinguish a deterministic procedure from diagnostic guidance. A certificate renewal runbook can specify known checks; a playbook for unexplained database failures should branch on DNS, transport, TLS, authentication and query errors. During a regional outage, use the relevant tested runbook when its prerequisites hold; an assumed backup or inaccessible identity service can invalidate it. Keep a protected, versioned way to access essential instructions when the primary documentation system is part of the outage.

A drill should be performed by someone other than the author using realistic permissions and synthetic data. Observe whether they can select the correct resource, recognize expected output, detect a deliberately missing prerequisite, stop safely and verify the customer journey. Time the full sequence, including getting credentials and finding instructions. Redact secrets from recordings and restrict evidence retention. A successful shell exit is not enough when the procedure promises restored ordering, complete data or valid authorization.

Convert a stable procedure to automation where useful, but retain its purpose and failure contract. Define input validation, dry-run limitations, idempotency, checkpoint behavior and partial-failure recovery. A script that works only from its author's laptop leaves implicit dependencies. Version the automation and its instructions together, then verify the packaged version in a clean environment.

Use bounded documentation checks and measure downstream correctness

These illustrative local commands inspect changes without modifying a repository. BASE_REV and HEAD_REV represent known revisions available in the study repository; paths represent an example project's layout. The diff can reveal that an endpoint changed without its contract, or that a runbook still names an obsolete configuration. It cannot prove semantic correctness.

git diff --name-only BASE_REV...HEAD_REV -- src/ api/ docs/ runbooks/
git diff BASE_REV...HEAD_REV -- api/openapi.json docs/ runbooks/
python3 -m json.tool api/openapi.json > /dev/null

JSON parsing checks syntax only. Add a pinned OpenAPI validator for the declared specification version, controlled link checks, example-schema checks, consumer contract tests and isolated runbook drills in the actual delivery pipeline. Avoid running arbitrary commands found in documentation automatically against production. A harmless-looking example can contain a destructive operation or external side effect. Treat executable examples as reviewed code with scoped credentials and a disposable environment.

Use review to address what automation cannot infer: whether the explanation exposes the real business risk, whether prerequisites are discoverable, whether a default changed meaning, and whether the rollback promise survives new writes. Contract tests can support independent catalog and checkout releases, but passing them does not prove every shared database or deployment dependency has been removed. Keep end-to-end tests for essential customer journeys and update their scope when boundaries change.

Measure documentation defects by downstream consequence: stale instructions found during drills, incompatible examples in a supported version, time required to complete a task, and incidents attributable to guidance. Track publication failures and unresolved emergency exceptions with accountable owners. Customer feedback should feed an issue tied to the affected version and a regression check where possible. Pages changed, reminders sent and links collected are activity counts; they do not show that a reader can safely perform the intended task.

Keep in mind

  • Explain purpose, procedure and reference at the level needed by each reader.
  • Keep source claims, API behavior and published release versions traceable to the same evidence.
  • Same-PR updates prevent avoidable drift; compatibility tests, publication checks and drills establish usable guidance.

At the whiteboard

Why is a same-PR documentation rule stronger than a rotating documentation owner, and what does it still miss?
The same change gives reviewers immediate access to implementation context before release, while periodic ownership permits a lag in which users read stale instructions. A rotating owner can audit the process but should not become its only preventive control. The rule still misses semantically wrong updates, incompatible API changes, failed publishing and different deployed versions. Add affected-contract checks, behavior review, coordinated publication and post-release verification. Permit explained no-impact cases and visible emergency exceptions rather than ceremonial file edits.
How would you document one API integration for executive approval and implementation?
Create one report with a business-outcome summary, material risks, costs, assumptions and a concrete decision, then a technical appendix following the request and data flow. Link each major summary claim to its mechanism or evidence, such as duplicate transaction risk to the idempotency and reconciliation tests. Define contracts, identity boundaries, timeout and retry behavior, rollout and recovery. Ask an executive to identify the decision and an engineer to implement a synthetic case from the same version. Preserve the photographed same-document requirement while recognizing that separate artifacts can be valid elsewhere.

Last verified 2026-09-06

03 / SHOW YOUR JUDGMENT

Leadership, with evidence.

Learn all 16 principles, the tensions between them, and the details that make a behavioral answer credible.

From principles to actual behavior

The supplied poster lists the older 14-principle set. The current set adds Strive to be Earth’s Best Employer and Success and Scale Bring Broad Responsibility. Use these guides to examine your own decisions. For STAR stories, separate the situation, your task, your specific actions, results and reflection. Use numbers you can substantiate and acknowledge what you would change.

Amazon’s Leadership Principles

Leadership principle 01

Customer Obsession

Understand customer needs, earn durable trust, and judge decisions by the customer outcomes they produce.

Meaning and the current principle set

Amazon's current Leadership Principles list includes Customer Obsession. The supplied poster contains the older 14 principles; Amazon's 2021 announcement added Strive to be Earth's Best Employer and Success and Scale Bring Broad Responsibility, producing the current 16. Have Backbone; Disagree and Commit is one principle, including both halves of its name. Preserve the historical poster as photographed while studying the current names.

The following analysis and practice prompts are original teaching material, not an official assessment key or predictions of interview questions. Customer Obsession begins by identifying whose problem matters and what improvement would mean. Amazon's explanation explicitly accommodates both economic sustainability and awareness of competitors. A service that delights briefly but cannot be maintained is a weak long-term promise.

Observe the need before selecting a solution

Separate the person requesting a feature, the person paying for it, and the people using or operating it. Their interests can differ. An executive may request a migration while support staff need fewer failed transactions and operators need a manageable recovery process. Write a small outcome statement: affected users, painful task, baseline, desired improvement, and constraints. Ask for a recent concrete failure rather than accepting a broad claim such as “the system is slow.” Pair interviews with task observations and operational evidence.

Make feedback actionable through a repeatable mechanism: categorize contacts by customer task, investigate recurring failures, assign a decision owner, and check whether the change reduces the original problem. Ticket closure alone can reward premature closure. Pair it with recurrence, task completion, and a sample of customer confirmations. A quiet customer may have abandoned the service; silence is not necessarily satisfaction.

Misuses and tensions

Customer focus does not require agreeing to every requested implementation. If a customer asks for unrestricted database access to unblock reporting, explain the actual reporting need, offer a bounded access path, and make the remaining tradeoff explicit. Respectful refusal can protect customer trust. Similarly, the loudest customer is not automatically representative: a bespoke workflow may make the experience worse for smaller customers who cannot attend design meetings.

Frugality asks whether a benefit can be sustained; Insist on the Highest Standards asks whether speed transfers defects to users. Bias for Action can support a reversible pilot, while Ownership requires someone to operate it afterward. Resolve these tensions with a decision: what is safe to test, who is affected, what downside is bounded, and when evidence will be reviewed. Do not use an LP slogan to skip the difficult comparison.

Truthful STAR evidence workshop

Amazon's data-role preparation page describes STAR as situation, task, action, and result. Use that structure here without importing that page's role-specific interview schedule. Find a real support exchange, product decision, volunteer service, or coursework project. For situation, describe the customer problem and how you learned about it. For task, name your responsibility and the constraint you could not ignore. For action, reconstruct the questions you asked, alternatives you considered, and decision you personally made. For result, report the observed effect and unresolved limitations.

Check a ticket, review note, measurement, or contemporaneous message where available. Distinguish direct observation from recollection, and an estimate from a measured count. If you lack a numeric outcome, use bounded evidence such as a customer accepting a tested procedure; do not invent retention gains. Include whose contribution made your work possible. Finish with what you would investigate earlier next time.

Fictional teaching example: recovery promises

Fictional teaching example; not the learner's experience or an Amazon case. A support engineer finds that a customer's weekly database backups and three-hour restore do not meet the stated one-day data-loss allowance and one-hour recovery target. Her task is to explain the gap and organize a viable next step. She writes the finding first, asks which transactions matter most, and brings an operator into a restore review. They discover that preparation and validation consume much of the elapsed time.

In this invented example, a revised procedure reaches 70 minutes in one rehearsal. She reports improvement but explicitly says the one-hour target remains unmet. That result demonstrates useful customer advocacy without falsely claiming success. The next decision is whether further recovery investment is justified by the customer's impact and budget.

Quiz connections and reflection

In explaining both recovery gaps, customer care means an accurate answer plus an owned next step, not a reassuring falsehood. In choosing a service model, requirements discovery supplies the missing basis for a recommendation. In writing for engineers and executives, a shared document should let each audience make its needed decision.

Reflection: recall a request you accepted too literally. What underlying need did you miss, and whose voice was absent? These are evidence exercises. A frequent customer-facing role does not automatically prove better judgment than occasional, careful customer work; choose personal-experience answers according to your actual responsibilities.

Build your evidence bank

Describe a time customer evidence changed the problem you were solving.

Show the original request, a specific observation, your changed decision, and a customer outcome. Explain why the evidence was more than one persuasive anecdote and what uncertainty remained.

  • What did the original request conceal?
  • How did you verify the revised interpretation?
Tell me about a customer request you declined or substantially changed.

Explain the customer goal, the reason for the boundary, and how you preserved usefulness and trust. Include the customer response and avoid portraying refusal alone as evidence of leadership.

  • What harm or constraint made agreement inappropriate?
  • What alternative did you offer?
Describe a conflict between two customer groups that you had to resolve.

Provide a decision rule tied to task impact, evidence from both groups, and an explicit compromise. Show follow-up with affected users instead of claiming every group was delighted.

  • Who was underrepresented in the discussion?
  • What did the selected option cost the other group?
Tell me about a recurring customer complaint you converted into a systemic improvement.

Trace complaint patterns to a cause, a repeatable corrective mechanism, and a period of observed results. Use recurrence or task-success evidence and disclose other changes that might explain improvement.

  • How did you distinguish recurrence from unrelated incidents?
  • Who owned the change after you identified it?
Describe a decision where customer benefit conflicted with a short-term business metric.

Name the metric sacrificed, the customer benefit sought, the decision authority, and the observed result. Distinguish a tested business case from a hopeful claim about future loyalty.

  • What longer-term value did you expect?
  • What evidence or limit kept the decision economically responsible?
Tell me about a time you communicated bad news to a customer.

Reconstruct a clear explanation of impact, uncertainty, and next steps. Show an accountable follow-up and whether the promise was met; a polished apology without operational action is incomplete.

  • What did you know and what was uncertain?
  • What concrete next commitment did you make?
Describe how you learned about customers who rarely contacted your team.

Explain a real outreach or observation method, the neglected need discovered, and the resulting decision. Show the limits of the sample and avoid treating a lack of complaints as proof of satisfaction.

  • How did you reach them?
  • What selection bias affected your findings?
Tell me about a customer-focused change that failed to improve the experience.

Offer the original success criterion, contrary outcome evidence, and your correction or rollback. Account for customer costs and the learning applied later rather than redefining success after the fact.

  • Which assumption was wrong?
  • How did you detect the failure and respond?
Apply this principle in the quiz · 64 connections
Deploy in multiple regionsClarify architecture and user requirementsUse a CDN for worldwide deliveryPlace a cache before the web serversStore sessions outside application instancesUse the compute instance IP addressEnable sticky sessions for authentication failoverShare balanced articles about multi-cloudSend documentation promoting AWS over competitorsSend a list of competitors' recent outagesRecommend moving to the cloud to avoid outagesHold a technical discussion and review the architectureReview and improve the existing disaster recovery planSend availability and disaster recovery guidanceSend an AWS whitepaper about AZ and Region outagesRecommend using services across multiple RegionsDiscuss high availability and disaster recovery with the customerAdd a secondary location and a failover mechanismAsk the customer to supply preferred logging solutionsArrange a discussion of the customer’s current architectureOffer partner solutions that match the customer’s requirementsAsk about log sources, formats, and storage requirementsPromise logging documentation in a later emailDiscuss container and serverless architecture optionsSuggest migrating to a three-tier architectureAssess the application before proposing a migration designAsk the customer to call a cloud consulting teamEnable web-server logging to investigate failed searchAdd servers without confirming the bottleneckAsk for the actual error messagesInvestigate changes during the regression windowScale CPU and RAM only after identifying resource pressureCapture slow-query evidence from the affected report windowBlock known hostile IP addresses as a supplementary controlUse a web application firewall with suitable inspection rulesDo not equate solving a CAPTCHA with a safe requestEnforce encryption for stored data and data in transitApply least privilege to AWS accessEvaluate pilot light or warm standbyShare documentation about relevant new technologiesExplain disaster-recovery strategy tradeoffsProcess images with event-driven serverless computeSchedule image work in batchesExplain that both recovery objectives are missedDo not claim the weekly backups meet a one-day RPODo not claim a three-hour restore meets a one-hour RTOExplain both recovery gaps and offer practical helpCombine application filtering with tier segmentationRestrict database ingress to the application security groupRecognize the blast radius of an overprivileged function identityDiagnose database connectivity from logs and the actual network pathCreate an address record for a server without a DNS hostnameTrace redirects when a form POST arrives as GETLower DNS TTL before the migration windowDiscover requirements before choosing a cloud service modelIdentify the bottleneck before selecting a scaling mechanismUse a managed database with a verified configuration and rollback planChoose IaaS when operating-system access is mandatoryGather technical-writing evidence from complementary sourcesLayer one API document for executives and engineersExplain a migration in terms that support a business decisionFirst steps in monolith decompositionBegin a backup plan with business recovery needsCustomer outage: confirm continuity and impact

Last verified 2026-09-06

Leadership principle 02

Ownership

Take responsibility for durable outcomes across team boundaries and ensure commitments have a credible path to completion.

Responsibility follows the outcome

Ownership concerns the whole outcome and its future consequences, not just the deliverable assigned to one team. The official definition emphasizes a long horizon and responsibility beyond local boundaries. Amazon's Ownership explanation makes finding an owner and completing a handoff concrete parts of the behavior. You can own the path to resolution while another qualified person owns a specialized task.

For an engineering change, trace responsibility through implementation, deployment, customer communication, operations, and retirement of the previous mechanism. A merged change can still leave an unowned incident. Ask who will know that the outcome has been achieved, who can act if it has not, and where that commitment is recorded.

Make commitments observable

A useful commitment includes an intended result, a responsible person, a checkpoint, dependencies, and evidence of completion. If another team must act, establish acceptance rather than treating a sent message as a transfer of responsibility. Include the information needed to proceed and a way to escalate delays. Escalation should explain impact, options, and the decision required; copying a manager into an unexplained thread creates attention without resolving the dependency.

Look for local optimizations that export cost. A team may improve deployment speed by skipping updates that support engineers then reconstruct during incidents. Measure the entire workflow, including rework and support load. Ownership also means acknowledging your contribution to a defect quickly enough that others can contain it. Accountability is specific about your decisions and respectful about collaborators' constraints.

Misuses, delegation, and principle tensions

Heroic availability can conceal a fragile ownership model. If only you can deploy or restore a service, the organization has a dependency, not a durable success. Delegate with decision boundaries, access, training, and review points. Do not bypass permission controls because a problem is urgent; involve the authorized responder while maintaining customer continuity. Owning an outcome does not confer authority over every system involved.

Ownership and Deliver Results may conflict when a shortcut meets today's deadline but creates recurring operational work. Make the debt visible, identify who accepts it, and fund a realistic removal step. Hire and Develop the Best supports giving others meaningful responsibility, even when doing everything yourself seems faster. Strive to be Earth's Best Employer adds a useful tension: recurring exhaustion is evidence to improve staffing or mechanisms, not an achievement to demand from everyone.

Truthful STAR evidence workshop

Use the STAR structure to examine a real commitment that crossed a boundary. Situation: what customer or team outcome was at risk, and why was the boundary problematic? Task: what were you accountable for, and what authority did you actually hold? Action: separate your diagnosis, coordination, escalation, implementation, and verification. Name the people or teams that owned the other parts. Result: state what was completed, what remained open, and how you knew the handoff worked.

Build a short timeline from available records. Check whether your story skips the difficult interval between “I contacted someone” and “it was resolved.” If a colleague performed the fix, claim your coordination and verification accurately. Include a commitment you missed and how you reset expectations. A smaller verified contribution is stronger evidence than borrowing credit for the whole program.

Fictional teaching example: closing the documentation gap

Fictional teaching example; not a real biography. A developer notices that a deployment changes an API error response while the support runbook still describes the old behavior. Her assigned feature is complete, but downstream staff are already investigating the wrong condition. She checks impact with support, prepares a documentation correction with the service owner, and links publication to the deployment version. She also helps the team add a review question about operational documentation.

The invented result is that a colleague can follow the updated procedure during a rehearsal without asking the author. The developer records one remaining ambiguity for the next change. Her evidence is the completed handoff and usable procedure; she does not claim that a single review checkbox eliminated all future documentation incidents.

Quiz connections and reflection

Contacting a colleague for recovery assistance can demonstrate responsible collaboration. Credit the proposed contact, but do not invent expertise, availability, or a completed architecture that the action never states. In documentation drift within a sprint, ownership extends to updating and publishing the information downstream teams use. AWS version-control guidance supports tracking changes to operational assets; the same-change review exercise here is a teaching application of that mechanism.

Mixed data without classification also tests whether migration work ends at transfer or includes establishing appropriate treatment of the resulting data. Reflection: which of your recent “done” items still depended on someone guessing the next step? Identify one closure check that would expose that gap without adding unnecessary ceremony.

Build your evidence bank

Describe an important problem outside your formal remit that you helped resolve.

Show the uncovered outcome, your specific contribution, coordination with the responsible team, and verified closure. Explain why intervention helped rather than merely creating duplicate work.

  • Why did it need your involvement?
  • What authority boundaries did you respect?
Tell me about a handoff that you discovered was incomplete.

Describe the failing boundary, the repair, and evidence that work continued. A forwarded message is insufficient unless the recipient accepted responsibility and had the means to deliver.

  • What information or acceptance was missing?
  • How did you confirm the recipient could proceed?
Describe a commitment you missed and how you handled it.

Provide an honest timeline, early or late communication, your share of responsibility, and a practical recovery. Include the consequence and the mechanism changed to avoid repeating the same miss.

  • When did you recognize the risk?
  • How did the revised plan affect others?
Tell me about a short-term win you challenged because of its future cost.

Explain immediate benefits and longer-term costs with explicit assumptions. Show who accepted the tradeoff, what was delivered, and whether the promised debt reduction actually happened.

  • Who would bear the deferred work?
  • How did you compare options under the deadline?
Describe a dependency you escalated when normal coordination failed.

Show impact, timing, viable options, and a clear ask to someone with authority. Explain how escalation preserved collaboration and whether it resolved the dependency rather than just attracting attention.

  • What did you try before escalation?
  • What specific decision did you request?
Tell me about work you delegated to remove yourself as a single point of failure.

Include access, preparation, review boundaries, and independent performance. Report both the other person's contribution and your support; reducing personal workload alone does not prove a stronger system.

  • What decisions could the other person make?
  • How did you verify readiness without taking back the task?
Describe a defect you caused that affected another team.

Trace containment, cross-team communication, correction, and verification with the affected users. Avoid blaming an absent reviewer or claiming accountability without describing your actual decisions.

  • How did you disclose your role?
  • What did you do beyond fixing your own component?
Tell me about a project you responsibly stopped or retired.

Show an evidence-based stop decision, authorized transition, and completed cleanup. Distinguish responsible withdrawal from abandonment by explaining the outcome for people who depended on the work.

  • What made continuation a poor use of resources?
  • How did you handle users, data, and outstanding commitments?
Apply this principle in the quiz · 27 connections

Last verified 2026-09-06

Leadership principle 03

Invent and Simplify

Find better ways to solve problems, learn from ideas wherever they originate, and reduce the work needed to use and sustain a solution.

Innovation must change the experience

Invent and Simplify joins creating better approaches with reducing unnecessary complexity. The current definition encourages outside ideas. Amazon's principle explanation shows that simplifying the customer experience can matter as much as creating a new technical capability. A useful invention may combine existing tools in a better workflow; originality of every component is not the test.

For this guide's practice exercises, start with friction someone can describe: repeated setup, confusing choices, duplicated approval, or coupled releases. Identify the assumption keeping that friction in place. Then ask what can be removed, standardized, moved earlier, or made self-service. A shorter implementation is valuable only if it preserves the required behavior and improves the total experience.

Measure complexity where it is paid

Count more than code lines or boxes on a diagram. Consider user decisions, manual handoffs, configuration variants, recovery steps, dependencies, and knowledge needed by the next operator. An automation script can shorten a task while adding a hidden credential dependency and an opaque failure mode. Record who now diagnoses failure and whether someone besides its author can operate it.

Use a bounded experiment: document the current task, define a correctness check, test a smaller alternative, and compare effort and failures. Keep the previous path available while uncertainty is high. Include maintenance in the comparison: a prebuilt image can remove dependency installation from urgent startup, but it introduces an image rebuild and patching responsibility. That can be a worthwhile exchange when it is understood and owned.

Misuses and tensions with other principles

Novelty can become a distraction. A rewrite that duplicates existing behavior without improving customer outcomes may add migration risk and consume learning time. Conversely, calling every existing process “legacy” ignores the exceptions and safeguards it accumulated. Before removing a step, identify why it exists and test the important edge cases. Simplification should remove needless work, not hide unresolved requirements.

Insist on the Highest Standards protects essential validation when simplifying a release process. Frugality encourages reuse but should include integration and support costs, not just license price. Think Big can identify a reusable capability while Ownership asks who will support it. Being misunderstood is possible during invention, but disagreement is still evidence to examine. Explain your hypothesis clearly, invite a concrete objection, and specify what result would make you change direction.

Truthful STAR evidence workshop

Apply STAR to a real improvement whose original workflow you can reconstruct. Situation: who did the task and where did effort or mistakes accumulate? Task: what outcome and constraints were yours? Action: describe the assumption you questioned, alternatives you compared, and the smallest useful experiment. Identify reused tools and other people's ideas openly. Result: compare equivalent tasks before and after, including failures, adoption, and ongoing maintenance.

Avoid counting all future time savings as already realized. If you estimate ten minutes saved per task, state the observed sample and actual task frequency. Report setup cost separately. If adoption was low, investigate why rather than presenting the prototype as a completed operational win. An unsuccessful experiment can still demonstrate sound invention if it exposed a wrong assumption at bounded cost.

Fictional teaching example: independent release work

Fictional teaching example; all events and results are invented. A retail team finds that catalog edits repeatedly delay checkout fixes because both ship together. A developer is asked to reduce release waiting, not increase request throughput. She maps which changes cross the boundary, proposes a stable catalog interface, and extracts one read path with separate ownership and compatibility tests. The team keeps a rollback route and monitors errors.

In this invented result, three catalog releases proceed without a checkout release, but a shared data change still needs coordination. The developer reports that limitation and proposes the next boundary improvement. Saying “we adopted microservices” would conceal the remaining coupling. The evidence concerns the ability to release useful changes safely and independently, weighed against added operational work.

Quiz connections and reflection

Preinstalling dependencies in an image moves repeated work off the scale-out path; it does not guarantee instant readiness. The retail release question is about independently deployable business capabilities, so adding a broker or containers alone is insufficient. In documenting a new script or solution, explaining purpose, prerequisites, use, and failure behavior makes the improvement transferable.

Reflect on something you automated: which burdens disappeared, which moved, and who now bears them? Revisit the cloud-native experience self-report truthfully. Designing a component inside a modernization program is meaningful, but it does not establish ownership of the entire architecture. Architecture labels are neither a biography nor a universal personality answer key.

Build your evidence bank

Describe a process you simplified by removing a step rather than automating it.

Show the old workflow, the evidence that a step was unnecessary or replaceable, and validation of edge cases. Include the effect on users and operators rather than just counting fewer steps.

  • Why had the step existed?
  • How did you check that its safeguard was preserved?
Tell me about an idea you adopted from outside your team.

Credit the original source, compare it with the local approach, and explain a tested adaptation. Show learning and customer benefit without pretending external reuse was entirely your own invention.

  • How did you discover it?
  • What adaptation did your context require?
Describe automation that initially made a task harder and how you repaired it.

Include a real failure or usability problem, its diagnosis, and the revised workflow. Compare total effort and support demands before and after instead of defending automation merely because it exists.

  • Where did complexity move?
  • What feedback exposed the new burden?
Tell me about a small experiment that tested a much larger idea.

Provide a narrow hypothesis, bounded cost, success and stop criteria, and an observed result. Explain what the experiment could not establish and how that limited the next decision.

  • Which assumption did the experiment isolate?
  • What result would have stopped further investment?
Describe a time you chose an existing solution over building your own.

Show a fair comparison of capabilities, constraints, and total effort. Explain why reuse served the outcome and what limitations you accepted, rather than treating all custom development as waste.

  • What requirements were decisive?
  • How did you account for integration and maintenance?
Tell me about an invention colleagues initially found difficult to understand.

Describe the disagreement accurately, the explanation or demonstration you supplied, and the resulting evidence. Persistence must include responsiveness to criticism, not a claim that opposition proves originality.

  • What was their strongest legitimate objection?
  • How did you make the idea testable?
Describe how you made a useful tool usable without its original author.

Include documentation, defaults, failure guidance, and observation of someone else using the tool. Report actual independent adoption and remaining support needs, not merely that a repository was shared.

  • What knowledge was initially implicit?
  • What did an independent user struggle with?
Tell me about an improvement you abandoned after learning it did not solve the right problem.

Show the initial hypothesis, contrary evidence, and a responsible stop or pivot. Account for cleanup and learning; avoid reframing a failed rollout as successful solely because the team learned something.

  • Which user outcome failed to improve?
  • What did you preserve from the experiment?
Apply this principle in the quiz · 19 connections

Last verified 2026-09-06

Leadership principle 04

Are Right, A Lot

Build sound judgment by seeking diverse evidence, challenging assumptions, and updating decisions when stronger information appears.

Judgment is different from winning

Are Right, A Lot asks for sound judgment informed by differing perspectives and attempts to disprove an initial belief. That is the emphasis of the official definition. Amazon's explanation explicitly rejects the interpretation that your own idea must win. The useful outcome is a better decision for customers, including when someone else provides it.

In the original exercises below, evaluate judgment from the information available at the time. A favorable outcome can result from luck; a careful decision can still encounter an unlikely failure. Explain both process and outcome. The goal is neither defensive certainty nor permanent indecision, but a decision that reflects the stakes and the quality of available evidence.

Expose assumptions and seek contrary evidence

Keep a short decision record: problem, alternatives, constraints, assumptions, confidence, and the next evidence that could change the choice. Separate observed facts from interpretations. “Users increased and latency rose” is an observation; “we need more application servers” is a hypothesis. A shared database or an external dependency may be the actual limit. Ask what would be expected if the hypothesis were false, then look for that evidence.

Seek perspectives that change the information available, including operators, less vocal colleagues, customers with unusual workflows, and people responsible for failure recovery. Invite their reasoning before announcing a strong preference. Agreement from several people who all rely on the same dashboard is not several independent confirmations. If measurements and customer reports conflict, investigate differences in population, timing, or measurement definition.

Misuses and principle tensions

Changing your mind is valuable when you can explain why the evidence changed, not when you merely follow the most senior speaker. Likewise, admitting uncertainty is useful only if it leads to a bounded next action. Endless research can avoid accountability while customers wait. Compare the cost of delay with the downside of being wrong and distinguish easily reversible choices from commitments that are difficult to unwind.

Bias for Action can justify a small reversible trial with a rollback threshold. Dive Deep can justify further diagnosis when a plausible error would cause major harm. Have Backbone; Disagree and Commit asks you to surface substantive concerns and then support an authorized decision; a newly discovered material risk still deserves escalation. Earn Trust requires describing an unsuccessful decision candidly instead of rewriting the historical assumptions to make yourself look prescient.

Truthful STAR evidence workshop

Use STAR to recover a real uncertain decision. Situation: define the ambiguity, stakes, and deadline. Task: specify whether you were the decision maker, recommender, or investigator. Action: name the alternatives, your initial belief, the strongest contrary evidence, and how you weighted it. Result: describe what happened and which assumptions remained unresolved. Include a follow-up decision if the original choice needed correction.

Consult an earlier proposal or message if you can; memory often makes the eventual answer appear obvious. If no record remains, label your recalled confidence qualitatively rather than inventing a probability. Separate a forecast from an observation. A statement such as “we expected lower latency, but measured no improvement in that test” is informative. Explain the next diagnostic step and give credit to whoever exposed the mistaken assumption.

Fictional teaching example: a misleading scaling signal

Fictional teaching example; not an actual customer incident. An engineer sees slow requests after traffic doubles and initially recommends more web servers. Her task is to choose a temporary mitigation within an hour. An operator points out that application CPU is low while database waits rise. She tests a small capacity increase, finds no useful latency improvement, and stops expanding the fleet. A recent query change becomes the next hypothesis.

The team uses an authorized rollback of that change and observes reduced waits and better request latency. She describes the result as evidence supporting the query hypothesis, while checking for simultaneous workload changes. Her strongest contribution is the revised decision and bounded experiment, not the initial confident suggestion. The story also exposes wasted time honestly.

Quiz connections and reflection

In the scaling recommendation, diagnose the limiting resource before prescribing fleet growth. In technical-writing research, complementary sources improve coverage, but contradictions still require investigation. In the recovery-objective response, the printed weekly backups and three-hour restore do not establish compliance with one-day and one-hour targets; do not let a reassuring answer displace the stated evidence.

Reflection: identify your most confident recent technical claim. What observation would disprove it, and who would be most likely to notice? Experience-report frequency is not a proxy for being right: attending weekly architecture discussions may provide exposure, while a less frequent participant may contribute a decisive test. Report frequency truthfully and demonstrate judgment through a separate concrete example.

Build your evidence bank

Tell me about a decision where you changed your initial position after contrary evidence.

Show the chronology, competing explanations, and revised action. Identify what you personally did with the evidence and the resulting outcome; avoid presenting ordinary agreement as a major reversal.

  • What was your original belief?
  • Which evidence actually changed its plausibility?
Describe an important decision you made with incomplete information.

Explain stakes, alternatives, missing information, and why the chosen action was proportionate. Include a review or rollback condition and the observed outcome without pretending uncertainty disappeared.

  • What could not be learned before the deadline?
  • How did you limit the consequences of being wrong?
Tell me about a time the majority favored an option that you questioned.

Present the majority view fairly, your substantive objection, and the test or discussion that followed. The evidence may support either final choice; winning the debate is not the required result.

  • What independent evidence supported your concern?
  • How did you distinguish evidence from personal preference?
Describe a successful decision whose outcome was partly luck.

Separate sound reasoning from accidental benefit and show how you recognized the difference. Include a concrete process improvement instead of using the good result to excuse an avoidable exposure.

  • Which favorable condition had you not controlled?
  • What would you change in the decision process?
Tell me about conflicting metrics and customer reports that you reconciled.

Show metric definitions, sampling or timing differences, and investigation of the discrepancy. Explain how the corrected interpretation changed a decision and what ambiguity remained.

  • Did they measure the same users and time period?
  • What additional observation resolved the mismatch?
Describe how a quieter or less senior colleague improved your judgment.

Name the distinctive information or reasoning contributed and your response. Credit the colleague and show an actual decision change or strengthened test, rather than merely saying everyone was heard.

  • How did you create room for their evidence?
  • What changed because of their contribution?
Tell me about a time you decided further analysis was no longer worth delaying action.

Explain diminishing value of more research, the cost of delay, and the protection around acting. Demonstrate an explicit decision and follow-up rather than using urgency as a substitute for reasoning.

  • What decision-relevant uncertainty remained?
  • What observation would trigger reconsideration?
Describe an incorrect recommendation you later corrected publicly.

Provide the mistaken assumption, discovery, correction, and impact on affected people. Show candid ownership and a better future evidence check without exaggerating how quickly or completely the harm was repaired.

  • Who had relied on it?
  • How did you communicate the change and repair the consequences?
Apply this principle in the quiz · 6 connections

Last verified 2026-09-06

Leadership principle 05

Learn and Be Curious

Keep improving your understanding and capabilities, explore unfamiliar possibilities, and turn useful learning into changed behavior.

Learning changes what you can do

Learn and Be Curious combines continued improvement with active exploration of new possibilities in the official principle. Amazon's explanation stresses self-assessment and actually making a planned change. Listing courses or technologies does not by itself demonstrate that your decisions or work improved.

For practical evidence, connect a knowledge gap to a learning activity, a check of understanding, and a changed action. Exploration can precede an immediate business need: learning an unfamiliar protocol may later help diagnose a failure. Still, distinguish discovering something interesting from validating it well enough to recommend or operate it. Curiosity and competence are related but different claims.

Build a learning loop with a stopping point

Start by naming what you cannot currently explain or do. Read a primary source, ask an experienced colleague a focused question, or construct a safe experiment. Make a prediction before testing so you can notice when your mental model is wrong. Try explaining the result to another person and ask them for a counterexample. Record version, configuration, and limitations when those affect the conclusion.

Divide learning time between immediate gaps and broader exploration according to actual responsibilities. An incident may require a known mitigation now and deeper study afterward. A design phase may justify investigating alternatives before committing. Set a review point: what new evidence would make further study useful, and what is now sufficient to act? Teaching others can expose gaps in your understanding, but circulating unverified notes can spread them.

Misuses and tensions

Curiosity is not collecting fashionable labels or switching tools whenever implementation becomes difficult. A failed experiment should produce a clearer model, a corrected approach, or a justified stop. Be precise about what a lab proves: a single successful request does not establish production reliability, load behavior, or recovery. Equally, lack of formal training does not mean a person cannot learn effectively through practice, feedback, and careful reading.

Deliver Results asks when learning will improve the work and when a decision must be made. Are Right, A Lot asks whether new information should change an existing belief. Hire and Develop the Best encourages learning through coaching and shared opportunities. None requires pretending expertise. Asking for help early can protect customers; the stronger follow-through is to retain and apply what you learned so the same gap does not remain an avoidable dependency.

Truthful STAR evidence workshop

With the STAR structure, choose a real gap rather than starting with a credential. Situation: what unfamiliar problem or feedback revealed the gap? Task: what did you need to become capable of doing, and by when? Action: identify the source, practice, failed attempt, feedback, and changed approach. Result: describe the task you could perform afterward and the limitations you still recognized.

Keep course completion separate from operational responsibility. A personal lab, coursework exercise, volunteer project, and production rollout are all usable contexts when labeled accurately. If you only designed a component, describe its interfaces and the review you received rather than claiming the full application. Collect one example of exploratory learning and one of learning for an immediate need; the contrast helps you explain your real habits without manufacturing a preferred personality.

Fictional teaching example: checking a mental model

Fictional teaching example; not the learner's history. A junior engineer assumes that a successful HTTP response proves a form submission was saved. After seeing an empty record, he studies the request path and recreates a redirect in a local test. He predicts which method will reach the final handler, compares the trace with that prediction, and discovers that his original model omitted method-changing redirect behavior.

He asks a reviewer to check the proposed fix and documents the tested behavior and its scope. In the invented result, the reproduction now saves the expected record and a teammate can repeat the check. This demonstrates a learning process; it does not justify claiming expertise across all HTTP clients or production architectures.

The actual work-style pair and experience reports

The photographed learning pair contrasts “I like to learn something new every day” with learning when immediate application is known. The first signals a relative preference for ongoing exploration; the second emphasizes targeted application. The four choices identify which statement is more characteristic and how strongly: left-most, left-more, right-more, or right-most. They are not five effectiveness ratings or an agreement scale. Consider the strength of “every day” and “right away” against ordinary recent behavior. Both habits can be useful; the official LP supplies context, not a published key for this pair.

Architecture-discussion frequency measures reported cadence, not contribution quality. Use a representative period and the provided instructions where coarse categories do not exactly fit. Cloud-native architecture experience mixes scope and project context; distinguish participation, component design, migration design, and broader modernization work. Neither item warrants selecting the most ambitious wording regardless of experience.

Apply learning without outsourcing the decision

In sharing new-technology documentation for recovery, the action can help learning but does not itself reconcile the customer's zero-data-loss, fast-capacity, and affordability requirements. Annotating a relevant source and identifying what remains unproven would improve the next step, but those additions must not be silently credited to the photographed action. Reflect on your last saved article: what changed in your understanding or practice, and what useful question is still unanswered?

Build your evidence bank

Describe a skill gap you identified before it caused a serious problem.

Show honest self-assessment, a targeted learning plan, and an observed ability gained. Distinguish completion of training from demonstrated application and explain what still required help.

  • What signal exposed the gap?
  • How did you check that your learning was sufficient?
Tell me about something you explored without knowing its immediate application.

Describe the question, activity, and actual insight or later use. If no business application followed, say so; explain the bounded learning value without inventing a downstream success.

  • What made the topic worth investigating?
  • How did you balance the exploration with current commitments?
Describe learning you had to do quickly to solve an urgent problem.

Show prioritization, reliable sources or expert support, and a verified action. Explain the remaining uncertainty and the follow-up learning rather than claiming instant mastery under pressure.

  • What did you defer until after the immediate response?
  • Who or what helped you avoid unsafe guessing?
Tell me about feedback that led you to change a recurring habit.

Give the specific feedback, a practical change, and later observation from yourself or others. Separate intention from sustained behavior and acknowledge any part that remained difficult.

  • What behavior did the feedback identify?
  • How did you tell whether your response worked?
Describe an experiment that disproved your understanding of a technology.

Include the initial model, safe test, surprising result, and corrected explanation. State configuration limits and how you avoided generalizing one observation beyond what it established.

  • What had you predicted?
  • How did the test isolate the disputed behavior?
Tell me about learning from someone with a different specialty or background.

Show the substantive new perspective, your effort to understand it, and a changed action or explanation. Credit the other person and avoid reducing the story to merely attending a presentation.

  • What could they see that you could not?
  • How did you use the insight afterward?
Describe a time you stopped studying a topic so you could deliver.

Explain the stopping judgment, evidence supporting action, and outcome. Distinguish responsible scope control from abandoning a necessary understanding of a high-impact or irreversible decision.

  • What was sufficient for the immediate task?
  • What risk or learning remained on the follow-up plan?
Tell me about teaching something that revealed a gap in your own knowledge.

Provide the mistaken or incomplete point, how you verified the correction, and how learners received it. Show improved understanding and responsible correction without pretending the original explanation was flawless.

  • Which question exposed the gap?
  • How did you correct the explanation for your audience?
Apply this principle in the quiz · 10 connections

Last verified 2026-09-06

Leadership principle 06

Hire and Develop the Best

Strengthen team capability through sound selection, candid coaching, meaningful development opportunities, and support for people’s growth beyond your own team.

Selection and development are both responsibilities

The official principle combines improving talent decisions with actively developing people and supporting movement across the organization. Amazon's explanation emphasizes maintaining the hiring bar under pressure and giving useful feedback about growth areas. This guide's interview prompts and coaching exercises are original practice material, not Amazon hiring procedures or a private scoring rubric.

A strong engineer can practice the development half through peer mentoring, onboarding, review, and sharing responsibility without managing employees. Describe that scope accurately. If you have not hired or promoted anyone, do not invent that authority. A truthful example of helping a teammate become independently effective can supply meaningful evidence of development.

Make capability and improvement observable

For a selection exercise, define the role's work before evaluating people. Translate broad adjectives into observable abilities: investigate a failure, explain a tradeoff, learn an unfamiliar interface, or coordinate a dependency. Collect evidence against the same relevant criteria and distinguish what was demonstrated from what you merely inferred. Prestige, similarity to yourself, and confident delivery can distract from actual capability. This is a recommended reasoning practice here, not a claim about a particular Amazon interview score.

For development, agree on a real goal with the person. Diagnose whether the barrier is knowledge, unclear expectations, missing opportunity, insufficient access, or workload. Then choose practice with feedback: observing once, working together, performing with review, and finally acting independently. A plan that consists only of telling someone to “be more senior” gives neither an actionable behavior nor a fair way to assess growth.

Misuses and principle tensions

High expectations do not justify humiliating feedback or withholding context to see whether someone survives. Describe the behavior, its effect, and a possible next attempt; invite their account of the situation. Development should increase the person's agency. Repeatedly taking back difficult work may protect one deadline while preventing the experience needed to improve. Conversely, assigning an unsupported high-risk task and calling it a stretch opportunity transfers avoidable risk to both the person and customers.

Deliver Results creates pressure to hire quickly or perform every task yourself. Ownership asks you to protect delivery through a realistic transition and review plan. Strive to be Earth's Best Employer highlights growth, empowerment, and the person's interests. Supporting an internal move may temporarily reduce your team capacity while benefiting the individual and wider organization. Make that cost explicit and prepare succession rather than quietly blocking the opportunity.

Truthful STAR evidence workshop

Use STAR for a real development contribution. Situation: describe the person's task and the capability gap without disclosing private personal details. Task: distinguish your role as mentor, peer, interviewer, or manager. Action: explain how you agreed on the goal, gave specific feedback, provided practice, and adjusted support. Result: identify what the person subsequently did with greater independence and what remained a development need.

Do not claim sole credit for someone else's promotion or career. They did the work, and others may have contributed. Use evidence you can responsibly discuss: a reviewable output, an independently run rehearsal, or the person's feedback about the support. If you lack hiring experience, state that and choose a mentoring example. If support did not work, explain whether your diagnosis or method was wrong and how you responded.

Fictional teaching example: coaching operational judgment

Fictional teaching example; no real employee is described. A team member can follow a recovery runbook but struggles when an expected status message is absent. A peer mentor's task is to help them reason about prerequisites, not memorize more commands. They inspect a safe rehearsal, compare expected and actual state, and revise the runbook to explain the reason for each decision point. The learner then runs a different rehearsal while the mentor observes.

In the invented result, the learner identifies a missing permission and requests the authorized fix without the mentor taking over. The mentor records that performance in a rehearsal is progress, while independent handling of a live incident remains untested. The colleague's improved reasoning, rather than the mentor's volume of advice, is the development evidence.

Quiz transfer exercises and reflection

The source inventory contains no direct hiring or promotion question. The connections here are transfer exercises. In documenting a new solution, ask how an explanation of purpose and failure handling could help a newcomer operate independently. In documentation drift, practice coaching a reviewer to recognize which API or runbook changes accompany a feature. A checklist supports learning, but does not establish that the reviewer can judge semantic accuracy.

In seeking recovery help from a colleague, consider a paired review that transfers understanding while retaining customer continuity. The photographed action proposes assistance, not coaching, so do not award it additional credit for this hypothetical extension. Reflection: whose capability became stronger through your involvement, and what did they do that they could not do before? Your architecture-discussion frequency or design scope cannot answer that separate evidence question.

Build your evidence bank

Describe a time you helped someone become independent at a difficult task.

Show the agreed goal, staged practice, specific feedback, and independent performance. Credit the learner and identify the conditions under which they still needed support.

  • What could they initially do without help?
  • When did you reduce your involvement?
Tell me about feedback you gave that was uncomfortable but useful.

Provide the substantive feedback, respectful delivery, and follow-up. Include the other person's perspective and observable progress or unresolved disagreement; bluntness alone is not evidence of good coaching.

  • What behavior and impact did you describe?
  • How did the person respond and what changed?
Describe a time deadline pressure tempted your team to accept weaker evidence of capability.

If you participated in selection, explain criteria, your actual authority, and the final decision. Otherwise use a truthful staffing or task-allocation example and clearly state that it was not a hiring decision.

  • What role requirement was at risk?
  • How did you address the delivery pressure?
Tell me about a development approach that did not work and how you changed it.

Show the failed support method, the person's feedback, and a revised intervention. Describe results honestly and avoid framing every difficulty as a lack of motivation in the person being coached.

  • Was the barrier skill, opportunity, access, or expectations?
  • What evidence challenged your first diagnosis?
Describe how you recognized valuable capability that others had overlooked.

Give evidence relevant to the work, the opportunity you helped create, and the outcome. Avoid treating personal affinity or a compelling impression as proof that someone was underestimated.

  • What concrete work supported your view?
  • How did you create a fair opportunity to demonstrate it?
Tell me about a time you supported someone moving beyond your team or usual responsibilities.

Show attention to the person's goals, transparent coordination, and practical transition support. State your actual role and do not claim a career outcome you cannot attribute or verify.

  • What did they want to develop?
  • How did you manage the capacity or handoff cost?
Describe a mechanism you built to help several people learn a recurring task.

Include usable materials, practice, feedback, and observed performance across learners. Report maintenance and limitations so a training session or document count is not mistaken for demonstrated capability.

  • How did you accommodate different starting knowledge?
  • How did you assess understanding beyond attendance?
Tell me about a stretch assignment where you balanced growth with customer risk.

Explain why the assignment fit the growth goal, how support bounded risk, and what the person learned or delivered. A difficult assignment alone is not development without preparation and feedback.

  • What decisions could the learner make independently?
  • What review or escalation boundaries did you establish?
Apply this principle in the quiz · 3 connections

Last verified 2026-09-06

Leadership principle 07

Insist on the Highest Standards

Make quality expectations explicit, prevent defects from reaching others, and improve the mechanisms that keep problems from recurring.

Quality must survive beyond the author

The official principle emphasizes improving quality and preventing recurring defects. Amazon's explanation adds that modeling good standards helps them spread to work a leader cannot personally observe. In this guide's exercises, a standard is a clear expectation with evidence of meeting it, not simply a demand to work harder.

Define quality around the use of the result. A runbook should help an authorized operator recognize the situation, perform the appropriate action, and verify recovery. An API description should match the released behavior. A backup plan should demonstrate recovery against the required time and data-loss objectives. These expectations need checks that reveal actual failures, not just documents asserting compliance.

Build prevention, detection, and durable correction

Start with the defect: what was wrong, who encountered it, and where could it have been caught earlier? Separate containment from correction. An urgent documentation edit can stop one mistake; reviewing affected documentation with its behavior change can reduce recurrence. Tests, review, release controls, and drills serve different purposes. Syntax checks cannot establish that instructions describe the deployed version, while a successful rehearsal on a tiny dataset may not establish production recovery time.

Track escaped defects and recurrence alongside review effort and delivery delay. A quality process that reports more issues may be detecting previously hidden failures rather than making performance worse. Examine severity and the opportunity to detect each class of defect. Assign corrective actions to owners and revisit them after enough relevant changes or exercises to evaluate whether they worked.

Misuses and tensions with speed and cost

Perfectionism can focus on cosmetic consistency while leaving a serious operational gap untouched. Define which acceptance conditions protect customers and which refinements can wait. Do not retroactively lower a target merely because it was missed. If a deadline requires a temporary exception, state the residual risk, compensating measure, decision owner, and expiry or revisit condition. Some failures, such as exposing data to unauthorized readers, require prevention before the affected release proceeds.

Bias for Action supports rapid bounded changes when their risk is understood; Highest Standards determines the essential verification. Frugality encourages checks proportionate to impact, such as testing the actual changed behavior rather than mechanically adding an expensive process to every edit. Hire and Develop the Best asks leaders to teach what good looks like. Public blame may encourage concealment; specific feedback and a safer reporting path produce more useful defect information.

Truthful STAR evidence workshop

Use STAR with a real quality gap. Situation: explain the expected behavior, observed defect, and downstream effect. Task: identify what you could change and the delivery constraint. Action: distinguish immediate containment, causal investigation, process or implementation repair, and verification. Result: report the evidence that the defect stopped recurring, including observation period and sample size, or state that recurrence is still being monitored.

Use the actual acceptance criterion from the time if it is available. Do not invent a company-wide standard to make a small improvement sound larger. “No repeat failures in four rehearsals” is bounded evidence; “the problem can never happen again” is a much stronger unsupported claim. Include a defect that your new check would still miss and explain how another control or follow-up addresses it.

Fictional teaching example: documents tested with behavior

Fictional teaching example; all measurements are illustrative. A team sees two incidents in a month where responders followed a runbook for an earlier API version. An engineer's task is to reduce that class of mistake without delaying every small change. She adds an explicit documentation-impact decision to review, updates affected examples with the feature, and tests one operational procedure in a staging rehearsal. Publication identifies the release version.

In the invented result, six subsequent relevant releases pass the review and no stale-procedure incident is reported during the following month. She does not claim causality is proven by a small sample. The team retains periodic drills because a reviewed source document can still be published incorrectly or become inconsistent with the running environment.

Quiz connections and reflection

The two-week documentation-drift question rewards bringing affected API specifications and runbooks into the same change review. AWS's version-control guidance supports tracking and recovering versions of code and other assets; the semantic review and publication checks above are original applications to this question. A checkbox alone does not prove correctness.

Assuring the customer that both recovery targets are met conflicts with the stated weekly backups and three-hour restore. Standards require reporting the gap. The stateful-firewall question requires the specified HTTP/HTTPS access and SSH restriction; a broad allow rule cannot be credited merely because traffic works. Reflection: which acceptance check in your work would detect a plausible harmful defect, and which only confirms that a process step occurred?

Build your evidence bank

Describe a quality expectation you made explicit because people interpreted it differently.

Show the ambiguity, the customer consequence, a concrete acceptance criterion, and evidence of adoption. Explain how the check measured useful quality rather than merely compliance with your preference.

  • What observable behavior defined success?
  • How did you ensure the standard was understood?
Tell me about a defect you prevented from reaching a downstream team or customer.

Describe the actual defect, the interception point, and the correction. Avoid claiming a hypothetical catastrophic impact as certain; explain the plausible effect and how the fix was verified.

  • Where did you detect it?
  • What evidence showed it would matter?
Describe a recurring problem you helped fix at its source.

Separate symptom relief from causal repair and show ownership of the follow-up. Report recurrence evidence with a bounded observation window and the conditions under which the problem could still return.

  • Why had earlier fixes failed to last?
  • How long and across how many cases did you observe the new approach?
Tell me about a quality decision where a deadline forced a difficult tradeoff.

Explain severity, reversibility, alternatives, and the documented decision. Show a concrete compensating measure or scope reduction and the outcome rather than claiming that every quality concern had equal weight.

  • Which checks were essential and which could wait?
  • Who accepted any remaining risk?
Describe a check that looked reassuring but failed to detect a real problem.

Provide the missed case, the mismatch between check and requirement, and a meaningful replacement or additional check. Include cost and false-positive considerations when relevant to the change.

  • What did it actually measure?
  • How did you redesign verification around the failure?
Tell me about a time you improved quality by teaching others how to review work.

Show specific coaching, practice with real or clearly labeled sample defects, and later reviewer behavior. Attendance or distribution of a checklist alone does not establish that judgment improved.

  • What examples made the expectation concrete?
  • How did you assess independent review quality?
Describe a standard or process you simplified because it added effort without useful protection.

Compare the old and revised process against actual failure modes. Demonstrate that simplification was tested and monitored rather than removing checks solely to meet a throughput target.

  • What evidence showed low value?
  • How did you preserve the important safeguards?
Tell me about a case where you had to report that a promised quality target was still unmet.

State the target, measurement, gap, and accountable plan. Distinguish partial improvement from full compliance and show how candor helped the customer or team make a better decision.

  • What evidence contradicted the assurance others expected?
  • What improvement and next step could you honestly report?
Apply this principle in the quiz · 20 connections

Last verified 2026-09-06

Leadership principle 08

Think Big

Set a compelling direction for a substantially better customer experience and test a credible path toward it as needs and scale change.

Expand the outcome, then make it credible

Think Big asks for ambitious direction and anticipation of future customer needs in the current definition. Amazon's explanation challenges organizations to look beyond repeating a familiar approach. The practice here is to enlarge the customer outcome you consider possible while being explicit about assumptions and execution.

A large budget, worldwide rollout, or complex architecture is not evidence of a valuable vision on its own. State whose experience could become materially better and why current methods cannot adequately achieve that outcome. A junior contributor might identify a repeated workflow that could be shared across teams; meaningful ambition depends on the problem and influence available, not a required job title.

Connect a future direction to present decisions

Describe the future experience in language its users can evaluate. Then identify the key assumptions: demand, feasibility, economics, operating capacity, dependencies, and adoption. Determine which assumption is both most uncertain and most consequential. The first milestone should test that assumption or deliver a useful slice of the outcome, rather than build a large foundation nobody can yet use.

Use staged investment with evidence gates. A pilot may establish usability but not system-wide reliability; a capacity test may establish throughput but not customer demand. Document what each stage proves and the decision it enables. Make a stop or pivot condition part of the plan before enthusiasm and sunk cost make it difficult to reconsider. Communicate both the ambition and what has actually been demonstrated.

Misuses and principle tensions

Thinking ahead does not justify solving every imagined future requirement now. Premature generalization can make today's product slow to change and difficult to operate. Ask whether a design choice preserves a valuable option or commits resources to an untested assumption. A modular boundary can preserve flexibility; an elaborate unused platform may merely increase carrying cost. Different future scenarios can support different choices, so explain which signals would distinguish them.

Frugality constrains how much evidence you buy before committing more resources. Bias for Action favors a meaningful first step; Dive Deep asks whether the arithmetic and dependencies are credible. Invent and Simplify helps make a broad ambition usable. Success and Scale Bring Broad Responsibility raises questions about secondary effects: a widely deployed workflow can amplify access mistakes or burdens on smaller teams. Include those consequences in the plan instead of declaring scale beneficial by itself.

Truthful STAR evidence workshop

Apply STAR to a real occasion when you widened the solution or planning horizon. Situation: describe the repeated need, growth signal, or limitation of the existing approach. Task: state your role in proposing, testing, persuading, or delivering the change. Action: explain the vision, alternatives, evidence gathered, stakeholder concerns, and staged plan. Result: separate the ambition, pilot result, actual adoption, and remaining work.

Do not describe a proposal as an implemented transformation. If three teams adopted your approach, name that bounded scope instead of implying company-wide use. Attribute sponsorship and implementation to the people involved. If your proposal was rejected, report the reasons and what you learned; the quality of your thinking can be discussed without manufacturing an eventual victory. Include the strongest argument for a smaller approach.

Fictional teaching example: connectivity that can grow

Fictional teaching example; the numbers and project are invented. A network engineer is asked to connect ten isolated segments, with twenty expected the next year and limited operational staffing. He compares a full mesh, requiring 45 pairwise links now and 190 at twenty segments, with a hub model requiring one attachment per segment. His ambition is a repeatable onboarding process with understandable routing and access policy, not simply a bigger network diagram.

He pilots three segments, validates allowed and denied paths, examines hub failure behavior, and estimates ongoing cost before proposing broader adoption. The invented result is a validated pilot and approval for a staged rollout; the full twenty-segment outcome has not yet occurred. He states that route complexity, capacity limits, and resilience still require engineering even when attachment count grows more slowly.

Quiz connections and reflection

The growing-connectivity question explicitly includes doubled segment count and limited management capacity. That makes the future operating burden part of today's choice. The retail release-boundary question offers another application: envision independently evolving business capabilities, then prove compatibility and release independence. The value is not established by the number of services.

In recommending multiple Regions for global users, a broad geographic design remains conditional on the actual latency cause and added operational costs. Think Big does not automatically make the largest architecture the most effective rating. Reflection: write an ambitious outcome, its smallest informative next step, and one observation that would justify stopping. For the architecture-experience self-report, distinguish envisioning this design from actually owning and delivering it.

Build your evidence bank

Describe a time you reframed a local problem as a broader customer opportunity.

Show the original limitation, evidence of wider relevance, and a concrete revised direction. Include what was implemented or tested and avoid counting an unadopted proposal as realized impact.

  • What evidence showed the problem repeated beyond one case?
  • How did the broader framing change the proposed outcome?
Tell me about an ambitious proposal you made credible through a small first step.

Connect the vision to a bounded experiment and a decision threshold. State what the pilot established and what it could not prove about demand, reliability, economics, or scale.

  • Which assumption did that first step test?
  • What did the result justify doing next?
Describe a future growth constraint you addressed before it became urgent.

Provide the forecast assumptions, constraint analysis, and proportionate preparation. Explain how the decision preserved useful options and how you avoided treating uncertain growth as guaranteed.

  • What signal supported the growth forecast?
  • What cost did acting early introduce?
Tell me about a vision you communicated to audiences with different priorities.

Show a consistent customer outcome explained at appropriate depth, substantive stakeholder feedback, and the resulting commitment or rejection. Persuasive language alone is weaker than evidence that people understood the tradeoffs.

  • What did each audience need to decide?
  • Which objection materially changed your plan?
Describe an ambitious initiative you narrowed or stopped when evidence changed.

Show a preexisting or clearly reasoned decision criterion, contrary evidence, and a responsible pivot or stop. Include effects on users and committed resources rather than portraying withdrawal as costless.

  • Which assumption failed?
  • How did you distinguish persistence from sunk-cost attachment?
Tell me about a reusable capability you designed without overgeneralizing the first use case.

Explain shared needs, explicit boundaries, and evidence from real adopters or a labeled pilot. Include maintenance cost and limits so reuse is demonstrated rather than inferred from an abstraction.

  • What variation did you actually observe?
  • Which future requirements did you deliberately defer?
Describe a time you considered the secondary effects of a solution becoming widely used.

Identify a plausible effect tied to scale, evidence from affected stakeholders, and a concrete response. Distinguish observed impact from forecast risk and show how the response fit the broader customer goal.

  • Who could bear a new burden or risk?
  • What safeguard or design change followed?
Tell me about an opportunity you pursued without formal authority to launch a large project.

Give a truthful account of initiative within your scope, evidence gathered, and collaboration with decision makers. Credit others and separate your proposal, the pilot, and any delivered organizational outcome.

  • What could you personally test or influence?
  • Who owned the eventual investment decision?
Apply this principle in the quiz · 5 connections

Last verified 2026-09-06

Leadership principle 09

Bias for Action

Move promptly when uncertainty can be bounded, matching the pace and safeguards to the consequences of being wrong.

Meaning and the current set

Amazon's current principle list emphasizes timely decisions and considered risk. The official explanation distinguishes decisions that are readily reversible from those that are difficult to undo. The analysis, fictional cases and prompts below are original study exercises, not official interview questions or scoring rules.

The photographed poster preserves the older 14-principle set. Amazon's announcement of two additions identifies Strive to be Earth's Best Employer and Success and Scale Bring Broad Responsibility; the current list has 16. Have Backbone; Disagree and Commit remains one principle. Historical completeness of the photograph and completeness of today's study guide are different requirements.

Make a bounded decision possible

Start with the cost of waiting: customers cannot complete a task, an experiment window will close, or another team cannot proceed. Then identify the smallest decision that advances that outcome. Assign an owner, state the information already available, list the critical unknown, and set a decision deadline. A short experiment should answer a question that can change the decision, rather than generate activity while everyone avoids ownership.

Reversibility has several dimensions. Code can be rolled back while messages already sent, personal information exposed, or destructive data changes remain irreversible. Check affected users, data state, permissions, external dependencies and the time required to detect a mistake. For a limited rollout, define an observable stop condition and who can execute it. Calling a change a pilot does not make its consequences small. A test involving sensitive live data may need more preparation than a broad change to a harmless display label.

Speed, standards and incident judgment

Bias for Action and Dive Deep work together when you investigate just enough to choose a safe next action. In an outage, restoration and diagnosis can proceed in parallel; full causal certainty is often unnecessary before applying a tested mitigation. However, failover without confirming the recovery site's readiness can amplify the outage. The useful question is which uncertainty must be resolved before this particular action, not whether uncertainty exists at all.

Insist on the Highest Standards supplies acceptance boundaries. Ownership supplies responsibility after the change. Earn Trust requires explaining risks and reporting reversals promptly. Common misuses include skipping a required reviewer, deploying without detection, mistaking repeated firefighting for leadership, and making another team absorb an unannounced dependency. Conversely, escalating every reversible detail creates delay and deprives people of decision practice. Clarify delegated authority in advance and escalate changes whose consequences exceed it.

Truthful STAR evidence workshop

Amazon's interview-loop guidance includes behavioral questions and STAR: Situation, Task, Action and Result. Choose one real decision under time pressure. Write the situation as a timeline with the customer consequence of delay; specify the task you personally owned and the decisions you were authorized to make. In the action, explain the risk classification, alternatives rejected, information you deliberately deferred, and rollback or stop criteria. State who supplied specialist advice and who executed each step.

For the result, distinguish decision time from restoration time and describe how you verified the outcome. If records only show approximate timing, say so. Include the follow-up that prevented temporary mitigation from becoming permanent debt. A failed experiment can support a strong account when it exposed a useful uncertainty at controlled cost. Do not turn the team's work into an individual rescue story or borrow the following teaching case as autobiography.

Fictional teaching example: a reversible mitigation

Fictional example: a small subscription service sees checkout errors after enabling an optional recommendation widget. The on-call engineer owns the feature flag and has a current disable procedure. They compare the change timeline with errors, confirm that disabling the widget preserves checkout data, and disable it while a colleague continues investigation. They monitor successful purchases and establish a later review of the widget's dependency timeout. The action restores the core journey without waiting for a complete explanation.

The evidence would be the flag audit, transaction success before and after, the engineer's authority and the corrective-work record. It would not establish that every incident should begin with rollback. If the release also changed a database schema incompatibly, reversing only the flag might be insufficient. This counterfactual makes the judgment visible rather than teaching a reflex.

Quiz application and reflection

In the regional-outage question, compare the applicable runbook with a configured, tested failover. Explain the prerequisites; geography alone does not establish readiness, and restoring elsewhere differs from repairing the original site. In the customer-outage question, assess continuity and customer impact quickly enough to guide restoration, not as a reason to postpone it.

The learning-preference pair contrasts everyday exploration with immediately applicable learning. A stronger preference for immediate application is not an official Bias for Action answer. The controls express relative preference and intensity, not effectiveness. Choose truthfully from your usual behavior, then reflect on a time you learned quickly enough to act and a time broader curiosity prepared you earlier. What decision are you delaying now, and what bounded evidence would actually unblock it?

Build your evidence bank

Tell me about a reversible decision you made before all the information was available.

A specific owner, time constraint, bounded exposure, relevant evidence and observed result; a claim that the decision felt low risk is insufficient.

  • What made reversal feasible in practice?
  • Which uncertainty did you resolve first?
Describe a time you deliberately slowed an urgent proposal.

A concrete irreversible effect, proportionate additional review and useful parallel work, showing that caution was targeted rather than habitual delay.

  • Which consequence could not easily be undone?
  • How did you preserve progress while investigating?
Tell me about restoring service before knowing the root cause.

The incident sequence, actual authority, mitigation checks, customer-level recovery evidence and an owned follow-up, without claiming mitigation proved causation.

  • How did you establish that the mitigation was applicable?
  • Who continued diagnosis and verified customer recovery?
Describe an experiment that you stopped early.

A falsifiable question, bounded resources, a predeclared stopping condition and a subsequent decision that used the result instead of concealing the failure.

  • What stop rule existed before launch?
  • What did the unsuccessful result change?
Tell me about removing a decision bottleneck for others.

Explicit authority boundaries, a simpler process, evidence of shorter waiting time and checks that delegation preserved quality.

  • What decisions could the team make without you afterward?
  • What still required escalation?
Describe a deadline you missed because you investigated too long.

An honest missed opportunity, the marginal value of further investigation, personal responsibility and evidence that a later decision process improved.

  • Which additional information stopped changing the decision?
  • What mechanism did you adopt afterward?
Tell me about a temporary fix that needed a permanent resolution.

Separate restoration and repair milestones, named ownership, prioritization against other work and verification that the underlying weakness was addressed.

  • How was the remaining risk recorded?
  • What prevented the follow-up from being forgotten?
Describe acting quickly when two teams had conflicting priorities.

A negotiated decision path, limited dependency exposure, candid communication and delivery evidence; unilateral surprise is not a substitute for coordination.

  • Who could decide and what did each team risk?
  • How did you communicate the chosen boundary?
Apply this principle in the quiz · 12 connections

Last verified 2026-09-06

Leadership principle 10

Frugality

Use constraints to improve resourcefulness and customer value, judging savings against the full cost of delivering a dependable outcome.

Meaning and observable behavior

Amazon's principle list links constrained resources with invention. Its Frugality explanation rejects team size and spending as automatic evidence of achievement. The practical study question is what useful outcome was obtained for the resources consumed. Counting removed servers or unfilled positions cannot answer that alone.

Define the unit of useful work: a completed report, a successful order, or a supported customer. Record demand and the required quality, then compare total resource use for equivalent service. Include operator time, retries, licenses, maintenance and the cost of migration. A cheaper bill accompanied by more failures may represent a transfer of cost to customers. A higher service fee may be worthwhile if it reliably removes expensive repetitive operations.

Resourcefulness without hidden subsidies

Inventory idle capacity, redundant processes and unnecessary features before requesting more resources. Ask whether an existing tool can meet the actual requirement and whether simplifying a workflow removes work entirely. Make a small measurement plan so estimated savings can be reconciled with actual spending. Record which costs disappear, which merely move to another account and which remain fixed despite the change.

Time is also a scarce resource. Building a custom component can look inexpensive when engineering effort is omitted. Reusing a maintained capability may cost more per request but reduce delivery time and operational load. Conversely, a recurring managed-service bill deserves review when a simple, maintainable alternative serves a stable need. Neither build nor buy is a universal frugal answer. Document the expected life of the solution, the skills needed to sustain it and a review trigger if demand changes.

Tradeoffs and common misuses

Frugality and Think Big can coexist through staged investment: validate the expensive assumption with a small experiment, then fund demonstrated value. Ownership discourages deferring necessary maintenance to another quarter merely to improve today's figures. Strive to be Earth's Best Employer exposes hidden labor costs when a supposedly efficient system depends on repeated unpaid overtime or one exhausted expert. Insist on the Highest Standards protects controls that prevent much larger losses.

Avoid cutting backup coverage, accessibility, security review or training without understanding the consequence. Do not mistake a spending freeze for prioritization. A leader should also argue for justified investment when constraints make the promised outcome infeasible. Explain which scope can be reduced safely, which service obligation remains nonnegotiable and what evidence would justify more budget. The mature behavior is disciplined allocation, including the ability to stop low-value work rather than distribute scarcity equally across everything.

Truthful STAR evidence workshop

Use the STAR interview structure to describe a real resource decision. In the situation, give demand, baseline spending or effort and the business constraint. In the task, identify the cost category and outcome you owned. In the action, show the alternatives, measurement assumptions, stakeholder consultation and controls preserved. Explain your own contribution separately from purchasing negotiations or implementation performed by others.

Report both gross and net savings when you can substantiate them. Distinguish forecast from realized spend, one-time engineering cost from recurring savings, and released capacity from cash actually avoided. If you have only a small sample, state its period and limits. Include quality and workload indicators so the interviewer can assess whether the savings were sustainable. An honest result may be that the project was stopped because its payback depended on unrealistic growth.

Fictional teaching example: useful-work economics

Fictional example: an analyst's daily batch job uses dedicated compute that remains idle after completion. A platform engineer proposes capacity that can be interrupted, with durable checkpoints and a fallback before the completion deadline. In a controlled comparison, the old job costs 40 illustrative units per completed run. The alternative costs 23 units for useful compute, 4 for retry work and 3 for checkpoint storage and requests: 30 total, a 25 percent reduction from the 40-unit baseline.

The engineer also records setup effort, deadline misses and time spent handling failures. Those costs are outside the simple per-run arithmetic and must enter a full investment decision. If interruptions rise, fallback use increases or the deadline tightens, the savings may disappear. This is an invented calculation, not a current AWS price estimate or a promise of interruptible capacity availability.

Quiz application and reflection

Apply this reasoning to the daily two-to-three-hour pipeline question: flexible work needs checkpoints, retry tolerance and enough time for fallback. In the underutilized image-processing servers question, consolidation may improve utilization but introduces resource contention and operating work. In the recovery-strategy tradeoffs question, establish recovery needs before trading resilience for a lower bill.

For the photographed learning pair, immediate applicability may signal focus while everyday exploration may reveal future simplifications. Neither is a universal Frugality answer. Choose the relative description that is true, then examine whether your learning time produces useful understanding over an appropriate horizon. Reflection: name one apparent saving you would reverse because it externalizes cost, and one small constraint that led you to remove unnecessary work.

Build your evidence bank

Tell me about lowering recurring cost while preserving the customer outcome.

Comparable before-and-after demand, attributable recurring savings, full cost boundaries and evidence that reliability or user effort did not deteriorate.

  • What was the useful-work denominator?
  • Which quality indicators stayed stable?
Describe inventing a solution because the requested budget was unavailable.

A specific constraint, a creative change in approach, preserved acceptance criteria and a measured outcome rather than a story of working longer hours.

  • Which requirement did you simplify?
  • What did you refuse to compromise?
Tell me about choosing to buy a capability instead of building it.

A scoped requirement, lifecycle comparison, maintainability and exit considerations, with assumptions explicit enough for another person to challenge.

  • How did you value engineering and operating time?
  • What would make the decision change?
Describe rejecting a proposed cost reduction.

Evidence of transferred risk or labor, a clear explanation to the decision maker and a feasible alternative aligned with the financial constraint.

  • Who would have absorbed the hidden cost?
  • What alternative did you offer?
Tell me about stopping a project after examining its economics.

Forecast-versus-observed evidence, willingness to acknowledge sunk effort and a controlled shutdown that preserved reusable work or customer commitments.

  • Which assumption failed?
  • How much remaining expenditure could you avoid?
Describe improving efficiency without reducing headcount.

A workflow baseline, reduced toil or waiting, a credible measure of capacity released and an actual use of that capacity; cash savings are not invented.

  • What repetitive work disappeared?
  • How was the released time used?
Tell me about a savings estimate that proved wrong.

A transparent reconciliation of forecast and actuals, personal ownership of the error and a revised model used in a later decision.

  • Which cost category or demand change did you miss?
  • How did you correct the decision and communication?
Describe asking for more investment while practicing Frugality.

A defensible constraint analysis, alternatives considered, incremental funding gates and outcome evidence, rather than budget growth as a status measure.

  • Why could existing resources not meet the required outcome?
  • How did you stage or cap the commitment?
Apply this principle in the quiz · 24 connections

Last verified 2026-09-06

Leadership principle 11

Earn Trust

Build credibility through attentive listening, candid communication, accountable correction and dependable follow-through.

Meaning and the difference between comfort and credibility

Amazon's current definition emphasizes listening, respect and honest self-assessment. Its official explanation makes clear that avoiding disagreement is not the same as earning trust. For practice, look for situations where another person could reasonably question your competence, intentions or reliability, and identify what you did that made your work more dependable.

Trust accumulates through observable patterns. Repeat a stakeholder's concern accurately before proposing an answer. Separate a fact from an interpretation and an estimate from a commitment. Say what you can own, who controls a dependency and when the next update will arrive. When uncertainty remains, communicate its operational consequence rather than hiding it behind technical language. A confident tone cannot compensate for unsupported assurance.

Listening and correction as mechanisms

A useful listening practice is to ask for a recent example, summarize the consequence and verify that you understood it. This prevents an apparent disagreement about architecture from concealing different priorities, such as recovery speed versus affordability. Invite quieter participants to contribute without forcing them to disclose personal information or speak publicly on demand. Written comments and smaller discussions can reveal concerns missed in a large meeting.

When you discover an error, identify its scope, notify the people whose decisions depend on it, correct the record and explain the prevention mechanism. An apology is a beginning. If an inaccurate calculation affected a budget decision, replacing the slide without revisiting the decision leaves the harm intact. Self-criticism should be specific and proportionate: acknowledge your action and its impact without theatrical self-blame or shifting blame to absent colleagues. Give credit accurately, including work that made your own contribution possible.

Tradeoffs and failure patterns

Have Backbone; Disagree and Commit requires respectful challenge, so Earn Trust cannot mean protecting social comfort. Bias for Action can require a decision before full certainty, so distinguish a reversible working assumption from a verified claim. Deliver Results gives promises meaning through follow-through, but trust also requires renegotiating early when a promise is no longer feasible. A missed date reported honestly is better evidence than a hidden scope cut described as success.

Common misuses include oversharing confidential information in the name of transparency, promising an outcome outside your control, flattering a customer instead of addressing their constraint, and withholding bad news until the next scheduled meeting. Respect does not require accepting an incorrect statement. Explain the evidence without humiliating its author. Benchmarking can reveal both weaknesses and strengths; do not choose only comparisons that make your team look good or exaggerate defects to perform humility.

Truthful STAR evidence workshop

Following the STAR structure, choose a real breach, misunderstanding or difficult disclosure. Describe the situation from the other person's perspective and the task you personally owned. In the action, reconstruct what you knew when you communicated, what you said, what you corrected and how you followed through. If you do not remember exact wording, paraphrase rather than presenting invented dialogue as a quotation.

Results should include observable behavior: a decision made with corrected information, an agreed escalation path, fewer repeated misunderstandings or completion of a promised corrective action. Customer satisfaction cannot be inferred merely because nobody complained again. Explain whose feedback you obtained and what remains uncertain. If trust did not recover, say so and describe the limits of your influence. Never disclose confidential client records just to make an interview story sound credible; describe the kind of evidence without exposing protected details.

Fictional teaching example: correcting recovery assurance

Fictional example: a consultant tells a customer that a database recovery plan is adequate, then notices that weekly backups and a three-hour restore conflict with the customer's one-day recovery point and one-hour recovery time objectives. The consultant promptly corrects the earlier assurance, explains each gap separately and asks the recovery owner to review feasible improvements. They arrange a restore rehearsal with clear acceptance criteria instead of promising that a named architecture will automatically satisfy both targets.

A substantive account would show the original misunderstanding, the correction, the agreed plan and the rehearsal result. The consultant should not claim the targets were met merely because the customer accepted the meeting invitation. The trust-building behavior is taking responsibility for accurate advice and keeping the next commitment, even though the correction is uncomfortable.

Quiz application and personal reflection

In the recovery-gap explanation with practical help, truthful diagnosis and an actionable next step reinforce each other. Contrast the unsupported assurance that both targets are met: reassurance is harmful when the stated numbers contradict it. In the document for executives and engineers, shared facts need audience-appropriate explanation without changing their meaning.

The architecture-discussion frequency self-report measures reported cadence, not trustworthiness or design quality. Use a representative period and distinguish meaningful contribution from attendance; do not choose weekly participation to look senior. If the categories poorly fit your cadence, follow the assessment instructions and clarify when possible. Reflection: which recent promise had an unclear owner, and what early disclosure would have helped the other person plan?

Build your evidence bank

Tell me about correcting an important statement you had already made.

A clear error and impact, prompt correction to affected people, revised decisions where needed and a prevention mechanism beyond an apology.

  • Who had acted on it?
  • How did you verify that the correction reached them?
Describe earning cooperation from someone who initially distrusted your team.

The other party’s perspective, specific commitments fulfilled over time and observed cooperation; personal likability alone does not demonstrate restored credibility.

  • What justified their concern?
  • What changed in your behavior before theirs changed?
Tell me about delivering bad news before you had a complete solution.

An accurate early update, consequence for the recipient, bounded next steps and dependable follow-through without invented certainty.

  • What was known versus uncertain?
  • What useful next commitment could you make?
Describe a disagreement in which careful listening changed your view.

A concrete concern accurately understood, a changed decision or assumption and respectful credit rather than a generic claim to be a good listener.

  • What did your first interpretation miss?
  • How did you acknowledge the other person’s contribution?
Tell me about a commitment you failed to keep.

An honest timeline, responsibility for the miss, mitigation for affected people and a later improvement in forecasting or escalation.

  • When did you first know it was at risk?
  • How did the recipient’s plans change?
Describe challenging an overly positive account of your team’s performance.

Comparable evidence, acknowledged strengths and weaknesses, a respectful correction and an owned improvement rather than selective criticism.

  • Which comparison was fair and relevant?
  • What did the team do with the finding?
Tell me about being transparent while protecting confidential information.

A justified information boundary, truthful communication of consequences and appropriate use of authorized channels without disclosure of sensitive records.

  • Who needed which level of detail?
  • How did you avoid misleading omissions?
Describe a time your effort did not restore trust.

A candid unsuccessful result, evidence from the relationship, limits of control and a specific behavioral lesson rather than blaming the other party.

  • What remained unresolved for the other person?
  • What would you change without rewriting the outcome?
Apply this principle in the quiz · 26 connections

Last verified 2026-09-06

Leadership principle 12

Dive Deep

Investigate the details that determine customer outcomes, checking measurements against lived experience and turning findings into repeatable controls.

Meaning and evidence that changes a decision

Amazon's principle list calls for engagement with details and skepticism when reports conflict. Its official explanation highlights how broad operational averages can conceal the experience of a smaller customer group. This guide's diagnostic workflow is an original application of that idea: ask what evidence could distinguish competing explanations before collecting more data.

Begin with the affected task, time window, population and recent changes. Translate a broad complaint such as slow reporting into observable conditions: which report, which parameters, which user group and how much slower than its previous behavior. Preserve enough context to reproduce the issue while protecting sensitive information. The goal is a causal explanation useful for action, not the largest possible collection of dashboards.

Follow the path and audit the measurement

Draw the request or work path across the components that can add delay or lose information. Form several plausible hypotheses and choose a discriminating check. A query plan, lock wait, deployment change or connection error may separate causes that all appear as high response time. Record expected evidence before the check where practical; otherwise hindsight can make every finding seem to confirm your first guess.

Inspect the measurement itself. An average across all customers may hide a failing region; a success ratio may omit requests that never reached the instrumented service. Compare counts and time windows, examine missing data and confirm that a dashboard label matches its actual query. A single anecdote does not establish prevalence, but it can expose a blind spot worth testing. Trace a representative affected case, then determine whether the cause generalizes. Protect raw evidence from accidental changes, redact unnecessary personal data and keep collection proportionate.

Depth without micromanagement or paralysis

Dive Deep and Think Big are complementary when details test whether a strategy is feasible. Dive Deep and Bias for Action require a stopping rule: gather enough evidence to choose the next safe action, then continue deeper investigation if the remaining uncertainty matters. Insist on the Highest Standards turns the discovery into a mechanism that catches recurrence. Earn Trust requires sharing inconvenient findings, including evidence that your preferred explanation was wrong.

Avoid taking every task away from its owner, demanding every log without a question, equating confidence with technical jargon, or blaming an individual because their change preceded a failure. Leaders can inspect a sample with the responsible engineer and teach the reasoning while preserving ownership. Correlation helps prioritize a hypothesis but does not alone prove causation. If an emergency mitigation works, document what it demonstrates and what alternative explanations remain. Restore service without pretending the investigation is finished.

Truthful STAR evidence workshop

Use STAR to tell one investigation as a sequence of decisions. State the situation's customer impact and the task you owned. For each important action, identify the hypothesis, evidence, interpretation and resulting next step. Include at least one discarded explanation and why the evidence weakened it. Name collaborators accurately: retrieving a trace, interpreting a database plan and implementing a fix may be different people's contributions.

For the result, compare equivalent workloads or user cohorts, include the observation window and separate mitigation from permanent correction. If you cannot prove causation, explain the confidence level and remaining uncertainty. Describe an audit, alarm, review checklist or test that detects the same failure class. Avoid invented precision in timings or percentages. A strong investigation story can conclude that an initial allegation was unsupported, provided that conclusion rests on careful evidence and leads to a useful decision.

Fictional teaching example: an average hides a regression

Fictional example: an internal reporting service shows normal daily average latency, but one customer says a month-end report now takes four times longer. An engineer isolates that report's time window and input size, compares execution plans and finds that a recent query change causes a much larger scan for a particular filter. The engineer tests a revised query against the same dataset, checks result equivalence and monitors the affected cohort after release.

The useful evidence is the cohort definition, the old and new plans, equivalent output and latency under comparable conditions. An instance upgrade might mask the symptom while increasing cost. However, if the plan is unchanged and the workload now exceeds available resources, capacity can be the relevant fix. The example teaches discrimination between causes rather than claiming every slow report is a query defect.

Quiz application and reflection

In the slow-query logging action, capture evidence for the affected period with suitable handling controls; enabling logs alone does not establish a diagnosis. Contrast the immediate CPU and RAM increase: resource expansion needs evidence of resource pressure. In the database-connectivity question, inspect the actual application path and relevant errors rather than treating one network probe as decisive.

In the architecture-frequency self-report, weekly attendance and monthly deep contribution signal different exposure, not a universal ranking of investigative ability. Report your cadence truthfully and prepare an example of the reasoning you contributed. Reflection: select one dashboard you rely on, identify who could be absent from its denominator and state the evidence that would make you distrust its apparent success.

Build your evidence bank

Tell me about an anecdote that contradicted a healthy dashboard.

A specific customer path, audit of the metric’s denominator, targeted evidence and a corrected measurement or product behavior.

  • Which population did the aggregate hide?
  • How did you establish the extent of the problem?
Describe an investigation where your first hypothesis was wrong.

A visible reasoning sequence with alternative explanations, discriminating evidence and willingness to revise rather than a retrospective claim of instant insight.

  • What observation disproved or weakened it?
  • How did your next check differ?
Tell me about discovering that a metric itself was misleading.

An identified measurement defect, validation against an independent source and repair of both the metric and any affected decision.

  • Was the problem in collection, aggregation or interpretation?
  • Which decisions depended on it?
Describe diagnosing a problem across team or system boundaries.

A concrete path or timeline, evidence at the relevant boundaries, accurate attribution and coordinated verification of the fix.

  • How did you correlate the same work across components?
  • Who contributed expertise you lacked?
Tell me about deciding you had enough evidence to act.

An explicit action threshold, consequence analysis and post-action checks that distinguish bounded judgment from either guessing or endless analysis.

  • What uncertainty remained?
  • What would have made further investigation necessary first?
Describe auditing work without taking ownership away from its author.

A proportionate review, shared reasoning and improved owner capability or process, without equating detail orientation with controlling every step.

  • What sample or mechanism did you inspect?
  • How did the author use the feedback?
Tell me about handling sensitive evidence during troubleshooting.

A justified collection scope, appropriate handling practices and successful diagnosis without unnecessary disclosure or indiscriminate copying of logs.

  • Which information was necessary to test the hypothesis?
  • How did you limit access and retention?
Describe turning a one-time diagnosis into a recurring safeguard.

A causal finding connected to an owned test, audit or alarm, with evidence of detection quality and an understanding of its blind spots.

  • Which failure class did the safeguard cover?
  • How did you test that it would detect recurrence?
Apply this principle in the quiz · 67 connections
Add application servers for global latencyClarify architecture and user requirementsCombine load balancing with demand-based scalingIncrease CPU and memoryUpgrade storage I/O performanceUse the compute instance IP addressEnable sticky sessions for authentication failoverUse a large compute instanceUse Lambda to orchestrate dependency installationHave the application fetch its own dependenciesSend a list of competitors' recent outagesRecommend moving to the cloud to avoid outagesHold a technical discussion and review the architectureRequest the hosting provider’s root cause analysisRecommend using services across multiple RegionsDiscuss high availability and disaster recovery with the customerArrange a discussion of the customer’s current architectureAsk about log sources, formats, and storage requirementsSuggest migrating to a three-tier architectureAssess the application before proposing a migration designOffer a rewrite into containerized microservicesEnable web-server logging to investigate failed searchRestart the application processAdd servers without confirming the bottleneckCheck connectivity from web servers to searchAsk for the actual error messagesInvestigate changes during the regression windowReview the report design and database queryCheck swap capacity without assuming it explains the regressionScale CPU and RAM only after identifying resource pressureCapture slow-query evidence from the affected report windowBlock known hostile IP addresses as a supplementary controlClarify the inspection capabilities of an unspecified firewallDo not equate solving a CAPTCHA with a safe requestCarry forward security principles while adapting cloud controlsRecord API and user activity with usable security monitoringRestrict bastion access after a laptop theftEvaluate pilot light or warm standbyShare documentation about relevant new technologiesRecommend active-active disaster recoveryUse other workloads to improve server utilizationRemove processing steps from the image applicationSchedule image work in batchesExplain that both recovery objectives are missedDo not claim the weekly backups meet a one-day RPODo not claim a three-hour restore meets a one-hour RTOCombine application filtering with tier segmentationRestrict database ingress to the application security groupRecognize the blast radius of an overprivileged function identityDiagnose database connectivity from logs and the actual network pathCreate an address record for a server without a DNS hostnameTrace redirects when a form POST arrives as GETLower DNS TTL before the migration windowIdentify the bottleneck before selecting a scaling mechanismReport architecture-discussion frequency truthfullyUse a managed database with a verified configuration and rollback planChoose IaaS when operating-system access is mandatoryGather technical-writing evidence from complementary sourcesFirst steps in monolith decompositionRemove the shared queue failure dependencyBegin a backup plan with business recovery needsRegional incident: runbook or failover firstPreserve zero RPO despite synchronous latencyActive-active tier with recovery dependencies and cropped choicesClassify mixed cloud data before applying proportional controlsStateful firewall with restricted SSH administrationBalance long-lived sessions by active connections

Last verified 2026-09-06

Leadership principle 13

Have Backbone; Disagree and Commit

Challenge decisions respectfully with evidence, then give an agreed direction your full effort while continuing to surface material new facts.

One principle with two obligations

The official name on Amazon's current list is Have Backbone; Disagree and Commit. The semicolon joins two parts of one principle; splitting them would produce an incorrect inventory. Amazon's explanation emphasizes truth-seeking before a decision and shared commitment after it. Winning an argument is not the outcome to optimize.

In practice, identify the customer or business consequence at stake, then state the decision you question and your evidence. Distinguish a factual dispute from a preference or a different tolerance for risk. Measurable claims should be investigated rather than averaged into a compromise. Tradeoffs may require judgment after the facts are established, so explain what each option gives up and what you recommend.

Challenge constructively and establish closure

A useful challenge names the assumption, its likely consequence and a feasible alternative. Ask the proposal's owner to explain the strongest argument for their approach; represent it accurately before responding. Offer a test when uncertainty can be resolved cheaply. Choose a communication setting that permits scrutiny without using embarrassment as leverage. Respectful behavior includes being direct enough that others understand the disagreement, not burying the concern in hints.

Before debate drifts, clarify the decision owner, required input and decision date. Record the conclusion and rationale, including an unresolved risk that the owner accepts within their authority. Afterward, perform your assigned work with the same care you would give your preferred option. Help colleagues understand the agreed direction; withholding effort, maintaining a secret competing implementation or celebrating a failure undermines commitment. You can accurately explain your original concern without repeatedly recruiting people to relitigate a settled choice.

Tradeoffs, reopening and misuses

Earn Trust supplies candor and respect, while Are Right, A Lot supplies willingness to change your own mind. Bias for Action limits endless debate. Ownership requires monitoring the adopted plan rather than disengaging because someone else chose it. A decision record should distinguish conditions for review from continuing personal dissatisfaction. New evidence, changed customer requirements or a crossed risk threshold can justify reopening the decision through the responsible owner.

Commitment is not permission to hide material harm, falsify results or bypass required safeguards. Escalate those concerns through the appropriate responsible channel and explain the immediate consequence. This is a practical boundary for the study exercise, not a claim that the official definition lists every escalation rule. Other misuses include adversarial debating to display intelligence, appealing to seniority instead of evidence, manufacturing disagreement for an interview story and calling silence consensus. A leader must sometimes invite dissent because authority makes it costly for others to volunteer it.

Truthful STAR evidence workshop

Use the STAR interview structure to reconstruct a real decision. Describe the situation, your task and why the disagreement mattered. In the action, include the opposing rationale, the evidence you presented, how the decision was made and what you personally did afterward. The post-decision portion is essential: a story that ends when your proposal wins only demonstrates part of the principle.

For the result, describe both the delivered outcome and the working relationship. If the chosen approach succeeded, give it credit even if it differed from your recommendation. If it failed, explain the new evidence and your constructive response rather than presenting failure as vindication. Do not invent a confrontation with a senior leader; disagreement with a peer, project partner or volunteer organizer can show the same judgment when its context and stakes are stated truthfully.

Fictional teaching example: protecting a recovery requirement

Fictional example: a team wants to reduce write latency by replacing synchronous replication with asynchronous replication, while the approved requirement still permits no loss of acknowledged writes in the relevant failure scenario. An engineer challenges the proposal by explaining which acknowledgement guarantee would change and asks the business owner whether the recovery requirement can change. After testing alternatives, the owner retains the durability requirement and chooses workload admission controls while the team investigates performance.

The engineer helps implement and measure the chosen controls even though their first preference was a different topology. This is fictional and does not imply that one replication label guarantees every failure case. A credible account would show the explicit requirement, tested failure boundary, decision authority and cooperative implementation. It would also say when new workload evidence justified another review.

Quiz application and reflection

In the zero-RPO replication question, challenge a latency fix that silently changes the stated durability requirement. In the unsupported recovery assurance, a colleague's confidence does not override the backup and restore arithmetic. In the documentation-drift question, explain why same-change review addresses the stale interval, then help implement the agreed process rather than continuing to advocate a discarded reminder-only approach.

The cloud-native experience self-report describes scope and context, not a personality test of courage. Component design, migration architecture and a maturity journey can overlap; describe your actual decisions without inflating your authority. Reflection: write your strongest recent disagreement twice, first from your perspective and then from the other person's. Identify what evidence would change your view and what commitment would look like if their option were selected.

Build your evidence bank

Tell me about respectfully challenging a decision made by someone with more authority.

A specific decision, credible evidence, direct but respectful communication and an accurate account of authority and outcome, without invented dramatic confrontation.

  • What consequence made speaking up necessary?
  • How did you present the strongest alternative?
Describe fully supporting a decision you originally opposed.

The original disagreement, legitimate closure and substantive implementation effort, including recognition of the selected approach’s strengths.

  • What concrete work did you own after the decision?
  • How would your teammates describe your commitment?
Tell me about changing your position during a difficult debate.

A real initial belief, a discriminating fact or perspective and a clear revised recommendation; flexibility is demonstrated through reasoning rather than social pressure.

  • What evidence changed your mind?
  • How did you communicate that change?
Describe preventing a compromise that would have concealed a factual error.

A distinction between facts and preferences, an appropriate check and a decision using its result instead of splitting an unsupported difference.

  • What was measurable rather than negotiable?
  • How did you resolve the factual question?
Tell me about reopening an agreed decision because circumstances changed.

A material change, proportionate escalation to the decision owner and constructive execution of the revised plan.

  • Which new fact met the review threshold?
  • How did you avoid simply repeating your old argument?
Describe inviting disagreement when others seemed reluctant to challenge you.

A concrete mechanism that reduced hierarchy or social barriers, evidence of substantive dissent and a visible fair response to it.

  • What made speaking up costly for them?
  • What did you change in response?
Tell me about a debate you allowed to continue too long.

An honest cost of delay, ownership of your role and a clearer decision process that preserved essential input without indefinite consensus seeking.

  • What decision authority or closure criterion was missing?
  • How did you restore progress?
Describe supporting a plan while escalating a serious issue in its execution.

Specific new risk evidence, appropriate escalation, truthful reporting and practical support for safe progress rather than passive resistance.

  • How did you distinguish the issue from your earlier preference?
  • What safeguard or obligation was at stake?
Apply this principle in the quiz · 5 connections

Last verified 2026-09-06

Leadership principle 14

Deliver Results

Turn the most important controllable work into timely, high-quality customer outcomes, and continue improving after initial delivery.

Meaning: inputs, outcomes and sustained delivery

Amazon's definition connects important inputs with quality and timeliness. The official explanation distinguishes manageable inputs from broad outcomes and emphasizes continued improvement after launch. In this study guide, a result is a verified change for its intended users, with the supporting operations needed to sustain it.

Start by defining success in observable terms. A migration is not complete merely because resources exist in the destination. Users must perform their tasks, data must be correct, operations must be workable and owners must accept the handover. Identify which inputs you can control: testing the critical journey, resolving a dependency, improving an onboarding step or publishing accurate instructions. Track these alongside the outcome so activity counts do not become a substitute for value.

Plan through dependencies and setbacks

Work backward from acceptance criteria to milestones, owners and evidence. Distinguish dependencies that block the critical path from useful work that can proceed independently. Review risks early enough to change the plan rather than merely report lateness. When a dependency fails, propose an explicit choice among scope, sequence, resources and date, describing the consequence of each. Confirm the choice with whoever owns the customer commitment.

Measure both completion and quality. A team can close more tickets by avoiding difficult cases or declare a fast launch by omitting operational readiness. Pair throughput with recurrence, defect escape, successful task completion or another indicator relevant to the promised outcome. Check who benefits and who may be excluded by an aggregate metric. Assign post-launch ownership, a feedback window and a clear response to adverse results. A deliverable without maintenance responsibility can become the next team's incident.

Tradeoffs and misleading success stories

Bias for Action supports momentum, but Insist on the Highest Standards constrains shortcuts that break the promised experience. Frugality encourages focused scope and reuse; it does not erase the cost of unreliable delivery. Strive to be Earth's Best Employer requires confronting plans that depend on chronic exhaustion. Ownership asks whether the apparent result shifts unresolved work onto customers or downstream teams.

Common misuses include equating heroic hours with outcomes, hiding a quality downgrade to protect a date, claiming a team metric as a personal achievement and optimizing a measure after forgetting its purpose. Persistence can mean changing the approach or stopping an initiative whose premise has failed. Explain how the decision protects the intended customer outcome. A canceled low-value feature can be part of responsible delivery when it frees capacity for a more important, evidence-backed commitment; cancellation alone is not proof of success.

Truthful STAR evidence workshop

For STAR practice, choose a real delivery with a meaningful obstacle. State the situation's baseline and deadline, then the task and acceptance criteria you owned. Describe the actions that changed the trajectory: a dependency you resolved, scope decision you negotiated, implementation you completed or verification you introduced. Keep your role separate from other contributors and distinguish a plan from work actually performed.

For the result, provide the observation period, denominator and data source behind any number. If the benefit was projected, call it projected. If the date was met but adoption remained weak, report both and describe the next iteration. Include an unintended consequence and the follow-up where relevant. You can use a small project or academic delivery honestly labeled as such; replacing limited experience with an invented large launch makes the evidence unreliable.

Fictional teaching example: documentation as delivered behavior

Fictional example: a platform team ships every two weeks, but consumers repeatedly follow obsolete API examples. An engineer adds documentation impact to the same review as the code, checks examples against the release candidate and coordinates publication with rollout. They track whether affected changes have reviewed documentation and whether sampled consumer tasks succeed against the released version. A teammate conducts a runbook rehearsal without help from the original author.

The first release still exposes a missing error example. The team corrects it and adds that case to subsequent review. The result is not perfection on launch day; it is a concrete reduction in stale instructions with an operating feedback mechanism. Counts of merged documentation files alone would not establish that consumers can use the new interface.

Quiz application and reflection

Use the two-week documentation-drift question to define completion across code, specification, runbook and publication. In the recovery-gap question, offering a call is a useful next action, but actual results require an agreed improvement and verified recovery. In the daily pipeline question, low compute cost matters only if required work finishes within the customer's window.

The learning work-style pair provides relative signals about exploration and immediate application. The right-hand statement is not automatically a Deliver Results key: learning without immediate use can improve later delivery, while focused learning can unblock today's task. Select truthfully and prepare examples of both learning and applying. Reflection: identify a recent output you counted as done, the actual user outcome it was meant to improve and the evidence you would need to verify that improvement.

Build your evidence bank

Tell me about delivering an important outcome despite a major dependency failure.

A specific obstacle, changed execution plan, owned actions and verified acceptance, with any date or scope change reported honestly.

  • Which work was truly on the critical path?
  • What choice did you negotiate with the commitment owner?
Describe improving a controllable input that changed a customer outcome.

A plausible causal link, before-and-after evidence, attention to confounders and an outcome measure beyond the activity itself.

  • Why did you believe the input mattered?
  • How did you check the relationship after the change?
Tell me about a launch that needed substantial follow-up to succeed.

Observed post-launch feedback, explicit ownership, prioritization and a measured improvement rather than treating release as the end of responsibility.

  • What did users do differently from your expectation?
  • How did you organize the next iteration?
Describe reducing scope without concealing a broken commitment.

A transparent tradeoff, customer or stakeholder agreement, preserved quality boundaries and evidence that the smaller delivery still solved a meaningful problem.

  • Which acceptance criteria remained essential?
  • Who agreed to the revised outcome?
Tell me about missing a delivery target.

An accurate timeline, personal responsibility, consequences for users and a practical planning or execution change supported by later evidence.

  • When did the plan first become implausible?
  • Which action was within your control?
Describe discovering that a success metric rewarded the wrong behavior.

A specific incentive problem, corrected measurement and changed team decisions; replacing one vanity metric with another does not demonstrate improvement.

  • What user harm did the aggregate conceal?
  • Which balancing measure did you introduce?
Tell me about handing over a system so another team could operate it.

Acceptance criteria covering knowledge, access, procedures and support, with evidence from a rehearsal or actual operation rather than merely sending documentation.

  • What did the receiving team verify independently?
  • What remained your responsibility afterward?
Describe stopping or redirecting work to protect a more important result.

A reasoned prioritization decision, transparent stakeholder communication, controlled closure and demonstrable progress on the higher-value outcome.

  • What evidence changed the priority?
  • How did you close the abandoned commitments?
Apply this principle in the quiz · 14 connections

Last verified 2026-09-06

Leadership principle 15

Strive to be Earth's Best Employer

Improve the conditions in which people work, contribute and grow, combining empathy and fairness with sustainable high performance.

A current principle and an ongoing responsibility

Amazon's current list includes Strive to be Earth's Best Employer; this guide normalizes the typographic apostrophe to a straight apostrophe without changing the name. Amazon's announcement added this principle and Success and Scale Bring Broad Responsibility to the older 14, producing 16. The photograph remains evidence of the older poster, not a reason to omit the additions.

The definition connects workplace safety, inclusion, productive work and employee development. The official explanation also describes continuing areas for improvement. Treat the principle as an expectation to practice, not evidence that every workplace already meets it. A useful behavioral account identifies a particular barrier employees faced and a concrete change in their ability to work or grow.

Make empathy operational

Ask how work is experienced by people with different responsibilities, schedules, access needs and levels of influence. A technically successful process can still impose confusing handovers, unpredictable interruptions or opportunities available only to a favored few. Gather feedback through more than one channel and explain how it will be used. Protect confidentiality and avoid asking individuals to represent an entire group.

Turn findings into work design: clearer role expectations, accessible instructions, predictable escalation, protected learning time or fair assignment of stretch work. In operations, review the frequency and distribution of disruptive pages alongside service outcomes. Remove recurring causes where possible, provide backup coverage and make it acceptable to seek help. An individual contributor can improve a runbook or buddy process without pretending to control staffing policy. Where a barrier exceeds your authority, document its impact and engage the responsible owner.

High standards, fairness and common misuses

Strive to be Earth's Best Employer and Deliver Results reinforce each other when people can sustain good work. They become a visible tradeoff when a deadline assumes repeated exhaustion. Explain the consequence and propose scope, staffing or scheduling options rather than normalizing the pressure. Frugality requires examining wasted effort but cannot count employees' unrecorded labor as free. Hire and Develop the Best emphasizes capability growth; this principle also asks whether the surrounding workplace lets people participate and succeed.

Empathy does not mean avoiding candid feedback or promising every requested benefit. Fairness does not always mean identical treatment: different barriers may require different support so people can meet clear expectations. Common misuses include mandatory social activities labeled as fun, rewarding constant availability, equating silence with psychological safety and using a satisfaction average to dismiss a small group's experience. Evaluate whether a change reduced the barrier, not just whether a policy was announced or a survey was sent.

Truthful STAR evidence workshop

Use the STAR structure with a real workplace improvement. State the situation without identifying colleagues' sensitive circumstances. Describe your task and authority accurately. In the action, explain how people were heard, what barrier you could change, whose expertise or approval was needed and how you checked for unintended burdens on others.

For results, combine operational evidence with voluntary feedback where appropriate. A lower page count could mean healthier operations or suppressed reporting; examine service failures and whether people still feel able to raise concerns. Describe the actual support you provided, not outcomes you cannot know, such as claiming you prevented a colleague from leaving. If no formal workplace example exists, a clearly identified study group or volunteer setting can demonstrate inclusive collaboration at its real scale. Never invent a colleague's hardship to make the story more compelling.

Fictional teaching example: reducing on-call dependence

Fictional example: a team's runbook assumes knowledge held by one experienced engineer, who is repeatedly contacted outside their scheduled rotation. A peer gathers examples of unclear steps, asks responders which decisions they cannot make alone and proposes a paired rehearsal. The team adds prerequisites, safe stop conditions and verification steps, then lets a less experienced responder perform the exercise while the expert observes without directing each action.

The team examines unplanned escalations and task completion across several later rotations and keeps a way to report new gaps. Fewer messages to the expert alone would be an inadequate success measure if newer responders were simply afraid to ask. This invented case illustrates improving capability and workload distribution together. It does not establish a universal staffing ratio or require someone to manage people formally before demonstrating the principle.

Actual quiz connections, with their limits

The supplied inventory has no direct employee-welfare question. Use the stale-runbook question as an indirect transfer exercise: accurate instructions reduce avoidable burden on downstream teams, but a correct documentation choice alone does not prove an inclusive workplace. In the colleague-assistance action, make the handoff clear, share context and keep accountability; seeking expertise should not mean quietly transferring all work to a helpful colleague.

The architecture-experience self-report distinguishes actual scope and context. More expansive experience wording is not evidence that someone creates a better workplace. Report component, migration or modernization work truthfully and identify opportunities you would like to develop. Reflection: who receives the interruptions, who receives the growth assignments, and what evidence would show that your next process change makes those distributions more reasonable? These are practice questions, not an official personality scoring system.

Build your evidence bank

Tell me about improving an unsustainable pattern of work.

A concrete workload pattern, input from affected people, a feasible change within the candidate’s authority and evidence covering both wellbeing and operational outcomes.

  • Who carried the burden and how did you learn that?
  • What happened to service quality after the change?
Describe removing a barrier that made participation harder for some teammates.

A specific barrier, respectful consultation, a practical adjustment and evidence of improved participation without revealing private personal information.

  • How did you avoid assuming what support they needed?
  • How was the change evaluated?
Tell me about helping a colleague prepare for a new responsibility.

An agreed growth goal, appropriately supported real work, candid feedback and observable increased independence, without claiming credit for the colleague’s entire career.

  • What capability did they want to develop?
  • How did you provide practice and feedback?
Describe giving difficult feedback with empathy.

Clear expectations, respectful specificity, space for the other perspective and a documented improvement plan or candid account of unresolved issues.

  • Which behavior and impact did you discuss?
  • What support and follow-up did you offer?
Tell me about challenging a plan that depended on repeated overtime.

A workload and consequence analysis, constructive scope or capacity options and an honest outcome rather than portraying exhaustion as commitment.

  • What evidence showed the plan was unsustainable?
  • Which alternatives did the decision owner consider?
Describe making growth opportunities more fairly available.

Transparent criteria, attention to overlooked contributors, supported stretch work and evidence of access or capability changes without tokenistic claims.

  • What pattern of assignment did you observe?
  • How did you preserve readiness and support?
Tell me about workplace feedback that revealed your own process was harmful.

A specific impact, nondefensive listening, corrective work and follow-up with affected people, while protecting their privacy.

  • How did you make it safe to provide that feedback?
  • What changed beyond your initial apology?
Describe a team improvement that did not work as intended.

An honest account of unintended burden, multiple forms of feedback and a corrected approach rather than assuming a well-meant initiative must be beneficial.

  • Whose experience differed from your expectation?
  • How did you revise or stop the intervention?
Apply this principle in the quiz · 3 connections

Last verified 2026-09-06

Leadership principle 16

Success and Scale Bring Broad Responsibility

Consider who else is affected as a system or business grows, take responsibility for secondary effects and leave shared resources and communities better supported.

Meaning and the scope of responsibility

Amazon's current definition asks leaders to consider effects beyond immediate business gains. Its official explanation discusses contributions to surrounding communities. Together with Strive to be Earth's Best Employer, this principle was added in the announcement expanding the older set to 16. This guide's engineering examples are original transfer exercises, not claims about specific Amazon programs or their outcomes.

Begin by asking who benefits, who bears cost and who has little ability to object. Stakeholders may include customers, employees, suppliers, people represented in a dataset, local communities and future maintainers. The relevant boundary extends beyond the payer. A decision can improve one team's metric while increasing waste, exposing information or making another group dependent on an unreliable service.

Trace secondary effects and scale them honestly

Map the path from a proposed change to its downstream consequences. More detailed telemetry can improve diagnosis while increasing the amount of personal information collected. A new service can reduce customers' effort while creating support obligations for a small partner. Removing old infrastructure can save resources while leaving a community of users without a workable transition. Identify the mechanism of impact, affected population, severity and available mitigations before treating expansion as an unqualified success.

Scale changes the importance of small effects. An avoidable megabyte or extra support minute may appear trivial per transaction but become material across a large workload. Measure both per-unit efficiency and total consumption; growth can increase the total even when each request becomes cheaper. State the units, baseline and measurement boundary. Monetary savings are not automatically a measure of environmental benefit, and an estimate of avoided harm should not be presented as observed impact. Seek specialist evidence where the consequence exceeds your expertise.

Tradeoffs and common misuses

Customer Obsession focuses attention on the user's need, while broad responsibility asks whether satisfying it transfers unreasonable harm elsewhere. Think Big requires anticipating what happens when the idea succeeds at much greater scale. Frugality can support reduced waste, but a lower bill can also hide costs paid by partners or communities. Dive Deep helps test the effect, and Earn Trust requires acknowledging uncertainty or negative findings.

Avoid using philanthropy or a positive aggregate result to excuse preventable harm in the core operation. Do not attach a sustainability label to a change solely because it uses fewer servers; utilization, demand, equipment and energy assumptions can matter. Conversely, broad responsibility need not become an unbounded analysis that blocks every small improvement. Prioritize plausible, consequential effects, choose a measurable mitigation, assign an owner and establish a review point. Claims should be proportionate to what was assessed and observed.

Truthful STAR evidence workshop

For STAR practice, select a real decision where you considered someone beyond the immediate sponsor. State the situation, your task and how that stakeholder became visible. In the action, explain the potential impact, evidence gathered, consultation, alternatives and the change you personally helped deliver. Name uncertainty explicitly, especially where you relied on a specialist rather than performing the analysis yourself.

Report the actual boundary of the result. Preventing unnecessary data collection is observable; claiming that nobody could ever be harmed is not. An efficiency improvement measured on one workload does not establish an organization-wide environmental result. If a benefit is modeled, state the assumptions and distinguish it from measured outcomes. A local student or community project can provide relevant evidence when labeled accurately. Do not invent charitable activities, protected-data incidents or global impact to enlarge the story.

Fictional teaching example: diagnosis with less exposure

Fictional example: a support platform copies complete customer request bodies into a shared troubleshooting store. An engineer finds that support usually needs an error category, timing and a pseudonymous correlation reference rather than the full payload. With the support and security owners, they test a smaller event schema, restrict access to exceptional detail and define retention for the remaining records. They verify that representative incidents are still diagnosable and test which roles can read sensitive fields.

The measured result is reduced unnecessary collection and retained diagnostic usefulness. A pseudonymous identifier can still be linkable to a person; it is not automatically anonymous. The case does not claim all privacy risks disappear or that discovery tools themselves enforce handling rules. It illustrates taking responsibility for people represented in operational data even though they did not request the logging feature.

Actual quiz connections and reflection

The inventory has no direct sustainability or community-impact item. In the mixed public, internal and personal-data question, use an indirect responsibility exercise: identify data owners and affected people, classify information and verify proportionate access, rather than assuming encryption decides who should read it. In the API and user-activity logging action, ask how monitoring can support accountability while limiting unnecessary exposure. These technical choices illustrate an impact pathway; they are not a complete test of this principle.

In the daily compute pipeline, cheaper interruptible work is a cost choice, not evidence of lower environmental impact without a suitable measurement boundary. The learning-preference pair provides no universal responsibility answer: either preference can support thoughtful behavior when backed by real examples. Answer truthfully. Reflection: trace one proposal's effect on a person outside your team, identify the evidence you lack and specify a modest mitigation you can own and verify.

Build your evidence bank

Tell me about considering a stakeholder who was absent from the original decision.

A specific overlooked group, a credible impact mechanism, appropriate consultation and a substantive adjustment rather than a generic stakeholder list.

  • How did you learn their interests or exposure?
  • What changed in the proposal?
Describe reducing unnecessary data collection while preserving a useful capability.

A scoped data flow, collaboration with responsible owners, minimized collection and evidence that the intended function still worked; no claim that all risk vanished.

  • Which fields were truly needed?
  • How did you verify utility and access boundaries?
Tell me about an efficiency improvement whose total impact surprised you.

Explicit units and measurement boundaries, observed or clearly labeled modeled effects and a corrected conclusion when a cheaper unit did not imply a lower total.

  • Did demand grow after the change?
  • How did per-unit and total measures differ?
Describe changing a rollout to reduce harm to a partner or dependent user group.

A concrete dependency, input from affected users, feasible migration or support measures and observed continuity rather than a unilateral announcement.

  • What transition burden had been overlooked?
  • How did you test that the mitigation worked?
Tell me about challenging an unsupported claim of positive social or environmental impact.

A specific overstated claim, respectful evidence review and corrected reporting that distinguishes measured results, estimates and unknowns.

  • What evidence or boundary was missing?
  • How did you communicate a more accurate conclusion?
Describe contributing to a community need through skills or resources you could actually offer.

A truthful role, recipient-informed scope, a usable contribution and feedback, without inflating a local effort into a broad impact claim.

  • Who defined the need?
  • How was usefulness assessed by the recipients?
Tell me about balancing immediate customer value with a longer-term external effect.

A plausible impact pathway, proportionate evidence, explicit decision ownership and a follow-up mechanism for unresolved effects.

  • What alternatives and time horizons did you compare?
  • Who accepted the remaining tradeoff?
Describe discovering an unintended consequence after a successful launch.

A candid adverse finding, prompt ownership, verified corrective action and an ongoing check rather than using the initial success to dismiss later harm.

  • How did it become visible and who was affected?
  • What remediation did you personally carry through?
Apply this principle in the quiz · 4 connections

Last verified 2026-09-06

04 / KEEP YOUR TERMS STRAIGHT

The abbreviation register

Expand the acronym, understand the mechanism, and jump to the chapter that puts it to work.

Abbreviations and essential terms
TermMeaning & practical relevanceTopic & deep dive
A recordDNS address record for IPv4

A DNS record carrying an IPv4 address for a name.

Choose it for IPv4 address answers; do not expect it to encode a URL path or application port.

DNS & edge delivery
AAAADNS IPv6 address record; pronounced quad-A

A DNS record carrying a 128-bit IPv6 address. AAAA is a record-type label rather than an ordinary initialism.

Compare A and AAAA results when only some clients fail; a broken IPv6 route can coexist with healthy IPv4.

DNS & edge delivery
Acceptance criteriaObservable conditions for accepting an outcome

Measurable requirements defining what successful delivery means for a specific task.

A customer workshop should end with testable latency, recovery, cost or ownership outcomes rather than only a service shortlist.

Cloud business & engineering communication
ACIDAtomicity, Consistency, Isolation, Durability

Transaction properties: all-or-nothing changes, preserved defined invariants, controlled concurrency effects and retained committed results under the durability contract.

ACID consistency concerns valid state; it is not synonymous with cross-Region read freshness.

Databases & consistency
ACLAccess Control List

A list of access rules; evaluation and ownership semantics depend on the product. A network ACL and an S3 object ACL are different controls.

Do not copy a generic firewall rule order into security groups or confuse object readership with subnet filtering.

Networking & delivery
Active-activeMultiple sites concurrently serving production work

Traffic is processed in more than one site under a defined state-coordination design.

Concurrent activity does not prove independent failure paths, sufficient survivor capacity or zero RPO.

Reliability & traffic control
Active-passivePrimary service with a nonserving or limited serving recovery site

One site handles the relevant production role while another is prepared to take over.

Recovery readiness includes replication, promotion, routing and application dependencies, not just a running replica.

Reliability & traffic control
Admission controlDeciding whether to accept new work within capacity limits

A workload rejects or defers requests before expensive processing when a defined resource budget is exhausted.

Protect latency and dependency capacity; return an explicit retry contract rather than accepting work that cannot finish.

Reliability & traffic control
AES-256Advanced Encryption Standard with a 256-bit key

A symmetric encryption algorithm and key-size choice; it does not specify the entire mode, key lifecycle or access policy.

An encrypted bucket can still expose readable data through authorized decrypting access, so classify and authorize data separately.

Security & identity
ALBApplication Load Balancer

An Elastic Load Balancing option routing HTTP/HTTPS application requests using listeners and target groups.

Use request-aware routing and supported target algorithms; it does not create replacement compute instances by itself.

Reliability & traffic control
Amazon MacieAmazon Macie; service name

AWS sensitive-data discovery and security visibility for supported S3 content.

Use findings to inform owner-led classification; discovery by itself does not enforce all permitted readership and data movement.

Security & identity
AMI (AMIs)Amazon Machine Image; plural AMIs

An EC2 launch artifact defining software and block-device mappings for compatible instances.

Bake stable dependencies into a tested image to reduce boot-time installation, then refresh secrets and runtime configuration at launch.

Compute & deployment
AnycastOne destination address announced from multiple network locations

Routing steers packets toward one of several network locations advertising the same address.

Global Accelerator can provide stable entry addresses, but application state and regional recovery still need explicit design.

DNS & edge delivery
APIApplication Programming Interface

A defined interface through which software requests operations and exchanges data.

Document schemas, authorization, errors, idempotency and compatibility, then verify behavior against the deployed version.

Cloud business & engineering communication
ARCAmazon Application Recovery Controller

AWS recovery capabilities supporting application recovery readiness and traffic or zonal recovery operations, depending on feature.

Evaluate the particular feature and its dependencies; a recovery control service cannot make an unprepared application recoverable.

Reliability & traffic control
Archive retrievalMaking archived data available for use

A storage-class-specific retrieval step that can precede copying, database recovery and application validation.

Do not equate retrieval completion with RTO; slow archive classes may consume the entire recovery budget.

Caching & storage
ARNAmazon Resource Name

A structured AWS resource identifier whose fields and resource syntax vary by service.

Use the actual resource scope in policies; a malformed or overbroad ARN can deny required work or expand access.

Security & identity
ASGAuto Scaling Group

An EC2 Auto Scaling fleet managed toward desired capacity within configured bounds and placement rules.

Desired capacity is not healthy capacity; inspect launch delays, replacement events and maximum-size constraints.

Compute & deployment
Asynchronous replicationReplication after local acceptance

The primary can acknowledge a write before the remote copy has durably received it.

Replica lag can become lost acknowledged work after primary-site loss; measure the loss window against RPO.

Databases & consistency
At-least-once deliveryDelivery contract permitting duplicates

The system retries to support eventual delivery under its stated conditions, so a recipient may see the same message more than once.

Consumers must tolerate redelivery; a successful receive alone is not a business completion record.

Messaging & migration
AuroraAmazon Aurora

An AWS relational database offering with MySQL-compatible and PostgreSQL-compatible editions and managed distributed storage.

Verify engine/version compatibility and distinguish regional cluster recovery from Global Database failover.

Databases & consistency
AuthenticationVerification of a claimed identity

The process of establishing who or what is requesting access.

A successful login does not authorize every object; distinguish identity evidence from per-operation access decisions.

Security & identity
Authoritative serverDNS source of records for an administered zone

A server answering from the zone's published data rather than merely forwarding a cached client lookup.

Compare authoritative and client-visible answers to separate publication errors from cache delay.

DNS & edge delivery
AuthorizationDecision about permitted actions on resources

Evaluation of identity, resource and policy context to determine whether a requested operation is allowed.

Check tenant/object permissions on each request, including requests carrying a valid session.

Security & identity
AWSAmazon Web Services

Amazon's cloud platform providing infrastructure and managed services under service-specific contracts.

Choose combinations by customer constraints and ownership needs; the AWS label alone guarantees neither low cost nor end-to-end availability.

Compute & deployment
AWS BackupAmazon Web Services Backup

A service coordinating backup protection and lifecycle management for supported resources.

Inventory actual protected resources and rehearse a complete restore; backup-job success alone does not establish a recovery objective.

Caching & storage
AWS BudgetsAmazon Web Services Budgets

A service for tracking configured cost or usage budgets and issuing alerts or supported actions.

Budget alerts depend on billing data and evaluation timing; they are not an instantaneous universal spending ceiling.

Cloud business & engineering communication
AWS ShieldAmazon Web Services Shield

AWS protection capabilities for distributed denial-of-service threats, with capabilities depending on the selected offering.

Distinguish availability protection against hostile traffic from WAF application filtering and repair of vulnerable code.

Security & identity
AZAvailability Zone

An AWS Region subdivision comprising one or more data centers with an independent infrastructure failure boundary by design.

Two instances in one Zone do not provide the same failure isolation as placement across Zones.

Reliability & traffic control
BackpressureUpstream flow reduction when downstream capacity is constrained

A mechanism slows or rejects incoming work to prevent unbounded queued demand.

Preserve zero-RPO synchronous writes by controlling admission instead of silently weakening acknowledgements.

Reliability & traffic control
Bastion hostControlled intermediary for administrative access

A hardened entry point through which administrators reach otherwise restricted systems.

An IP allowlist narrows the path but cannot establish that a permitted laptop or its existing session is uncompromised.

Security & identity
BDPBandwidth-Delay Product

The amount of data that can be in flight on a path, calculated as usable bit rate multiplied by round-trip time.

At 800 megabits/s and 80 ms, about 64 megabits, or 8 decimal MB, must be in flight to fill the path.

Networking & delivery
Bearer tokenCredential usable by its possessor

A token whose presentation is sufficient for access unless the protocol adds further binding.

Treat logs, browser storage and leaked URLs as possible credential-exposure paths; MFA does not neutralize a copied live token.

Security & identity
BGPBorder Gateway Protocol

A routing protocol that exchanges reachable network prefixes and path attributes between peers.

A healthy circuit can still fail to carry application traffic when required prefixes are not advertised or accepted.

Networking & delivery
bit / byteBinary digit / eight-bit data unit

A bit is one binary value; a byte is eight bits in the size/rate calculations used here.

Divide network bit rates by eight before comparing them with byte-based storage or migration volumes.

Caching & storage
Block storageStorage exposing addressable blocks to a host

A host formats or directly manages a block device and performs reads/writes to block ranges.

Suitable for filesystems and databases, while host attachment and recovery ownership must be explicitly designed.

Caching & storage
BootstrapLaunch-time initialization

Steps performed as a machine or workload starts, such as fetching configuration or registering services.

Long package installs extend scale-out delay; retain only genuinely runtime-specific work where a baked image can remove repeated installation.

Compute & deployment
BulkheadReserved capacity or isolation between workload classes

Separate pools or limits prevent one class of work from consuming every shared resource.

A slow optional recommendation service should not exhaust all workers required by checkout.

Reliability & traffic control
Cache invalidationRemoval or replacement of obsolete cached state

A mechanism preventing a stored representation from being reused after it no longer meets correctness requirements.

Race a reader with an update in tests; deleting a key before an older reader repopulates it can preserve stale data.

Caching & storage
Cache keyIdentity used to select a cached response

The request attributes that determine whether two requests can reuse the same stored representation.

Omitting a user or currency distinction can leak or misprice content; including every cookie can destroy useful cache reuse.

DNS & edge delivery
Cache stampedeMany concurrent recomputations of the same missing value

A hot key expires or disappears and many callers simultaneously fall through to the origin.

Use request coalescing, staggered expiry or permitted stale serving to avoid multiplying database load.

Caching & storage
Cache-asideApplication-managed cache population

The application reads the cache, loads a miss from the authority, and stores a reusable result.

Define update invalidation and stale-read tolerance; a cache hit must still satisfy tenant and authorization boundaries.

Caching & storage
Capacity ReservationEC2 capacity held for matching launch requirements

A reservation of compute capacity under its documented scope, separate from whether a discount applies.

Use explicit capacity planning for deadlines rather than assuming discounted or on-demand purchasing guarantees availability.

Cloud business & engineering communication
CAPTCHACompletely Automated Public Turing test to tell Computers and Humans Apart

A challenge intended to distinguish automated interaction from human interaction.

It can reduce some automated abuse but does not correct SQL injection, authorization mistakes or an already stolen session.

Security & identity
CardinalityNumber of distinct telemetry label combinations

The count of unique series or field values produced by dimensions such as tenant or request ID.

Request IDs belong in searchable event context, not unbounded metric labels that overwhelm cost and aggregation.

Observability & diagnosis
CDContinuous Delivery or Continuous Deployment

Delivery keeps changes releasable; deployment additionally automates release to the target environment under the chosen workflow.

State which practice is meant and coordinate published documentation with behavior users can actually access.

Cloud business & engineering communication
CDCChange Data Capture

Extraction of ongoing source-data changes for replication, migration or downstream processing.

A completed bulk copy is insufficient while production writes continue; monitor change convergence before cutover.

Messaging & migration
CDNContent Delivery Network

Distributed delivery infrastructure that serves eligible content near viewers, often using cached origin responses.

Reduce long-distance fetches for reusable content while preserving tenant, authorization and freshness boundaries.

DNS & edge delivery
CheckpointDurable record of completed work and restart state

A recovery marker allowing a replacement worker to resume without repeating all earlier processing.

Publish output and progress safely outside the interrupted instance and make replay harmless.

Compute & deployment
CIContinuous Integration

Frequent integration of changes with automated checks that reveal incompatibility early.

Validate schemas and examples alongside code while retaining review for meaning that syntax checks cannot establish.

Cloud business & engineering communication
CIDRClassless Inter-Domain Routing

Address-prefix notation that pairs an IP network with the number of fixed leading bits, such as 10.10.1.0/24.

The photographed /24 restricts SSH source addresses; it does not authorize every destination port from that subnet.

Networking & delivery
Circuit breakerTemporary suppression of calls to a failing dependency

A client stops repeated failing calls for a bounded period and tests recovery through controlled probes.

Reduce cascading overload, while defining which operations can degrade safely and how correctness is preserved.

Reliability & traffic control
CLICommand-Line Interface

A text-based interface for invoking software operations and inspecting results.

Use bounded, authorized diagnostic commands and distinguish read-only inspection from state-changing operations.

Cloud business & engineering communication
CloudFrontAmazon CloudFront

AWS content delivery service combining edge delivery, configurable caching and origin access.

Check minimum TTL carefully: a positive minimum can cache despite origin private/no-store directives. Test separate users' responses.

DNS & edge delivery
CloudTrailAWS CloudTrail

AWS activity recording for supported management and data events according to configured coverage.

CloudTrail actor evidence is not a complete application-user audit; verify event selectors and instrument business actions separately.

Observability & diagnosis
CloudWatchAmazon CloudWatch

AWS monitoring and observability services for metrics, logs, alarms and related telemetry capabilities.

CloudWatch helps investigate runtime behavior; distinguish that role from CloudTrail's AWS activity records.

Observability & diagnosis
CloudWatch Logs InsightsAmazon CloudWatch Logs Insights

Interactive querying and analysis of supported log data through its query interfaces.

Bound the log groups and time range so a diagnosis is affordable, and avoid placing sensitive user content in query results.

Observability & diagnosis
CNAMECanonical Name record

A DNS alias from one name to another name, which requires resolving the target's records.

Distinguish a CNAME from Route 53's alias feature, especially for zone-apex and supported AWS-target decisions.

DNS & edge delivery
CODEOWNERSRepository ownership-rule file; a filename, not an acronym

A repository convention associating file paths with reviewers or owners under the hosting platform's rules.

Route API and runbook changes to knowledgeable reviewers, while checking that ownership matches actual responsibility.

Cloud business & engineering communication
Cold startInitialization before useful execution

Delay caused by preparing a new execution environment and application dependencies.

Measure user-visible latency and dependency initialization rather than assuming every slow request is a cold start.

Compute & deployment
CommitAcceptance of a transaction under a durability contract

The point at which the engine accepts the transaction as completed according to configured acknowledgement rules.

A lost response can leave the client uncertain even when the database committed; reconcile before retrying a charge.

Databases & consistency
Commitment coverageShare of eligible usage receiving commitment benefits

A measure of how much eligible demand is covered by purchased discounts.

High coverage can coexist with waste; also measure how much of the purchased commitment is actually used.

Cloud business & engineering communication
Commitment utilizationShare of a purchased commitment consumed

A measure of whether the paid commitment is being applied to eligible usage.

An oversized annual commitment can cost more than flexible compute for a short daily workload.

Cloud business & engineering communication
Compute OptimizerAWS Compute Optimizer

A service producing supported resource-optimization recommendations from utilization and configuration observations.

Treat recommendations as candidates for representative workload validation; historical utilization cannot prove every future peak or recovery requirement.

Cloud business & engineering communication
Conditional writeWrite performed only if a predicate remains true

The database atomically tests a condition and applies the change if it passes.

Protect version updates or first-writer ownership without a race between a separate read and write.

Databases & consistency
Connection drainingBounded completion of work before target removal

Stop assigning new work while allowing existing requests or connections time to finish.

A drain timeout must account for long streams, deadlines and safe interruption before terminating the worker.

Reliability & traffic control
Connection poolReusable bounded set of database connections

Application requests borrow established connections instead of creating a new connection for every operation.

Every additional replica may add its own pool; fleet scaling can exhaust the database while each worker looks healthy.

Databases & consistency
ContainerApplication process with packaged dependencies and isolation

A deployment unit sharing a host kernel while using resource and namespace isolation mechanisms.

Packaging portability does not recreate cloud identity, database semantics or storage dependencies.

Compute & deployment
Contract testingChecking observable interfaces against agreed expectations

Tests verify required request, response, error or compatibility behavior at integration boundaries.

Syntax-valid API descriptions can still misstate asynchronous completion or authorization; exercise those behaviors.

Cloud business & engineering communication
CookieBrowser-managed HTTP state token

Data stored and returned by the browser according to domain, path and security attributes.

A cookie can carry a session identifier but does not make server memory durable or its own contents trustworthy.

Protocols & web applications
Coordinated omissionLoad-test bias caused by waiting before sending more work

A generator pauses with slow responses and consequently omits requests that real users would have offered during the stall.

Measure offered load and queueing explicitly so a saturated service does not appear artificially fast.

Observability & diagnosis
CPUCentral Processing Unit

Hardware executing instructions; utilization reports how much measured processing capacity is busy over a window.

Low average CPU does not rule out lock, network, disk or single-thread saturation.

Compute & deployment
CSRFCross-Site Request Forgery

An attacker induces a browser to send an unwanted request using credentials the browser supplies automatically.

Validate anti-CSRF protections for cookie-authenticated state changes; XSS instead exploits script execution within the trusted origin.

Security & identity
CURAWS Cost and Usage Report

Detailed billing and usage records used for allocation and analysis under the selected report configuration.

Choose a consistent amortized, net or other accounting basis and reconcile allocations to the billed total.

Cloud business & engineering communication
CutoverTransfer of production traffic or authority to a new environment

A planned transition with acceptance gates, an owned decision point and explicit handling of ongoing writes.

Lower DNS TTL in advance and establish one writer; reversing routing after new writes requires data reconciliation.

Messaging & migration
Data classificationAssignment of handling categories to information

Data owners classify information by sensitivity and business requirements so controls can follow its intended use.

Separate public marketing delivery from internal documents and restricted records, then test both allowed and denied access.

Security & identity
Data eventCloudTrail event for supported resource-level activity

An event describing covered data operations, such as object access, when the relevant collection is enabled.

Inspect selectors and delivery because a trail does not capture every supported data event by default.

Observability & diagnosis
Data gravityConstraints created by the location and volume of data

Large or frequently changing datasets make movement and dependent execution costly or slow.

Estimate export, transfer, catch-up and import throughput before promising a rapid provider exit.

Messaging & migration
DBDatabase

An organized data store with an interface for reading and changing records under defined semantics.

Database reachability, query correctness and data durability are separate checks during a failed-search investigation.

Databases & consistency
DDoSDistributed Denial of Service

Traffic or work from many sources exhausts resources or prevents legitimate service.

Differentiate volumetric protection from application-level workload limits and preserve a tested origin-protection path.

Security & identity
DELETEHTTP DELETE method; a method name, not an acronym

Requests removal of the target resource's association with its current functionality; defined as idempotent but not safe.

Repeated deletion may return different statuses while retaining the same intended effect; it is not an appropriate read-only diagnostic.

Protocols & web applications
Direct ConnectAWS Direct Connect

A service establishing dedicated network connectivity between customer locations and AWS through supported connections and virtual interfaces.

A private circuit is not automatically end-to-end encryption or redundant connectivity; design both properties when the workload requires them.

Networking & delivery
Disagree and commitConstructive challenge followed by committed execution

Present relevant contrary evidence before a decision and support the agreed direction afterward while raising material new facts.

This is part of one Amazon principle, Have Backbone; Disagree and Commit, rather than two separate principles.

Cloud business & engineering communication
Distributed monolithDistributed components with monolithic change coupling

Services communicate over a network but still require coordinated releases or share fragile ownership boundaries.

A broker or container rewrite can add failure modes without solving the retail platform's release bottleneck.

Compute & deployment
DLPData Loss Prevention

Policies and controls to identify sensitive information and reduce unauthorized disclosure or movement.

Discovery scanning informs classification; a finding alone does not enforce readership, retention or an egress decision.

Security & identity
DLQDead-Letter Queue

A destination for messages that exceed a defined delivery or processing failure policy.

Assign investigation and safe redrive ownership; moving poison messages aside does not complete their business work.

Messaging & migration
DMSAWS Database Migration Service

A service for supported database migration and replication tasks, including bulk load and change replication where supported.

Validate schema, change lag and application invariants; a running task is not proof that all required semantics migrated.

Messaging & migration
DNSDomain Name System

A distributed naming system mapping names to typed records through authoritative servers and resolvers.

DNS routing selects answers that clients cache; it does not move an already established connection.

DNS & edge delivery
DNS64/NAT64DNS synthesis for IPv6 clients and IPv6-to-IPv4 network address translation

DNS64 synthesizes IPv6 answers for IPv4 destinations; NAT64 translates the resulting traffic. They perform complementary functions.

An IPv6-only client needs the resolver behavior and a valid translation route, not just an arbitrary AAAA record.

Networking & delivery
Docs as codeDocumentation maintained through software-change practices

Version documentation, review changes and run appropriate build and verification checks alongside implementation.

Trace a released API example back to the reviewed source and detect drift before downstream incidents.

Cloud business & engineering communication
Documentation driftDivergence between guidance and real system behavior

Published procedures or contracts become stale as implementation and deployment change.

Same-PR updates reduce omissions; release checks and runbook drills verify that the actual published instructions work.

Cloud business & engineering communication
DOMDocument Object Model

The browser's structured representation of a document exposed to scripts.

Client-side unsafe insertion can create DOM-based XSS even when the server never renders the malicious value.

Security & identity
DRDisaster Recovery

Prepared restoration of data and service after a disruption beyond the workload's continuously tolerated failure scope.

Recovery strategy selection must meet both data-loss and restoration-time objectives with feasible operating cost.

Reliability & traffic control
DynamoDBAmazon DynamoDB

A managed nonrelational database centered on key-value and document access with configurable capacity and consistency options.

Model key distribution and exact read/write patterns before assuming a shared-session table will scale evenly.

Databases & consistency
EBSAmazon Elastic Block Store

Persistent block storage for EC2, with volume-specific performance and availability properties.

Select capacity, IOPS and throughput together; a volume's persistence does not create a complete cross-Zone application recovery plan.

Caching & storage
EC2Amazon Elastic Compute Cloud

A service for virtual-machine compute instances with selectable resource configurations.

Use it when workload or operating-system control warrants responsibility for guest configuration, patching and capacity.

Compute & deployment
ECSAmazon Elastic Container Service

AWS container orchestration using task definitions and services to run and maintain workloads.

Choose it when its deployment model meets the team's needs without requiring Kubernetes-specific interfaces.

Compute & deployment
EDNSExtension Mechanisms for DNS

A mechanism extending DNS messages, including advertised UDP response size and optional metadata.

Large-answer or resolver-path problems can depend on extension handling; compare representative resolvers and transports.

DNS & edge delivery
EFSAmazon Elastic File System

A managed elastic NFS file service with storage and availability options.

Use it when multiple clients need shared filesystem access; verify deployment mode, permissions and workload I/O pattern.

Caching & storage
EKSAmazon Elastic Kubernetes Service

AWS's managed Kubernetes service for running Kubernetes workloads.

Kubernetes compatibility can justify EKS, but application, network and cluster-operation responsibilities still need owners.

Compute & deployment
ElastiCacheAmazon ElastiCache

Managed in-memory data services whose persistence and recovery properties depend on engine, deployment and durability configuration.

Do not describe every configuration as volatile: supported Valkey clusters can use synchronous or asynchronous durable writes.

Caching & storage
ElastiCache durabilityOptional Multi-AZ transactional-log persistence for supported Valkey clusters

Optional Multi-AZ transactional-log persistence for supported Valkey clusters. Synchronous writes persist before acknowledgement; asynchronous writes acknowledge first and can lose up to the latest ten seconds of writes during failure.

The option requires supported Valkey 9.0+ node-based configurations and excludes Serverless and Global Datastores; it is not a blanket cross-Region zero-RPO promise.

Caching & storage
ELBElastic Load Balancing

The AWS family of managed load-balancer services, including ALB and NLB.

Use the specific load-balancer type when reasoning about protocols, target health and routing behavior.

Reliability & traffic control
ENAElastic Network Adapter

AWS's enhanced-networking interface used by supported EC2 instances and drivers.

Inspect packet, bandwidth and connection-tracking allowance counters when CPU is low but requests stall.

Networking & delivery
ENIElastic Network Interface

A virtual network interface with addressing and associated network configuration in a VPC.

Trace the actual interface, subnet and security groups; an instance can have multiple interfaces with different paths.

Networking & delivery
Envelope encryptionData-key encryption protected by another key

Data is encrypted with a data key, which is itself encrypted under a protecting key for storage alongside the ciphertext.

Separates bulk data processing from key-protection operations; both ciphertext and an authorized key path are required for recovery.

Security & identity
Ephemeral portTemporary client-side transport port

A source port selected for an outbound connection, whose range depends on the operating system and configuration.

Stateless return-path filters must account for client ports instead of permitting only the server's listening port.

Networking & delivery
Error budgetAllowed unreliability implied by an SLO

The tolerated unsuccessful fraction or duration within the objective's specified window.

Use burn rate and customer impact to guide operational priorities; do not mix request-based and time-based denominators.

Reliability & traffic control
EventBridgeAmazon EventBridge

Managed event routing and integration using event buses, rules and targets, with other integration capabilities.

Choose event-based routing and filtering when producers should not hard-code every consumer destination.

Messaging & migration
Eventual consistencyConvergence without an immediate freshness guarantee

Replicas can temporarily return different values and converge under the system's stated assumptions.

A stale session or permission read may be unacceptable even when the eventual stored value will be correct.

Databases & consistency
EvictionRemoval of cached entries under resource pressure

A policy discards entries to free capacity; this is distinct from expiry and unexpected failure loss.

Even a durable cache can evict TTL-bearing keys under its configured policy; durable storage does not guarantee permanent key retention.

Caching & storage
Executive summaryDecision-focused overview for a business audience

A concise account of the problem, recommendation, evidence, business impact and required decision.

Keep technical mechanisms available below the summary so executive and engineering readers share one consistent evidence base.

Cloud business & engineering communication
EXPLAIN / ANALYZEQuery-plan inspection and execution-measurement commands; syntax varies by engine

EXPLAIN shows a chosen plan; execution-analysis variants can actually run the statement and report observed behavior.

Use bounded read-only statements and understand side effects; a diagnostic plan command is not inherently safe for every SQL statement.

Databases & consistency
Explicit denyPolicy decision rejecting a matching request

An applicable explicit denial takes precedence over an allowance within the relevant policy evaluation model.

Find the denying guardrail before repeatedly adding broader allow statements.

Security & identity
Fail openContinuing routing when health filtering cannot select healthy targets

A service-specific behavior allowing traffic to targets despite unhealthy status in stated conditions.

ALB's all-unhealthy behavior means a health check is not an access-control boundary; protect targets independently.

Reliability & traffic control
FailbackReturn from a recovery environment to the intended primary

A controlled transfer that preserves changes accepted while the recovery site was authoritative.

Reconcile and synchronize new writes before returning traffic; reversing DNS alone can discard recovery-period data.

Reliability & traffic control
FailoverTransfer of service or authority after impairment

Move serving responsibility to a prepared alternate under defined failure conditions.

Test writer fencing, data-loss assessment, healthy routing and actual transaction success together.

Reliability & traffic control
Failure domainSet of components exposed to a common failure

A boundary such as a host, Zone, Region or shared administrative dependency.

Replicas sharing a queue, credentials or recovery control path can fail together despite different placement.

Reliability & traffic control
FargateAWS Fargate

Managed compute capacity for supported container workloads that removes direct host-fleet management.

It changes the compute operating boundary; it does not replace ECS/EKS orchestration or application resource sizing.

Compute & deployment
FencingPreventing a stale owner from continuing protected work

A mechanism such as an increasing ownership token or revoked write path rejects operations from an obsolete writer.

Promoting a replica without fencing the old primary can create conflicting accepted writes during a partition.

Databases & consistency
FIDOFast IDentity Online

A family of authentication standards and the associated alliance supporting strong public-key authenticators.

Phishing-resistant passkeys or security keys bind authentication to the legitimate relying party more strongly than replayable codes.

Security & identity
FIFOFirst In, First Out

An ordering concept implemented within specific service scopes, such as message groups in SQS FIFO.

A FIFO transport does not make external database updates or payments exactly once; confirm grouping and deduplication limits.

Messaging & migration
File storageStorage exposing files and directory operations

Clients share or use a filesystem namespace with protocol-specific permissions and concurrency behavior.

Use shared file semantics deliberately; an object-store mount adapter may not preserve the expected locking behavior.

Caching & storage
FinOpsFinOps; financial operations for technology value

A collaborative practice connecting technology use, financial accountability and business value.

Reconcile cost data and define useful-work denominators so savings do not conceal failed customer outcomes.

Cloud business & engineering communication
Full meshPairwise fully connected topology

A topology connecting every pair of n participants, requiring n(n−1)/2 undirected pairwise links.

Doubling ten networks to twenty increases pairwise links from 45 to 190, motivating a managed routing hub.

Networking & delivery
GB / GiBGigabyte / gibibyte

One GB is 1,000,000,000 bytes; one GiB is 1,073,741,824 bytes.

Use the stated unit when converting log retention or allocated memory to cost; the values differ by about seven percent.

Caching & storage
GETHTTP GET method; a method name, not an acronym

Requests a selected representation and has safe, idempotent semantics.

A successful GET after redirect does not prove an earlier POST created the requested business record.

Protocols & web applications
Global AcceleratorAWS Global Accelerator

A service using static anycast entry addresses and the AWS network to reach supported regional endpoints.

Consider it for transport-path improvement when response caching cannot address the slow operation.

DNS & edge delivery
Golden imageApproved reusable machine image

A tested, versioned baseline containing the operating system and stable application dependencies.

Measure launch-to-ready time and patch freshness; merely creating an image does not establish safe readiness.

Compute & deployment
GSIGlobal Secondary Index

A DynamoDB index with an alternate key structure spanning the table's items.

An alternate access path adds storage/write cost and does not provide the same read-consistency choices as the base table.

Databases & consistency
HAHigh Availability

Design that keeps a defined workload available through specified failures with limited interruption.

Define tolerated failure scope and test the user journey; redundant components alone do not prove usable service.

Reliability & traffic control
HEADHTTP HEAD method; a method name, not an acronym

Requests response metadata corresponding to GET without response content.

A HEAD-only health or delivery test cannot establish that a response body is correct or a write path works.

Protocols & web applications
HeadroomUnused capacity relative to an explicitly named baseline

A margin between demand and capacity, stated either relative to demand or relative to total installed capacity.

Capacity 20% above demand differs from keeping 20% of installed capacity free; use the correct denominator.

Reliability & traffic control
Health checkProbe used to evaluate target readiness or health

A configured observation with thresholds and timing that informs routing or replacement decisions.

A shallow success endpoint can mask a broken purchase path; overly broad dependency checks can remove every target.

Reliability & traffic control
Horizontal scalingAdding or removing workers

Change capacity by changing the number of parallel workers or replicas.

Parallelism helps only if session state, database limits and other shared bottlenecks permit additional useful work.

Compute & deployment
HTMLHyperText Markup Language

Markup describing web-document structure and semantics.

Escape untrusted content and use semantic structure so documentation remains safe and usable through browsers and assistive technology.

Cloud business & engineering communication
HTTPHypertext Transfer Protocol

An application protocol defining requests, responses, methods and status semantics independently of a particular application.

Follow the complete redirect chain to determine whether the intended write was processed or only a later read succeeded.

Protocols & web applications
HTTP redirectA response directing the client to another resource

A client follows the Location target with a new request according to the status semantics; 303 supports retrieval, while 307/308 preserve the method.

301/302 can change POST to GET in common historical behavior, explaining a lost submission behind a successful read.

Protocols & web applications
HttpOnlyHTTP cookie attribute restricting script access

A browser instruction that prevents ordinary script access to the cookie through document.cookie.

It reduces cookie theft through script reads but does not stop injected code from making authenticated requests.

Protocols & web applications
HTTPSHTTP secured using TLS

HTTP communication over an authenticated encrypted transport, with certificate validation for the target origin.

It protects traffic in transit but does not prevent authorization flaws, SQL injection or exposure by an authorized reader.

Protocols & web applications
Hub and spokeCentral transit topology

A topology in which segments connect through a common transit layer rather than maintaining every pairwise link.

Reduce attachment management while still testing hub capacity, route isolation and failure behavior.

Networking & delivery
I/OInput/Output

Transfers between a processing component and devices or other subsystems; storage I/O is one specific use.

A slow query can wait on I/O while using little CPU; measure the actual device and application path.

Caching & storage
IaaSInfrastructure as a Service

A service model providing infrastructure resources while the customer manages guest operating systems and application layers.

Fits explicit operating-system control requirements when the team can own patching, configuration and recovery.

Cloud business & engineering communication
IAMAWS Identity and Access Management

AWS identity and policy mechanisms governing access to AWS resources and actions.

Grant only needed actions and resources, and evaluate applicable policies together rather than reading one allow in isolation.

Security & identity
IAM roleAWS identity with assumable permissions

An identity assumed through a trust relationship to obtain temporary credentials rather than a permanent shared password.

Separate who may assume the role from what its resulting session may do.

Security & identity
ICMPInternet Control Message Protocol

Network control and diagnostic messages, including some error reports and echo requests.

Blocked ping does not prove HTTPS is down; successful ping does not prove the application, database or TLS path works.

Networking & delivery
IDIdentifier

A value distinguishing an entity or operation within a declared scope; it need not itself contain identity evidence.

Use nonsecret correlation IDs to join logs without recording session tokens or personal data.

Observability & diagnosis
IdempotencySame intended effect from repeated execution of an operation

Repeating an operation does not create additional intended business changes, although logs or responses may differ.

Persist a request key and result atomically with the business change to avoid duplicate effects after uncertain timeouts.

Messaging & migration
IDSIntrusion Detection System

A control that observes activity and identifies suspicious behavior or policy violations.

Detection requires response ownership; observing a malicious request does not by itself block its effect.

Security & identity
IGWInternet Gateway

A VPC attachment that supports internet connectivity when the resource's addressing, routes and security controls also allow it.

Attaching an internet gateway alone does not make every private address internet-routable.

Networking & delivery
Image BuilderAmazon EC2 Image Builder

A service for pipelines that build, test and distribute versioned machine or container images.

Track image freshness and verify launch-to-ready improvement; an automated image pipeline must still run meaningful application tests.

Compute & deployment
IMDS / IMDSv2Instance Metadata Service / Instance Metadata Service version 2

EC2 metadata access and its token-based request protocol. The metadata boundary and attached workload permissions require separate protection.

Require the supported metadata protections for the actual EC2 deployment; do not assume they repair every SSRF flaw or describe every serverless runtime.

Security & identity
Immutable deploymentReplacement-based software rollout

Release a new tested machine or workload artifact and replace old instances rather than modifying each running host in place.

Reduces configuration drift but requires draining, compatible data changes and a rollback-capable artifact path.

Compute & deployment
Incident commandExplicit coordination of incident decisions and work

A response structure assigning authority, technical investigation and communications so actions remain coherent.

Parallel investigations need one shared timeline and clear ownership of risky restoration decisions.

Observability & diagnosis
IndexDatabase access structure

An auxiliary structure that accelerates supported lookups or ordering at the cost of storage and maintenance on writes.

Inspect selectivity and actual plan use; adding indexes indiscriminately can slow updates without fixing the report.

Databases & consistency
IOPSInput/Output Operations Per Second

A count of storage operations completed per second under a stated I/O size and workload.

10,000 operations of 16 KiB each require about 156.25 MiB/s, so a throughput cap can bind before an IOPS limit.

Caching & storage
IPInternet Protocol

Network-layer addressing and packet delivery across interconnected networks; it does not itself promise delivery, ordering or application success.

A reachable IP address proves less than a successful authenticated transaction on the required port.

Networking & delivery
IPSIntrusion Prevention System

A control that can intervene inline to block activity matching its detection policy.

Balance inspection coverage and false positives; encrypted traffic may require a deliberate decryption boundary.

Security & identity
IPv4Internet Protocol version 4

IP version using 32-bit addresses, commonly written as four decimal octets.

Match firewall and routing rules to the actual address family; IPv4 restrictions do not secure a separate IPv6 listener.

Networking & delivery
IPv6Internet Protocol version 6

IP version using 128-bit addresses and different address-management and neighbor-discovery mechanisms from IPv4.

Check IPv6 routes, DNS answers and access rules independently when diagnosing unexpected public reachability.

Networking & delivery
ITInformation Technology

The systems, software and operating practices supporting an organization's information processing.

Translate an IT resource request into a business outcome and ownership decision before prescribing a service.

Cloud business & engineering communication
JSONJavaScript Object Notation

A structured text data format for objects, arrays and primitive values.

Valid JSON syntax does not prove an API contract is semantically correct or that an exported state references existing records.

Cloud business & engineering communication
JVMJava Virtual Machine

The managed runtime executing Java bytecode with its own memory and execution behavior.

Inspect heap, garbage collection and native allocation separately when total process memory or latency grows.

Observability & diagnosis
JWK / JWKSJSON Web Key / JSON Web Key Set

A standardized key representation and collection format often used to publish token-verification keys.

Handle key rotation and cache refresh without trusting attacker-selected key URLs or accepting an unknown key blindly.

Security & identity
JWTJSON Web Token

A compact claims representation that can be protected by signing or encryption; a signed token alone is not confidential.

Validate trusted algorithms, keys, issuer, audience and expiry, and define revocation before adopting independent token verification.

Security & identity
KB / KiBKilobyte / kibibyte

One KB is 1,000 bytes in decimal notation; one KiB is 1,024 bytes. Some tools use KB ambiguously.

Resolve the producer's units before multiplying per-record size or per-operation size by a rate.

Caching & storage
KinesisAmazon Kinesis Data Streams in this guide

A retained streaming service whose consumers track progress through ordered shard data.

Use it when independent consumers need replay of ordered records; distinguish stream checkpoints from queue deletion.

Messaging & migration
KMSAWS Key Management Service

A managed service for cryptographic keys and operations integrated with AWS data-protection services.

Key policies and decrypt permissions are part of both production authorization and the restore critical path.

Security & identity
LambdaAWS Lambda

A managed function-execution service invoked through supported synchronous or event-based interfaces.

Check completion semantics, duration, concurrency and downstream capacity for the immediate image-processing scenario.

Compute & deployment
Launch templateVersioned EC2 launch settings

A reusable specification containing settings such as AMI, instance options and network configuration.

Pin and verify the version actually used by the fleet to avoid silently launching stale software.

Compute & deployment
Leading indicatorMeasurement of an input expected to influence an outcome

An observable controllable factor such as tested backup coverage, contrasted with a later outcome such as recovery success.

Use it to steer work, then verify the intended customer result instead of rewarding a proxy alone.

Cloud business & engineering communication
Least connectionsGeneric load-balancing algorithm using active connection counts

Assign new connections toward the eligible target with the fewest active connections, with weighting where supported.

Fits variable-duration streams, but it does not migrate established sessions or prove all connections cost equally.

Reliability & traffic control
Least outstanding requestsALB request-routing algorithm based on unfinished requests

A supported target algorithm selecting according to outstanding request work as defined by ALB.

Outstanding HTTP requests and open transport connections are different measures; do not equate this with generic least connections.

Reliability & traffic control
Least privilegeMinimum permissions needed for a defined task

Access scoped by required actions, resources and conditions, revisited as actual needs become clearer.

Allow SSH from the management subnet without permitting every service from that source.

Security & identity
Little's lawAverage population equals arrival rate multiplied by average time in a stable system

For a consistently bounded stable system, L = lambda × W relates average in-flight work, average arrival rate and average time in the system.

Use the same request population and measurement boundary; an ever-growing backlog violates the stable-system assumption used for the calculation.

Reliability & traffic control
Lock contentionWaiting caused by incompatible concurrent access

Operations block because another transaction holds a lock needed to preserve an isolation or integrity rule.

More application workers can amplify waits; identify the blocking transaction before increasing pool size.

Databases & consistency
LPLeadership Principle; plural Leadership Principles

Amazon's named behavioral expectations; the current guide covers 16, while the supplied historical poster shows 14.

Use principles to examine judgment and evidence, not as an official scoring key for photographed work-style preferences.

Cloud business & engineering communication
Management eventCloudTrail event for supported control-plane activity

An event describing administrative operations such as changing configuration or managing resources.

Default management history cannot establish which shopper read or changed an application record.

Observability & diagnosis
MB / MiBMegabyte / mebibyte

One MB is 1,000,000 bytes; one MiB is 1,048,576 bytes.

A disk limit expressed in MiB/s should not be compared numerically with decimal MB/s without conversion.

Caching & storage
Mbps / MBps / MiBpsMegabits per second / megabytes per second / mebibytes per second

Decimal bit rate, decimal byte rate and binary byte rate are distinct quantities.

A 100 Mbps path carries at most 12.5 decimal MB/s before overhead, not 100 MB/s.

Caching & storage
MFAMulti-Factor Authentication

Authentication using factors from more than one factor category, such as a password and possession of an authenticator.

It reduces stolen-password login risk, but does not automatically revoke stolen API keys or active sessions.

Security & identity
MicroserviceService organized around a bounded business capability

An independently owned and deployable service with explicit interfaces and data responsibility.

Separate catalog and checkout release boundaries; multiple containers sharing mandatory simultaneous releases remain coupled.

Compute & deployment
MRECMulti-Region Eventual Consistency

A DynamoDB global-table mode that propagates accepted regional writes to other replicas in the background.

Plan for replication lag and conflict reconciliation; a strongly consistent local read does not make this synchronous cross-Region replication.

Databases & consistency
MRSCMulti-Region Strong Consistency

A DynamoDB global-table mode synchronously coordinating writes across its supported multi-Region topology. Strongly consistent reads provide current item state; eventually consistent reads remain a separate option.

Verify supported Region sets and topology. TTL and transactions are not supported in this mode; do not transplant a single-Region session example unchanged.

Databases & consistency
MTUMaximum Transmission Unit

The largest packet size an interface or path can carry without the relevant fragmentation behavior.

A small ping may succeed while larger application transfers fail because encapsulation or blocked path-MTU feedback reduces usable packet size.

Networking & delivery
MVCCMultiversion Concurrency Control

A database concurrency technique retaining versions so transactions can read an appropriate snapshot while writes proceed.

Long-lived transactions can retain old versions and create cleanup pressure even without high CPU usage.

Databases & consistency
MXMail Exchange record

A DNS record naming a mail server and its preference value for a domain.

It directs email delivery, so it is a distractor when the task concerns web-server migration addresses.

DNS & edge delivery
NACL (NACLs)Network Access Control List; plural NACLs

An AWS subnet-boundary stateless filter with numbered allow and deny rules evaluated in order.

Permit required response paths, including relevant ephemeral ports; an inbound allowance alone does not guarantee a connection.

Networking & delivery
NATNetwork Address Translation

Rewriting packet address information, often with port translation, to connect otherwise different address spaces.

NAT enables an egress path but does not grant application authorization. Distinguish public/private purpose from zonal/regional availability mode.

Networking & delivery
NFSNetwork File System

A network file-access protocol used by services such as EFS.

Diagnose name resolution, mount-target reachability and file permissions separately from application errors.

Caching & storage
NGINXNGINX; pronounced engine-x, a product name

Web-server and proxy software with configurable upstream load balancing, including least-connected routing.

The quiz's generic least-connections answer has a concrete implementation, but AWS ALB algorithms must be checked separately.

Protocols & web applications
NLBNetwork Load Balancer

An Elastic Load Balancing option handling supported transport connections and flows.

Choose by required protocol and flow behavior; do not assume it implements a configurable generic least-connections algorithm.

Reliability & traffic control
Noisy neighborInterference from workloads sharing constrained resources

One workload's consumption degrades another's performance on a shared host or service boundary.

Consolidation savings must be tested against contention and failure isolation, not only aggregate idle capacity.

Cloud business & engineering communication
NoSQLNonrelational database family; often glossed as not only SQL

A broad category including key-value, document and other models rather than one universal consistency or query contract.

Choose by access patterns and invariants; the label alone says nothing about transaction support or data-loss tolerance.

Databases & consistency
NXDOMAINDNS response meaning the queried name does not exist

An authoritative name-nonexistence result, distinct from an existing name lacking the requested record type.

Negative caching can prolong apparent migration failure even after a name is created.

DNS & edge delivery
OAuth 2.0OAuth 2.0 authorization framework; OAuth is a protocol name

A framework for granting clients bounded access to protected resources through access tokens.

Distinguish delegated API access from OIDC authentication, especially when implementing federated login.

Security & identity
Object storageStorage addressed as whole objects and metadata

Applications identify objects by keys and use object operations rather than a block-device interface.

Good for uploads and archives, but an application expecting file locks or low-latency partial overwrites may need adaptation.

Caching & storage
OIDCOpenID Connect

An authentication layer on OAuth 2.0 that communicates identity through defined flows and ID tokens.

Validate issuer, audience, signature and flow context; an arbitrary access token is not automatically login evidence.

Security & identity
OOMOut Of Memory

A condition where memory allocation cannot be satisfied and an operating system or runtime may kill or fail work.

A container can hit its own limit while the host has free RAM; inspect the failure scope before adding swap.

Observability & diagnosis
OpenSearchOpenSearch search and analytics software; Amazon OpenSearch Service is its managed AWS service context

A search and analytics platform using indexes and query processing, with service-specific management when run through AWS.

Diagnose shard/index health, query errors and resource constraints instead of assuming failed search always needs larger application instances.

Observability & diagnosis
Opportunity costValue of the best forgone alternative

The benefit lost when scarce time or resources are spent on one choice instead of another.

A portability layer has an engineering cost, while deep provider dependence can raise future exit cost; compare both.

Cloud business & engineering communication
OPTIONSHTTP OPTIONS method; a method name, not an acronym

Requests communication options for a target; browsers also use it for applicable cross-origin preflight checks.

A working preflight is separate from authorization of the actual application request.

Protocols & web applications
OriginAuthoritative backend for delivered content

The server or storage endpoint from which a delivery layer obtains content on a miss or refresh.

A nearby edge does not remove origin latency for an uncached write or personalized response.

DNS & edge delivery
OSOperating System

The software managing processes, memory, devices and application execution on a machine.

A requirement for kernel or package control changes the suitability of managed platforms versus virtual machines.

Compute & deployment
OSSOpen-Source Software

Software made available under an open-source license, with license-specific rights and obligations.

Source availability and packaging can help portability but do not remove operating work or license obligations.

Cloud business & engineering communication
OutboxTransactional outbox pattern

Commit business state and a pending publication record in the same database transaction, then publish asynchronously.

Closes the lost-event gap between database commit and message send; consumers still need duplicate protection.

Messaging & migration
OWASPOpen Worldwide Application Security Project

A nonprofit community producing open application-security guidance and projects.

Use its attack and prevention guidance to justify defenses, without presenting a checklist as proof an application is secure.

Security & identity
OwnershipResponsibility for the sustained outcome

Following through across boundaries, clarifying decisions and ensuring delegated work has a credible completion path.

Bringing in a specialist should preserve customer continuity and a named owner for the next deliverable.

Cloud business & engineering communication
p95 / p9995th / 99th percentile

Values at or below which the corresponding share of observations falls under the measurement convention.

Tail percentiles expose slow user experiences hidden by a mean. Averaging percentiles generally cannot recover a combined percentile even for equally sized populations; combine observations or compatible distributions first.

Observability & diagnosis
PaaSPlatform as a Service

A model in which a provider operates a managed application platform and the customer supplies application behavior and configuration.

Check supported runtimes and control boundaries before choosing convenience for a workload needing custom host access.

Cloud business & engineering communication
Parameterized queryDatabase statement with separately bound values

The application sends a command structure separately from input values handled as data.

Bind untrusted values and allowlist unavoidable dynamic identifiers; string concatenation can reintroduce injection.

Security & identity
Partition keyPrimary-key component used to distribute data

A key value determines placement and request concentration within the database's partitioning model.

A high-traffic tenant or one shared session bucket can form a hotspot despite spare table-wide capacity.

Databases & consistency
Permissions boundaryMaximum-permission policy for an IAM identity

A boundary constrains an identity's effective permissions but does not independently grant actions.

Delegating role creation safely requires checking the boundary and all applicable resource-policy/session cases.

Security & identity
PIIPersonally Identifiable Information

Information that identifies a person directly or can be linked to them in context.

Mixed public and sensitive objects need classification and proportional handling, not a single assumption about every bucket.

Security & identity
Pilot lightRecovery pattern retaining essential core state and services

Minimal critical components stay ready while much of the serving environment must be started or created after a disaster.

Lower idle cost is exchanged for activation work; measure provisioning dependencies against the RTO.

Reliability & traffic control
PITRPoint-In-Time Recovery

Restoring data to a supported time within retained backup and change-history coverage.

Check the exact restorable window and reconcile later writes; PITR is different from aborting an uncommitted transaction.

Caching & storage
PortabilityAbility to move a workload with acceptable adaptation

Compatibility across runtime, data, identity, networking and operational boundaries.

Test an actual alternate deployment and representative transactions rather than relying on a common packaging format.

Messaging & migration
POSIXPortable Operating System Interface

A family of standards defining operating-system interfaces and behavior, including relevant file operations.

A storage interface described as file-like does not automatically satisfy the application's POSIX assumptions.

Caching & storage
POSTHTTP POST method; a method name, not an acronym

Asks a resource to process supplied content according to that resource's semantics; it is not generally idempotent.

Use a documented idempotency mechanism before retrying a submission after an ambiguous timeout.

Protocols & web applications
Post-incident reviewEvidence-based analysis after service disruption

Reconstruct the event, contributing conditions and improvement opportunities with accountable follow-through.

Move beyond blame or an unexplained root-cause label to corrective changes whose effectiveness can be checked.

Observability & diagnosis
PRPull Request

A proposed repository change reviewed before integration; names and workflow vary by platform.

Include affected API specifications and runbooks with the behavior change so reviewers can assess consistency.

Cloud business & engineering communication
PrincipalIdentity making an access request

A user, role session, service or other identity evaluated by an authorization system.

Audit the actual assumed-role session, not only the human or workload that originally obtained it.

Security & identity
PrivateLinkAWS PrivateLink

Private service access through supported endpoint connectivity without exposing an entire provider network to the consumer.

Use service-specific reachability when full transitive network connectivity would be unnecessarily broad.

Networking & delivery
Provisioned concurrencyPrepared Lambda execution environments

Pre-initialized function environments allocated to reduce initialization latency for covered concurrency.

Compare the latency need and ongoing cost with ordinary on-demand execution; excess traffic may use different capacity.

Compute & deployment
PSIPressure Stall Information

Linux metrics reporting time tasks stall on constrained CPU, memory or I/O resources.

Use pressure and paging evidence to distinguish actual memory stalls from merely large allocated memory.

Observability & diagnosis
Psychological safetyConditions supporting candid questions and concern reporting

People can disclose uncertainty, errors and risks without interpersonal punishment for speaking up.

Incident learning and coaching need honest evidence; blame can suppress the very information needed to improve reliability.

Cloud business & engineering communication
PUTHTTP PUT method; a method name, not an acronym

Creates or replaces the target resource's state with the supplied representation and is defined as idempotent.

Repeated intended replacement differs from repeatedly creating new records through an unconstrained POST endpoint.

Protocols & web applications
QUICQUIC transport protocol; a protocol name, not a current acronym expansion

A secure transport over UDP with independent streams and integrated TLS handshake mechanisms; HTTP/3 uses it.

Avoid saying every HTTPS request begins with a TCP handshake; transport traces depend on negotiated HTTP version.

Protocols & web applications
QuorumRequired subset of participants for a decision

A protocol's voting or acknowledgement threshold used to coordinate a consistent decision.

Count independent failure locations and required votes; three processes on one machine do not survive that machine's loss.

Databases & consistency
RAMRandom Access Memory

Working memory used by processes and the operating system, with access much faster than persistent storage.

Interpret available memory, page activity and container limits before proposing swap or a larger instance.

Compute & deployment
RCPResource Control Policy

An AWS Organizations policy limiting access to supported resources in covered accounts, including applicable access by external principals.

Distinguish resource-side guardrails from SCP principal-side guardrails and verify service coverage.

Security & identity
RDPRemote Desktop Protocol

A protocol for remote graphical desktop access, commonly used with Windows systems.

Restrict administrative exposure and distinguish it from SSH; blocking one administration protocol does not secure the other.

Security & identity
RDSAmazon Relational Database Service

Managed relational database offerings with engine-specific maintenance, backup and availability capabilities.

Managed operation does not imply arbitrary engine downgrade or rollback of already committed business effects.

Databases & consistency
Recursive resolverDNS server that resolves names for a client

A resolver follows or obtains the necessary authoritative answers and caches results within applicable rules.

A changed authoritative record can coexist with an older recursive-cache answer until its lifetime expires.

DNS & edge delivery
RegionAWS geographic service deployment area

A geographic area containing multiple Availability Zones and regional service endpoints.

Multi-Zone resilience within a Region does not automatically survive loss of that entire Region.

Reliability & traffic control
Regional NAT gatewayAWS NAT gateway with regional availability mode

A public-connectivity NAT gateway that expands across workload Availability Zones under one gateway ID; it does not require a hosting public subnet.

Simplify multi-Zone egress routing; retain zonal mode when private NAT connectivity is required.

Networking & delivery
Replication lagDistance between primary and replica progress

Delay or log-position difference at a stated stage such as receive, flush or apply.

A low receive lag does not prove the replica has applied the latest state and can serve the required query.

Databases & consistency
Reserved concurrencyLambda function concurrency allocation and cap

A function-level setting that reserves concurrency and also limits that function's concurrent execution count.

It controls competing load but does not prepare execution environments or remove initialization delay.

Compute & deployment
RetentionPolicy for how long recoverable or auditable data is kept

A lifecycle decision governing accessible history and eventual disposal.

Retention must satisfy required recovery points and usable restore times, not only a storage-cost target.

Caching & storage
Retry with jitterRepeated attempts with randomized delay

Retries spread attempts over time, often using increasing delay and an overall deadline.

Avoid synchronized retry storms and retry only when the operation's idempotency and failure semantics permit it.

Reliability & traffic control
Reverse proxyServer-facing request intermediary

A component accepting client traffic and forwarding requests to one or more upstream servers.

Separate proxy latency, routing and TLS behavior from the backend's own execution time.

Protocols & web applications
Reversible decisionA decision with a feasible return path

A choice whose consequences can be bounded and undone within understood time and cost.

Speed is justified by a tested rollback boundary; new production writes can make an apparently reversible migration harder to undo.

Cloud business & engineering communication
RFCRequest for Comments

A document in the Internet technical-publication series; RFC status varies and not every RFC is an Internet Standard.

Check the document's status, updates and obsoletions before using it to support protocol behavior.

Cloud business & engineering communication
RIReserved Instance

An AWS reservation-related billing offering whose discount and capacity properties depend on service, scope and type.

Do not assume every reservation purchases guaranteed launch capacity or suits a two-hour daily peak.

Cloud business & engineering communication
RightsizingMatching resource configuration to measured workload needs

Select capacity that satisfies representative performance, reliability and operational requirements without unnecessary spend.

Validate a reversible trial against tail latency and failure-mode capacity before treating average low CPU as waste.

Cloud business & engineering communication
RollbackReversal of uncommitted database work or a separately defined release reversal

A database rollback normally aborts an active transaction; application or engine rollback is a different recovery operation.

PITR creates recovered state and can omit later writes; it is not a universal undo button for a committed operation.

Databases & consistency
Route 53Amazon Route 53

AWS naming and DNS-routing capabilities with supported health and resolver features.

Configure the namespace and routing policy appropriate to the client; a new DNS answer cannot terminate old cached answers or connections.

DNS & edge delivery
Route tableDestination-to-next-hop routing table

Rules selecting a next hop for traffic, normally preferring the most specific matching destination prefix.

A security-group change cannot repair an absent return route or an unintended more-specific route.

Networking & delivery
RPORecovery Point Objective

The target maximum acceptable data-loss window after a defined disruption: the age of the latest recoverable state relative to that disruption. It is not the creation age of individual records that might be lost.

Weekly backups can exceed a one-day loss target even if those backups restore reliably.

Reliability & traffic control
RTORecovery Time Objective

The target maximum interval to restore an agreed usable service after a defined disruption.

Count detection, authority transfer, dependency startup and validation; a one-hour target is not met by a three-hour database restore.

Reliability & traffic control
RTTRound-Trip Time

Elapsed time for traffic to reach a peer and a response to return.

Synchronous remote acknowledgements include network round trips, so distant replication adds latency even when bandwidth is abundant.

Networking & delivery
Run CommandAWS Systems Manager Run Command

Remote command execution on configured managed nodes, with command documents and per-node execution status.

A Lambda controller can request installation on an EC2 instance, but acceptance of the command is not proof of successful installation or readiness.

Compute & application design
RunbookOperational procedure with prerequisites and verification

Instructions for performing a defined task, including decision points, expected observations and recovery steps.

A document is only credible after a qualified operator can use it against the supported system version.

Observability & diagnosis
S3Amazon Simple Storage Service

AWS object storage organizing data as objects in buckets, accessed through service APIs.

Choose it for object semantics and lifecycle needs rather than expecting arbitrary in-place block writes or a normal shared POSIX filesystem.

Caching & storage
SaaSSoftware as a Service

A finished software capability consumed as a service, with provider-managed application operation and customer-managed use and data decisions.

A customer can consume SaaS while its vendor builds on IaaS; distinguish the perspective in architecture questions.

Cloud business & engineering communication
SameSiteCookie cross-site sending policy

A browser cookie attribute limiting transmission in specified cross-site request contexts.

It helps reduce CSRF risk but must fit legitimate login and cross-site flows and does not replace application defenses.

Protocols & web applications
SamplingRecording a selected subset of observations

A telemetry policy captures some events or traces rather than the whole population.

State selection bias and missing cases; an unsampled failed request is not proof that the path never failed.

Observability & diagnosis
SaturationDemand approaching or exceeding a limiting resource's capacity

A state where extra offered work increasingly creates waiting, rejection or timeout rather than useful throughput.

Check worker slots, connection pools, IOPS and network allowances even when average CPU looks comfortable.

Observability & diagnosis
Savings PlansAWS eligible-usage discount commitments

A pricing arrangement exchanging an hourly spend commitment over a term for discounts on eligible usage.

Evaluate stable demand and commitment utilization; unused commitments and capacity assurance require separate treatment.

Cloud business & engineering communication
SCPService Control Policy

An AWS Organizations policy limiting maximum permissions for principals in covered member accounts; it does not grant access.

An identity-policy allow cannot bypass an applicable explicit organizational deny.

Security & identity
SDKSoftware Development Kit

Libraries and tools supporting application integration with a platform.

Default retries, credentials and endpoint selection affect real failure behavior; inspect them when requests duplicate or stall.

Cloud business & engineering communication
Secret rotationControlled replacement of secret values

Issue a replacement, update consumers, verify use and retire the old credential according to the service's semantics.

Changing a stored secret without updating applications or revoking old access can cause an outage or leave compromise active.

Security & identity
Secrets ManagerAWS Secrets Manager

A managed service for storing, retrieving and rotating secrets through configured workflows.

A runtime secret path reduces hard-coded credentials, but rotation must include consumer adoption and retirement of the old value.

Security & identity
SERVFAILDNS server failure response

A resolver or server reports it could not complete resolution, rather than asserting the name does not exist.

Investigate upstream reachability, delegation or validation failures instead of immediately creating duplicate records.

DNS & edge delivery
Session affinitySticky routing to the same backend

A load-balancing policy attempting to keep a client's traffic on one target.

Affinity does not preserve in-memory login state when that target fails; test with the serving instance removed.

Protocols & web applications
Session hijackingUnauthorized use of a valid application session

An attacker reuses or controls authentication evidence already accepted by the application.

Rotating a password or enabling MFA may leave existing sessions usable; enforce revocation and session expiry.

Security & identity
SGSecurity group

Stateful AWS resource-level packet filtering using additive allow rules; security groups do not contain explicit deny rules.

Restrict database access to the application identity or required source, and check every attached group's allowances.

Networking & delivery
Shared responsibilityDivision of security and operation duties

The provider and customer own different layers depending on the service and configuration.

Managed infrastructure reduces some maintenance work while leaving customer identities, data decisions and application behavior in scope.

Security & identity
SLAService Level Agreement

An agreement defining service commitments, measurement terms and possibly remedies.

A provider SLA does not equal the customer's end-to-end application SLO or promise a particular RTO.

Reliability & traffic control
SLIService Level Indicator

A measurement of service behavior such as the fraction of eligible requests completing correctly within a latency threshold.

Specify numerator, denominator and window so internal metrics actually represent customer outcomes.

Reliability & traffic control
SLOService Level Objective

A target for an SLI over a defined measurement window.

Use the objective to assess acceptable failures and latency, not as a substitute for a recovery procedure.

Reliability & traffic control
SMBServer Message Block; also small and medium-sized business in business contexts

A network file-sharing protocol. The letters also describe a customer-size category; context determines the meaning.

The customer-discovery chapter uses the business meaning; do not confuse it with storage-protocol compatibility.

Caching & storage
SnapshotPoint-in-time storage or database capture

A recoverable representation of state at a particular boundary; consistency and dependency handling depend on the service.

Verify application consistency, keys and required logs rather than assuming a successful snapshot job proves business recovery.

Caching & storage
SNSAmazon Simple Notification Service

Managed publication and fanout to configured subscriber endpoints.

Use it when multiple subscribers each need a notification rather than competing for one worker's queue item.

Messaging & migration
Sort keyOrdering component within a DynamoDB partition-key value

The second component of a composite primary key permits ordered item access for a shared partition key.

Design range queries from actual access needs rather than scanning every item and filtering after retrieval.

Databases & consistency
SpanTimed unit of work within a trace

A recorded operation with timing, context and relationships to other spans.

Separate a downstream call's waiting time from local processing and preserve context across queue boundaries.

Observability & diagnosis
Split brainMultiple isolated participants acting as authoritative owner

Competing primaries accept changes without the coordination required to preserve one coherent history.

A DNS switch alone does not stop the old writer; test authority transfer as well as traffic routing.

Databases & consistency
SPOFSingle Point of Failure

A dependency whose failure alone can stop the required end-to-end service.

The quiz's shared queue remains a failure point even when application servers occupy two data centers.

Reliability & traffic control
Spot InstanceInterruptible EC2 spare-capacity instance

Discounted compute capacity that can become unavailable or be interrupted under the service's rules.

Use durable checkpoints, capacity flexibility and a completion fallback for the daily pipeline; availability is not promised.

Compute & deployment
SQLStructured Query Language

A language for defining, querying and modifying relational data, with engine-specific extensions.

Distinguish a correct query from an efficient plan and from safe parameter binding.

Databases & consistency
SQL injectionStructured Query Language injection

Untrusted input changes the structure or meaning of a database command rather than remaining data.

Parameterized queries address the command-construction flaw; adding database capacity or encryption does not.

Security & identity
SQSAmazon Simple Queue Service

Managed queues whose consumers receive messages and acknowledge successful handling by deletion.

Separate transport redelivery from exactly-once business effects; worker failure can cause the same work to reappear.

Messaging & migration
SRESite Reliability Engineering

An engineering discipline applying software and measurement to dependable service operation.

Use measurable user outcomes and sustainable operational work rather than treating repeated manual firefighting as reliability.

Observability & diagnosis
SSDSolid-State Drive

Storage based on semiconductor media rather than spinning magnetic disks.

Media type influences performance, but provisioned IOPS, throughput, queue depth and instance limits still constrain the application.

Caching & storage
SSE-KMSServer-Side Encryption with AWS KMS keys

Server-side encryption that integrates object data-key protection with AWS KMS key controls.

Account for KMS permissions, request cost and recovery-key access as well as the bucket policy.

Security & identity
SSE-S3Server-Side Encryption with Amazon S3 managed keys

S3 encrypts stored object data using keys managed by S3.

It protects stored data without providing the same customer key-policy control and KMS request trail as SSE-KMS.

Security & identity
SSHSecure Shell

A protocol family for authenticated encrypted remote access, including command execution and related secure channels.

Restrict administrative source networks and credentials; permitting SSH from a management /24 does not justify allowing all its traffic.

Protocols & security
SSLSecure Sockets Layer

An obsolete predecessor family to TLS, still used loosely in some product labels.

Interpret SSL/TLS labels carefully and configure supported TLS versions rather than treating obsolete SSL as a security target.

Protocols & web applications
SSMAWS Systems Manager; service abbreviation

AWS operations service family used to manage configured nodes and automate supported tasks.

Distinguish Run Command remote execution from Session Manager interactive access and from local work inside a Lambda controller.

Compute & application design
STARSituation, Task, Action, Result

A structure for organizing a truthful behavioral example with context, responsibility, specific action and observed outcome.

Distinguish personal contribution from team work and discuss evidence and limitations without inventing an impressive biography.

Cloud business & engineering communication
Stateful firewallConnection-tracking firewall

A filter that evaluates traffic with awareness of previously established connection state.

The web/SSH quiz constrains new inbound connections; valid response packets need not be treated as independent new requests.

Networking & delivery
Static stabilityServing through failure with pre-existing capacity and dependencies

A design sustains its defined failure case without first requiring uncertain control-plane provisioning.

Prove survivor capacity before relying on incident-time scale-out or newly created recovery infrastructure.

Reliability & traffic control
Strangler figIncremental replacement architecture pattern

New functionality or routed requests move gradually to replacement components around an existing application.

Extract a bounded capability behind a stable interface while preserving measurable behavior and an achievable rollback.

Messaging & migration
Strong consistencyRead behavior respecting the system's specified completed-write ordering

A stronger freshness/order contract than eventual convergence; its scope and operation support must be stated.

Ask whether the promise covers a key, transaction, Region or global table rather than treating the phrase as universal.

Databases & consistency
STSAWS Security Token Service

A service issuing temporary AWS security credentials for supported federation and role-assumption operations.

Prefer short-lived workload credentials and account for already-issued sessions during compromise containment.

Security & identity
SubnetIP subnet; AWS subnet

An address-range subdivision; an AWS VPC subnet resides in one Availability Zone.

Place workloads across Zones deliberately and inspect the route table associated with the specific failing subnet.

Networking & delivery
SwapDisk-backed space used for eligible memory pages

The operating system can move some pages out of RAM, with performance and configuration tradeoffs.

Swap is not extra RAM at RAM speed and does not repair every leak, container limit or search failure.

Observability & diagnosis
SwitchoverPlanned coordinated transfer of the primary role

An intentional transition that can synchronize participants while the original primary remains available.

Aurora Global Database planned zero-loss switchover does not establish zero loss for an unplanned regional failover.

Reliability & traffic control
SYN / SYN-ACK / ACKSynchronize sequence numbers; synchronize and acknowledge; acknowledgement

TCP flags used during the usual three-way connection setup; acknowledgements also track received stream data.

A packet trace stopping before the handshake completes points to a different failure stage than an HTTP 500 response.

Protocols & web applications
Synchronous replicationWrite acknowledgement waits for a required remote condition

A write waits for configured replica receipt, durability or application conditions before success is returned.

State exactly what the remote acknowledgement proves; geographic round trips can constrain peak write latency.

Databases & consistency
TCOTotal Cost of Ownership

The full relevant cost of delivering an outcome over a stated period, including infrastructure and operating work.

Include migration, licenses, support, failures and exit obligations rather than comparing server rental prices alone.

Cloud business & engineering communication
TCPTransmission Control Protocol

A connection-oriented transport providing an ordered byte stream with retransmission and flow/congestion control.

A connected socket does not prove a complete business operation; include application deadlines and retry safety.

Protocols & web applications
ThroughputCompleted work per unit time

A transfer or processing rate measured at a specified boundary, such as bytes/s or successful requests/s.

Separate offered traffic from useful completions and distinguish storage MB/s from application requests/s.

Caching & storage
TLSTransport Layer Security

A protocol for authenticated, encrypted transport between its endpoints.

Validate certificates and identify each termination point; browser-to-proxy encryption does not automatically protect proxy-to-origin traffic.

Protocols & web applications
TraceConnected observations of one distributed operation

A trace relates spans across services to expose an operation's execution and waiting path.

Find the critical path and missing instrumentation instead of adding every overlapping span duration.

Observability & diagnosis
TransactionA database unit of work with a commit boundary

A group of operations accepted or rejected according to the engine's transactional semantics.

Use a transaction to keep related state changes coherent; remote API side effects do not automatically roll back with it.

Databases & consistency
Transit GatewayAWS Transit Gateway

A managed regional transit router connecting VPC and hybrid-network attachments.

Growing segment counts favor a hub, but forward and return routes and segmentation policies remain necessary.

Networking & delivery
TTLTime To Live

A context-specific lifetime: DNS cache validity, an application-cache entry lifetime, or a database item expiry marker. An entry may already be stale when cached; TTL alone does not guarantee source-data freshness, immediate deletion or revocation.

Lower DNS TTL before old cached answers expire. Enforce session expiry during reads because DynamoDB cleanup is asynchronous in supported modes.

DNS & edge delivery
TXTText record

A DNS record containing one or more character strings for conventions such as domain verification and email policy.

Do not use it as an address-routing substitute; inspect the consuming protocol's rules for its meaning.

DNS & edge delivery
UDPUser Datagram Protocol

A datagram transport that does not itself provide ordered delivery, retransmission or connection establishment.

Protocol support matters when selecting a load balancer; do not infer TCP semantics for DNS or QUIC traffic.

Protocols & web applications
UIUser Interface

The controls and presentation through which a person interacts with a system.

A clear interface distinguishes study recommendations from factual answers and gives users evidence appropriate to the task.

Cloud business & engineering communication
Unit economicsCost and value per useful business unit

A measurement such as cost per successful transformation, order or retained customer under a defined boundary.

A cheaper request can still produce worse economics if retries and errors reduce accepted outcomes.

Cloud business & engineering communication
URIUniform Resource Identifier

A general identifier for a resource; URLs are the familiar location-oriented form.

API contracts should distinguish a resource identifier from the endpoint through which a client currently accesses it.

Protocols & web applications
URLUniform Resource Locator

A resource identifier that includes a scheme and location components, potentially with path, query and fragment.

Host changes can alter TLS and cookie behavior; keep secrets out of logged query strings.

Protocols & web applications
USUnited States

The geographic abbreviation used for the initial origin location in the global-latency scenario.

A US origin does not identify a particular AWS Region or imply acceptable latency for every user; verify geography and residency requirements explicitly.

Cloud business & engineering communication
UTCCoordinated Universal Time

A global time reference used for comparable timestamps across locations.

Record event and ingestion times separately and account for clock skew before reconstructing incident order.

Observability & diagnosis
vCPUVirtual Central Processing Unit

A compute capacity unit exposed to a virtual machine; its mapping to physical threads or cores depends on the platform.

Compare measured workload throughput rather than assuming two vCPUs always equal two independent physical cores.

Compute & deployment
Vendor lock-inCost or difficulty of changing a provider or technology

Dependence arising from interfaces, semantics, data formats, operating practices or commercial commitments.

Compare the measured exit burden with managed-service benefits; containers alone do not remove identity or database dependence.

Messaging & migration
Vertical scalingChanging resources per worker

Increase or decrease the CPU, memory or other capacity of an individual machine or database instance.

A larger machine cannot repair a missing search index or unreachable database; establish the limiting resource first.

Compute & deployment
Visibility timeoutSQS period hiding a received message from other receives

After receive, the message remains stored but ordinarily unavailable to other consumers until deleted or the interval expires.

Set or extend visibility for real processing time while ensuring crashed workers' work becomes available again.

Messaging & migration
VMVirtual Machine

A software-defined machine running an operating-system instance on virtualized hardware.

VM isolation and guest control differ from containers sharing a host kernel; choose the required boundary.

Compute & deployment
VPCAmazon Virtual Private Cloud

A logically isolated AWS virtual network in which customers define address ranges, subnets and routing.

Separate having a route from permission to use it when tracing an application-to-database connection.

Networking & delivery
VPNVirtual Private Network

A logical private connection over another network, commonly using authenticated encrypted tunnels.

Include tunnel redundancy, routing and usable throughput when comparing hybrid connectivity options.

Networking & delivery
WAFWeb Application Firewall

An HTTP-aware filtering layer that evaluates requests against configured rules before protected application processing.

Use AWS WAF as a compensating defense while repairing vulnerable code; inspect body-size limits, rule order and false positives.

Security & identity
WALWrite-Ahead Log

A durable change log written before corresponding data-page changes are treated as safely persisted.

Backup recovery and replication need the required log sequence; a base snapshot alone may not reach the desired recovery point.

Databases & consistency
Warm poolPrepared EC2 Auto Scaling instances

Instances initialized in advance and retained in supported lifecycle states for later entry into service.

Reduce readiness delay while refreshing stale configuration and including preparation and retention cost.

Compute & deployment
Warm standbyRecovery pattern with a reduced but functional environment

A smaller environment runs continuously and must scale or change routing to carry full production demand.

Do not assume its current capacity can absorb the peak or that its replication mode provides zero data loss.

Reliability & traffic control
WORMWrite Once, Read Many

A retention model preventing protected stored content from being overwritten or deleted during its protection period.

Use immutability to resist destructive changes while separately protecting keys and testing authorized restoration.

Caching & storage
XSSCross-Site Scripting

Attacker-controlled content executes as script in a victim's trusted web origin.

Use context-appropriate output encoding and safe rendering; a WAF or HttpOnly cookie does not repair every injection path.

Security & identity
CHOOSING THE TECHNOLOGY

Service & technology decisions

Amazon CloudFront

Distributes HTTP content through edge locations with configurable caching and origin access.

Choose when
Geographically dispersed readers can reuse safe representations, and measured origin-distance latency is significant. Define the cache key, freshness and private-origin access together.
Reconsider when
The slow path is an uncached write or database transaction, or the cache cannot safely distinguish users. A positive minimum TTL can override origin private/no-store directives; test that policy before using personalized content.
Global latency: CDN cache keys, CloudFront and Global AcceleratorHTTP request lifecycle: TCP, TLS, redirects, proxies and sessions

AWS Global Accelerator

Provides static anycast entry addresses and an AWS-network path to supported regional endpoints.

Choose when
A transport-sensitive or noncacheable application needs stable entry addresses and improved network routing. Compare user-visible latency through the actual supported endpoint path.
Reconsider when
The principal problem is origin computation, stale session state or absent regional recovery. Acceleration does not cache results, replicate data or create sufficient failover capacity.
Global latency: CDN cache keys, CloudFront and Global AcceleratorAvailability by design: dependencies, tier recovery and architecture reviews

Amazon Route 53

Provides authoritative DNS and routing/health features for supported naming and traffic-management designs.

Choose when
You need controlled name resolution, weighted migration or DNS-based recovery and can account for resolver caching. Lower TTL before the former long-lived answers expire.
Reconsider when
The requirement is immediate migration of live connections or guaranteed instantaneous failover. DNS answers can remain cached and a successful health probe may not represent a whole customer transaction.
DNS and Route 53: resolution, routing and healthDisaster recovery strategies: tested failover, failback and capacity

Application Load Balancer (ALB)

Routes HTTP/HTTPS application requests to target groups using application-aware listeners and supported algorithms.

Choose when
Host/path routing and request-level observation fit the application. Validate target readiness, draining and the actual request algorithm against the workload.
Reconsider when
You need arbitrary transport forwarding or assume ALB can select by generic least-open-connections counts. All-unhealthy fail-open behavior also means health checks cannot replace authorization.
ALB and NLB: target health, routing and failure behaviorHTTP request lifecycle: TCP, TLS, redirects, proxies and sessions

Network Load Balancer (NLB)

Distributes supported transport connections and flows to registered targets.

Choose when
The service requires supported non-HTTP protocols or transport-level behavior. Verify listener protocol, client addressing, connection lifetimes and target failover behavior.
Reconsider when
The requirement depends on HTTP path rules or a configurable least-connections policy. Selecting NLB does not remove the need for surviving session state and application health evidence.
ALB and NLB: target health, routing and failure behaviorHTTP request lifecycle: TCP, TLS, redirects, proxies and sessions

AWS Transit Gateway

Provides a managed transit hub for VPC and hybrid attachments.

Choose when
The network estate is growing and pairwise connections are becoming costly to operate. Design propagated routes, segmentation and return paths with a representative reachability matrix.
Reconsider when
A small stable estate has simpler direct connectivity or the design ignores overlapping ranges, centralized processing cost and inspection asymmetry. A hub does not automatically authorize every application path.
Hybrid and private connectivity: routing hubs and network diagnosisVPC routing, security groups, NACLs and NAT

AWS PrivateLink interface endpoints

Expose supported services privately through endpoint network interfaces.

Choose when
Consumers need access to a specific service without broad transitive access to the provider's network. Include private DNS, endpoint policy and target authorization in the test.
Reconsider when
The task requires general many-to-many routed connectivity between entire networks. Service-private access is a different abstraction and endpoint charges can matter at scale.
Hybrid and private connectivity: routing hubs and network diagnosisVPC routing, security groups, NACLs and NAT

Regional NAT gateway

Provides public egress translation with automatic expansion across workload Availability Zones under one gateway ID.

Choose when
You want public NAT egress with simpler multi-Zone routing and have verified the workload's path, address needs and cost. Regional mode avoids a customer hosting public subnet.
Reconsider when
Private NAT connectivity is required; regional mode does not provide it. Also reconsider NAT where a supported private service endpoint gives the necessary access with a better measured path.
VPC routing, security groups, NACLs and NAT

AWS Site-to-Site VPN

Connects networks through encrypted IP tunnels with supported routing integration.

Choose when
Hybrid connectivity needs encryption over an existing network path, or a separately engineered backup path supports continuity. Test both tunnels and route failover.
Reconsider when
Unmeasured public-path variability cannot meet the required latency or throughput. Two tunnels do not prove independence from the same customer router or internet dependency.
Hybrid and private connectivity: routing hubs and network diagnosis

Amazon Elastic Compute Cloud (EC2)

Runs virtual machines with control of the guest operating system and workload stack.

Choose when
The customer requires operating-system packages, host-level configuration or a runtime unsupported by a managed platform. Assign patching, capacity, credentials and recovery ownership.
Reconsider when
The workload fits a simpler managed execution model and the team cannot justify host operations. A VM migration alone does not correct a blocked database path or release coupling.
Compute choices: containers, ECS, EKS, serverless and modernizationIaaS, PaaS and SaaS: ownership decisions from customer requirements

EC2 Auto Scaling

Maintains an EC2 fleet and changes desired capacity according to configured policies.

Choose when
Work scales across workers and a tested signal predicts useful capacity need. Include image startup time, warmup, maximum size and survivor capacity.
Reconsider when
The bottleneck is a serial operation, database lock or fixed downstream quota. Adding instances may only multiply connection pools and retries.
Horizontal and vertical scaling with EC2 Auto ScalingFast startup: golden AMIs, Image Builder, bootstrap and warm pools

EC2 Image Builder

Builds, tests and distributes versioned machine or container images through defined pipelines.

Choose when
Repeated dependency installation dominates launch-to-ready time and stable components can be baked and tested. Pin the approved image and launch-template versions.
Reconsider when
You expect a baked image to contain permanent secrets or remain patched without rebuilding. Runtime configuration and health gates still belong in the activation path.
Fast startup: golden AMIs, Image Builder, bootstrap and warm pools

Amazon Elastic Container Service (ECS)

Orchestrates container tasks and services using AWS-native workload definitions.

Choose when
The team wants managed scheduling and service deployment without a Kubernetes interface requirement. Choose EC2 or supported Fargate capacity from host-control needs.
Reconsider when
The workload depends on Kubernetes APIs or ecosystem components that justify their operating cost, or moving to containers is proposed without solving the real release boundary.
Compute choices: containers, ECS, EKS, serverless and modernization

Amazon Elastic Kubernetes Service (EKS)

Provides managed Kubernetes capabilities for Kubernetes application operation.

Choose when
Existing Kubernetes requirements, skills and portability needs justify the cluster, network, policy and upgrade responsibilities. Verify independent deployment and observability.
Reconsider when
A simpler platform meets the workload and the team lacks capacity for Kubernetes operations. Running pods is not proof of independent services or provider-independent data recovery.
Compute choices: containers, ECS, EKS, serverless and modernizationMulti-cloud and vendor lock-in: data gravity, exit tests and independent failure domains

AWS Fargate

Supplies managed compute for supported ECS or EKS container workloads.

Choose when
Containers fit the supported resource/network model and removing host-fleet maintenance has clear value. Size tasks and downstream concurrency from measurements.
Reconsider when
Custom host agents, kernel control or unsupported execution features are mandatory. It does not substitute for an orchestrator or guarantee that a containerized application scales efficiently.
Compute choices: containers, ECS, EKS, serverless and modernizationIaaS, PaaS and SaaS: ownership decisions from customer requirements

AWS Lambda

Executes functions on supported invocation paths without customer-managed execution hosts.

Choose when
Short processing fits the service limits and request contract. For immediate image results, use a synchronous completion path or explicitly communicate asynchronous readiness.
Reconsider when
The workload requires unsupported runtime/host behavior, exceeds execution constraints or assumes an S3 notification makes transformed output instantly available. Compare cold-start and concurrency effects with the latency target.
Compute choices: containers, ECS, EKS, serverless and modernizationSQS, SNS, EventBridge and Kinesis: delivery, replay and idempotent effects

EC2 Spot Instances

Provide interruptible compute for workloads able to recover from capacity loss.

Choose when
The daily two-to-three-hour pipeline has scheduling slack, durable progress and replay-safe outputs. Diversify eligible capacity and plan a deadline-aware fallback.
Reconsider when
Losing an instance loses the only checkpoint, or a hard completion promise has no credible alternative capacity. Evaluate total replay and checkpoint cost rather than the advertised discount alone.
Compute choices: containers, ECS, EKS, serverless and modernizationCost engineering: TCO, FinOps, rightsizing and useful work

AWS Elastic Beanstalk

Provides an application deployment platform that manages supporting AWS resources for supported application stacks.

Choose when
A supported web application benefits from platform-managed environment deployment while retaining a defined application/configuration ownership boundary.
Reconsider when
Required host or runtime customization exceeds the supported platform contract, or application decomposition and data migration are being assumed to happen automatically.
IaaS, PaaS and SaaS: ownership decisions from customer requirementsCompute choices: containers, ECS, EKS, serverless and modernization

Amazon Relational Database Service (RDS)

Operates supported relational database engines with managed infrastructure and engine-specific backup/availability features.

Choose when
Relational queries and transactions fit the workload and supported maintenance/recovery paths meet the requirement. Test actual restore, endpoint and application validation steps.
Reconsider when
The application needs unsupported engine access or assumes arbitrary version downgrade. Managed backups do not undo all committed changes or preserve every later write during recovery.
Relational RDS and Aurora: transactions, indexes, query plans and release recoveryBackup, PITR, retention and archive: proving an end-to-end restore

Amazon Aurora

Provides MySQL-compatible or PostgreSQL-compatible managed relational databases with Aurora storage and recovery architecture.

Choose when
Its verified compatibility and regional read/write architecture fit the application, and the team has tested failover and connection behavior.
Reconsider when
A generic claim of SQL compatibility hides extension or release differences, or planned Global Database switchover is being used as proof of unplanned cross-Region zero-RPO recovery.
Relational RDS and Aurora: transactions, indexes, query plans and release recoveryReplication and consistency: synchronous commits, geography and zero RPO

Amazon DynamoDB

Provides managed key-value/document tables with access-pattern-driven key design.

Choose when
Predictable key-based operations and well-distributed traffic support the session or application model. Select read consistency and capacity based on invariants and load.
Reconsider when
Ad hoc joins dominate, hot keys cannot be mitigated, or expiry cleanup is being mistaken for immediate session revocation. Verify feature support for the chosen deployment mode.
DynamoDB: partition keys, hot traffic, consistency and NoSQL decisionsDurable sessions: authentication, cookies, JWT and shared stores

DynamoDB global tables: MREC

Replicate regional DynamoDB writes asynchronously across participating Regions.

Choose when
Applications need local multi-Region reads/writes and can explicitly tolerate replication lag and resolve concurrent updates. Test regional evacuation and application routing.
Reconsider when
The business demands zero loss of acknowledged writes on regional failure or atomic cross-Region visibility of a local multi-item transaction. A local strong read does not change asynchronous replication.
DynamoDB: partition keys, hot traffic, consistency and NoSQL decisionsReplication and consistency: synchronous commits, geography and zero RPO

DynamoDB global tables: MRSC

Provide coordinated multi-Region strong consistency within supported configurations.

Choose when
Required invariants justify remote coordination and the supported Region set and topology fit the application. Budget the measured write latency and failure behavior.
Reconsider when
The application requires DynamoDB TTL, transactions or a topology outside the supported mode. Do not reuse MREC feature assumptions or treat every set of Regions as valid.
DynamoDB: partition keys, hot traffic, consistency and NoSQL decisionsReplication and consistency: synchronous commits, geography and zero RPO

Amazon ElastiCache

Provides managed in-memory data access with engine- and deployment-specific durability options.

Choose when
A cache or shared-state workload benefits from low-latency access and a tested invalidation/expiry design. For authoritative state, choose and verify the supported durability and eviction policy.
Reconsider when
The design assumes all configurations are either purely volatile or universally lossless. Synchronous/asynchronous durability has version and deployment limits; Serverless and Global Datastores are outside that option.
ElastiCache: cache keys, invalidation, TTL and stampede controlDurable sessions: authentication, cookies, JWT and shared stores

Amazon Simple Storage Service (S3)

Stores objects with bucket policies, versioning and lifecycle options.

Choose when
Uploads, static content, durable checkpoints or backup objects fit object access semantics. Select storage class and protect the read/write path according to classification.
Reconsider when
The workload requires ordinary shared filesystem locking or low-latency arbitrary block overwrites. Archive price alone cannot justify a class that misses the complete restore budget.
S3, EBS and EFS: object, block and file storage through failure and lifecycleBackup, PITR, retention and archive: proving an end-to-end restore

Amazon Elastic Block Store (EBS)

Provides persistent block volumes for supported EC2 workloads.

Choose when
The application needs a block device for a filesystem or database and measured I/O fits the selected volume and instance limits.
Reconsider when
Shared file semantics are required without a cluster-aware design, or a single volume is being treated as an entire multi-Zone recovery architecture. Verify attachment and restoration behavior.
S3, EBS and EFS: object, block and file storage through failure and lifecyclePerformance and capacity: diagnose the limiting path and prove a test plan

Amazon Elastic File System (EFS)

Provides managed shared NFS file storage with selectable availability/storage options.

Choose when
Multiple clients need a shared file namespace and the application fits the service's protocol, permissions and performance model.
Reconsider when
Object storage would satisfy the access pattern more economically, or the workload assumes local-disk latency and ignores network/mount-target dependencies.
S3, EBS and EFS: object, block and file storage through failure and lifecycle

AWS Backup

Coordinates backup policies and protection for supported AWS resources.

Choose when
A portfolio needs scheduled protection, retention governance and recoverability checks across supported services. Inventory keys, copy destinations and application restore dependencies.
Reconsider when
A successful backup job is being accepted as evidence of RTO, or the expected engine-specific recovery operation is unsupported. Keep restore rehearsal and post-restore integrity checks separate.
Backup, PITR, retention and archive: proving an end-to-end restore

S3 Glacier Flexible Retrieval and Deep Archive

Provide object archive classes with class- and retrieval-option-specific access delays and cost.

Choose when
Historical data can tolerate retrieval delay and a complete measured restore fits the business objective. Model retrieval, transfer, rehydration and validation together.
Reconsider when
Recent data must become a validated usable database within two hours and the selected archive path cannot meet that deadline. Do not generalize delayed retrieval to every Glacier-named class.
Backup, PITR, retention and archive: proving an end-to-end restoreS3, EBS and EFS: object, block and file storage through failure and lifecycle

AWS Database Migration Service (DMS)

Moves supported database data through migration tasks, including ongoing change capture where available.

Choose when
A staged cutover needs initial load plus convergence while the source keeps changing. Validate data, task errors, replication lag and writer transfer.
Reconsider when
Schema conversion, application compatibility or zero-downtime correctness is being assumed from a running task. Rollback after new target writes needs a separate reconciliation or reverse path.
Migration and modernization: discovery, staged cutover and recoverable rollbackRelational RDS and Aurora: transactions, indexes, query plans and release recovery

Amazon Simple Queue Service (SQS)

Buffers messages for competing consumers with queue-specific delivery semantics.

Choose when
Workers should process independently and absorb short bursts without requiring every consumer to receive each item. Implement visibility management, retries and atomic idempotency.
Reconsider when
The requirement is independent replay for many consumer groups or exactly-once external business effects without application coordination. FIFO ordering does not remove every duplicate-effect risk.
SQS, SNS, EventBridge and Kinesis: delivery, replay and idempotent effectsDisaster recovery strategies: tested failover, failback and capacity

Amazon Simple Notification Service (SNS)

Fans published messages out to configured subscribers; FIFO topics can also provide configured in-place archive and subscription replay.

Choose when
Multiple destinations need notifications and the selected topic type fits delivery, ordering and recovery requirements. FIFO ArchivePolicy retains 1–365 days and ReplayPolicy supports timestamp-based subscription replay; per-consumer queues can add buffering.
Reconsider when
The application requires stream offsets or consumer-managed independent processing beyond the configured subscription replay model, or one competing worker should handle each job. Standard topics lack built-in FIFO-style replay; a bounded FIFO replay with EndingPoint pauses live delivery until explicitly resumed.
SQS, SNS, EventBridge and Kinesis: delivery, replay and idempotent effects

Amazon EventBridge

Routes events to targets according to configured matching and integration behavior.

Choose when
Producers publish meaningful events and consumers should subscribe by event rules without producers naming each destination. Define schemas, failure handling and replay requirements.
Reconsider when
A central event bus is being introduced merely to label coupled components microservices. It cannot establish independent data ownership or atomically coordinate an external business transaction.
SQS, SNS, EventBridge and Kinesis: delivery, replay and idempotent effectsCompute choices: containers, ECS, EKS, serverless and modernization

Amazon Kinesis Data Streams

Retains streaming records for consumers that track their progress.

Choose when
Multiple consumers need independently paced processing or replay, with ordering scoped to the service's partition/shard model. Plan key distribution, retention and catch-up capacity.
Reconsider when
The task is a simple competing-worker queue or assumes ordering across all unrelated partitions. Slow consumers can fall beyond retention and lose replay access.
SQS, SNS, EventBridge and Kinesis: delivery, replay and idempotent effects

AWS CloudTrail

Records supported AWS activity for audit and investigation under configured collection.

Choose when
You need to attribute AWS administrative or supported resource operations. Validate event selectors, account/Region scope, delivery and protected retention.
Reconsider when
The investigation requires every end-user business action but the application only appears as one workload role. Add application audit events; default history is not all data activity.
CloudTrail audit and CloudWatch logs: evidence from actor to archiveCredentials and secrets: rotation, exposed keys and incident containment

Amazon CloudWatch

Collects and analyzes operational telemetry and evaluates configured alarms.

Choose when
The team needs logs, metrics and operational signals tied to user outcomes. Engineer log buffering, bounded dimensions and actionable alarm routing.
Reconsider when
The plan assumes infrastructure metrics replace application-user attribution or that a configured alarm proves end-to-end detection. Test a representative synthetic event through delivery and response.
Percentiles, traces and alarms that represent customer outcomesCloudTrail audit and CloudWatch logs: evidence from actor to archive

AWS WAF

Filters supported HTTP requests using configured application-layer rules.

Choose when
A public application needs compensating defenses for recognizable abuse while developers correct vulnerable code. Tune rules against legitimate traffic and verify inspection scope.
Reconsider when
The requirement is to decrypt arbitrary end-to-end traffic or repair unsafe query construction automatically. Network filtering and WAF rules cannot replace correct application authorization and encoding.
SQL injection, XSS and sessions: WAF, Shield and network defense

AWS Key Management Service (KMS)

Manages cryptographic keys and supported operations used by encryption workflows.

Choose when
The workload needs controlled key access and service-integrated envelope encryption. Verify policies and recovery-region/key availability with a restore test.
Reconsider when
The team expects encryption to classify data or determine authorized readership by itself. A missing decrypt path can make an otherwise intact backup unusable.
Encryption, KMS and TLS: data protection and shared responsibilityBackup, PITR, retention and archive: proving an end-to-end restore

AWS Secrets Manager

Stores secrets and supports configured retrieval and rotation workflows.

Choose when
Applications need controlled secret distribution and a tested rotation mechanism with least-privilege runtime access. Verify consumer adoption before retiring an old value.
Reconsider when
The proposal merely changes the stored value while dependent applications keep the former secret, or expects rotation to revoke unrelated sessions automatically.
Credentials and secrets: rotation, exposed keys and incident containmentFast startup: golden AMIs, Image Builder, bootstrap and warm pools

Amazon Macie

Discovers sensitive data in supported S3 content and provides findings and security visibility.

Choose when
Mixed buckets need discovery evidence to support owner-led classification and proportionate controls. Review findings and test resulting permitted and denied access.
Reconsider when
A scanner is being treated as a complete data-loss-prevention enforcement system, or its scope is assumed to cover every storage service and unsupported object type.
Encryption, KMS and TLS: data protection and shared responsibility

AWS Systems Manager Session Manager

Provides managed session access to appropriately configured managed nodes through IAM-governed paths.

Choose when
Administrative access can use the supported agent/connectivity model and the team wants fewer directly exposed administration ports. Verify session authorization and logging behavior.
Reconsider when
The node cannot meet managed-node connectivity prerequisites or the design assumes every forwarded/encrypted session's contents will automatically be captured. Specify audit coverage for the actual session type.
Credentials and secrets: rotation, exposed keys and incident containmentCloudTrail audit and CloudWatch logs: evidence from actor to archive

AWS Savings Plans

Apply discounts to eligible usage in exchange for a term-bound hourly spending commitment.

Choose when
Stable demand remains after rightsizing and the accounting model demonstrates useful commitment utilization. Keep discount selection separate from capacity assurance.
Reconsider when
The workload is a brief daily peak, demand is uncertain, or projected savings omit idle commitment charges. Coverage alone does not prove the purchased amount is used.
Cost engineering: TCO, FinOps, rightsizing and useful work

AWS Systems Manager Run Command

Runs versioned administrative command documents on configured managed nodes.

Choose when
A controlled remote installation or configuration step is required and the node has management connectivity and permissions. Couple execution status to application readiness before admitting traffic.
Reconsider when
The requirement is to remove heavy installation work from the scale-out path; a baked image may be more suitable. A returned command identifier does not establish successful execution.
Fast startup: golden AMIs, Image Builder, bootstrap and warm pools
05 / TRACE THE REASONING

Sources, coverage & method

Trace each question to its photograph, each concept to a chapter, and each build pass to its saved evidence.

The build record

Built 06 September 2026. This edition includes 93 inventoried images and 20 completed model passes. Ralph uses GPT-6 Astra with high reasoning: critique → primary-source research → material improvement → verification. Failed attempts are not included in the completed count.

Product requirements · Progress log · Critiques · Research ledger · Machine-readable run record · Content validation · Browser checks · Editorial review

Source limitations and audit notes

Photographs may omit earlier/later questions, lower answer options or fine text. The source inventory records these limits. A selected radio button is never treated as proof of correctness. Source-faithful wording is separate from English translation and study interpretation.

  • Integration audit, 2026-09-06: the 93 supplied files comprise 92 question photographs and one historical Leadership Principles poster. There are 111 unique question records. Repeated scenario stems with different proposed actions remain independent ratings. No duplicate raw question IDs or conflicting overlapping stems/options were found.
  • Across the complete supplied inventory, nine numbered rating actions are absent: global-latency question 1 of 5; authentication-failover question 2 of 5; multi-cloud-lock-in questions 3 and 4 of 5; az-region-outage question 5 of 5; stolen-laptop questions 1, 2 and 3 of 5; processing-efficiency question 4 of 5. Their wording and options are unknown and have not been invented. These photos do not establish a complete official assessment.
  • Earlier batch-local gaps are not global omissions: slow-reports questions 3–5 are present in batch-05; cloud-data-protection question 5 continues in batch-06; authentication questions 4–5 continue in batch-02. The global missing-number list supersedes any interpretation that those earlier batch-local notes describe the entire collection.
  • Shared-stem crops: imgs/image-1788635070301.jpg, imgs/image-1788635082481.jpg and imgs/image-1788635092997.jpg retain original-language crop markers; the complete latency stem is evidenced by imgs/image-1788635051888.jpg. The startup crop in imgs/image-1788635317855.jpg is supported by imgs/image-1788635283594.jpg. The action-bearing image is not falsely relabeled as containing the full stem.
  • Overlap reinspection: q-1788637305967-2 (MFA) and q-1788637305967-3 (classification) each link imgs/image-1788637305967.jpg and imgs/image-1788637334201.jpg under the earliest ID. The closer photograph recovers classification option 4; the earlier one supplies the cropped MFA stem. Its visible MFA selection is an observation, not correctness evidence.
  • Unrecoverable choice gap: q-1788636679569-3 in imgs/image-1788636679569.jpg has three complete options and a fourth beginning “The policy”, with the continuation unreadable at the lower edge. Option 2 is the strongest readable interpretation of excessive permissions, but the item is unscored until the fourth claim can be compared. The crop was directly reinspected during integration.
  • Unrecoverable choice gap: q-1788637212739-3 in imgs/image-1788637212739.jpg has two complete choices and a readable application-tier third choice touching the lower edge; any further option is outside the photo. Preserve its unusual explicit statement that all tiers require the application tier. The item remains unscored; neither a conventional dependency graph nor the smallest printed RTO establishes a complete source key.
  • Limited glyph crop: q-1788637384204-3 in imgs/image-1788637384204.jpg retains the readable fourth label “Round-robin” despite its clipped lower glyphs. The visible long-lived-session constraint supports generic least connections. This does not assert that ALB least outstanding requests or NLB flow hashing is that algorithm.
  • Numerical ambiguity: q-1788637212739-2 says the second site is “120 milliseconds away” without specifying one-way delay or RTT. The replication chapter analyzes both interpretations; throttling cannot remove propagation time. Zero RPO is scoped to acknowledged writes and the stated site-loss failure, not inferred from a strategy name.
  • Translation ambiguity: q-1788635120525-1 attributes server scaling to a load balancer; the high study rating assumes a separate scaling mechanism and the literal reading remains weaker. q-1788636208179-1 has ambiguous traffic-blocking wording; its high rating assumes rejection of noncompliant unencrypted traffic, not blocking all traffic. q-1788636322598-1 says access to known IP addresses; an inbound bastion allowlist is an explicit interpretation. q-1788636357111-1 uses the literal German “Kontrolllampe”; pilot light is a labeled technical interpretation.
  • Technical ambiguity: q-1788636939776-1 does not specify whether database “version” means application configuration, data state or engine release. Managed services do not promise arbitrary engine downgrade; the database and recovery chapters distinguish configuration rollback, uncommitted transaction rollback and PITR with later-write reconciliation. Incident first-step questions q-1788637166029-2 and q-1788637166029-3 remain conditional on a usable runbook, safe failover and known customer impact.
  • Confidence limits: image-specific blur, punctuation and clipped-header notes remain in their original inventory and question records. Integration rechecked the decisive crops and overlaps; it does not claim to recover unreadable text or an official answer key. Middle effectiveness labels are study labels, and each proposed action is rated independently.
  • Technical consistency repair: session-store guidance now distinguishes unsupported TTL features in MRSC and configuration-specific ElastiCache durability. SNS replay is qualified by topic type and configured retention, with the explicit EndingPoint pause/resume caveat. Percentage headroom states its denominator, and percentile aggregation is explained with equal-sized populations.
  • Reflection coverage: architecture-decisions, architecture-experience, professional-experience, self-reflection, continuous-learning, learning-priorities and work-style describe the three self-report/work-style items. They connect to the truthful evidence and Learn and Be Curious leadership guides; they are not missing technical answer keys. Technical concepts are matched to substantive chapters, including remote-installation prerequisites added during integration.
  • The supplied poster imgs/1603135541455.jpeg has 14 historical headings and no visible publication date. Current guides and quiz tags use all 16 official names, including the two later additions; Have Backbone; Disagree and Commit is one principle. Hiring, employee-welfare and broader-impact quiz connections are explicitly indirect transfer exercises where no direct photograph exists.
  • This pass audits content integration and runs the existing build and full content validator. Browser interaction verification belongs to the parent task. The runner records completion only after accepting this report; no twentieth completed iteration or whole-project completion is asserted in advance.
Image inventory · 93 records
PhotographFormatQuestion linksNotes
1603135541455.jpegposterSeparate historical English poster, not a quiz item; no translation is needed. The title is “Our Leadership Principles.” Its introduction addresses both individual contributors and managers as leaders. All 14 headings are listed below with explicitly editorial summaries of the visible descriptions; the linked photograph preserves the original full wording. The whole poster is visible and no question or response controls appear. Current Amazon documentation lists 16 principles, adding Strive to be Earth’s Best Employer and Success and Scale Bring Broad Responsibility, neither of which is on this poster. No publication date is visible. Customer Obsession — Editorial summary: Begin with customer needs, protect their trust, and keep customers central even while monitoring competitors. Ownership — Editorial summary: Take responsibility across team boundaries and protect long-term organizational value rather than narrowly optimizing immediate results. Invent and Simplify — Editorial summary: Expect invention, simplify work, learn from external ideas, and tolerate being misunderstood while trying something new. Are Right, A Lot — Editorial summary: Exercise judgment, seek varied viewpoints, and actively look for evidence against your existing beliefs. Learn and Be Curious — Editorial summary: Continue developing your abilities and turn curiosity about new possibilities into exploration. Hire and Develop the Best — Editorial summary: Improve the talent bar through hiring and promotion, support talent mobility, coach future leaders, and create development mechanisms such as Career Choice. Insist on the Highest Standards — Editorial summary: Keep raising quality expectations, prevent defects from reaching downstream users, and make fixes durable. Think Big — Editorial summary: Communicate an ambitious direction and anticipate new ways of serving customers. Bias for Action — Editorial summary: Move promptly on reversible decisions and take risks after considering their consequences. Frugality — Editorial summary: Use constraints to encourage invention and independence; growth in spending or staffing is not itself an accomplishment. Earn Trust — Editorial summary: Listen, communicate candidly, show respect, acknowledge your own shortcomings, and compare performance against strong external examples. Dive Deep — Editorial summary: Stay close to operational detail, audit, and investigate disagreements between reported metrics and individual accounts. Have Backbone; Disagree and Commit — Editorial summary: Challenge respectfully with conviction before a decision; support its implementation fully after it is made. Deliver Results — Editorial summary: Focus on inputs that produce timely, high-quality outcomes and persist through setbacks. Bottom mark: amazon logo. Headings read down the left column, then down the right column.
image-1788635051888.jpgratingq-1788635051888-1The full latency scenario and question 2 of 5 are readable. This photo supplies the complete repeated stem used to support translations of the next three cropped photos. Question 1 is absent from this assigned batch.
image-1788635070301.jpgratingq-1788635070301-1Right side of the shared scenario is cropped and the text is blurred; the action and number 3 of 5 remain readable. Complete English scenario is recovered from imgs/image-1788635051888.jpg, not invented from the crop.
image-1788635082481.jpgratingq-1788635082481-1The shared scenario has right-edge clipping on the user-experience and solution sentences. The action and question 4 of 5 are fully visible. Full English scenario is supported by imgs/image-1788635051888.jpg.
image-1788635092997.jpgratingq-1788635092997-1The shared scenario is clipped at the right edge; the CDN action and question 5 of 5 are readable. Its English stem is consolidated from imgs/image-1788635051888.jpg. No hidden question is inferred.
image-1788635109667.jpgratingq-1788635109667-1One complete rating action and five unselected boxes are visible; repeated scenario is shared with its group. No second question is visible.
image-1788635120525.jpgratingq-1788635120525-1Complete scenario, action, and question 2 of 5 are readable. The source itself says the load balancer scales the web servers; Auto Scaling is an interpretive correction, not a transcribed phrase.
image-1788635130984.jpgratingq-1788635130984-1One complete rating action and five unselected boxes are visible; repeated scenario is shared with its group. No second question is visible.
image-1788635141706.jpgratingq-1788635141706-1One complete rating action and five unselected boxes are visible; repeated scenario is shared with its group. No second question is visible.
image-1788635156421.jpgratingq-1788635156421-1Complete question 5 of 5 and proposed action are readable. The photographed expansion is “Ein-Ausgabe, Input/Output”; it is retained rather than silently corrected to standard German terminology.
image-1788635178732.jpgratingq-1788635178732-1Complete authentication scenario, session-store action, and question 1 of 5 are visible. Question 2 is not included in this assigned batch.
image-1788635212786.jpgratingq-1788635212786-1Complete authentication scenario and short action are readable; the number is question 3 of 5. No wording specifies how the IP address is used, so no hidden implementation is invented. Questions 2, 4, and 5 are absent from this batch.
image-1788635240194.jpgratingq-1788635240194-1Full scenario, question 4 of 5, action, and both endpoints are readable. Continues authentication-failover from batch 01 questions q-1788635178732-1 and q-1788635212786-1; the shared stem matches, but this is a distinct action. Authentication question 2 is not present in batches 01–02. The cursor over Submit is not a selected rating. One complete five-level rating action is visible; no second independent question or poster appears.
image-1788635270137.jpgratingq-1788635270137-1Complete authentication scenario and question 5 of 5 are visible. The German says a large instance, not a named EC2 size or an explicitly larger replacement. Same scenario as batch 01, distinct proposed action; no question duplicate to merge. The cursor over Submit does not identify an answer. One complete five-level rating action is visible; no second independent question or poster appears.
image-1788635283594.jpgratingq-1788635283594-1Complete startup scenario, question 1 of 5, and action are readable. This photo supplies the full shared stem for translating the right-edge crop in imgs/image-1788635317855.jpg. No startup timing target or script contents are photographed. One complete five-level rating action is visible; no second independent question or poster appears.
image-1788635303759.jpgratingq-1788635303759-1Full question 2 of 5, startup stem, and action are readable. The literal German phrase means 'open the instance manually via SSH'; the English renders its operational meaning as connecting. SSH is explicitly expanded as Secure Shell. No other question or choices appear. One complete five-level rating action is visible; no second independent question or poster appears.
image-1788635317855.jpgpartialq-1788635317855-1The scenario is cropped at the right edge: the first line ends after visible 'Wie können', and the second after the fragment 'gestartet wi'. Complete English stem is supported by imgs/image-1788635283594.jpg, also repeated fully in the other startup photos. The action, question 3 of 5, and endpoints are complete. 'Extern' does not specify a remote execution mechanism; Systems Manager and lifecycle hooks below are interpretation, not hidden source text. One complete five-level rating action is visible; no second independent question or poster appears.
image-1788635330016.jpgratingq-1788635330016-1Question 4 of 5, the full shared stem, and the entire action are readable. The action is a declarative sentence; it does not specify downloads, installation, lazy loading, caching, package managers, or version pinning. Those are conditional interpretations in the teaching material, not reconstructed wording. One complete five-level rating action is visible; no second independent question or poster appears.
image-1788635347056.jpgratingq-1788635347056-1Full startup scenario, question 5 of 5, and proposed action are readable. 'VM-Image' is photographed wording; mapping it to an EC2 Amazon Machine Image (AMI) is an AWS interpretation. This completes the five distinct visible startup actions; none is a duplicate of an earlier batch item. One complete five-level rating action is visible; no second independent question or poster appears.
image-1788635371437.jpgratingq-1788635371437-1Full multi-cloud message, question 1 of 5, action, and scale are readable; the scenario line reaches the right edge but 'Sie,' is visible and no substantive word is missing. Questions 3 and 4 are not among the assigned photographs. This is informational next-step effectiveness, not agreement with multi-cloud. One complete five-level rating action is visible; no second independent question or poster appears.
image-1788635385325.jpgratingq-1788635385325-1Complete message, question 2 of 5, and action are readable. The source says 'anderen Wettbewerbern'; its wording is retained even though 'other competitors' is awkward. No specific AWS advantage or technical comparison is visible. Do not invent documentation content. One complete five-level rating action is visible; no second independent question or poster appears.
image-1788635424409.jpgratingq-1788635424409-1Complete multi-cloud message and question 5 of 5 are readable. The numbering jumps from the supplied question 2 to question 5; no questions 3 or 4 are reconstructed. The action concerns competitors' outages, not the separate Silas Gibson outage scenario that follows. One complete five-level rating action is visible; no second independent question or poster appears.
image-1788635440123.jpgratingq-1788635440123-1Full recent-outages scenario, question 1 of 5, action, and endpoints are visible. The source does not identify the hosting provider, existing cloud/on-premises placement, incident cause, or recovery targets. 'To avoid outages' is translated as written, not strengthened to an explicit zero-outage guarantee. One complete five-level rating action is visible; no second independent question or poster appears.
image-1788635451640.jpgratingq-1788635451640-1Full outage message and question 2 of 5 are readable. The proposed step includes both a technical conversation and architecture review. The customer describes recent losses, not explicitly an ongoing incident. Questions 3–5 of this scenario are not supplied in this batch; do not invent their actions. One complete five-level rating action is visible; no second independent question or poster appears.
image-1788635461796.jpgratingq-1788635461796-1Clear full question 3 of 5. Reuses the recent-outages stem from batch 02 questions q-1788635440123-1 and q-1788635451640-1, but adds a distinct action; no duplicate question is merged. One complete rating action; no second independent item or poster. No scenario, action, or scale text is cropped.
image-1788635474941.jpgratingq-1788635474941-1Complete question 4 of 5. Shares the recent-outages scenario with batch 02 and adjacent photos; reviewing the recovery plan is a distinct action from the broader architecture review in question 2. One complete rating action; no second independent item or poster. No scenario, action, or scale text is cropped.
image-1788635494021.jpgratingq-1788635494021-1Complete question 5 of 5. Together with batch 02 questions 1–2 and this batch questions 3–4, completes all five visible recent-outages actions. Only peripheral top browser text is cropped; no assessment text is missing. One complete rating action; no second independent item or poster. No scenario, action, or scale text is cropped.
image-1788635508078.jpgratingq-1788635508078-1Complete question 1 of 5. Both customer questions are readable. The right edge clips only the peripheral Help control, not the scenario. No specific whitepaper title or URL is visible. One complete rating action; both customer questions belong to its shared stem. No second independently answerable item or poster. No assessment text is cropped.
image-1788635523810.jpgratingq-1788635523810-1Complete question 2 of 5. The action says services from multiple Regions, with no visible failover, replication, or active/active detail. This is distinct from the explicit secondary-location-and-failover action in question 4. One complete rating action; both customer questions belong to its shared stem. No second independently answerable item or poster. No assessment text is cropped.
image-1788635534880.jpgratingq-1788635534880-1Complete question 3 of 5. Both customer questions and the full proposed meeting scope are legible; no details about the existing architecture are supplied. One complete rating action; both customer questions belong to its shared stem. No second independently answerable item or poster. No assessment text is cropped.
image-1788635547232.jpgratingq-1788635547232-1Complete question 4 of 5. The visible wording explicitly offers an AZ OR Region and includes failover; it does not say automatic failover. The hyphen in Failover-Mechanismus is retained after joining a line wrap. Question 5 of this group is not among the assigned images. One complete rating action; both customer questions belong to its shared stem. No second independently answerable item or poster. No assessment text is cropped.
image-1788635637393.jpgratingq-1788635637393-1Complete logging question 1 of 5. The relatively small text remains readable. The full email, including greeting, recommendation question, and sign-off, is retained. No shortlist is actually shown. One complete rating response; no additional independent question or poster. No scenario or response text is cropped.
image-1788635649183.jpgratingq-1788635649183-1Complete logging question 2 of 5. The visible response asks only to discuss current architecture; a logging agenda is an explicit study assumption, not transcribed wording. One complete rating response; no additional independent question or poster. No scenario or response text is cropped.
image-1788635659869.jpgratingq-1788635659869-1Photo is visibly blurred but question 3 of 5 and the full partner-network response are readable on direct inspection. Punctuation is less visually certain than wording. The shared logging email is cross-checked against clearer photos imgs/image-1788635637393.jpg, imgs/image-1788635649183.jpg, imgs/image-1788635674614.jpg, and imgs/image-1788635684808.jpg. These are distinct actions, not duplicate questions; no hidden text is inferred. One complete rating response; no additional independent question or poster. No scenario or response text is cropped.
image-1788635674614.jpgratingq-1788635674614-1Complete question 4 of 5 despite mild blur. The photographed spelling wieviel is retained. The phrase für Protokollierung has no added article. No retention duration, volume, or format value is supplied. One complete rating response; no additional independent question or poster. No scenario or response text is cropped.
image-1788635684808.jpgratingq-1788635684808-1Complete question 5 of 5 and email stem are legible. The response promises a second email but no actual documentation link, service name, or follow-up contents are visible. This completes all five logging responses in the assigned photos. One complete rating response; no additional independent question or poster. No scenario or response text is cropped.
image-1788635698450.jpgratingq-1788635698450-1Complete migration question 1 of 5; no assessment text is cropped. The action visibly uses quoted “cloudnative”; the email uses “cloud-nativ”. German quotation marks are normalized. One independently rated proposed action is visible. No poster or additional question card appears.
image-1788635709200.jpgratingq-1788635709200-1Complete migration question 2 of 5 is visible with substantial motion blur; no question text is cut off. The action words are readable; small punctuation is less certain. The repeated email wording is cross-checked against the clearer migration photos 01, 03, and 05. One independently rated proposed action is visible. No poster or additional question card appears.
image-1788635721505.jpgratingq-1788635721505-1Entire migration question 3 of 5 is legible, including the long proposed action; no assessment text is cropped. “Tiering” is visibly printed and translated as tiered architecture. A hand cursor overlaps the fifth box but does not establish selection or correctness. One independently rated proposed action is visible. No poster or additional question card appears.
image-1788635732619.jpgratingq-1788635732619-1Complete migration question 4 of 5 is visible; motion blur reduces certainty about small punctuation and hyphen rendering. “neu schreiben”, “Microservice-Architektur”, and “Containern” are readable. The repeated email is cross-checked against clearer migration photos. No hidden text is supplied. One independently rated proposed action is visible. No poster or additional question card appears.
image-1788635747642.jpgratingq-1788635747642-1Complete migration question 5 of 5 is clear and uncropped. The compound “AWS-Cloud-Beratungsteam” spans a line break and is rejoined. No phone number, named service, or consultant is shown. All five migration actions are now represented. One independently rated proposed action is visible. No poster or additional question card appears.
image-1788635849413.jpgratingq-1788635849413-1Complete broken-search question 1 of 5 and customer email are legible; no assessment text is cropped. “Webserver” is the specified log source; application or search-service logging is explanatory context only. One independently rated proposed action is visible. No poster or additional question card appears.
image-1788635863364.jpgratingq-1788635863364-1Entire broken-search question 2 of 5 is clear and uncropped. The visible word is “Anwendungsprozess”; host reboot, search-cluster restart, and prior restart results are not stated. One independently rated proposed action is visible. No poster or additional question card appears.
image-1788635887135.jpgratingq-1788635887135-1Complete broken-search question 3 of 5 is legible; no question text is cropped. The action says additional servers but does not identify their tier, service, number, or traffic-distribution method. One independently rated proposed action is visible. No poster or additional question card appears.
image-1788635898544.jpgratingq-1788635898544-1Complete broken-search question 4 of 5 is within the frame but has substantial motion blur. The words “Webserver”, “Suchmaschine”, “Ping”, and “Traceroute” and the action are readable; final punctuation is less certain. The shared email is cross-checked with photos 06–08 and 10. No assessment text is actually cut off. One independently rated proposed action is visible. No poster or additional question card appears.
image-1788635913127.jpgratingq-1788635913127-1Complete broken-search question 5 of 5 and email are clear and uncropped. No actual error message is shown. All five broken-search actions are represented. One independently rated proposed action is visible. No poster or additional question card appears.
image-1788635934517.jpgratingq-1788635934517-1Complete slow-reports question 1 of 5 and the full customer sentence are readable. The right edge clips part of the surrounding panel and interface label, not the customer sentence or action. The time window is two days and the multiplier is printed as “3-4 mal”. Questions 3–5 of this scenario are not visible in the assigned photos. One independently rated proposed action is visible. No poster or additional question card appears.
image-1788635946475.jpgratingq-1788635946475-1Entire slow-reports question 2 of 5 and customer message are legible and uncropped. “Entwurf des Berichts” is translated as report design, not silently changed to database query plan. Query-plan analysis appears only in the educational explanation. Only questions 1 and 2 are available in this batch. One independently rated proposed action is visible. No poster or additional question card appears.
image-1788635960644.jpgratingq-1788635960644-1Complete slow-reports question 3 of 5. The right edge clips the surrounding panel, but the customer sentence, action, number, and scale endpoints are readable. “Auslagerungsspeicher” means swap space, not RAM or database buffer cache. Continues batch 04 slow-reports questions q-1788635934517-1 and q-1788635946475-1 with a distinct action; no duplicate question. Exactly one independently rated action is visible; no second question card or poster appears.
image-1788635977313.jpgratingq-1788635977313-1Complete slow-reports question 4 of 5. The right edge crops peripheral interface text, not the customer message or rating action. CPU is visible and “Arbeitsspeicher” is translated as RAM; no specific server tier is named. Same scenario as batch 04, distinct action. Exactly one independently rated action is visible; no second question card or poster appears.
image-1788635992678.jpgratingq-1788635992678-1Complete slow-reports question 5 of 5. Only peripheral right-side interface text is clipped; all assessment wording is readable. “das langsame Abfrageprotokoll” is retained literally in German and rendered idiomatically as “the slow query log” in English. Completes questions 1–5 jointly with batch 04; no duplicate action. Exactly one independently rated action is visible; no second question card or poster appears.
image-1788636124362.jpgratingq-1788636124362-1Complete application-protection question 1 of 5, including both customer sentences, action, and scale. No assessment wording is cropped. “Netzwerkzugriffskontrollliste” is a network ACL; no web ACL or payload-inspection feature is stated. Begins a new scenario with no matching action in batches 01–04. Exactly one independently rated action is visible; no second question card or poster appears.
image-1788636136873.jpgratingq-1788636136873-1Complete application-protection question 2 of 5. No scenario, action, or endpoint is cropped. The German explicitly says a firewall for web applications; AWS WAF is only an educational mapping. All five scenario actions are distinct. Exactly one independently rated action is visible; no second question card or poster appears.
image-1788636151444.jpgratingq-1788636151444-1Complete application-protection question 3 of 5; no assessment text is cropped. Minor photographic blur does not obscure the action wording. It says only “Firewall” and “komplexe Bedrohungen”; there is no visible “next-generation”, WAF, IDS, IPS, or named AWS service. Low confidence concerns interpretation and scoring, not missing words. Exactly one independently rated action is visible; no second question card or poster appears.
image-1788636164850.jpgratingq-1788636164850-1Complete application-protection question 4 of 5. The image is blurred but CAPTCHA and the two-line action are readable on direct inspection; tiny punctuation has lower confidence. No assessment text is cropped. “gültig” is translated as “valid”, preserving the overbroad claim for analysis; it is not silently replaced with “human”. Exactly one independently rated action is visible; no second question card or poster appears.
image-1788636176984.jpgratingq-1788636176984-1Complete application-protection question 5 of 5. The smaller card text is readable and all action lines are present; no assessment text is cropped. “einzelnen Server” explicitly means a single server and “maßgeschneiderte Software” means custom software. This completes five distinct application-protection actions. The pointer near Submit is not evidence of an answer. Exactly one independently rated action is visible; no second question card or poster appears.
image-1788636195773.jpgratingq-1788636195773-1Complete data-concerns question 1 of 5. Both scenario sentences and the full action are readable; the outer left panel edge is cropped without losing assessment words. “dieselben Best Practices” is preserved as “the same best practices”, with its ambiguity explained separately. New scenario; no identical question occurs in batches 01–04. Exactly one independently rated action is visible; no second question card or poster appears.
image-1788636208179.jpgratingq-1788636208179-1Complete data-concerns question 2 of 5, including the full multi-line action; no assessment text is cropped. German syntax leaves the scope of “für die keine Verschlüsselung implementiert wurde” awkward. English now preserves the literal all-traffic wording; the likely intended unencrypted-traffic reading is separately marked as inference in the explanation. Suggested 5 assumes the intended reading; acceptable 1 captures the literal service-breaking reading. No text has been invented below the card. Exactly one independently rated action is visible; no second question card or poster appears.
image-1788636225320.jpgratingq-1788636225320-1Complete data-concerns question 3 of 5. All scenario and action text is readable and uncropped; the photo preserves the explicit expansion “Anwendungsprogrammierschnittstelle (API)”. “aller” is retained as “all” and coverage limitations are discussed only in the explanation. No AWS logging service is named in the photographed action. Exactly one independently rated action is visible; no second question card or poster appears.
image-1788636244189.jpgratingq-1788636244189-1Complete data-concerns question 4 of 5. The far-left decorative title icon and peripheral UI are cropped, but all title words, both scenario sentences, full action, number, and scale endpoints remain visible. VPCs is explicitly expanded in German. Only questions 1–4 of this scenario occur in this assigned batch; question 5 is not reconstructed or guessed. Exactly one independently rated action is visible; no second question card or poster appears.
image-1788636259098.jpgpartialq-1788636259098-1The scenario heading is above the top crop; the customer name, complete two-sentence stem, action, number, and endpoints are readable. The existing batch-05 cloud-data-protection group supplies the heading context, but no hidden heading is asserted as visible here. Completes that group's distinct question 5; does not duplicate questions q-1788636195773-1 through q-1788636244189-1. Exactly one independently rated action and five empty outlined rating boxes are visible; no additional question or poster appears. A pointer or Submit-button symbol does not establish a chosen or correct rating. Middle scale labels are editorial study labels; browser/session identifiers are omitted.
image-1788636322598.jpgratingq-1788636322598-1Complete assessment text; only peripheral browser/interface content is cropped. The German says access 'auf bekannte IP-Adressen' (to known IP addresses), rather than explicitly 'from' them. An inbound allowlist is a plausible technical interpretation, identified as an assumption. No SSH key, AWS access key, active session, or existing bastion is specified. Exactly one independently rated action and five empty outlined rating boxes are visible; no additional question or poster appears. A pointer or Submit-button symbol does not establish a chosen or correct rating. Middle scale labels are editorial study labels; browser/session identifiers are omitted.
image-1788636337780.jpgratingq-1788636337780-1Complete question 5, customer stem, and endpoints; no assessment text is cropped. The compound Zwei-Faktor-Authentifizierung is joined across a line break. 'Hardwareschlüssel' identifies a hardware key without specifying a protocol. This is a distinct action from question 4. Stolen-laptop questions 1–3 are absent from batches 01–06. Exactly one independently rated action and five empty outlined rating boxes are visible; no additional question or poster appears. A pointer or Submit-button symbol does not establish a chosen or correct rating. Middle scale labels are editorial study labels; browser/session identifiers are omitted.
image-1788636357111.jpgratingq-1788636357111-1All question text is readable; surrounding screen edges are clipped without losing assessment wording. 'Kontrolllampe' literally means indicator lamp; pilot light is the documented disaster-recovery interpretation, not a photographed English action. 'Hauptwebsite' is translated literally as main website; English sibling photos say main site. The full German original remains separate from those English originals. Exactly one independently rated action and five empty outlined rating boxes are visible; no additional question or poster appears. A pointer or Submit-button symbol does not establish a chosen or correct rating. Middle scale labels are editorial study labels; browser/session identifiers are omitted.
image-1788636387871.jpgratingq-1788636387871-1The image is noticeably blurred, especially the title and customer name; the complete stem and short action are readable, with minor punctuation less certain. English sibling photos 1788636405182, 1788636422135, and 1788636441177 corroborate the shared stem. No question text is cropped and the unique action is read from this photo. Exactly one independently rated action and five empty outlined rating boxes are visible; no additional question or poster appears. A pointer or Submit-button symbol does not establish a chosen or correct rating. Middle scale labels are editorial study labels; browser/session identifiers are omitted.
image-1788636405182.jpgratingq-1788636405182-1Complete English stem, question 3, action, and endpoints; no assessment text is cropped. Shares the Humza Martin scenario with four distinct actions, which remain independent questions. Active-active is explicitly written; no replication mode or cost is specified. Exactly one independently rated action and five empty outlined rating boxes are visible; no additional question or poster appears. A pointer or Submit-button symbol does not establish a chosen or correct rating. Middle scale labels are editorial study labels; browser/session identifiers are omitted.
image-1788636422135.jpgratingq-1788636422135-1Complete question 4 and English customer stem; no assessment wording is cropped. The action does not name strategies, promise a recommendation, or explicitly mention a tailored comparison; these distinctions affect its conditional rating. Exactly one independently rated action and five empty outlined rating boxes are visible; no additional question or poster appears. A pointer or Submit-button symbol does not establish a chosen or correct rating. Middle scale labels are editorial study labels; browser/session identifiers are omitted.
image-1788636441177.jpgratingq-1788636441177-1Complete question 5 and stem; no assessment wording is cropped. 'a colleague' does not establish specialist expertise or specify a handoff. Assistance is not the same as telling the customer to contact another team, as in batch-04 q-1788635747642-1. Exactly one independently rated action and five empty outlined rating boxes are visible; no additional question or poster appears. A pointer or Submit-button symbol does not establish a chosen or correct rating. Middle scale labels are editorial study labels; browser/session identifiers are omitted.
image-1788636459317.jpgratingq-1788636459317-1Complete processing-efficiency question 1; no assessment text is cropped. Preserve the stem's grammatical 'an virtual server' and the action's plural 'virtual servers'. Sharing the existing underused server is an interpretation, not visible wording. Exactly one independently rated action and five empty outlined rating boxes are visible; no additional question or poster appears. A pointer or Submit-button symbol does not establish a chosen or correct rating. Middle scale labels are editorial study labels; browser/session identifiers are omitted.
image-1788636489975.jpgratingq-1788636489975-1Complete question 2, including the short proposed redesign; no assessment text is cropped. The action does not say 'unnecessary' steps, remove the virtual server, or name a storage service. Those are only conditional examples in the reasoning. Exactly one independently rated action and five empty outlined rating boxes are visible; no additional question or poster appears. A pointer or Submit-button symbol does not establish a chosen or correct rating. Middle scale labels are editorial study labels; browser/session identifiers are omitted.
image-1788636513589.jpgratingq-1788636513589-1The top edge slightly clips the upper decorative title area; the title words, customer stem, action, numbering, and both endpoints remain readable. No action words are missing. Serverless event-driven compute is explicit, but Lambda and S3 are educational mappings, not photographed service names. Exactly one independently rated action and five empty outlined rating boxes are visible; no additional question or poster appears. A pointer or Submit-button symbol does not establish a chosen or correct rating. Middle scale labels are editorial study labels; browser/session identifiers are omitted.
image-1788636545049.jpgratingq-1788636545049-1Complete question 5 and shared processing-efficiency stem; peripheral Help text is clipped, with no assessment words lost. The action explicitly schedules work at specific times. Question 4 is not in the supplied batch or earlier batches; its wording is not reconstructed. Exactly one independently rated action and five empty outlined rating boxes are visible; no additional question or poster appears. A pointer or Submit-button symbol does not establish a chosen or correct rating. Middle scale labels are editorial study labels; browser/session identifiers are omitted.
image-1788636572852.jpgratingq-1788636572852-1One rating item. Top sender header clipped; full email body, signature, action, numbering and endpoints visible. Shared scenario with photos 2–5, distinct action retained. Visually inspected directly. English assessment text requires no translation. No browser/session identifiers transcribed. No poster in this photo; the historical poster remains separately inventoried in batch 01.
image-1788636595095.jpgratingq-1788636595095-1One rating item, complete scenario and action. Same recovery scenario as photos 1, 3–5; no duplicate action. Visually inspected directly. English assessment text requires no translation. No browser/session identifiers transcribed. No poster in this photo; the historical poster remains separately inventoried in batch 01.
image-1788636610724.jpgratingq-1788636610724-1One rating item, complete scenario and action. Same recovery scenario as photos 1–2, 4–5; no duplicate action. Visually inspected directly. English assessment text requires no translation. No browser/session identifiers transcribed. No poster in this photo; the historical poster remains separately inventoried in batch 01.
image-1788636625460.jpgratingq-1788636625460-1One rating item, complete scenario and longer action offering a call. Distinct from photo 1’s explanation-only action. Visually inspected directly. English assessment text requires no translation. No browser/session identifiers transcribed. No poster in this photo; the historical poster remains separately inventoried in batch 01.
image-1788636639143.jpgratingq-1788636639143-1One rating item, complete scenario and action. Completes the photographed five-question recovery group. Visually inspected directly. English assessment text requires no translation. No browser/session identifiers transcribed. No poster in this photo; the historical poster remains separately inventoried in batch 01.
image-1788636679569.jpgpartialq-1788636679569-1 q-1788636679569-2 q-1788636679569-3Three single-choice stems. First two have four fully visible options. Third has three complete options and a fourth clipped at the lower screen/taskbar boundary; only its opening “The policy” is confidently transcribed. No hidden continuation reconstructed. Visually inspected directly. English assessment text requires no translation. No browser/session identifiers transcribed. No poster in this photo; the historical poster remains separately inventoried in batch 01.
image-1788636753851.jpgchoiceq-1788636753851-1One complete four-option database-connectivity question. No assessment content is clipped. Visually inspected directly. English assessment text requires no translation. No browser/session identifiers transcribed. No poster in this photo; the historical poster remains separately inventoried in batch 01.
image-1788636779078.jpgchoiceq-1788636779078-1 q-1788636779078-2 q-1788636779078-3Three complete four-option questions: DNS record type, POST-to-GET behavior, and DNS TTL preparation. The fourth option of the middle question is visibly marked, without correctness implication. Visually inspected directly. English assessment text requires no translation. No browser/session identifiers transcribed. No poster in this photo; the historical poster remains separately inventoried in batch 01.
image-1788636876551.jpgmixedq-1788636876551-1 q-1788636876551-2 q-1788636876551-3Two complete four-option objective questions and one complete four-option experience self-report. The second scaling option is visibly marked, without correctness implication. Self-report has no correct-answer key. Visually inspected directly. English assessment text requires no translation. No browser/session identifiers transcribed. No poster in this photo; the historical poster remains separately inventoried in batch 01.
image-1788636939776.jpgchoiceq-1788636939776-1 q-1788636939776-2Two complete four-option service-model questions. Slight blur; all decision-relevant wording is readable. Database “version” is ambiguous in meaning rather than visually cropped. Visually inspected directly. English assessment text requires no translation. No browser/session identifiers transcribed. No poster in this photo; the historical poster remains separately inventoried in batch 01.
image-1788637001150.jpgchoiceq-1788637001150-1 q-1788637001150-2Two complete four-option technical-writing questions. All assessment text is visible. Visually inspected directly. English assessment text requires no translation. No browser/session identifiers transcribed. No poster in this photo; the historical poster remains separately inventoried in batch 01.
image-1788637025530.jpgchoiceq-1788637025530-1 q-1788637025530-2Two complete four-option writing questions. Business-email alternatives 3 and 4 admit documented educational ambiguity; no official answer key is visible. Visually inspected directly. English assessment text requires no translation. No browser/session identifiers transcribed. No poster in this photo; the historical poster remains separately inventoried in batch 01.
image-1788637068875.jpgmixedq-1788637068875-1 q-1788637068875-2Two complete questions: an unscored architecture-experience self-report and a microservices first-step choice. All options readable. Browser chrome and session identifiers are excluded.
image-1788637119607.jpgchoiceq-1788637119607-1 q-1788637119607-2Two complete four-option choices about queue resilience and encryption; no assessment text is cropped. Browser chrome and session identifiers are excluded.
image-1788637166029.jpgchoiceq-1788637166029-1 q-1788637166029-2 q-1788637166029-3Three complete four-option choices about backup discovery and first incident actions. Operational assumptions affect the latter two recommendations. Browser chrome and session identifiers are excluded.
image-1788637212739.jpgpartialq-1788637212739-1 q-1788637212739-2 q-1788637212739-3Three questions. Backup retention and synchronous replication are complete. The active-active tier stem and three choices are readable; the third touches the taskbar boundary, and any following options are outside the visible page. No hidden choice is reconstructed. Browser chrome and session identifiers are excluded.
image-1788637305967.jpgpartialq-1788637305967-1 q-1788637305967-2 q-1788637305967-3Three questions. Batch compute and authentication are complete. Data classification shows the stem and first three choices; the fourth is clipped at the bottom and recovered from photo 1788637334201. Authentication and classification are consolidated under the earliest IDs. Browser chrome and session identifiers are excluded.
image-1788637334201.jpgduplicateq-1788637305967-2 q-1788637305967-3Closer overlapping photo: authentication stem is mostly above the top edge, but all choices are visible and MFA option 2 is selected. The classification question is complete and supplies its fourth choice missing in the earlier photo. Both questions retain photo 1788637305967 IDs. Duplicate means overlapping question identity, not redundant visual evidence. Browser chrome and session identifiers are excluded.
image-1788637384204.jpgpartialq-1788637384204-1 q-1788637384204-2 q-1788637384204-3Three questions. Firewall and topology choices are fully readable. Load-balancing stem and first three labels are complete; “Round-robin” is readable at the bottom with lower glyphs clipped. No lower continuation is invented. Browser chrome and session identifiers are excluded.
image-1788637455081.jpgchoiceq-1788637455081-1 q-1788637455081-2Two complete four-option questions on independent service deployment and documentation in the same pull request. Browser chrome and session identifiers are excluded.
image-1788637515150.jpgworkstyleq-1788637515150-1One fully visible paired work-style item with four relative-intensity choices. Unscored self-reflection; no objective personality answer is supplied. No poster appears in this batch; the historical poster remains separately inventoried in batch 01 with no quiz IDs. Browser chrome and session identifiers are excluded.
Question-to-background coverage
QuestionConceptsDeep dives
Deploy in multiple regionsmulti-region, latency, data-consistency, cost-optimizationGlobal latency: CDN cache keys, CloudFront and Global AcceleratorDNS and Route 53: resolution, routing and healthDisaster recovery strategies: tested failover, failback and capacityReplication and consistency: synchronous commits, geography and zero RPOPercentiles, traces and alarms that represent customer outcomesDynamoDB: partition keys, hot traffic, consistency and NoSQL decisionsElastiCache: cache keys, invalidation, TTL and stampede controlAvailability by design: dependencies, tier recovery and architecture reviewsCost engineering: TCO, FinOps, rightsizing and useful workPerformance and capacity: diagnose the limiting path and prove a test plan
Add application servers for global latencylatency, horizontal-scaling, load-balancing, performance-diagnosisGlobal latency: CDN cache keys, CloudFront and Global AcceleratorDNS and Route 53: resolution, routing and healthHTTP request lifecycle: TCP, TLS, redirects, proxies and sessionsALB and NLB: target health, routing and failure behaviorHorizontal and vertical scaling with EC2 Auto ScalingPercentiles, traces and alarms that represent customer outcomesLinux, database connections and search: diagnose the constrained layerElastiCache: cache keys, invalidation, TTL and stampede controlPerformance and capacity: diagnose the limiting path and prove a test plan
Clarify architecture and user requirementsrequirements-discovery, latency, performance-diagnosis, cost-optimizationGlobal latency: CDN cache keys, CloudFront and Global AcceleratorDNS and Route 53: resolution, routing and healthHorizontal and vertical scaling with EC2 Auto ScalingRTO, RPO and SLO: quantitative recovery and dependency budgetsCloudTrail audit and CloudWatch logs: evidence from actor to archivePercentiles, traces and alarms that represent customer outcomesDynamoDB: partition keys, hot traffic, consistency and NoSQL decisionsElastiCache: cache keys, invalidation, TTL and stampede controlIaaS, PaaS and SaaS: ownership decisions from customer requirementsMigration and modernization: discovery, staged cutover and recoverable rollbackMulti-cloud and vendor lock-in: data gravity, exit tests and independent failure domainsCustomer discovery: business outcomes, technical workshops and accountable decisionsCost engineering: TCO, FinOps, rightsizing and useful workPerformance and capacity: diagnose the limiting path and prove a test plan
Use a CDN for worldwide deliverycdn, latency, caching, cost-optimizationGlobal latency: CDN cache keys, CloudFront and Global AcceleratorDNS and Route 53: resolution, routing and healthPercentiles, traces and alarms that represent customer outcomesElastiCache: cache keys, invalidation, TTL and stampede controlCost engineering: TCO, FinOps, rightsizing and useful work
Provision capacity before the holiday peakscheduled-scaling, capacity-planning, horizontal-scalingGlobal latency: CDN cache keys, CloudFront and Global AcceleratorHorizontal and vertical scaling with EC2 Auto ScalingFast startup: golden AMIs, Image Builder, bootstrap and warm poolsPercentiles, traces and alarms that represent customer outcomesDynamoDB: partition keys, hot traffic, consistency and NoSQL decisionsElastiCache: cache keys, invalidation, TTL and stampede controlCost engineering: TCO, FinOps, rightsizing and useful workPerformance and capacity: diagnose the limiting path and prove a test plan
Combine load balancing with demand-based scalingload-balancing, auto-scaling, capacity-planningHTTP request lifecycle: TCP, TLS, redirects, proxies and sessionsALB and NLB: target health, routing and failure behaviorHorizontal and vertical scaling with EC2 Auto ScalingFast startup: golden AMIs, Image Builder, bootstrap and warm poolsPercentiles, traces and alarms that represent customer outcomesDynamoDB: partition keys, hot traffic, consistency and NoSQL decisionsElastiCache: cache keys, invalidation, TTL and stampede controlCost engineering: TCO, FinOps, rightsizing and useful workPerformance and capacity: diagnose the limiting path and prove a test plan
Increase CPU and memoryvertical-scaling, cpu, memory, performance-diagnosisGlobal latency: CDN cache keys, CloudFront and Global AcceleratorHorizontal and vertical scaling with EC2 Auto ScalingPercentiles, traces and alarms that represent customer outcomesLinux, database connections and search: diagnose the constrained layerCost engineering: TCO, FinOps, rightsizing and useful workPerformance and capacity: diagnose the limiting path and prove a test plan
Place a cache before the web serverscaching, cdn, capacity-planning, cache-correctnessGlobal latency: CDN cache keys, CloudFront and Global AcceleratorHorizontal and vertical scaling with EC2 Auto ScalingPercentiles, traces and alarms that represent customer outcomesDynamoDB: partition keys, hot traffic, consistency and NoSQL decisionsElastiCache: cache keys, invalidation, TTL and stampede controlCost engineering: TCO, FinOps, rightsizing and useful workPerformance and capacity: diagnose the limiting path and prove a test plan
Upgrade storage I/O performancestorage-io, iops, throughput, performance-diagnosisGlobal latency: CDN cache keys, CloudFront and Global AcceleratorHorizontal and vertical scaling with EC2 Auto ScalingPercentiles, traces and alarms that represent customer outcomesLinux, database connections and search: diagnose the constrained layerRelational RDS and Aurora: transactions, indexes, query plans and release recoveryS3, EBS and EFS: object, block and file storage through failure and lifecycleCost engineering: TCO, FinOps, rightsizing and useful workPerformance and capacity: diagnose the limiting path and prove a test plan
Store sessions outside application instancessession-state, authentication, stateless-compute, load-balancingHTTP request lifecycle: TCP, TLS, redirects, proxies and sessionsALB and NLB: target health, routing and failure behaviorDurable sessions: authentication, cookies, JWT and shared storesDynamoDB: partition keys, hot traffic, consistency and NoSQL decisionsElastiCache: cache keys, invalidation, TTL and stampede control
Use the compute instance IP addresssession-state, authentication, ip-addressing, load-balancingVPC routing, security groups, NACLs and NATHTTP request lifecycle: TCP, TLS, redirects, proxies and sessionsALB and NLB: target health, routing and failure behaviorDurable sessions: authentication, cookies, JWT and shared storesDynamoDB: partition keys, hot traffic, consistency and NoSQL decisionsElastiCache: cache keys, invalidation, TTL and stampede control
Enable sticky sessions for authentication failoversession-state, authentication, load-balancing, session-affinityHTTP request lifecycle: TCP, TLS, redirects, proxies and sessionsALB and NLB: target health, routing and failure behaviorDurable sessions: authentication, cookies, JWT and shared storesDynamoDB: partition keys, hot traffic, consistency and NoSQL decisionsElastiCache: cache keys, invalidation, TTL and stampede control
Use a large compute instancesession-state, authentication, vertical-scaling, failure-domainsGlobal latency: CDN cache keys, CloudFront and Global AcceleratorHTTP request lifecycle: TCP, TLS, redirects, proxies and sessionsALB and NLB: target health, routing and failure behaviorDurable sessions: authentication, cookies, JWT and shared storesHorizontal and vertical scaling with EC2 Auto ScalingDisaster recovery strategies: tested failover, failback and capacityDynamoDB: partition keys, hot traffic, consistency and NoSQL decisionsElastiCache: cache keys, invalidation, TTL and stampede controlAvailability by design: dependencies, tier recovery and architecture reviewsMulti-cloud and vendor lock-in: data gravity, exit tests and independent failure domains
Run a bootstrap script when the instance startsbootstrapping, user-data, auto-scaling, startup-latency, readinessALB and NLB: target health, routing and failure behaviorHorizontal and vertical scaling with EC2 Auto ScalingFast startup: golden AMIs, Image Builder, bootstrap and warm pools
Install dependencies manually over SSHssh, bootstrapping, auto-scaling, configuration-driftVPC routing, security groups, NACLs and NATALB and NLB: target health, routing and failure behaviorHorizontal and vertical scaling with EC2 Auto ScalingFast startup: golden AMIs, Image Builder, bootstrap and warm poolsTechnical writing and documentation engineering: evidence, API contracts and release accuracy
Use Lambda to orchestrate dependency installationaws-lambda, event-driven-automation, lifecycle-hooks, systems-manager, startup-latencyFast startup: golden AMIs, Image Builder, bootstrap and warm poolsCompute choices: containers, ECS, EKS, serverless and modernization
Have the application fetch its own dependenciesdependency-management, startup-latency, artifact-versioning, readinessFast startup: golden AMIs, Image Builder, bootstrap and warm poolsALB and NLB: target health, routing and failure behavior
Preinstall code and dependencies in a machine imagemachine-images, immutable-infrastructure, auto-scaling, startup-latency, artifact-versioningALB and NLB: target health, routing and failure behaviorHorizontal and vertical scaling with EC2 Auto ScalingFast startup: golden AMIs, Image Builder, bootstrap and warm pools
Share balanced articles about multi-cloudmulti-cloud, vendor-lock-in, requirements-discovery, portability, total-costGlobal latency: CDN cache keys, CloudFront and Global AcceleratorRTO, RPO and SLO: quantitative recovery and dependency budgetsCloudTrail audit and CloudWatch logs: evidence from actor to archiveIaaS, PaaS and SaaS: ownership decisions from customer requirementsMigration and modernization: discovery, staged cutover and recoverable rollbackMulti-cloud and vendor lock-in: data gravity, exit tests and independent failure domainsCustomer discovery: business outcomes, technical workshops and accountable decisionsCost engineering: TCO, FinOps, rightsizing and useful work
Send documentation promoting AWS over competitorsvendor-lock-in, customer-communication, requirements-discovery, multi-cloudGlobal latency: CDN cache keys, CloudFront and Global AcceleratorRTO, RPO and SLO: quantitative recovery and dependency budgetsCloudTrail audit and CloudWatch logs: evidence from actor to archiveIncident command, evidence-led troubleshooting and customer trustIaaS, PaaS and SaaS: ownership decisions from customer requirementsMigration and modernization: discovery, staged cutover and recoverable rollbackMulti-cloud and vendor lock-in: data gravity, exit tests and independent failure domainsCustomer discovery: business outcomes, technical workshops and accountable decisions
Send a list of competitors' recent outagesvendor-lock-in, customer-communication, availability, evidence-qualityIncident command, evidence-led troubleshooting and customer trustS3, EBS and EFS: object, block and file storage through failure and lifecycleAvailability by design: dependencies, tier recovery and architecture reviewsMulti-cloud and vendor lock-in: data gravity, exit tests and independent failure domainsCustomer discovery: business outcomes, technical workshops and accountable decisions
Recommend moving to the cloud to avoid outagesdisaster-recovery, availability, failure-domains, recovery-objectives, requirements-discoveryGlobal latency: CDN cache keys, CloudFront and Global AcceleratorALB and NLB: target health, routing and failure behaviorRTO, RPO and SLO: quantitative recovery and dependency budgetsDisaster recovery strategies: tested failover, failback and capacityCloudTrail audit and CloudWatch logs: evidence from actor to archiveS3, EBS and EFS: object, block and file storage through failure and lifecycleIaaS, PaaS and SaaS: ownership decisions from customer requirementsMigration and modernization: discovery, staged cutover and recoverable rollbackAvailability by design: dependencies, tier recovery and architecture reviewsMulti-cloud and vendor lock-in: data gravity, exit tests and independent failure domainsCustomer discovery: business outcomes, technical workshops and accountable decisions
Hold a technical discussion and review the architecturedisaster-recovery, architecture-review, incident-analysis, recovery-objectives, failure-testingAvailability by design: dependencies, tier recovery and architecture reviewsRTO, RPO and SLO: quantitative recovery and dependency budgetsDisaster recovery strategies: tested failover, failback and capacityIncident command, evidence-led troubleshooting and customer trustCustomer discovery: business outcomes, technical workshops and accountable decisions
Request the hosting provider’s root cause analysisincident-analysis, root-cause-analysis, disaster-recovery, customer-impactDisaster recovery strategies: tested failover, failback and capacityIncident command, evidence-led troubleshooting and customer trustAvailability by design: dependencies, tier recovery and architecture reviewsCustomer discovery: business outcomes, technical workshops and accountable decisions
Review and improve the existing disaster recovery plandisaster-recovery, recovery-objectives, recovery-testing, runbooksRTO, RPO and SLO: quantitative recovery and dependency budgetsDisaster recovery strategies: tested failover, failback and capacityBackup, PITR, retention and archive: proving an end-to-end restoreIncident command, evidence-led troubleshooting and customer trustAvailability by design: dependencies, tier recovery and architecture reviewsCustomer discovery: business outcomes, technical workshops and accountable decisionsTechnical writing and documentation engineering: evidence, API contracts and release accuracy
Send availability and disaster recovery guidancehigh-availability, disaster-recovery, technical-communication, requirements-discoveryGlobal latency: CDN cache keys, CloudFront and Global AcceleratorRTO, RPO and SLO: quantitative recovery and dependency budgetsDisaster recovery strategies: tested failover, failback and capacityCloudTrail audit and CloudWatch logs: evidence from actor to archiveIaaS, PaaS and SaaS: ownership decisions from customer requirementsMigration and modernization: discovery, staged cutover and recoverable rollbackAvailability by design: dependencies, tier recovery and architecture reviewsMulti-cloud and vendor lock-in: data gravity, exit tests and independent failure domainsCustomer discovery: business outcomes, technical workshops and accountable decisionsTechnical writing and documentation engineering: evidence, API contracts and release accuracy
Send an AWS whitepaper about AZ and Region outagesfailure-domains, availability-zones, regions, technical-communicationAvailability by design: dependencies, tier recovery and architecture reviewsGlobal latency: CDN cache keys, CloudFront and Global AcceleratorALB and NLB: target health, routing and failure behaviorDisaster recovery strategies: tested failover, failback and capacityMulti-cloud and vendor lock-in: data gravity, exit tests and independent failure domainsCustomer discovery: business outcomes, technical workshops and accountable decisionsTechnical writing and documentation engineering: evidence, API contracts and release accuracy
Recommend using services across multiple Regionsmulti-region, failure-domains, dependency-analysis, high-availabilityGlobal latency: CDN cache keys, CloudFront and Global AcceleratorDNS and Route 53: resolution, routing and healthALB and NLB: target health, routing and failure behaviorDisaster recovery strategies: tested failover, failback and capacityReplication and consistency: synchronous commits, geography and zero RPODynamoDB: partition keys, hot traffic, consistency and NoSQL decisionsMigration and modernization: discovery, staged cutover and recoverable rollbackAvailability by design: dependencies, tier recovery and architecture reviewsMulti-cloud and vendor lock-in: data gravity, exit tests and independent failure domains
Discuss high availability and disaster recovery with the customerrequirements-discovery, high-availability, disaster-recovery, recovery-objectives, architecture-reviewGlobal latency: CDN cache keys, CloudFront and Global AcceleratorRTO, RPO and SLO: quantitative recovery and dependency budgetsDisaster recovery strategies: tested failover, failback and capacityCloudTrail audit and CloudWatch logs: evidence from actor to archiveIaaS, PaaS and SaaS: ownership decisions from customer requirementsMigration and modernization: discovery, staged cutover and recoverable rollbackAvailability by design: dependencies, tier recovery and architecture reviewsMulti-cloud and vendor lock-in: data gravity, exit tests and independent failure domainsCustomer discovery: business outcomes, technical workshops and accountable decisions
Add a secondary location and a failover mechanismfailover, failure-domains, multi-az, multi-region, recovery-testingGlobal latency: CDN cache keys, CloudFront and Global AcceleratorDNS and Route 53: resolution, routing and healthALB and NLB: target health, routing and failure behaviorDisaster recovery strategies: tested failover, failback and capacityReplication and consistency: synchronous commits, geography and zero RPOBackup, PITR, retention and archive: proving an end-to-end restoreDynamoDB: partition keys, hot traffic, consistency and NoSQL decisionsAvailability by design: dependencies, tier recovery and architecture reviewsMulti-cloud and vendor lock-in: data gravity, exit tests and independent failure domains
Ask the customer to supply preferred logging solutionsrequirements-discovery, logging, audit-logging, solution-selectionGlobal latency: CDN cache keys, CloudFront and Global AcceleratorRTO, RPO and SLO: quantitative recovery and dependency budgetsCloudTrail audit and CloudWatch logs: evidence from actor to archiveCredentials and secrets: rotation, exposed keys and incident containmentIaaS, PaaS and SaaS: ownership decisions from customer requirementsMigration and modernization: discovery, staged cutover and recoverable rollbackMulti-cloud and vendor lock-in: data gravity, exit tests and independent failure domainsCustomer discovery: business outcomes, technical workshops and accountable decisions
Arrange a discussion of the customer’s current architecturearchitecture-review, requirements-discovery, logging, observabilityGlobal latency: CDN cache keys, CloudFront and Global AcceleratorRTO, RPO and SLO: quantitative recovery and dependency budgetsDisaster recovery strategies: tested failover, failback and capacityCloudTrail audit and CloudWatch logs: evidence from actor to archivePercentiles, traces and alarms that represent customer outcomesIaaS, PaaS and SaaS: ownership decisions from customer requirementsMigration and modernization: discovery, staged cutover and recoverable rollbackAvailability by design: dependencies, tier recovery and architecture reviewsMulti-cloud and vendor lock-in: data gravity, exit tests and independent failure domainsCustomer discovery: business outcomes, technical workshops and accountable decisions
Offer partner solutions that match the customer’s requirementssolution-selection, partner-solutions, requirements-discovery, loggingGlobal latency: CDN cache keys, CloudFront and Global AcceleratorRTO, RPO and SLO: quantitative recovery and dependency budgetsCloudTrail audit and CloudWatch logs: evidence from actor to archiveIaaS, PaaS and SaaS: ownership decisions from customer requirementsMigration and modernization: discovery, staged cutover and recoverable rollbackMulti-cloud and vendor lock-in: data gravity, exit tests and independent failure domainsCustomer discovery: business outcomes, technical workshops and accountable decisions
Ask about log sources, formats, and storage requirementslog-sources, structured-logging, log-retention, capacity-planning, audit-logging, requirements-discoveryGlobal latency: CDN cache keys, CloudFront and Global AcceleratorHorizontal and vertical scaling with EC2 Auto ScalingRTO, RPO and SLO: quantitative recovery and dependency budgetsCloudTrail audit and CloudWatch logs: evidence from actor to archivePercentiles, traces and alarms that represent customer outcomesCredentials and secrets: rotation, exposed keys and incident containmentDynamoDB: partition keys, hot traffic, consistency and NoSQL decisionsElastiCache: cache keys, invalidation, TTL and stampede controlS3, EBS and EFS: object, block and file storage through failure and lifecycleIaaS, PaaS and SaaS: ownership decisions from customer requirementsMigration and modernization: discovery, staged cutover and recoverable rollbackMulti-cloud and vendor lock-in: data gravity, exit tests and independent failure domainsCustomer discovery: business outcomes, technical workshops and accountable decisionsCost engineering: TCO, FinOps, rightsizing and useful workPerformance and capacity: diagnose the limiting path and prove a test plan
Promise logging documentation in a later emailtechnical-communication, logging, audit-logging, solution-selectionCloudTrail audit and CloudWatch logs: evidence from actor to archiveCredentials and secrets: rotation, exposed keys and incident containmentCustomer discovery: business outcomes, technical workshops and accountable decisionsTechnical writing and documentation engineering: evidence, API contracts and release accuracy
Discuss container and serverless architecture optionsapplication-modernization, containers, serverless, requirements-discoveryGlobal latency: CDN cache keys, CloudFront and Global AcceleratorCompute choices: containers, ECS, EKS, serverless and modernizationRTO, RPO and SLO: quantitative recovery and dependency budgetsCloudTrail audit and CloudWatch logs: evidence from actor to archiveIAM authorization: roles, least privilege and account governanceIaaS, PaaS and SaaS: ownership decisions from customer requirementsMigration and modernization: discovery, staged cutover and recoverable rollbackMulti-cloud and vendor lock-in: data gravity, exit tests and independent failure domainsCustomer discovery: business outcomes, technical workshops and accountable decisionsCost engineering: TCO, FinOps, rightsizing and useful work
Suggest migrating to a three-tier architecturethree-tier-architecture, application-modernization, managed-services, architecture-selectionIaaS, PaaS and SaaS: ownership decisions from customer requirementsCompute choices: containers, ECS, EKS, serverless and modernizationRTO, RPO and SLO: quantitative recovery and dependency budgetsMigration and modernization: discovery, staged cutover and recoverable rollbackAvailability by design: dependencies, tier recovery and architecture reviewsCustomer discovery: business outcomes, technical workshops and accountable decisions
Assess the application before proposing a migration designrequirements-discovery, migration-planning, event-driven-architecture, application-modernizationGlobal latency: CDN cache keys, CloudFront and Global AcceleratorCompute choices: containers, ECS, EKS, serverless and modernizationRTO, RPO and SLO: quantitative recovery and dependency budgetsCloudTrail audit and CloudWatch logs: evidence from actor to archiveIaaS, PaaS and SaaS: ownership decisions from customer requirementsMigration and modernization: discovery, staged cutover and recoverable rollbackSQS, SNS, EventBridge and Kinesis: delivery, replay and idempotent effectsMulti-cloud and vendor lock-in: data gravity, exit tests and independent failure domainsCustomer discovery: business outcomes, technical workshops and accountable decisions
Offer a rewrite into containerized microservicesmicroservices, containers, application-modernization, strangler-fig, migration-riskMigration and modernization: discovery, staged cutover and recoverable rollbackCompute choices: containers, ECS, EKS, serverless and modernizationCustomer discovery: business outcomes, technical workshops and accountable decisions
Ask the customer to call a cloud consulting teamcustomer-handoff, application-modernization, consulting, technical-communicationCompute choices: containers, ECS, EKS, serverless and modernizationMigration and modernization: discovery, staged cutover and recoverable rollbackCustomer discovery: business outcomes, technical workshops and accountable decisionsTechnical writing and documentation engineering: evidence, API contracts and release accuracy
Enable web-server logging to investigate failed searchlogging, incident-triage, request-correlation, root-cause-analysisHybrid and private connectivity: routing hubs and network diagnosisHTTP request lifecycle: TCP, TLS, redirects, proxies and sessionsCloudTrail audit and CloudWatch logs: evidence from actor to archivePercentiles, traces and alarms that represent customer outcomesIncident command, evidence-led troubleshooting and customer trustLinux, database connections and search: diagnose the constrained layerPerformance and capacity: diagnose the limiting path and prove a test plan
Restart the application processincident-mitigation, process-restart, state-management, root-cause-analysisLinux, database connections and search: diagnose the constrained layerIncident command, evidence-led troubleshooting and customer trustPerformance and capacity: diagnose the limiting path and prove a test plan
Add servers without confirming the bottleneckhorizontal-scaling, capacity-planning, bottleneck-analysis, incident-triageGlobal latency: CDN cache keys, CloudFront and Global AcceleratorHybrid and private connectivity: routing hubs and network diagnosisHTTP request lifecycle: TCP, TLS, redirects, proxies and sessionsALB and NLB: target health, routing and failure behaviorHorizontal and vertical scaling with EC2 Auto ScalingCompute choices: containers, ECS, EKS, serverless and modernizationPercentiles, traces and alarms that represent customer outcomesIncident command, evidence-led troubleshooting and customer trustLinux, database connections and search: diagnose the constrained layerDynamoDB: partition keys, hot traffic, consistency and NoSQL decisionsElastiCache: cache keys, invalidation, TTL and stampede controlIaaS, PaaS and SaaS: ownership decisions from customer requirementsAvailability by design: dependencies, tier recovery and architecture reviewsCost engineering: TCO, FinOps, rightsizing and useful workPerformance and capacity: diagnose the limiting path and prove a test plan
Check connectivity from web servers to searchnetwork-troubleshooting, dependency-health, icmp, dns, application-protocolsDNS and Route 53: resolution, routing and healthVPC routing, security groups, NACLs and NATHybrid and private connectivity: routing hubs and network diagnosisHTTP request lifecycle: TCP, TLS, redirects, proxies and sessionsIncident command, evidence-led troubleshooting and customer trustLinux, database connections and search: diagnose the constrained layerMigration and modernization: discovery, staged cutover and recoverable rollbackAvailability by design: dependencies, tier recovery and architecture reviewsPerformance and capacity: diagnose the limiting path and prove a test plan
Ask for the actual error messagesincident-triage, error-classification, customer-communication, root-cause-analysisHybrid and private connectivity: routing hubs and network diagnosisHTTP request lifecycle: TCP, TLS, redirects, proxies and sessionsIncident command, evidence-led troubleshooting and customer trustLinux, database connections and search: diagnose the constrained layerAvailability by design: dependencies, tier recovery and architecture reviewsMulti-cloud and vendor lock-in: data gravity, exit tests and independent failure domainsCustomer discovery: business outcomes, technical workshops and accountable decisionsPerformance and capacity: diagnose the limiting path and prove a test plan
Investigate changes during the regression windowperformance-regression, change-correlation, incident-triage, baseline-comparisonHybrid and private connectivity: routing hubs and network diagnosisHTTP request lifecycle: TCP, TLS, redirects, proxies and sessionsHorizontal and vertical scaling with EC2 Auto ScalingPercentiles, traces and alarms that represent customer outcomesIncident command, evidence-led troubleshooting and customer trustLinux, database connections and search: diagnose the constrained layerRelational RDS and Aurora: transactions, indexes, query plans and release recoveryPerformance and capacity: diagnose the limiting path and prove a test plan
Review the report design and database queryquery-performance, execution-plans, report-design, database-contention, performance-regressionHorizontal and vertical scaling with EC2 Auto ScalingLinux, database connections and search: diagnose the constrained layerRelational RDS and Aurora: transactions, indexes, query plans and release recoveryPerformance and capacity: diagnose the limiting path and prove a test plan
Check swap capacity without assuming it explains the regressionswap-space, memory-pressure, database-monitoring, performance-regressionHorizontal and vertical scaling with EC2 Auto ScalingLinux, database connections and search: diagnose the constrained layerRelational RDS and Aurora: transactions, indexes, query plans and release recoveryPerformance and capacity: diagnose the limiting path and prove a test plan
Scale CPU and RAM only after identifying resource pressurevertical-scaling, capacity-planning, bottleneck-diagnosis, performance-regressionHorizontal and vertical scaling with EC2 Auto ScalingPercentiles, traces and alarms that represent customer outcomesLinux, database connections and search: diagnose the constrained layerRelational RDS and Aurora: transactions, indexes, query plans and release recoveryDynamoDB: partition keys, hot traffic, consistency and NoSQL decisionsElastiCache: cache keys, invalidation, TTL and stampede controlCost engineering: TCO, FinOps, rightsizing and useful workPerformance and capacity: diagnose the limiting path and prove a test plan
Capture slow-query evidence from the affected report windowslow-query-logging, query-performance, incident-evidence, sensitive-log-dataLinux, database connections and search: diagnose the constrained layerHorizontal and vertical scaling with EC2 Auto ScalingCloudTrail audit and CloudWatch logs: evidence from actor to archiveCredentials and secrets: rotation, exposed keys and incident containmentRelational RDS and Aurora: transactions, indexes, query plans and release recoveryPerformance and capacity: diagnose the limiting path and prove a test plan
Block known hostile IP addresses as a supplementary controlnetwork-acls, ip-reputation, sql-injection, cross-site-scripting, defense-in-depthSQL injection, XSS and sessions: WAF, Shield and network defenseVPC routing, security groups, NACLs and NAT
Use a web application firewall with suitable inspection rulesweb-application-firewall, sql-injection, cross-site-scripting, rule-tuning, defense-in-depthVPC routing, security groups, NACLs and NATSQL injection, XSS and sessions: WAF, Shield and network defense
Clarify the inspection capabilities of an unspecified firewallnetwork-firewall, deep-packet-inspection, intrusion-prevention, web-application-firewall, tls-inspectionSQL injection, XSS and sessions: WAF, Shield and network defenseHybrid and private connectivity: routing hubs and network diagnosis
Do not equate solving a CAPTCHA with a safe requestcaptcha, bot-mitigation, input-validation, sql-injection, cross-site-scriptingSQL injection, XSS and sessions: WAF, Shield and network defense
Assess a custom inspection server’s protection and failure risksinline-inspection, single-point-of-failure, security-maintenance, web-application-firewall, fail-open-fail-closedSQL injection, XSS and sessions: WAF, Shield and network defenseHybrid and private connectivity: routing hubs and network diagnosisAvailability by design: dependencies, tier recovery and architecture reviews
Carry forward security principles while adapting cloud controlsshared-responsibility, cloud-migration, security-control-mapping, data-classificationEncryption, KMS and TLS: data protection and shared responsibilityS3, EBS and EFS: object, block and file storage through failure and lifecycleIaaS, PaaS and SaaS: ownership decisions from customer requirementsMigration and modernization: discovery, staged cutover and recoverable rollback
Enforce encryption for stored data and data in transitencryption-at-rest, encryption-in-transit, policy-enforcement, key-management, data-protectionVPC routing, security groups, NACLs and NATHTTP request lifecycle: TCP, TLS, redirects, proxies and sessionsBackup, PITR, retention and archive: proving an end-to-end restoreIAM authorization: roles, least privilege and account governanceEncryption, KMS and TLS: data protection and shared responsibilityS3, EBS and EFS: object, block and file storage through failure and lifecycle
Record API and user activity with usable security monitoringaudit-logging, cloudtrail, management-events, data-events, security-monitoring, incident-responseCloudTrail audit and CloudWatch logs: evidence from actor to archivePercentiles, traces and alarms that represent customer outcomesIncident command, evidence-led troubleshooting and customer trustCredentials and secrets: rotation, exposed keys and incident containmentEncryption, KMS and TLS: data protection and shared responsibility
Restrict network access around data-bearing resourcesvpc-segmentation, network-isolation, least-privilege, security-groups, data-protectionVPC routing, security groups, NACLs and NATHybrid and private connectivity: routing hubs and network diagnosisHTTP request lifecycle: TCP, TLS, redirects, proxies and sessionsSQL injection, XSS and sessions: WAF, Shield and network defenseIAM authorization: roles, least privilege and account governanceEncryption, KMS and TLS: data protection and shared responsibilityS3, EBS and EFS: object, block and file storage through failure and lifecycle
Apply least privilege to AWS accessleast-privilege, iam, data-protection, account-security, authorizationVPC routing, security groups, NACLs and NATHTTP request lifecycle: TCP, TLS, redirects, proxies and sessionsDurable sessions: authentication, cookies, JWT and shared storesIAM authorization: roles, least privilege and account governanceEncryption, KMS and TLS: data protection and shared responsibilityS3, EBS and EFS: object, block and file storage through failure and lifecycle
Restrict bastion access after a laptop theftbastion-host, ip-allowlist, credential-compromise, incident-containment, security-groupsVPC routing, security groups, NACLs and NATDurable sessions: authentication, cookies, JWT and shared storesSQL injection, XSS and sessions: WAF, Shield and network defenseIAM authorization: roles, least privilege and account governanceCredentials and secrets: rotation, exposed keys and incident containment
Add a hardware second factor after a laptop theftmfa, hardware-security-key, credential-compromise, temporary-credentials, session-revocationDurable sessions: authentication, cookies, JWT and shared storesIAM authorization: roles, least privilege and account governanceCredentials and secrets: rotation, exposed keys and incident containment
Evaluate pilot light or warm standbydisaster-recovery, pilot-light, warm-standby, rto, rpo, replication, recovery-testingRTO, RPO and SLO: quantitative recovery and dependency budgetsDisaster recovery strategies: tested failover, failback and capacityReplication and consistency: synchronous commits, geography and zero RPOBackup, PITR, retention and archive: proving an end-to-end restoreAvailability by design: dependencies, tier recovery and architecture reviewsCost engineering: TCO, FinOps, rightsizing and useful work
Share documentation about relevant new technologiesdisaster-recovery, requirements-discovery, technical-communication, technology-selection, rto, rpoGlobal latency: CDN cache keys, CloudFront and Global AcceleratorRTO, RPO and SLO: quantitative recovery and dependency budgetsDisaster recovery strategies: tested failover, failback and capacityReplication and consistency: synchronous commits, geography and zero RPOBackup, PITR, retention and archive: proving an end-to-end restoreCloudTrail audit and CloudWatch logs: evidence from actor to archiveIaaS, PaaS and SaaS: ownership decisions from customer requirementsMigration and modernization: discovery, staged cutover and recoverable rollbackAvailability by design: dependencies, tier recovery and architecture reviewsMulti-cloud and vendor lock-in: data gravity, exit tests and independent failure domainsCustomer discovery: business outcomes, technical workshops and accountable decisionsTechnical writing and documentation engineering: evidence, API contracts and release accuracy
Recommend active-active disaster recoveryactive-active, disaster-recovery, replication, capacity-planning, rto, rpo, multi-regionGlobal latency: CDN cache keys, CloudFront and Global AcceleratorDNS and Route 53: resolution, routing and healthHorizontal and vertical scaling with EC2 Auto ScalingRTO, RPO and SLO: quantitative recovery and dependency budgetsDisaster recovery strategies: tested failover, failback and capacityReplication and consistency: synchronous commits, geography and zero RPOBackup, PITR, retention and archive: proving an end-to-end restorePercentiles, traces and alarms that represent customer outcomesDynamoDB: partition keys, hot traffic, consistency and NoSQL decisionsElastiCache: cache keys, invalidation, TTL and stampede controlAvailability by design: dependencies, tier recovery and architecture reviewsCost engineering: TCO, FinOps, rightsizing and useful workPerformance and capacity: diagnose the limiting path and prove a test plan
Explain disaster-recovery strategy tradeoffsdisaster-recovery, architecture-tradeoffs, requirements-discovery, rto, rpo, recovery-testingGlobal latency: CDN cache keys, CloudFront and Global AcceleratorRTO, RPO and SLO: quantitative recovery and dependency budgetsDisaster recovery strategies: tested failover, failback and capacityReplication and consistency: synchronous commits, geography and zero RPOBackup, PITR, retention and archive: proving an end-to-end restoreCloudTrail audit and CloudWatch logs: evidence from actor to archiveIaaS, PaaS and SaaS: ownership decisions from customer requirementsMigration and modernization: discovery, staged cutover and recoverable rollbackAvailability by design: dependencies, tier recovery and architecture reviewsMulti-cloud and vendor lock-in: data gravity, exit tests and independent failure domainsCustomer discovery: business outcomes, technical workshops and accountable decisionsCost engineering: TCO, FinOps, rightsizing and useful work
Ask a colleague to assist with recovery requirementstechnical-collaboration, requirements-discovery, disaster-recovery, ownership, expert-escalationGlobal latency: CDN cache keys, CloudFront and Global AcceleratorRTO, RPO and SLO: quantitative recovery and dependency budgetsDisaster recovery strategies: tested failover, failback and capacityCloudTrail audit and CloudWatch logs: evidence from actor to archiveIncident command, evidence-led troubleshooting and customer trustIaaS, PaaS and SaaS: ownership decisions from customer requirementsMigration and modernization: discovery, staged cutover and recoverable rollbackAvailability by design: dependencies, tier recovery and architecture reviewsMulti-cloud and vendor lock-in: data gravity, exit tests and independent failure domainsCustomer discovery: business outcomes, technical workshops and accountable decisionsTechnical writing and documentation engineering: evidence, API contracts and release accuracy
Use other workloads to improve server utilizationresource-utilization, workload-consolidation, capacity-planning, cost-optimization, noisy-neighborGlobal latency: CDN cache keys, CloudFront and Global AcceleratorHorizontal and vertical scaling with EC2 Auto ScalingCompute choices: containers, ECS, EKS, serverless and modernizationPercentiles, traces and alarms that represent customer outcomesLinux, database connections and search: diagnose the constrained layerDynamoDB: partition keys, hot traffic, consistency and NoSQL decisionsElastiCache: cache keys, invalidation, TTL and stampede controlCost engineering: TCO, FinOps, rightsizing and useful workPerformance and capacity: diagnose the limiting path and prove a test plan
Remove processing steps from the image applicationapplication-profiling, architecture-simplification, resource-utilization, cost-optimization, presigned-urlsGlobal latency: CDN cache keys, CloudFront and Global AcceleratorCompute choices: containers, ECS, EKS, serverless and modernizationCredentials and secrets: rotation, exposed keys and incident containmentS3, EBS and EFS: object, block and file storage through failure and lifecycleSQS, SNS, EventBridge and Kinesis: delivery, replay and idempotent effectsCost engineering: TCO, FinOps, rightsizing and useful workPerformance and capacity: diagnose the limiting path and prove a test plan
Process images with event-driven serverless computeserverless, aws-lambda, event-driven, s3-events, asynchronous-processing, idempotency, cost-optimizationGlobal latency: CDN cache keys, CloudFront and Global AcceleratorCompute choices: containers, ECS, EKS, serverless and modernizationDisaster recovery strategies: tested failover, failback and capacityReplication and consistency: synchronous commits, geography and zero RPOIAM authorization: roles, least privilege and account governanceDynamoDB: partition keys, hot traffic, consistency and NoSQL decisionsS3, EBS and EFS: object, block and file storage through failure and lifecycleSQS, SNS, EventBridge and Kinesis: delivery, replay and idempotent effectsCost engineering: TCO, FinOps, rightsizing and useful work
Schedule image work in batchesbatch-processing, scheduling, latency, throughput, asynchronous-processing, resource-utilizationGlobal latency: CDN cache keys, CloudFront and Global AcceleratorDNS and Route 53: resolution, routing and healthCompute choices: containers, ECS, EKS, serverless and modernizationPercentiles, traces and alarms that represent customer outcomesElastiCache: cache keys, invalidation, TTL and stampede controlS3, EBS and EFS: object, block and file storage through failure and lifecycleSQS, SNS, EventBridge and Kinesis: delivery, replay and idempotent effectsCost engineering: TCO, FinOps, rightsizing and useful workPerformance and capacity: diagnose the limiting path and prove a test plan
Explain that both recovery objectives are missedrto, rpo, backup-restore, customer-communicationRTO, RPO and SLO: quantitative recovery and dependency budgetsReplication and consistency: synchronous commits, geography and zero RPOBackup, PITR, retention and archive: proving an end-to-end restoreIncident command, evidence-led troubleshooting and customer trustRelational RDS and Aurora: transactions, indexes, query plans and release recoveryMulti-cloud and vendor lock-in: data gravity, exit tests and independent failure domainsCustomer discovery: business outcomes, technical workshops and accountable decisions
Do not claim the weekly backups meet a one-day RPOrto, rpo, backup-frequencyRTO, RPO and SLO: quantitative recovery and dependency budgetsReplication and consistency: synchronous commits, geography and zero RPOBackup, PITR, retention and archive: proving an end-to-end restoreIncident command, evidence-led troubleshooting and customer trustRelational RDS and Aurora: transactions, indexes, query plans and release recovery
Do not claim a three-hour restore meets a one-hour RTOrto, rpo, recovery-testingRTO, RPO and SLO: quantitative recovery and dependency budgetsDisaster recovery strategies: tested failover, failback and capacityReplication and consistency: synchronous commits, geography and zero RPOBackup, PITR, retention and archive: proving an end-to-end restoreIncident command, evidence-led troubleshooting and customer trustRelational RDS and Aurora: transactions, indexes, query plans and release recovery
Explain both recovery gaps and offer practical helprto, rpo, recovery-planning, customer-discoveryRTO, RPO and SLO: quantitative recovery and dependency budgetsReplication and consistency: synchronous commits, geography and zero RPOBackup, PITR, retention and archive: proving an end-to-end restoreIncident command, evidence-led troubleshooting and customer trustRelational RDS and Aurora: transactions, indexes, query plans and release recoveryCustomer discovery: business outcomes, technical workshops and accountable decisions
Reject an unsupported assurance that both targets are metrto, rpo, evidence-based-assuranceRTO, RPO and SLO: quantitative recovery and dependency budgetsReplication and consistency: synchronous commits, geography and zero RPOBackup, PITR, retention and archive: proving an end-to-end restoreIncident command, evidence-led troubleshooting and customer trustRelational RDS and Aurora: transactions, indexes, query plans and release recoveryCustomer discovery: business outcomes, technical workshops and accountable decisions
Combine application filtering with tier segmentationwaf, sql-injection, network-segmentation, session-hijackingVPC routing, security groups, NACLs and NATHybrid and private connectivity: routing hubs and network diagnosisHTTP request lifecycle: TCP, TLS, redirects, proxies and sessionsDurable sessions: authentication, cookies, JWT and shared storesSQL injection, XSS and sessions: WAF, Shield and network defenseCredentials and secrets: rotation, exposed keys and incident containmentEncryption, KMS and TLS: data protection and shared responsibility
Restrict database ingress to the application security groupsecurity-groups, least-privilege, network-acl, database-connectivityVPC routing, security groups, NACLs and NATHybrid and private connectivity: routing hubs and network diagnosisLinux, database connections and search: diagnose the constrained layerSQL injection, XSS and sessions: WAF, Shield and network defenseIAM authorization: roles, least privilege and account governanceRelational RDS and Aurora: transactions, indexes, query plans and release recoveryPerformance and capacity: diagnose the limiting path and prove a test plan
Recognize the blast radius of an overprivileged function identityiam, least-privilege, serverless, blast-radius, ssrfIAM authorization: roles, least privilege and account governanceVPC routing, security groups, NACLs and NATCompute choices: containers, ECS, EKS, serverless and modernizationSQL injection, XSS and sessions: WAF, Shield and network defenseS3, EBS and EFS: object, block and file storage through failure and lifecycleCost engineering: TCO, FinOps, rightsizing and useful work
Diagnose database connectivity from logs and the actual network pathdatabase-connectivity, troubleshooting, tcp, dns, tlsDNS and Route 53: resolution, routing and healthVPC routing, security groups, NACLs and NATHybrid and private connectivity: routing hubs and network diagnosisHTTP request lifecycle: TCP, TLS, redirects, proxies and sessionsPercentiles, traces and alarms that represent customer outcomesLinux, database connections and search: diagnose the constrained layerEncryption, KMS and TLS: data protection and shared responsibilityRelational RDS and Aurora: transactions, indexes, query plans and release recoveryMigration and modernization: discovery, staged cutover and recoverable rollbackPerformance and capacity: diagnose the limiting path and prove a test plan
Create an address record for a server without a DNS hostnamedns, a-record, cname, ipv4, private-dnsDNS and Route 53: resolution, routing and healthHybrid and private connectivity: routing hubs and network diagnosisHTTP request lifecycle: TCP, TLS, redirects, proxies and sessionsMigration and modernization: discovery, staged cutover and recoverable rollback
Trace redirects when a form POST arrives as GEThttp, redirects, post, get, html-formsHTTP request lifecycle: TCP, TLS, redirects, proxies and sessions
Lower DNS TTL before the migration windowdns, ttl, migration, cache-invalidationDNS and Route 53: resolution, routing and healthHybrid and private connectivity: routing hubs and network diagnosisHTTP request lifecycle: TCP, TLS, redirects, proxies and sessionsDynamoDB: partition keys, hot traffic, consistency and NoSQL decisionsElastiCache: cache keys, invalidation, TTL and stampede controlMigration and modernization: discovery, staged cutover and recoverable rollback
Discover requirements before choosing a cloud service modeliaas, paas, saas, requirements-discoveryGlobal latency: CDN cache keys, CloudFront and Global AcceleratorCompute choices: containers, ECS, EKS, serverless and modernizationRTO, RPO and SLO: quantitative recovery and dependency budgetsCloudTrail audit and CloudWatch logs: evidence from actor to archiveEncryption, KMS and TLS: data protection and shared responsibilityIaaS, PaaS and SaaS: ownership decisions from customer requirementsMigration and modernization: discovery, staged cutover and recoverable rollbackMulti-cloud and vendor lock-in: data gravity, exit tests and independent failure domainsCustomer discovery: business outcomes, technical workshops and accountable decisions
Identify the bottleneck before selecting a scaling mechanismbottleneck-analysis, load-balancing, queueing, auto-scaling, vertical-scalingGlobal latency: CDN cache keys, CloudFront and Global AcceleratorHTTP request lifecycle: TCP, TLS, redirects, proxies and sessionsALB and NLB: target health, routing and failure behaviorHorizontal and vertical scaling with EC2 Auto ScalingCompute choices: containers, ECS, EKS, serverless and modernizationPercentiles, traces and alarms that represent customer outcomesLinux, database connections and search: diagnose the constrained layerRelational RDS and Aurora: transactions, indexes, query plans and release recoveryDynamoDB: partition keys, hot traffic, consistency and NoSQL decisionsElastiCache: cache keys, invalidation, TTL and stampede controlIaaS, PaaS and SaaS: ownership decisions from customer requirementsSQS, SNS, EventBridge and Kinesis: delivery, replay and idempotent effectsPerformance and capacity: diagnose the limiting path and prove a test plan
Report architecture-discussion frequency truthfullyself-reflection, architecture-decisions, professional-experienceReflection / source-limited item
Use a managed database with a verified configuration and rollback planpaas, managed-database, parameter-groups, database-upgrades, rollbackRelational RDS and Aurora: transactions, indexes, query plans and release recoveryCompute choices: containers, ECS, EKS, serverless and modernizationBackup, PITR, retention and archive: proving an end-to-end restoreIaaS, PaaS and SaaS: ownership decisions from customer requirementsMigration and modernization: discovery, staged cutover and recoverable rollback
Choose IaaS when operating-system access is mandatoryiaas, os-access, data-residency, shared-responsibilityCompute choices: containers, ECS, EKS, serverless and modernizationEncryption, KMS and TLS: data protection and shared responsibilityIaaS, PaaS and SaaS: ownership decisions from customer requirements
Gather technical-writing evidence from complementary sourcestechnical-writing, source-evaluation, customer-feedbackTechnical writing and documentation engineering: evidence, API contracts and release accuracy
Document why the change exists and how readers use ittechnical-writing, documentation-maintenance, automationTechnical writing and documentation engineering: evidence, API contracts and release accuracy
Layer one API document for executives and engineerstechnical-writing, executive-summary, api-integration, risk-communicationCustomer discovery: business outcomes, technical workshops and accountable decisionsTechnical writing and documentation engineering: evidence, API contracts and release accuracy
Explain a migration in terms that support a business decisiontechnical-writing, microservices, business-case, risk-communicationCompute choices: containers, ECS, EKS, serverless and modernizationMigration and modernization: discovery, staged cutover and recoverable rollbackCustomer discovery: business outcomes, technical workshops and accountable decisionsCost engineering: TCO, FinOps, rightsizing and useful workTechnical writing and documentation engineering: evidence, API contracts and release accuracy
Experience designing cloud-native applicationscloud-native-architecture, architecture-experience, modernizationCompute choices: containers, ECS, EKS, serverless and modernizationMigration and modernization: discovery, staged cutover and recoverable rollback
First steps in monolith decompositionmicroservices, requirements-discovery, business-capabilities, modernizationMigration and modernization: discovery, staged cutover and recoverable rollbackGlobal latency: CDN cache keys, CloudFront and Global AcceleratorCompute choices: containers, ECS, EKS, serverless and modernizationRTO, RPO and SLO: quantitative recovery and dependency budgetsCloudTrail audit and CloudWatch logs: evidence from actor to archiveIaaS, PaaS and SaaS: ownership decisions from customer requirementsMulti-cloud and vendor lock-in: data gravity, exit tests and independent failure domainsCustomer discovery: business outcomes, technical workshops and accountable decisions
Remove the shared queue failure dependencymessage-queues, failure-isolation, automatic-failover, idempotencyCompute choices: containers, ECS, EKS, serverless and modernizationDisaster recovery strategies: tested failover, failback and capacityReplication and consistency: synchronous commits, geography and zero RPODynamoDB: partition keys, hot traffic, consistency and NoSQL decisionsSQS, SNS, EventBridge and Kinesis: delivery, replay and idempotent effectsAvailability by design: dependencies, tier recovery and architecture reviews
Protect documents at rest and in transitencryption-at-rest, tls, data-protection, authorizationVPC routing, security groups, NACLs and NATHybrid and private connectivity: routing hubs and network diagnosisHTTP request lifecycle: TCP, TLS, redirects, proxies and sessionsDurable sessions: authentication, cookies, JWT and shared storesIAM authorization: roles, least privilege and account governanceEncryption, KMS and TLS: data protection and shared responsibilityS3, EBS and EFS: object, block and file storage through failure and lifecycle
Begin a backup plan with business recovery needsbackup-planning, rto, rpo, requirements-discoveryGlobal latency: CDN cache keys, CloudFront and Global AcceleratorRTO, RPO and SLO: quantitative recovery and dependency budgetsReplication and consistency: synchronous commits, geography and zero RPOBackup, PITR, retention and archive: proving an end-to-end restoreCloudTrail audit and CloudWatch logs: evidence from actor to archiveS3, EBS and EFS: object, block and file storage through failure and lifecycleIaaS, PaaS and SaaS: ownership decisions from customer requirementsMigration and modernization: discovery, staged cutover and recoverable rollbackAvailability by design: dependencies, tier recovery and architecture reviewsMulti-cloud and vendor lock-in: data gravity, exit tests and independent failure domainsCustomer discovery: business outcomes, technical workshops and accountable decisions
Regional incident: runbook or failover firstincident-response, runbooks, regional-failover, service-restorationGlobal latency: CDN cache keys, CloudFront and Global AcceleratorDNS and Route 53: resolution, routing and healthDisaster recovery strategies: tested failover, failback and capacityIncident command, evidence-led troubleshooting and customer trustCredentials and secrets: rotation, exposed keys and incident containmentTechnical writing and documentation engineering: evidence, API contracts and release accuracy
Customer outage: confirm continuity and impactincident-response, backup-verification, customer-communication, service-restorationDisaster recovery strategies: tested failover, failback and capacityBackup, PITR, retention and archive: proving an end-to-end restoreIncident command, evidence-led troubleshooting and customer trustCredentials and secrets: rotation, exposed keys and incident containmentMulti-cloud and vendor lock-in: data gravity, exit tests and independent failure domainsCustomer discovery: business outcomes, technical workshops and accountable decisions
Tier backup retention by recovery urgencybackup-retention, archive-storage, rto, point-in-time-recoveryRTO, RPO and SLO: quantitative recovery and dependency budgetsBackup, PITR, retention and archive: proving an end-to-end restoreS3, EBS and EFS: object, block and file storage through failure and lifecycleCost engineering: TCO, FinOps, rightsizing and useful work
Preserve zero RPO despite synchronous latencysynchronous-replication, rpo, admission-control, commit-latencyGlobal latency: CDN cache keys, CloudFront and Global AcceleratorRTO, RPO and SLO: quantitative recovery and dependency budgetsReplication and consistency: synchronous commits, geography and zero RPOBackup, PITR, retention and archive: proving an end-to-end restoreRelational RDS and Aurora: transactions, indexes, query plans and release recoveryDynamoDB: partition keys, hot traffic, consistency and NoSQL decisionsPerformance and capacity: diagnose the limiting path and prove a test plan
Active-active tier with recovery dependencies and cropped choicesrto, recovery-dependencies, active-active, three-tier-architectureRTO, RPO and SLO: quantitative recovery and dependency budgetsDisaster recovery strategies: tested failover, failback and capacityReplication and consistency: synchronous commits, geography and zero RPOBackup, PITR, retention and archive: proving an end-to-end restoreAvailability by design: dependencies, tier recovery and architecture reviews
Checkpoint flexible daily batch work on interruptible computebatch-processing, spot-instances, checkpointing, compute-costCompute choices: containers, ECS, EKS, serverless and modernizationS3, EBS and EFS: object, block and file storage through failure and lifecycleCost engineering: TCO, FinOps, rightsizing and useful work
Reduce password-phishing account takeover with MFAmfa, phishing, identity-security, session-revocationDurable sessions: authentication, cookies, JWT and shared storesIAM authorization: roles, least privilege and account governanceCredentials and secrets: rotation, exposed keys and incident containment
Classify mixed cloud data before applying proportional controlsdata-classification, data-loss-prevention, least-privilege, sensitive-data-discoveryVPC routing, security groups, NACLs and NATIAM authorization: roles, least privilege and account governanceEncryption, KMS and TLS: data protection and shared responsibilityS3, EBS and EFS: object, block and file storage through failure and lifecycleMigration and modernization: discovery, staged cutover and recoverable rollback
Stateful firewall with restricted SSH administrationstateful-firewalls, least-privilege, ssh, network-access-controlVPC routing, security groups, NACLs and NATSQL injection, XSS and sessions: WAF, Shield and network defenseIAM authorization: roles, least privilege and account governance
Scale network connectivity with a managed routing hubhub-and-spoke, transit-gateway, routing, network-scalabilityVPC routing, security groups, NACLs and NATHybrid and private connectivity: routing hubs and network diagnosis
Balance long-lived sessions by active connectionsload-balancing, least-connections, long-lived-connections, streamingHTTP request lifecycle: TCP, TLS, redirects, proxies and sessionsALB and NLB: target health, routing and failure behavior
Separate release boundaries by business capabilitymicroservices, independent-deployment, business-capabilities, contract-testingCompute choices: containers, ECS, EKS, serverless and modernizationDynamoDB: partition keys, hot traffic, consistency and NoSQL decisionsMigration and modernization: discovery, staged cutover and recoverable rollbackTechnical writing and documentation engineering: evidence, API contracts and release accuracy
Review documentation with its code changedocumentation-as-code, pull-request-review, runbooks, api-contractsDisaster recovery strategies: tested failover, failback and capacityIncident command, evidence-led troubleshooting and customer trustTechnical writing and documentation engineering: evidence, API contracts and release accuracy
Everyday curiosity and immediately applicable learningwork-style, continuous-learning, learning-prioritiesReflection / source-limited item

Primary sources

  1. What is Amazon CloudFront?

    Edge delivery, cache hits versus origin retrieval, and latency reduction; economic conclusions are conditional study inferences. Content: q-1788635092997-1, q-1788635141706-1.

    Accessed 2026-09-05
  2. Use Elastic Load Balancing to distribute incoming application traffic in your Auto Scaling group

    Load balancing distributes existing traffic; Auto Scaling changes instance count and can consume load-balancer metrics. Content: q-1788635070301-1, q-1788635120525-1.

    Accessed 2026-09-05
  3. Leadership Principles

    Current 16-principle list compared with the 14-heading user poster; customer-focused discovery interpretation. Content: q-1788635082481-1; imgs/1603135541455.jpeg.; Customer Obsession, Earn Trust, and evidence-oriented leadership interpretation; scenario scores are editorial, not Amazon's answer key. Content: q-1788635371437-1, q-1788635385325-1, q-1788635424409-1, q-1788635451640-1.; Ownership, customer-focused help, and seeking assistance without abandoning responsibility; separately confirms 16 current principles versus batch-01's historical 14-principle poster; no official assessment scoring claimed. Questions: q-1788636441177-1. Ratings and counterfactual examples are editorial synthesis.; q-1788636876551-1 — Discover requirements before choosing a cloud service model; q-1788636876551-3 — Report architecture-discussion frequency truthfully; q-1788637001150-1 — Gather technical-writing evidence from complementary sources. Technical/communication principles support the educational reasoning, not an official assessment key.; Current Leadership Principles as context for truthful experience and learning reflection; no official personality scoring claim. Questions: q-1788637068875-1, q-1788637515150-1; Supports specific documented claims in customer-discovery-accountable-decisions: Treat objections as constraints that can change the design. Calculations and worked scenarios are original illustrative analysis.; Integration verification of all 16 canonical principle names and question tags; retain separate historical 14-principle poster.; Verified all eight assigned official current names and the 16-principle inventory, including Have Backbone; Disagree and Commit as one principle. Brief paraphrased definitions in all eight guides; these definitions do not supply assessment answer keys.; Verified all eight assigned official names and brief paraphrases; current list contains 16 and Have Backbone; Disagree and Commit is one entry. Original applications link these definitions to the exact quiz IDs recorded in each guide.; LP, Ownership and Disagree and commit entries; current 16-principle context and the distinction between behavioral reflection and a photographed official answer key.

    Accessed 2026-09-06
  4. Scheduled scaling for Amazon EC2 Auto Scaling

    Scheduled increases and decreases in desired capacity and their combination with dynamic policies. Content: q-1788635109667-1, q-1788635120525-1.; Advance scheduled capacity changes combined with dynamic scaling and minimum capacity floors; chapters: ec2-scaling-capacity.

    Accessed 2026-09-06
  5. Amazon EBS I/O characteristics and monitoring

    Different IOPS, throughput, operation-size, queue, latency, and instance bandwidth constraints. Content: q-1788635156421-1.; storage-s3-ebs-efs: IOPS, operation size, throughput, queueing and instance/volume constraints; q-1788635156421-1.

    Accessed 2026-09-06
  6. Control the cache key with a policy

    Cache-key selection, request reuse, and reduction in origin load; scenario ratings remain independent analysis. Content: q-1788635092997-1, q-1788635141706-1.

    Accessed 2026-09-05
  7. PERF05-BP04 Load test your workload

    Whole-workload testing to identify bottlenecks and compare observed performance with targets. Content: q-1788635082481-1, q-1788635109667-1, q-1788635130984-1.; Supports specific documented claims in performance-capacity-test-plans: Design a load test that can falsify the recommendation. Calculations and worked scenarios are original illustrative analysis.

    Accessed 2026-09-06
  8. Multi-Region fundamental 2: Understanding the data

    Regional data placement, replication latency, and consistency trade-offs. Content: q-1788635051888-1.

    Accessed 2026-09-05
  9. REL05-BP06 Make systems stateless where possible

    Offloading session data so application compute can be replaced; DynamoDB and ElastiCache examples. Content: q-1788635178732-1, q-1788635212786-1.; Separating session state from replaceable compute; instance capacity is not a substitute for accessible state after failure. Content: q-1788635240194-1, q-1788635270137-1.; Externalizing session state from replaceable application compute; chapters: durable-sessions-authentication.

    Accessed 2026-09-06
  10. Edit target group attributes for your Application Load Balancer

    Target routing and session affinity are distinct from preservation of application authentication state. Content: q-1788635178732-1, q-1788635212786-1.; Session affinity routes clients toward a target and does not replicate application authentication state; continuity ratings are study inferences. Content: q-1788635240194-1.

    Accessed 2026-09-05
  11. Latency-based routing

    Routing among regional endpoints based on latency, distinct from increasing capacity within one region. Content: q-1788635051888-1, q-1788635070301-1.; Latency estimates, DNS selection and EDNS client subnet in dns-route53-routing-health. Chapter IDs: dns-route53-routing-health.

    Accessed 2026-09-05
  12. Run commands when you launch an EC2 instance with user data input

    EC2 launch-time user-data execution; launch automation is distinguished from preinstallation and from manual administration. Content: q-1788635283594-1, q-1788635303759-1, q-1788635330016-1, q-1788635347056-1.; Linux EC2 user-data/cloud-init execution privileges and first-launch default; chapters: fast-startup-golden-images.

    Accessed 2026-09-06
  13. Amazon EC2 Auto Scaling lifecycle hooks

    Lifecycle-event actions and initialization waiting; remote orchestration and readiness gating do not remove installation time. Content: q-1788635283594-1, q-1788635317855-1.; Lifecycle wait states and completion coordination for startup; chapters: ec2-scaling-capacity, fast-startup-golden-images.; Expand fast-startup-golden-images: lifecycle wait gates, completion versus failure, and no implication that external installation removes startup work.

    Accessed 2026-09-06
  14. Amazon Machine Images in Amazon EC2

    Reusable EC2 images supply startup software and common instance configurations; preparing dependencies before scaling. Content: q-1788635303759-1, q-1788635330016-1, q-1788635347056-1.; AMI software and device mappings, Region scope and architecture compatibility; chapters: fast-startup-golden-images.

    Accessed 2026-09-06
  15. AWS Systems Manager Run Command

    Run Command can remotely configure prepared managed nodes; Lambda remote-installation interpretation requires a separate execution mechanism. Content: q-1788635317855-1.; Expand fast-startup-golden-images with remote execution, managed-node readiness and eventual status visibility for q-1788635317855-1.

    Accessed 2026-09-06
  16. Tenet 2. Be mindful of multicloud misconceptions

    AWS provider perspective on portability, exit scenarios, operating complexity, and workload-specific business goals; no blanket endorsement or dismissal of multi-cloud. Content: q-1788635371437-1, q-1788635385325-1, q-1788635424409-1.

    Accessed 2026-09-05
  17. Disaster Recovery (DR) objectives

    Recovery time and recovery point objectives and their distinction from general availability. Content: q-1788635440123-1, q-1788635451640-1.; Business-defined recovery time and recovery point objectives; supports study interpretation of q-1788635474941-1, q-1788635534880-1. Ratings and hypothetical examples are editorial reasoning, not source-provided assessment answers.

    Accessed 2026-09-05
  18. REL13-BP03 Test disaster recovery implementation to validate the implementation

    Testing actual recovery paths, checking capacity and procedures, and validating recovery objectives. Content: q-1788635440123-1, q-1788635451640-1.; Exercise recovery paths and validate recovery objectives; supports study interpretation of q-1788635474941-1, q-1788635547232-1. Ratings and hypothetical examples are editorial reasoning, not source-provided assessment answers.

    Accessed 2026-09-05
  19. REL12-BP02 Perform post-incident analysis

    Contributing causes, evidence, and corrective actions; supports study interpretation of q-1788635461796-1. Ratings and hypothetical examples are editorial reasoning, not source-provided assessment answers.

    Accessed 2026-09-05
  20. Disaster recovery options in the cloud

    Recovery strategies, operational readiness, and traffic failover; supports study interpretation of q-1788635494021-1, q-1788635547232-1. Ratings and hypothetical examples are editorial reasoning, not source-provided assessment answers.; Pilot light versus warm standby readiness and active-active complexity/cost; strategy labels are not data-durability guarantees. Questions: q-1788636357111-1, q-1788636405182-1. Ratings and counterfactual examples are editorial synthesis.; Backup/restore, pilot light, warm standby, hot standby and active-active readiness distinctions; chapters: disaster-recovery-failover-failback

    Accessed 2026-09-06
  21. REL10-BP01 Deploy the workload to multiple locations

    Failure isolation and deployment across locations; supports study interpretation of q-1788635508078-1, q-1788635523810-1. Ratings and hypothetical examples are editorial reasoning, not source-provided assessment answers.

    Accessed 2026-09-05
  22. Availability Zones — AWS Fault Isolation Boundaries

    AZ isolation within a Region; distinction from regional recovery; supports study interpretation of q-1788635508078-1, q-1788635534880-1, q-1788635547232-1. Ratings and hypothetical examples are editorial reasoning, not source-provided assessment answers.

    Accessed 2026-09-05
  23. What Is AWS CloudTrail?

    AWS account activity auditing and trail delivery; supports study interpretation of q-1788635637393-1, q-1788635684808-1. Ratings and hypothetical examples are editorial reasoning, not source-provided assessment answers.; audit-log-pipelines: CloudTrail activity recording and trail delivery; logging-discovery questions and q-1788636225320-1.; CloudTrail, management event and data event entries and the audit technology decision; supported AWS activity differs from application-user evidence.

    Accessed 2026-09-06
  24. What is Amazon CloudWatch Logs?

    Application/system log collection, search, and configurable retention; supports study interpretation of q-1788635637393-1, q-1788635684808-1. Ratings and hypothetical examples are editorial reasoning, not source-provided assessment answers.; Central collection and search of application/system logs support evidence-based diagnosis; logging is not itself incident repair. Items: q-1788635849413-1.

    Accessed 2026-09-05
  25. SEC04-BP01 Configure service and application logging

    Logging requirements, collection scope, and investigation readiness; supports study interpretation of q-1788635649183-1, q-1788635659869-1, q-1788635674614-1. Ratings and hypothetical examples are editorial reasoning, not source-provided assessment answers.

    Accessed 2026-09-05
  26. Logging management events

    Management versus data event coverage; default logging does not imply all activity; supports study interpretation of q-1788635674614-1. Ratings and hypothetical examples are editorial reasoning, not source-provided assessment answers.; CloudTrail management-event scope versus application and data-access logging: q-1788636225320-1. Scores are study judgments inferred from the photographed constraints, not published answer keys.; audit-log-pipelines: management operations, selectors and default trail coverage; q-1788635674614-1 and q-1788636225320-1.

    Accessed 2026-09-06
  27. Become an AWS Partner | AWS Partner Network

    Existence of the partner ecosystem; not evidence of suitability of an unnamed product; supports study interpretation of q-1788635659869-1. Ratings and hypothetical examples are editorial reasoning, not source-provided assessment answers.

    Accessed 2026-09-05
  28. Evaluating modernization readiness for applications in the AWS Cloud

    Readiness assessment and target blueprints support discovery before modernization commitments; ratings themselves are editorial. Items: q-1788635698450-1, q-1788635709200-1, q-1788635721505-1, q-1788635747642-1.

    Accessed 2026-09-05
  29. Readiness assessment process

    Gather stakeholder and application information, choose an adoption path, and validate findings before detailed modernization. Items: q-1788635721505-1, q-1788635732619-1.

    Accessed 2026-09-05
  30. Building a three-tier architecture on a budget

    Three-tier architecture can use serverless components; layers are not inherently incompatible with cloud-native operation. No pricing claims used. Items: q-1788635698450-1, q-1788635709200-1.

    Accessed 2026-09-05
  31. Strangler fig pattern

    Incremental replacement, complete-rewrite risk, domain boundaries, and small-application exceptions inform microservice migration trade-offs. Items: q-1788635721505-1, q-1788635732619-1.; Incremental routing and extraction in migration-discovery-cutover-rollback; q-1788635732619-1, q-1788637068875-2 and q-1788637455081-1. Chapter-to-question trace: migration-discovery-cutover-rollback [q-1788635698450-1, q-1788635709200-1, q-1788635721505-1, q-1788635732619-1, q-1788635747642-1, q-1788636779078-3, q-1788637068875-2, q-1788637455081-1, q-1788637025530-2, q-1788637305967-3].

    Accessed 2026-09-06
  32. AWS Professional Services

    Consulting expertise exists through AWS Professional Services; the photographed generic team name is not identified as this service. Items: q-1788635747642-1.

    Accessed 2026-09-05
  33. Log Files — Apache HTTP Server Version 2.4

    Web access versus error log evidence and correlating observed request failures; Apache is an example, not a photographed platform. Items: q-1788635849413-1, q-1788635913127-1.

    Accessed 2026-09-05
  34. Stopping and Restarting Apache HTTP Server

    Graceful and immediate Apache restarts have different effects on active requests; illustrates why restart semantics matter without asserting the customer runs Apache. Items: q-1788635863364-1.

    Accessed 2026-09-05
  35. Troubleshooting Amazon OpenSearch Service

    Specific error, connectivity, cluster-health, and saturation symptoms require different investigation and remedies; OpenSearch is illustrative only. Items: q-1788635849413-1, q-1788635863364-1, q-1788635887135-1, q-1788635898544-1, q-1788635913127-1.; linux-application-search-diagnostics: cluster status, storage/JVM pressure and rejected requests; failed-search scenario.

    Accessed 2026-09-06
  36. Launching your Amazon OpenSearch Service domains within a VPC

    Connectivity to private search endpoints depends on network context, access controls, and actual HTTP/HTTPS testing, beyond preliminary network probes. Items: q-1788635898544-1.

    Accessed 2026-09-05
  37. What is Amazon EC2 Auto Scaling?

    EC2 Auto Scaling manages instance capacity; adding instances requires workload fit and is not a universal application-failure remedy. Items: q-1788635887135-1.

    Accessed 2026-09-05
  38. Working with CloudTrail event history

    Recorded AWS management events can corroborate a change timeline; event history is not a complete application or database change journal. Items: q-1788635934517-1.; audit-log-pipelines: regional 90-day management history and its exclusions; q-1788636225320-1.

    Accessed 2026-09-06
  39. PostgreSQL documentation: Using EXPLAIN

    Plans expose query operations; EXPLAIN ANALYZE executes statements and runtime evidence is needed to validate design hypotheses. Items: q-1788635946475-1.; relational-rds-aurora: plan trees, arbitrary estimated costs, actual rows/loops and execution hazards; q-1788635946475-1 and q-1788635992678-1.; Supports specific documented claims in performance-capacity-test-plans: Database limits feed back into application queues. Calculations and worked scenarios are original illustrative analysis.

    Accessed 2026-09-06
  40. PostgreSQL documentation: The Cumulative Statistics System

    PostgreSQL activity and wait evidence helps separate query work from contention and complements historical change investigation. Items: q-1788635934517-1, q-1788635946475-1.; pg_stat_replication fields and cautions interpreting lag, nulls and replay progress; chapters: replication-consistency-zero-rpo; relational-rds-aurora: pg_stat_activity state and wait evidence, read-only diagnostic query; q-1788635946475-1, q-1788635960644-1 and q-1788635977313-1.

    Accessed 2026-09-06
  41. Best practices for Amazon RDS

    Baseline comparison, memory/swap metrics, and resource-targeted capacity decisions: q-1788635960644-1, q-1788635977313-1. Scores are study judgments inferred from the photographed constraints, not published answer keys.

    Accessed 2026-09-05
  42. MySQL 8.4 Reference Manual: The Slow Query Log

    Slow-query log thresholds, filtering, execution evidence, and interpretation limits using MySQL as an example: q-1788635992678-1. Scores are study judgments inferred from the photographed constraints, not published answer keys. Reopened in the repair pass to verify entries are written after execution and lock release, so currently stuck work requires separate inspection.; linux-application-search-diagnostics: query filtering, completed-statement recording and lock timing qualifications; q-1788635992678-1.

    Accessed 2026-09-06
  43. What are AWS WAF, AWS Shield Advanced, AWS Shield network security director and AWS Firewall Manager?

    Web-request inspection, SQL injection/XSS criteria, and distinction from an unspecified firewall: q-1788636136873-1, q-1788636151444-1, q-1788636176984-1. Scores are study judgments inferred from the photographed constraints, not published answer keys.; application-security-waf-segmentation: Choose WAF, Shield and network controls by what they observe

    Accessed 2026-09-06
  44. Control subnet traffic with network access control lists

    Subnet network ACL scope, stateless filtering, and address-based containment limits: q-1788636124362-1. Scores are study judgments inferred from the photographed constraints, not published answer keys.; q-1788636679569-2 — Restrict database ingress to the application security group. Technical/communication principles support the educational reasoning, not an official assessment key.; First-match stateless filtering and subnet scope in vpc-routing-security-nat. Chapter IDs: vpc-routing-security-nat.; application-security-waf-segmentation: Contain lateral movement without breaking the permitted path

    Accessed 2026-09-06
  45. CAPTCHA and Challenge in AWS WAF

    Human-interaction puzzles and limited value for bot mitigation rather than payload validity: q-1788636164850-1. Scores are study judgments inferred from the photographed constraints, not published answer keys.; application-security-waf-segmentation: Choose WAF, Shield and network controls by what they observe

    Accessed 2026-09-06
  46. What is AWS Network Firewall?

    Stateful network inspection and intrusion prevention explain the conditional interpretation of an unspecified firewall: q-1788636151444-1. Scores are study judgments inferred from the photographed constraints, not published answer keys.; application-security-waf-segmentation: Choose WAF, Shield and network controls by what they observe

    Accessed 2026-09-06
  47. Shared Responsibility Model

    Service-dependent customer responsibilities and need to adapt data-center controls to cloud resources: q-1788636195773-1, q-1788636244189-1. Scores are study judgments inferred from the photographed constraints, not published answer keys.; encryption-kms-tls-data-responsibility: Shared responsibility follows the selected service boundary; EC2 guest OS ownership and customer data/permissions responsibilities in service-model-ownership-requirements; q-1788636195773-1 and q-1788636939776-2. Chapter-to-question trace: service-model-ownership-requirements [q-1788635082481-1, q-1788636876551-1, q-1788636876551-2, q-1788636939776-1, q-1788636939776-2, q-1788636195773-1, q-1788635698450-1, q-1788635709200-1].

    Accessed 2026-09-06
  48. Data protection — Security Pillar

    Data classification and transferable data-protection objectives: q-1788636195773-1. Scores are study judgments inferred from the photographed constraints, not published answer keys.; Sensitivity classification as the basis for differentiated handling and encryption. Questions: q-1788637305967-3

    Accessed 2026-09-05
  49. Logging data events — AWS CloudTrail

    Data-event scope, object-level activity, and absence from default trail/event-data-store logging: q-1788636225320-1. Scores are study judgments inferred from the photographed constraints, not published answer keys. Reopened in the repair pass to verify default event coverage and the distinction between configuration and data access.; audit-log-pipelines: opt-in resource activity evidence and data-event coverage; q-1788636225320-1.; credentials-secrets-incident-containment: Collect bounded evidence without printing the secret

    Accessed 2026-09-06
  50. Security best practices for your VPC

    Separate network and identity controls for restricted VPC access and segmentation: q-1788636244189-1. Scores are study judgments inferred from the photographed constraints, not published answer keys.

    Accessed 2026-09-05
  51. SQL Injection Prevention Cheat Sheet — OWASP

    Parameterized queries and application defenses that address SQL injection rather than source identity or CAPTCHA: q-1788636124362-1, q-1788636136873-1, q-1788636164850-1. Scores are study judgments inferred from the photographed constraints, not published answer keys.; application-security-waf-segmentation: Follow the request through distinct trust boundaries; application-security-waf-segmentation: Construct queries and browser output without turning data into instructions

    Accessed 2026-09-06
  52. Cross Site Scripting Prevention Cheat Sheet — OWASP

    Context-sensitive output handling and limitations of filters or challenges as primary XSS defenses: q-1788636124362-1, q-1788636136873-1, q-1788636164850-1, q-1788636176984-1. Scores are study judgments inferred from the photographed constraints, not published answer keys.; application-security-waf-segmentation: Follow the request through distinct trust boundaries; application-security-waf-segmentation: Construct queries and browser output without turning data into instructions

    Accessed 2026-09-06
  53. SEC08-BP02 Enforce encryption at rest

    Enforced encryption at rest, default encryption, and constrained key access: q-1788636208179-1. Scores are study judgments inferred from the photographed constraints, not published answer keys.

    Accessed 2026-09-05
  54. SEC09-BP02 Enforce encryption in transit

    Encrypted communications and enforcement against insecure transfer paths: q-1788636208179-1. Scores are study judgments inferred from the photographed constraints, not published answer keys. Reopened in the repair pass to distinguish rejecting insecure transfers from the literal all-traffic reading of the photograph.

    Accessed 2026-09-05
  55. REL11-BP02 Fail over to healthy resources

    Availability implications of a single inline inspection server and the need for usable healthy alternatives: q-1788636176984-1. Scores are study judgments inferred from the photographed constraints, not published answer keys.

    Accessed 2026-09-05
  56. Inspecting SSL/TLS traffic with TLS inspection configurations in AWS Network Firewall

    q-1788636151444-1: explicit certificate-backed TLS decryption, stateful inspection, and re-encryption as a conditional capability; the photographed generic firewall does not establish that configuration. Opened during the bounded repair pass.; application-security-waf-segmentation: Choose WAF, Shield and network controls by what they observe; application-security-waf-segmentation: Reliability, cost and interview decision reasoning

    Accessed 2026-09-06
  57. CloudTrail userIdentity element

    q-1788636225320-1: AWS caller identity and assumed-role context; the need for application-user correlation in a shared-role example is explicitly an architectural inference. Opened during the bounded repair pass.

    Accessed 2026-09-05
  58. Security best practices in IAM

    Minimum necessary actions, resources, and conditions; human/workload identity coverage and verification of effective permissions. Questions: q-1788636259098-1. Ratings and counterfactual examples are editorial synthesis.; q-1788636679569-3 — Recognize the blast radius of an overprivileged function identity; q-1788636939776-2 — Choose IaaS when operating-system access is mandatory. Technical/communication principles support the educational reasoning, not an official assessment key.; iam-authorization-account-governance: Understand role assumption and the two different permission directions; Retain least-privilege analysis for q-1788636679569-3 while withholding a complete study key because the fourth option is unreadable.

    Accessed 2026-09-06
  59. Security group rules for different use cases

    Source-address restrictions for instance SSH/RDP access; network controls do not inherently constrain independent API credential use. Questions: q-1788636322598-1. Ratings and counterfactual examples are editorial synthesis.

    Accessed 2026-09-05
  60. Disabling permissions for temporary security credentials

    Existing temporary credentials require appropriate permission/session containment; hardware MFA or new bastions alone do not revoke them. Questions: q-1788636322598-1, q-1788636337780-1. Ratings and counterfactual examples are editorial synthesis.; credentials-secrets-incident-containment: Temporary session revocation is a policy and issuance problem

    Accessed 2026-09-06
  61. AWS Multi-factor authentication in IAM

    Hardware security keys as second factors and distinction between FIDO security keys and hardware TOTP tokens. Questions: q-1788636337780-1. Ratings and counterfactual examples are editorial synthesis.; Additional authentication factors and phishing-resistant passkeys/security keys against password compromise. Questions: q-1788637305967-2; MFA protections for future authentication and phishing-resistant authenticator options; chapters: durable-sessions-authentication.; iam-authorization-account-governance: MFA, tags and network locations are scoped evidence; credentials-secrets-incident-containment: Why bastion allowlists and hardware MFA are incomplete after theft

    Accessed 2026-09-06
  62. Secure API access with MFA

    API MFA requires applicable policies and temporary-credential authentication; enrolling a second factor alone does not protect every access-key request. Questions: q-1788636337780-1. Ratings and counterfactual examples are editorial synthesis.

    Accessed 2026-09-05
  63. What to Do If You Inadvertently Expose an AWS Access Key

    Containment and investigation after possible exposure of AWS access keys. Questions: q-1788636322598-1. Ratings and counterfactual examples are editorial synthesis.; credentials-secrets-incident-containment: Contain exposed access keys and investigate what they could create

    Accessed 2026-09-06
  64. REL13-BP01 Define recovery objectives for downtime and data loss

    Business-defined recovery time and recovery point objectives; investigate feasibility of zero data loss and requirement tradeoffs. Questions: q-1788636357111-1, q-1788636387871-1, q-1788636422135-1. Ratings and counterfactual examples are editorial synthesis.; q-1788636572852-1 — Explain that both recovery objectives are missed; q-1788636595095-1 — Do not claim the weekly backups meet a one-day RPO; q-1788636610724-1 — Do not claim a three-hour restore meets a one-hour RTO; q-1788636625460-1 — Explain both recovery gaps and offer practical help; q-1788636639143-1 — Reject an unsupported assurance that both targets are met. Technical/communication principles support the educational reasoning, not an official assessment key.; Business-derived recovery objectives and dependency compatibility; backup requirements and cropped active-active comparison. Questions: q-1788637166029-1, q-1788637212739-3; Business-derived RTO/RPO, workload failure scope and upstream/downstream dependency compatibility; chapters: recovery-objectives-dependencies; Dependent workload objectives in availability-dependency-architecture-review; unusual application-tier dependency q-1788637212739-3. Chapter-to-question trace: availability-dependency-architecture-review [q-1788635440123-1, q-1788635451640-1, q-1788635461796-1, q-1788635474941-1, q-1788635494021-1, q-1788635508078-1, q-1788635523810-1, q-1788635534880-1, q-1788635547232-1, q-1788635649183-1, q-1788636176984-1, q-1788637119607-1, q-1788637212739-3, q-1788636357111-1, q-1788636405182-1, q-1788636422135-1, q-1788636387871-1, q-1788636441177-1, q-1788635898544-1, q-1788635887135-1, q-1788635913127-1, q-1788637166029-1].; Correct register RPO definition to acceptable recovery-state loss window and distinguish weekly backups from a one-day objective in q-1788636572852-1 through q-1788636639143-1.

    Accessed 2026-09-06
  65. Plan for Disaster Recovery (DR)

    Choose disaster-recovery implementation from business objectives; documentation and colleague help need to advance that decision. Questions: q-1788636387871-1, q-1788636441177-1. Ratings and counterfactual examples are editorial synthesis.; q-1788636572852-1 — Explain that both recovery objectives are missed; q-1788636610724-1 — Do not claim a three-hour restore meets a one-hour RTO; q-1788636625460-1 — Explain both recovery gaps and offer practical help. Technical/communication principles support the educational reasoning, not an official assessment key.; DR, RTO and RPO terminology, tested recovery strategy framing and the distinction between data-loss and restoration-time objectives.

    Accessed 2026-09-06
  66. Testing disaster recovery

    Exercise complete recovery paths, validate surviving capacity and quotas, and measure achieved recovery behavior. Questions: q-1788636357111-1, q-1788636405182-1, q-1788636422135-1. Ratings and counterfactual examples are editorial synthesis.; Repeated failover exercises, drift checks, recovery capacity and quota readiness; chapters: disaster-recovery-failover-failback

    Accessed 2026-09-06
  67. COST06-BP04 Consider using shared resources

    Using existing shared capacity can improve useful utilization; mere placement on unspecified additional virtual servers does not establish consolidation. Questions: q-1788636459317-1. Ratings and counterfactual examples are editorial synthesis.

    Accessed 2026-09-05
  68. Select the correct resource type, size, and number

    Rightsizing includes workload measurements and change effort; fewer processing steps or scheduled work alone do not establish lower infrastructure cost. Questions: q-1788636459317-1, q-1788636489975-1, q-1788636545049-1. Ratings and counterfactual examples are editorial synthesis.

    Accessed 2026-09-05
  69. Uploading objects with presigned URLs

    Presigned S3 uploads illustrate an explicitly hypothetical way to remove an application-server hop while retaining scoped authorization. Questions: q-1788636489975-1. Ratings and counterfactual examples are editorial synthesis.

    Accessed 2026-09-05
  70. What is AWS Lambda?

    Lambda functions as request/event-driven managed compute suited to small intermittent processing. Questions: q-1788636513589-1. Ratings and counterfactual examples are editorial synthesis.

    Accessed 2026-09-05
  71. Process Amazon S3 event notifications with Lambda

    S3 event invocation is asynchronous; avoid recursive triggers and distinguish invocation permissions from execution-role storage permissions. Questions: q-1788636513589-1. Ratings and counterfactual examples are editorial synthesis.

    Accessed 2026-09-05
  72. What is AWS Batch?

    Batch computing/job execution as a workload model; scheduled execution must be assessed against the photographed immediate-response requirement. Questions: q-1788636545049-1. Ratings and counterfactual examples are editorial synthesis.

    Accessed 2026-09-05
  73. AWS WAF

    q-1788636679569-1 — Combine application filtering with tier segmentation. Technical/communication principles support the educational reasoning, not an official assessment key.

    Accessed 2026-09-05
  74. Security group rules

    q-1788636679569-1 — Combine application filtering with tier segmentation; q-1788636679569-2 — Restrict database ingress to the application security group; q-1788636753851-1 — Diagnose database connectivity from logs and the actual network path. Technical/communication principles support the educational reasoning, not an official assessment key.; Stateful allow-list rule concepts and AWS security-group limitations, explicitly distinguished from an on-premises firewall with deny rules. Questions: q-1788637384204-1; Additive allow rules, references and DNS-filtering limits in vpc-routing-security-nat; q-1788636679569-2 and q-1788637384204-1. Chapter IDs: vpc-routing-security-nat.

    Accessed 2026-09-05
  75. RFC 9110: HTTP Semantics

    q-1788636779078-2 — Trace redirects when a form POST arrives as GET. Technical/communication principles support the educational reasoning, not an official assessment key.; Methods, response classes and redirect semantics in http-request-lifecycle. Chapter IDs: http-request-lifecycle.; HTTP method and redirect distinctions, especially GET/POST and method-preserving 307/308 versus 303; HTTP redirect and idempotency entries and the POST-to-GET quiz rationale.

    Accessed 2026-09-06
  76. Values specific for simple records

    q-1788636779078-1 — Create an address record for a server without a DNS hostname; q-1788636779078-3 — Lower DNS TTL before the migration window. Technical/communication principles support the educational reasoning, not an official assessment key.; A/AAAA mapping and TTL migration mechanics in dns-route53-routing-health; q-1788636779078-1 and q-1788636779078-3. Chapter IDs: dns-route53-routing-health.; DNS TTL cache behavior in migration-discovery-cutover-rollback; exact 72-hour migration and 86400-second TTL question q-1788636779078-3. Chapter-to-question trace: migration-discovery-cutover-rollback [q-1788635698450-1, q-1788635709200-1, q-1788635721505-1, q-1788635732619-1, q-1788635747642-1, q-1788636779078-3, q-1788637068875-2, q-1788637455081-1, q-1788637025530-2, q-1788637305967-3].

    Accessed 2026-09-06
  77. Troubleshooting for Amazon RDS

    q-1788636753851-1 — Diagnose database connectivity from logs and the actual network path. Technical/communication principles support the educational reasoning, not an official assessment key.; linux-application-search-diagnostics: connectivity, lack of ICMP ping response and resource/baseline investigation; database-connectivity and slow-report questions.

    Accessed 2026-09-06
  78. Supported DNS record types

    q-1788636779078-1 — Create an address record for a server without a DNS hostname. Technical/communication principles support the educational reasoning, not an official assessment key.

    Accessed 2026-09-05
  79. SaaS vs PaaS vs IaaS – Types of Cloud Computing – AWS

    q-1788636876551-1 — Discover requirements before choosing a cloud service model; q-1788636939776-1 — Use a managed database with a verified configuration and rollback plan; q-1788636939776-2 — Choose IaaS when operating-system access is mandatory. Technical/communication principles support the educational reasoning, not an official assessment key.; Service-model definitions and distinctions in service-model-ownership-requirements; requirement discovery and OS-access quiz decisions. Chapter-to-question trace: service-model-ownership-requirements [q-1788635082481-1, q-1788636876551-1, q-1788636876551-2, q-1788636939776-1, q-1788636939776-2, q-1788636195773-1, q-1788635698450-1, q-1788635709200-1].

    Accessed 2026-09-06
  80. Upgrading a DB instance engine version

    q-1788636939776-1 — Use a managed database with a verified configuration and rollback plan. Technical/communication principles support the educational reasoning, not an official assessment key.; relational-rds-aurora: supported upgrade paths and no generic engine downgrade promise; q-1788636939776-1.

    Accessed 2026-09-06
  81. Dynamic scaling for Amazon EC2 Auto Scaling

    q-1788636876551-2 — Identify the bottleneck before selecting a scaling mechanism. Technical/communication principles support the educational reasoning, not an official assessment key.

    Accessed 2026-09-05
  82. Audience | Technical Writing

    q-1788637001150-1 — Gather technical-writing evidence from complementary sources; q-1788637001150-2 — Document why the change exists and how readers use it; q-1788637025530-1 — Layer one API document for executives and engineers; q-1788637025530-2 — Explain a migration in terms that support a business decision. Technical/communication principles support the educational reasoning, not an official assessment key.; Supports specific documented claims in technical-writing-documentation-engineering: Treat documentation as a product with an audience and a task. Calculations and worked scenarios are original illustrative analysis.

    Accessed 2026-09-06
  83. Documents | Technical Writing

    q-1788637001150-1 — Gather technical-writing evidence from complementary sources; q-1788637001150-2 — Document why the change exists and how readers use it; q-1788637025530-1 — Layer one API document for executives and engineers; q-1788637025530-2 — Explain a migration in terms that support a business decision. Technical/communication principles support the educational reasoning, not an official assessment key.

    Accessed 2026-09-05
  84. Session Management – OWASP Cheat Sheet Series

    q-1788636679569-1 — Combine application filtering with tier segmentation. Technical/communication principles support the educational reasoning, not an official assessment key.; Cookie protections, session identifier renewal, expiry and browser attack limitations; chapters: durable-sessions-authentication.; application-security-waf-segmentation: Session hijacking and CSRF require different protections

    Accessed 2026-09-06
  85. HTML Standard – Form submission attributes

    q-1788636779078-2 — Trace redirects when a form POST arrives as GET. Technical/communication principles support the educational reasoning, not an official assessment key.

    Accessed 2026-09-05
  86. Parameter groups for Amazon RDS

    q-1788636939776-1 — Use a managed database with a verified configuration and rollback plan. Technical/communication principles support the educational reasoning, not an official assessment key.; relational-rds-aurora: supported engine configuration, dynamic versus static parameters; q-1788636939776-1.; Supported managed database tuning in service-model-ownership-requirements; q-1788636939776-1. Chapter-to-question trace: service-model-ownership-requirements [q-1788635082481-1, q-1788636876551-1, q-1788636876551-2, q-1788636939776-1, q-1788636939776-2, q-1788636195773-1, q-1788635698450-1, q-1788635709200-1].

    Accessed 2026-09-06
  87. Restoring to a DB instance

    q-1788636939776-1 — Use a managed database with a verified configuration and rollback plan. Technical/communication principles support the educational reasoning, not an official assessment key.

    Accessed 2026-09-05
  88. Choosing a major version for an RDS for PostgreSQL upgrade

    q-1788636939776-1 — Use a managed database with a verified configuration and rollback plan. Technical/communication principles support the educational reasoning, not an official assessment key.; Engine-specific PostgreSQL major upgrade compatibility and required testing; chapters: backup-pitr-retention-restore; Major-version upgrade preparation and snapshot recovery qualification in service-model-ownership-requirements; q-1788636939776-1. Chapter-to-question trace: service-model-ownership-requirements [q-1788635082481-1, q-1788636876551-1, q-1788636876551-2, q-1788636939776-1, q-1788636939776-2, q-1788636195773-1, q-1788635698450-1, q-1788635709200-1].

    Accessed 2026-09-06
  89. PostgreSQL: Log-Shipping Standby Servers

    Synchronous acknowledgement latency, asynchronous loss windows and scope of durable commit guarantees. Questions: q-1788637212739-2; Synchronous standby acknowledgement and unavailable-standby consequences; chapters: replication-consistency-zero-rpo

    Accessed 2026-09-06
  90. Decompose by business capability

    Business capabilities and domain understanding as service decomposition boundaries; application to discovery and independent releases is educational reasoning. Questions: q-1788637068875-1, q-1788637068875-2, q-1788637455081-1; Business-capability decomposition, ownership and independent deployment motivation; chapters: compute-deployment-modernization.

    Accessed 2026-09-06
  91. OPS07-BP03 Use runbooks to perform procedures

    Applicable recovery procedures, prerequisites, error handling, verification and updates alongside system changes. Questions: q-1788637166029-2, q-1788637455081-2; Supports specific documented claims in technical-writing-documentation-engineering: Engineer runbooks that remain usable during failure. Calculations and worked scenarios are original illustrative analysis.

    Accessed 2026-09-06
  92. OPS10-BP01 Use a process for event, incident, and problem management

    Defined incident response, restoration, impact assessment and communication; first-step ordering is conditional educational analysis. Questions: q-1788637166029-2, q-1788637166029-3

    Accessed 2026-09-05
  93. Protecting data at rest

    Separate protection requirements for stored information, including access and key considerations. Questions: q-1788637119607-2

    Accessed 2026-09-05
  94. Protecting data in transit

    Protection of transmitted information as a separate data state from storage. Questions: q-1788637119607-2; encryption-kms-tls-data-responsibility: TLS protects a connection between specific endpoints

    Accessed 2026-09-06
  95. Amazon SQS at-least-once delivery

    Possible duplicate delivery and idempotent consumers; not evidence of automatic replication between independent queues. Questions: q-1788637119607-1; SQS standard at-least-once delivery and need for idempotent consumers; chapters: disaster-recovery-failover-failback; Redundant storage and duplicate delivery in messaging-events-streams-idempotency; shared financial queue q-1788637119607-1. Chapter-to-question trace: messaging-events-streams-idempotency [q-1788637119607-1, q-1788636513589-1, q-1788636545049-1, q-1788636489975-1, q-1788636876551-2].

    Accessed 2026-09-06
  96. REL10-BP03 Use bulkhead architectures to limit scope of impact

    Failure isolation and reducing common dependency impact; application to the photographed queue design. Questions: q-1788637119607-1

    Accessed 2026-09-05
  97. Best practices for Amazon EC2 Spot

    Interruption-tolerant work, restart planning, flexibility across capacity pools and limitations of assuming replacement capacity. Questions: q-1788637305967-1; Spot interruption-tolerant processing, checkpoints and instance/AZ diversity; chapters: compute-deployment-modernization.; Supports specific documented claims in cost-engineering-finops-tco: Price interruption and checkpointing into the daily pipeline. Calculations and worked scenarios are original illustrative analysis.

    Accessed 2026-09-06
  98. What is Amazon Macie?

    Sensitive-data discovery in S3; discovery is distinguished from a complete prevention and access-control strategy. Questions: q-1788637305967-3; encryption-kms-tls-data-responsibility: Begin with classification and follow every copy; Macie technology entry and DLP/data-classification relevance: supported S3 sensitive-data discovery does not itself enforce every data-loss policy.

    Accessed 2026-09-06
  99. What is AWS Transit Gateway for Amazon VPC?

    Transit Gateway as a managed network hub and attachment model; topology growth calculation is independent analysis. Questions: q-1788637384204-2

    Accessed 2026-09-05
  100. Using nginx as HTTP load balancer

    Least-connected, round-robin and weighted balancing mechanics applied to long-lived sessions. Questions: q-1788637384204-3; Generic least-connected routing contrasted with other algorithms in http-request-lifecycle; q-1788637384204-3. Chapter IDs: http-request-lifecycle.; Generic least-connections routing compared with round robin for variable-duration streams; chapters: load-balancer-target-health.; NGINX and least-connections definitions and the active-connection selection rationale for variable-duration sessions.

    Accessed 2026-09-06
  101. Transitioning objects using Amazon S3 Lifecycle

    S3 lifecycle storage transitions and retrieval considerations; age-tiered policy is derived from the photographed requirements. Questions: q-1788637212739-1; S3 storage transition minimum durations, supported transitions and associated charges; chapters: backup-pitr-retention-restore; storage-s3-ebs-efs: supported transition paths, minimum durations, small-object transition defaults and cost; q-1788637212739-1.

    Accessed 2026-09-06
  102. What to look for in a code review

    Code review includes updating documentation when usage changes; application to same-pull-request documentation process. Questions: q-1788637455081-2; Supports specific documented claims in technical-writing-documentation-engineering: Connect the pull request to generated and published documentation. Calculations and worked scenarios are original illustrative analysis.

    Accessed 2026-09-06
  103. Understand the cache key

    Cache identity, correctness and variation in global-latency-edge-delivery; CDN and holiday-cache questions. Chapter IDs: global-latency-edge-delivery.

    Accessed 2026-09-05
  104. Understand cache policies

    Cache TTL overrides and disabling caching in global-latency-edge-delivery. Chapter IDs: global-latency-edge-delivery.; CloudFront and cache-key entries and technology decision: selected request variation, TTL policy, and positive minimum TTL overriding origin cache restrictions.

    Accessed 2026-09-06
  105. Request and response behavior for origin groups

    Method-limited origin failover in global-latency-edge-delivery. Chapter IDs: global-latency-edge-delivery.

    Accessed 2026-09-05
  106. What is AWS Global Accelerator?

    Static anycast addresses, AWS network routing and standard accelerator endpoint types in global-latency-edge-delivery. Chapter IDs: global-latency-edge-delivery.

    Accessed 2026-09-05
  107. Choosing a routing policy

    Route 53 policy alternatives in dns-route53-routing-health. Chapter IDs: dns-route53-routing-health.

    Accessed 2026-09-05
  108. Choosing between alias and non-alias records

    Alias target restrictions and zone-apex behavior in dns-route53-routing-health. Chapter IDs: dns-route53-routing-health.

    Accessed 2026-09-05
  109. Creating Amazon Route 53 health checks

    Endpoint, calculated and alarm health sources in dns-route53-routing-health. Chapter IDs: dns-route53-routing-health.

    Accessed 2026-09-05
  110. How Amazon Route 53 chooses records when health checking is configured

    All-unhealthy fallback and policy-sensitive DNS health behavior in dns-route53-routing-health. Chapter IDs: dns-route53-routing-health.

    Accessed 2026-09-05
  111. Configuring failover in a private hosted zone

    Private endpoint health monitoring limitations in dns-route53-routing-health. Chapter IDs: dns-route53-routing-health.

    Accessed 2026-09-05
  112. Considerations when working with a private hosted zone

    Private namespace shadowing and resolution precedence in dns-route53-routing-health. Chapter IDs: dns-route53-routing-health.

    Accessed 2026-09-05
  113. curl — How To Use

    Bounded timing, DNS override and redirect diagnostics in global-latency-edge-delivery, hybrid-private-connectivity-diagnosis and http-request-lifecycle. Chapter IDs: global-latency-edge-delivery, http-request-lifecycle.; linux-application-search-diagnostics: bounded HTTP request and cumulative timing fields; q-1788635898544-1 and q-1788636753851-1.; Supports specific documented claims in customer-discovery-accountable-decisions: Collect safe evidence and retain accountable next steps. Calculations and worked scenarios are original illustrative analysis.

    Accessed 2026-09-06
  114. RFC 9293: Transmission Control Protocol

    Connection setup and transport-versus-application evidence in http-request-lifecycle. Chapter IDs: http-request-lifecycle.

    Accessed 2026-09-05
  115. RFC 8446: The Transport Layer Security Protocol Version 1.3

    TLS handshake, authentication and replay constraints in http-request-lifecycle. Chapter IDs: http-request-lifecycle.

    Accessed 2026-09-05
  116. Fetch Standard: HTTP-redirect fetch

    Browser POST-to-GET transformations and redirect constraints in http-request-lifecycle; q-1788636779078-2. Chapter IDs: http-request-lifecycle.

    Accessed 2026-09-05
  117. RFC 6265: HTTP State Management Mechanism

    Cookie scoping, Secure and HttpOnly in http-request-lifecycle. Chapter IDs: http-request-lifecycle.

    Accessed 2026-09-05
  118. How route priority works

    Longest-prefix selection and equal-prefix priority in vpc-routing-security-nat. Chapter IDs: vpc-routing-security-nat.

    Accessed 2026-09-05
  119. Subnet route tables

    Subnet associations and local routing in vpc-routing-security-nat. Chapter IDs: vpc-routing-security-nat.

    Accessed 2026-09-05
  120. Control traffic to your AWS resources using security groups

    Stateful return traffic and resource-level controls in vpc-routing-security-nat. Chapter IDs: vpc-routing-security-nat.; application-security-waf-segmentation: Contain lateral movement without breaking the permitted path

    Accessed 2026-09-06
  121. NAT gateways

    Public/private translation paths and IPv6 alternatives in vpc-routing-security-nat. Chapter IDs: vpc-routing-security-nat.

    Accessed 2026-09-05
  122. NAT gateway basics

    Zonal failure domains, security-group limitations and per-destination connection limits in vpc-routing-security-nat. Chapter IDs: vpc-routing-security-nat.

    Accessed 2026-09-05
  123. Regional NAT gateways for automatic multi-AZ expansion

    Regional versus zonal NAT, expansion delay and private-connectivity limitations in vpc-routing-security-nat. Chapter IDs: vpc-routing-security-nat.; NAT and regional NAT term/technology entries: automatic zonal expansion, single gateway ID, no hosting public subnet, and private NAT requiring zonal mode.

    Accessed 2026-09-06
  124. How AWS Transit Gateway works

    Hub attachments, route-table association/propagation and appliance symmetry in hybrid-private-connectivity-diagnosis. Chapter IDs: hybrid-private-connectivity-diagnosis.

    Accessed 2026-09-05
  125. How VPC peering connections work

    Nontransitive peering and overlapping CIDR constraints in hybrid-private-connectivity-diagnosis. Chapter IDs: hybrid-private-connectivity-diagnosis.; Overlapping CIDR and nontransitive peering limits as concrete network comparison evidence in multicloud-portability-exit-strategies. Chapter-to-question trace: multicloud-portability-exit-strategies [q-1788635371437-1, q-1788635385325-1, q-1788635424409-1].

    Accessed 2026-09-06
  126. What is AWS Site-to-Site VPN?

    IPsec tunnels and hybrid connection components in hybrid-private-connectivity-diagnosis. Chapter IDs: hybrid-private-connectivity-diagnosis.

    Accessed 2026-09-05
  127. What is Direct Connect?

    Dedicated connectivity and virtual-interface purposes in hybrid-private-connectivity-diagnosis. Chapter IDs: hybrid-private-connectivity-diagnosis.; Direct Connect term: dedicated connectivity must not be confused with automatic end-to-end encryption or complete path redundancy.

    Accessed 2026-09-06
  128. Encryption in AWS Direct Connect

    No default encryption, IPsec and MACsec scope in hybrid-private-connectivity-diagnosis. Chapter IDs: hybrid-private-connectivity-diagnosis.

    Accessed 2026-09-05
  129. Resilience in AWS Direct Connect

    Connection and location diversity in hybrid-private-connectivity-diagnosis. Chapter IDs: hybrid-private-connectivity-diagnosis.

    Accessed 2026-09-05
  130. Access AWS services through AWS PrivateLink

    Interface endpoints, private DNS and endpoint cost in hybrid-private-connectivity-diagnosis. Chapter IDs: hybrid-private-connectivity-diagnosis.

    Accessed 2026-09-05
  131. What is Route 53 VPC Resolver?

    Inbound/outbound endpoints and conditional forwarding in hybrid-private-connectivity-diagnosis. Chapter IDs: hybrid-private-connectivity-diagnosis.

    Accessed 2026-09-05
  132. How Reachability Analyzer works

    Configuration modeling without sending packets in hybrid-private-connectivity-diagnosis. Chapter IDs: hybrid-private-connectivity-diagnosis.

    Accessed 2026-09-05
  133. Logging IP traffic using VPC Flow Logs

    Traffic metadata, observation scope and logging cost in hybrid-private-connectivity-diagnosis. Chapter IDs: hybrid-private-connectivity-diagnosis.

    Accessed 2026-09-05
  134. Flow log limitations

    Capture limitations and interpretation of missing evidence in hybrid-private-connectivity-diagnosis. Chapter IDs: hybrid-private-connectivity-diagnosis.

    Accessed 2026-09-05
  135. Edit target group attributes for your Application Load Balancer

    ALB algorithms, stickiness and WebSocket target selection in http-request-lifecycle. Chapter IDs: http-request-lifecycle.; ALB routing algorithms and exclusions, deregistration delay and sticky-session limits; chapters: load-balancer-target-health, durable-sessions-authentication.; ALB least outstanding requests and target draining terminology; distinction from generic least-connections routing in the streaming-session quiz.

    Accessed 2026-09-06
  136. What is a Network Load Balancer?

    TCP/UDP flow hashing and connection lifetime in http-request-lifecycle. Chapter IDs: http-request-lifecycle.; NLB TCP flow hashing, connection lifetime affinity and DNS withdrawal limitations; chapters: load-balancer-target-health.; NLB transport/flow purpose and technology selection; no invented generic least-connections configuration.

    Accessed 2026-09-06
  137. Listeners for standard accelerators in AWS Global Accelerator

    Standard accelerator TCP/UDP listeners and regional endpoint groups; global-latency-edge-delivery, global service choice.

    Accessed 2026-09-05
  138. PostgreSQL: Log-Shipping Standby Servers — Synchronous Replication

    Remote acknowledgement and replication-latency constraints; global-latency-edge-delivery, q-1788637212739-2.

    Accessed 2026-09-05
  139. Control origin requests with a policy

    Origin forwarding is distinct from cache-key variation; global-latency-edge-delivery, q-1788635092997-1 and q-1788635141706-1.

    Accessed 2026-09-05
  140. Health checks for Application Load Balancer target groups

    ALB health states, initial checks, response matching and all-unhealthy fail-open behavior; chapters: load-balancer-target-health.

    Accessed 2026-09-06
  141. Health checks for Network Load Balancer target groups

    NLB active health checks, distributed consensus, UDP health proxy and fail-open behavior; chapters: load-balancer-target-health.

    Accessed 2026-09-06
  142. Edit target group attributes for your Network Load Balancer

    NLB connection termination controls, source-IP affinity and cross-zone routing tradeoffs; chapters: load-balancer-target-health.

    Accessed 2026-09-06
  143. About the health checks for your Auto Scaling group

    EC2 Auto Scaling default health sources and opt-in ELB health-driven replacement; chapters: load-balancer-target-health, ec2-scaling-capacity.

    Accessed 2026-09-06
  144. Target tracking scaling policies for Amazon EC2 Auto Scaling

    Target tracking proportional metrics, managed alarms and normalized queue backlog; chapters: ec2-scaling-capacity.

    Accessed 2026-09-06
  145. Set the default instance warmup for an Auto Scaling group

    Instance warmup and its role in scaling metrics rather than application readiness; chapters: ec2-scaling-capacity.

    Accessed 2026-09-06
  146. RFC 8725: JSON Web Token Best Current Practices

    JWT algorithm allowlists, trusted key selection, issuer/audience checks and token substitution defenses; chapters: durable-sessions-authentication.

    Accessed 2026-09-06
  147. RFC 7519: JSON Web Token (JWT)

    JWT claim representation, signature versus encryption and expiration semantics; chapters: durable-sessions-authentication.; JWT claims, signing versus encryption and the need to validate issuer/audience/expiry in the session-state vocabulary.

    Accessed 2026-09-06
  148. Using time to live (TTL) in DynamoDB

    DynamoDB asynchronous TTL deletion, distinct from request-time session expiry enforcement; chapters: durable-sessions-authentication.; dynamodb-keys-consistency: epoch-seconds TTL and asynchronous deletion; q-1788635178732-1 application-enforced session expiry.; TTL entry and DynamoDB technology decision: expiry markers trigger asynchronous cleanup in supported configurations and do not enforce immediate session invalidation.

    Accessed 2026-09-06
  149. DynamoDB read consistency

    DynamoDB strong versus eventual reads and global secondary index limitations; chapters: durable-sessions-authentication.; dynamodb-keys-consistency: durable successful writes, strong base-table reads, eventual GSI reads and MREC/MRSC read scope; q-1788635178732-1.

    Accessed 2026-09-06
  150. Minimizing downtime in ElastiCache by using Multi-AZ with Valkey and Redis OSS

    ElastiCache Multi-AZ failover and asynchronous-replication durability constraints; chapters: durable-sessions-authentication.; elasticache-cache-correctness: replica promotion, client endpoint recovery and asynchronous replication loss for clusters without durability; q-1788635178732-1.

    Accessed 2026-09-06
  151. What is Amazon Elastic Container Service?

    ECS task/service concepts and EC2, Fargate and Managed Instances capacity choices; chapters: compute-deployment-modernization.; ECS task/service orchestration definition and technology choice distinct from Fargate compute capacity.

    Accessed 2026-09-06
  152. What is Amazon EKS?

    EKS managed control plane and EKS Auto Mode infrastructure responsibilities; chapters: compute-deployment-modernization.; EKS managed Kubernetes definition and compatibility/operational-responsibility decision context.

    Accessed 2026-09-06
  153. Lambda quotas

    Lambda standard invocation timeout and execution constraints; chapters: compute-deployment-modernization.

    Accessed 2026-09-06
  154. Amazon S3 Event Notifications

    S3 asynchronous at-least-once notifications, ordering limits and recursive-trigger prevention; chapters: compute-deployment-modernization.; storage-s3-ebs-efs: at-least-once asynchronous notifications and duplicate/out-of-order handling; q-1788636513589-1 immediate image behavior.; At-least-once asynchronous notification and recursive-trigger risk in messaging-events-streams-idempotency; q-1788636513589-1 and q-1788636545049-1. Chapter-to-question trace: messaging-events-streams-idempotency [q-1788637119607-1, q-1788636513589-1, q-1788636545049-1, q-1788636489975-1, q-1788636876551-2].

    Accessed 2026-09-06
  155. Configuring reserved concurrency for a function

    Lambda reserved concurrency as both allocation and an execution cap; chapters: compute-deployment-modernization.; Reserved concurrency versus provisioned concurrency entries; allocation/cap differs from pre-initialized execution environments.

    Accessed 2026-09-06
  156. Configuring provisioned concurrency for a function

    Lambda provisioned concurrency as prepared environments rather than reserved concurrency; chapters: compute-deployment-modernization.

    Accessed 2026-09-06
  157. Download and upload objects with presigned URLs

    S3 presigned URL authorization for direct client uploads and downloads; chapters: compute-deployment-modernization.; credentials-secrets-incident-containment: Recovery, delegated URLs and the cost of stale authority

    Accessed 2026-09-06
  158. How EC2 Image Builder works

    Image Builder recipes, test/build components, infrastructure and artifact distribution; chapters: fast-startup-golden-images.

    Accessed 2026-09-06
  159. Store instance launch parameters in Amazon EC2 launch templates

    Versioned EC2 launch configuration using launch templates; chapters: fast-startup-golden-images.

    Accessed 2026-09-06
  160. Decrease latency for applications with long boot times using warm pools

    Warm pool preparation, stopped/running/hibernated states, lifecycle and stale pool versions; chapters: fast-startup-golden-images.

    Accessed 2026-09-06
  161. Use an instance refresh to update instances in an Auto Scaling group

    Auto Scaling instance refresh for rolling replacement using new launch configuration; chapters: fast-startup-golden-images.

    Accessed 2026-09-06
  162. AWS Secrets Manager best practices

    Least-privilege runtime secret access, caching and rotation principles; chapters: fast-startup-golden-images.

    Accessed 2026-09-06
  163. Managing permissions in AWS Lambda

    Function execution privileges versus invocation and administration permissions; compute-deployment-modernization; q-1788636679569-3 and q-1788636513589-1.

    Accessed 2026-09-06
  164. Amazon ECS task IAM role

    Task role versus task execution role and shared-host isolation limits; compute-deployment-modernization; q-1788635698450-1, q-1788635732619-1 and q-1788636679569-3.

    Accessed 2026-09-06
  165. Service Level Objectives — Google SRE

    SLI/SLO/SLA distinction and explicitly measured service-level/error-budget objectives; chapters: recovery-objectives-dependencies

    Accessed 2026-09-06
  166. Multi-AZ DB instance deployments for Amazon RDS

    Synchronous single-standby RDS Multi-AZ placement, failure scope and non-read-serving standby; chapters: disaster-recovery-failover-failback, replication-consistency-zero-rpo; relational-rds-aurora: synchronous standby availability role versus read scaling; q-1788637212739-2.

    Accessed 2026-09-06
  167. Using switchover or failover in Amazon Aurora Global Database

    Planned synchronized switchover versus asynchronous unplanned failover; planned return to original Region; chapters: disaster-recovery-failover-failback, replication-consistency-zero-rpo; Switchover, failover and Aurora technology entries: planned coordinated zero-loss transitions do not establish unplanned regional-failure zero RPO.

    Accessed 2026-09-06
  168. Using DynamoDB global tables

    MREC versus MRSC; remote acknowledgement, three-Region topology, witness, feature limits and quorum availability; chapters: replication-consistency-zero-rpo; dynamodb-keys-consistency: MREC item replication/conflicts and MRSC topology, witness, unsupported TTL/transactions/LSIs; q-1788635051888-1 and q-1788637212739-2.; Scope durable-sessions-authentication TTL example to single-Region/MREC, preserve MRSC feature constraints, and distinguish multi-account control-plane isolation from replicated logical corruption.; MREC versus MRSC replication and feature/topology qualifications in both term and technology entries; zero-RPO and session-store questions.

    Accessed 2026-09-06
  169. Replicating objects within and across Regions

    Asynchronous S3 object replication and lack of remote durability proof at source acknowledgement; chapters: replication-consistency-zero-rpo

    Accessed 2026-09-06
  170. PostgreSQL: Write Ahead Log configuration

    WAL commit settings: remote flush versus operating-system write versus replay, and required standby configuration; chapters: replication-consistency-zero-rpo

    Accessed 2026-09-06
  171. PostgreSQL: Continuous Archiving and Point-in-Time Recovery

    Base backup plus continuous archived WAL, target/timeline selection and configuration coverage; chapters: backup-pitr-retention-restore

    Accessed 2026-09-06
  172. Restoring a DB instance to a specified time for Amazon RDS

    New-instance PITR, actual latest restorable point, log-upload cadence and background initialization; chapters: backup-pitr-retention-restore; relational-rds-aurora: PITR restores a new instance, latest-restorable-time and configuration verification; q-1788636939776-1 and weekly-backup questions.

    Accessed 2026-09-06
  173. Introduction to backups — Amazon RDS

    RDS automated and manual backup lifecycle distinction; chapters: backup-pitr-retention-restore

    Accessed 2026-09-06
  174. Restore testing — AWS Backup

    Scheduled restore tests, restore duration measurement and optional validation; chapters: backup-pitr-retention-restore

    Accessed 2026-09-06
  175. Restore testing validation — AWS Backup

    Application validation workflow and recorded restore validation status; chapters: backup-pitr-retention-restore

    Accessed 2026-09-06
  176. AWS Backup Vault Lock

    Governance versus compliance Vault Lock, grace period, immutability and retention cost; chapters: backup-pitr-retention-restore

    Accessed 2026-09-06
  177. Understanding archive retrieval options

    Flexible Retrieval and Deep Archive retrieval delays, expedited constraints and large-dataset limits; chapters: backup-pitr-retention-restore; storage-s3-ebs-efs: Flexible Retrieval and Deep Archive retrieval timing, non-guaranteed expedited capacity; two-hour restore calculation.

    Accessed 2026-09-06
  178. Using Elastic Disaster Recovery for recovery and failback

    DRS recovery instance launch versus traffic failover and supported failback synchronization; chapters: disaster-recovery-failover-failback

    Accessed 2026-09-06
  179. Routing control in ARC

    Prepared ARC routing controls integrated with Route 53 health checks; chapters: disaster-recovery-failover-failback

    Accessed 2026-09-06
  180. describe-db-instances — AWS CLI Command Reference

    Read-only RDS instance inventory fields for latest restorable time and retention; chapters: recovery-objectives-dependencies

    Accessed 2026-09-06
  181. list-recovery-points-by-backup-vault — AWS CLI Command Reference

    Read-only recovery-point catalog listing and pagination semantics; chapters: backup-pitr-retention-restore

    Accessed 2026-09-06
  182. Encryption for backups in AWS Backup

    Resource-specific backup encryption, copy encryption and KMS permission dependencies; chapters: backup-pitr-retention-restore

    Accessed 2026-09-06
  183. Backup creation by resource type

    AWS Backup preserves incremental reference data after original full recovery point expiration; chapters: backup-pitr-retention-restore

    Accessed 2026-09-06
  184. REL09-BP04 Perform periodic recovery of the data to verify backup integrity and processes

    Periodic restore evidence validates backup integrity and recovery procedures; chapters: backup-pitr-retention-restore

    Accessed 2026-09-06
  185. Validating CloudTrail log file integrity

    audit-log-pipelines: signed digests, actual validation versus enablement and evidentiary limits; q-1788636225320-1.

    Accessed 2026-09-06
  186. Real-time processing of log data with subscriptions

    audit-log-pipelines: destinations, gzip/base64 envelope, duplicate delivery, retry horizon and permission-error gaps; logging-solution scenario.

    Accessed 2026-09-06
  187. Metrics concepts

    observability-slis-alerts: dimensions and series identity, raw samples and percentile constraints; capacity and performance-diagnosis questions.

    Accessed 2026-09-06
  188. CloudWatch statistics definitions

    observability-slis-alerts: percentile meaning and interpretation; q-1788635082481-1 and q-1788635934517-1.

    Accessed 2026-09-06
  189. Using Amazon CloudWatch alarms

    observability-slis-alerts: metric/composite alarm roles and notification actions; audit monitoring and incident-response questions.

    Accessed 2026-09-06
  190. Alarm evaluation

    observability-slis-alerts: M-out-of-N evaluation and periods; incident detection and transient versus sustained errors.

    Accessed 2026-09-06
  191. Configuring how CloudWatch alarms treat missing data

    observability-slis-alerts: missing-data modes, wider sliding-window retrieval and telemetry silence; q-1788636225320-1.

    Accessed 2026-09-06
  192. Alerting on SLOs

    observability-slis-alerts: burn-rate definition and multiwindow alert design; original search-error worked calculation.

    Accessed 2026-09-06
  193. Traces

    observability-slis-alerts: span context, parent relationships and asynchronous links; request-correlation and database-connectivity questions.

    Accessed 2026-09-06
  194. Sampling

    observability-slis-alerts: head/tail sampling and representativeness limits; error-investigation examples.

    Accessed 2026-09-06
  195. Collect metrics, logs, and traces using the CloudWatch agent

    observability-slis-alerts and linux-application-search-diagnostics: guest telemetry collection beyond EC2 default metrics; swap and capacity questions.

    Accessed 2026-09-06
  196. Managing Incidents

    incident-command-evidence: incident command roles, shared state and handover; q-1788637166029-2 and q-1788637166029-3.

    Accessed 2026-09-06
  197. Effective Troubleshooting

    incident-command-evidence: falsifiable hypotheses, system models and controlled tests; search and provider-outage scenarios.

    Accessed 2026-09-06
  198. OPS07-BP04 Use playbooks to investigate issues

    incident-command-evidence: investigation playbooks, permission prerequisites, escalation and connection to mitigation runbooks; regional-incident question.

    Accessed 2026-09-06
  199. OPS10-BP05 Define a customer communication plan for service-impacting events

    incident-command-evidence: designated communication ownership and resilient channels; customer outage, error-detail request and recovery-assurance questions.

    Accessed 2026-09-06
  200. OPS11-BP02 Perform post-incident analysis

    incident-command-evidence: contributing factors and verified improvement actions; q-1788635451640-1 and q-1788635461796-1.

    Accessed 2026-09-06
  201. PSI - Pressure Stall Information

    linux-application-search-diagnostics: some/full stall measurements and resource-pressure interpretation; q-1788635960644-1.; PSI definition and CPU/memory/I/O stall interpretation in Linux diagnosis; pressure is not equivalent to allocated memory size.

    Accessed 2026-09-06
  202. Control Group v2

    linux-application-search-diagnostics: cpu.max/cpu.stat and memory.current/memory.max/memory.events; host versus container saturation.

    Accessed 2026-09-06
  203. vmstat(8) — procps-ng manual

    linux-application-search-diagnostics: interval counters, runnable/blocked tasks and swap-in/swap-out; q-1788635960644-1 and q-1788635977313-1.

    Accessed 2026-09-06
  204. PostgreSQL 18: Error Reporting and Logging

    linux-application-search-diagnostics: engine-specific duration thresholds and statement logging exposure; q-1788635992678-1.

    Accessed 2026-09-06
  205. get-trail-status — AWS CLI Command Reference

    audit-log-pipelines: read-only trail status command and status-versus-selector verification; q-1788636225320-1.

    Accessed 2026-09-06
  206. CloudWatch Logs Insights language query syntax

    audit-log-pipelines: fields/filter/sort/limit syntax and narrowing queried log groups and time ranges; q-1788635849413-1 and q-1788635674614-1.

    Accessed 2026-09-06
  207. OWASP Cross-Site Request Forgery Prevention Cheat Sheet

    application-security-waf-segmentation: Session hijacking and CSRF require different protections

    Accessed 2026-09-06
  208. Oversize web request components in AWS WAF

    application-security-waf-segmentation: Inspection size, bypass paths and false-positive calculations

    Accessed 2026-09-06
  209. How AWS Shield and Shield Advanced work

    application-security-waf-segmentation: Choose WAF, Shield and network controls by what they observe

    Accessed 2026-09-06
  210. IAM policy evaluation logic

    iam-authorization-account-governance: Authentication establishes a caller; authorization evaluates a request; IAM, permissions boundary, SCP, RCP and explicit-deny entries; permissions intersection/guardrail distinctions for least-privilege reasoning.

    Accessed 2026-09-06
  211. Permissions boundaries for IAM entities

    iam-authorization-account-governance: Boundaries and organization guardrails limit different things

    Accessed 2026-09-06
  212. Service control policies (SCPs)

    iam-authorization-account-governance: Boundaries and organization guardrails limit different things

    Accessed 2026-09-06
  213. Defining Lambda function permissions with an execution role

    iam-authorization-account-governance: Understand role assumption and the two different permission directions

    Accessed 2026-09-06
  214. IAM policy testing with the IAM policy simulator

    iam-authorization-account-governance: Diagnose AccessDenied without granting administrator access

    Accessed 2026-09-06
  215. Access to AWS accounts owned by third parties

    iam-authorization-account-governance: Understand role assumption and the two different permission directions

    Accessed 2026-09-06
  216. Controlling access to and for IAM users and roles using tags

    iam-authorization-account-governance: MFA, tags and network locations are scoped evidence

    Accessed 2026-09-06
  217. Revoke IAM role temporary security credentials

    credentials-secrets-incident-containment: Temporary session revocation is a policy and issuance problem

    Accessed 2026-09-06
  218. Manage access keys for IAM users

    credentials-secrets-incident-containment: Inventory the credential, its issuer and its reachable authority

    Accessed 2026-09-06
  219. Lambda rotation functions

    credentials-secrets-incident-containment: Secret rotation coordinates two systems and several consumer states

    Accessed 2026-09-06
  220. Lambda function rotation strategies

    credentials-secrets-incident-containment: Secret rotation coordinates two systems and several consumer states

    Accessed 2026-09-06
  221. AWS KMS cryptography essentials

    encryption-kms-tls-data-responsibility: Envelope encryption separates bulk data from key protection

    Accessed 2026-09-06
  222. GenerateDataKey API

    encryption-kms-tls-data-responsibility: Envelope encryption separates bulk data from key protection

    Accessed 2026-09-06
  223. Key policies in AWS KMS

    encryption-kms-tls-data-responsibility: KMS authorization, context and rotation are separate controls

    Accessed 2026-09-06
  224. Encryption context

    encryption-kms-tls-data-responsibility: KMS authorization, context and rotation are separate controls

    Accessed 2026-09-06
  225. Rotate AWS KMS keys

    encryption-kms-tls-data-responsibility: KMS authorization, context and rotation are separate controls

    Accessed 2026-09-06
  226. Using server-side encryption with Amazon S3 managed keys (SSE-S3)

    encryption-kms-tls-data-responsibility: Enforce encryption without blocking the business operation

    Accessed 2026-09-06
  227. Data classification — AWS Security Pillar

    encryption-kms-tls-data-responsibility: Begin with classification and follow every copy

    Accessed 2026-09-06
  228. RFC 9846: The Transport Layer Security (TLS) Protocol Version 1.3

    encryption-kms-tls-data-responsibility: TLS protects a connection between specific endpoints

    Accessed 2026-09-06
  229. Route table configurations for AWS Network Firewall

    application-security-waf-segmentation: Choose WAF, Shield and network controls by what they observe

    Accessed 2026-09-06
  230. Avoiding asymmetric routing with AWS Network Firewall

    application-security-waf-segmentation: Choose WAF, Shield and network controls by what they observe

    Accessed 2026-09-06
  231. Setting rule priority in AWS WAF

    application-security-waf-segmentation: Inspection size, bypass paths and false-positive calculations

    Accessed 2026-09-06
  232. How AWS WAF handles rule and rule group actions

    application-security-waf-segmentation: Inspection size, bypass paths and false-positive calculations

    Accessed 2026-09-06
  233. GetCallerIdentity — AWS Security Token Service

    iam-authorization-account-governance: Diagnose AccessDenied without granting administrator access

    Accessed 2026-09-06
  234. How Amazon S3 works with IAM

    iam-authorization-account-governance: Worked example: one function, one bucket, one read responsibility; object versus bucket permissions for q-1788636679569-3

    Accessed 2026-09-06
  235. OWASP Server-Side Request Forgery Prevention Cheat Sheet

    SSRF request boundaries, destination validation, redirects, DNS changes and independent outbound restrictions.

    Accessed 2026-09-06
  236. Use the Instance Metadata Service to access instance metadata

    EC2-specific IMDSv2 token behavior and metadata request protection; distinct from universal runtime security.

    Accessed 2026-09-06
  237. PostgreSQL: Transaction Isolation

    relational-rds-aurora: statement snapshots, repeatable read, serializable retries and sequence exceptions; slow-report correctness and transactional reasoning.

    Accessed 2026-09-06
  238. PostgreSQL: Write-Ahead Logging (WAL)

    relational-rds-aurora: log-before-data durability and crash replay; q-1788637212739-2 commit acknowledgement boundary.

    Accessed 2026-09-06
  239. PostgreSQL: Multicolumn Indexes

    relational-rds-aurora: composite B-tree leading equality/range keys and skip-scan qualification; q-1788635946475-1.

    Accessed 2026-09-06
  240. MySQL 8.4: Statements That Cause an Implicit Commit

    relational-rds-aurora: DDL implicit commits versus transaction rollback; q-1788636939776-1.

    Accessed 2026-09-06
  241. Amazon Aurora storage

    relational-rds-aurora: shared cluster storage across three AZs, redo-oriented storage and separation of compute from storage reliability.

    Accessed 2026-09-06
  242. How to perform a major version upgrade for RDS for PostgreSQL

    relational-rds-aurora: representative upgrade dry run, compatible parameters/extensions and pre-upgrade backup; q-1788636939776-1 and q-1788635934517-1.; Concrete upgrade preparation and recovery evidence in service-model-ownership-requirements; q-1788636939776-1. Chapter-to-question trace: service-model-ownership-requirements [q-1788635082481-1, q-1788636876551-1, q-1788636876551-2, q-1788636939776-1, q-1788636939776-2, q-1788636195773-1, q-1788635698450-1, q-1788635709200-1].

    Accessed 2026-09-06
  243. Overview of RDS for MySQL database logs

    relational-rds-aurora: RDS MySQL slow-query logging configuration and log destinations; q-1788635992678-1.

    Accessed 2026-09-06
  244. Partitions and data distribution in DynamoDB

    dynamodb-keys-consistency: hashing partition keys, ordered sort-key collections and managed partition placement.

    Accessed 2026-09-06
  245. Best practices for designing and using partition keys effectively in DynamoDB

    dynamodb-keys-consistency: physical partition read/write-unit limits, item-size rounding and adaptive-capacity limits; holiday scaling and session-store questions.

    Accessed 2026-09-06
  246. Amazon DynamoDB Transactions: How it works

    dynamodb-keys-consistency: atomic bounded transactions, capacity overhead, idempotency tokens and Region scope.

    Accessed 2026-09-06
  247. Filter expressions for the Query operation in DynamoDB

    dynamodb-keys-consistency: filtering after reading, unchanged read cost and pre-filter pagination; access-model diagnostics.

    Accessed 2026-09-06
  248. Using write sharding to distribute workloads evenly in your DynamoDB table

    dynamodb-keys-consistency: random versus calculated suffixes and read fan-out consequences; worked hot-event example.

    Accessed 2026-09-06
  249. Caching strategies for Memcached

    elasticache-cache-correctness: cache-aside/lazy loading, write-through and TTL as maintenance strategies, with original failure-race analysis; q-1788635141706-1.

    Accessed 2026-09-06
  250. Metrics for Valkey and Redis OSS

    elasticache-cache-correctness: hits/misses, engine CPU, memory, evictions, connections and replication lag as distinct diagnostic evidence.

    Accessed 2026-09-06
  251. ElastiCache in-transit encryption (TLS)

    elasticache-cache-correctness: encrypted client connections and deployment-specific TLS configuration; safe diagnostic examples.

    Accessed 2026-09-06
  252. Valkey Command: SET

    elasticache-cache-correctness: atomic SET NX PX lease acquisition and expiry semantics in isolated synthetic example.

    Accessed 2026-09-06
  253. Valkey Documentation: Distributed Locks

    elasticache-cache-correctness: unique lease ownership, compare-and-delete release and failover limitations; stampede control versus business correctness.

    Accessed 2026-09-06
  254. Durability in ElastiCache

    elasticache-cache-correctness: current node-based Multi-AZ transactional log, synchronous acknowledgement and asynchronous loss window, qualifying generic cache-durability claims.

    Accessed 2026-09-06
  255. ElastiCache durability: Limitations

    elasticache-cache-correctness: Valkey 9.0+, cluster mode, creation-time enablement, replicas, encryption and Serverless/Global Datastore exclusions.; Scope session durability to supported Valkey versions, topology and deployment; exclude Serverless and Global Datastores; authentication-failover questions.; ElastiCache term and technology scope: supported Valkey 9.0+ node-based configurations, exclusion of Serverless and Global Datastores, and no inferred cross-Region guarantee.

    Accessed 2026-09-06
  256. ElastiCache durability: Consistency

    elasticache-cache-correctness: strong primary reads with synchronous durability versus eventual replica reads and acknowledged asynchronous writes lost after failover.

    Accessed 2026-09-06
  257. What is Amazon S3?

    storage-s3-ebs-efs: object API, key-level strong read-after-write consistency and access controls; image-processing and mixed-data questions.; S3 object storage, object/file/block choice, versioning and WORM protection concepts; S3 technology decision rather than implied ordinary filesystem semantics.

    Accessed 2026-09-06
  258. Understanding and managing Amazon S3 storage classes

    storage-s3-ebs-efs: storage-class failure domains, durability versus availability, Instant versus Flexible/Deep Archive access; q-1788637212739-1.

    Accessed 2026-09-06
  259. Amazon EBS volumes

    storage-s3-ebs-efs: persistent block-device semantics and Availability Zone scope; durable storage selection.

    Accessed 2026-09-06
  260. Create Amazon EBS snapshots

    storage-s3-ebs-efs: snapshots capture written device data rather than unflushed application buffers; application-consistent backup planning.

    Accessed 2026-09-06
  261. Features of Amazon EFS

    storage-s3-ebs-efs: Regional/One Zone failure scope, NFS close-to-open and advisory locking, synchronous durability and Archive throughput restrictions.

    Accessed 2026-09-06
  262. Managing storage lifecycle

    storage-s3-ebs-efs: EFS internal last-access timer, IA/Archive transitions and metadata staying in Standard.

    Accessed 2026-09-06
  263. Managing mount targets

    storage-s3-ebs-efs: NFS access through mount targets and Regional per-AZ client placement.

    Accessed 2026-09-06
  264. Amazon EFS performance specifications

    storage-s3-ebs-efs: throughput mode, operation-size/parallelism effects and file/metadata latency diagnosis.

    Accessed 2026-09-06
  265. Securing your data in Amazon EFS

    storage-s3-ebs-efs: layered NFS network, IAM/POSIX, encryption and access-point controls; shared private-document storage.

    Accessed 2026-09-06
  266. Locking objects with Object Lock

    storage-s3-ebs-efs: version-specific WORM retention, legal holds and governance/compliance modes; q-1788637212739-1 retention integrity.

    Accessed 2026-09-06
  267. AWS PrivateLink for Amazon S3

    storage-s3-ebs-efs: distinguish S3 bucket authorization from VPC/subnet segmentation and private endpoint routing; q-1788636244189-1 and q-1788636259098-1.

    Accessed 2026-09-06
  268. About the migration strategies

    Seven migration strategies and separating migration from broad refactoring in migration-discovery-cutover-rollback; migration scenario questions. Chapter-to-question trace: migration-discovery-cutover-rollback [q-1788635698450-1, q-1788635709200-1, q-1788635721505-1, q-1788635732619-1, q-1788635747642-1, q-1788636779078-3, q-1788637068875-2, q-1788637455081-1, q-1788637025530-2, q-1788637305967-3].

    Accessed 2026-09-06
  269. Application portfolio assessment guide for AWS Cloud migration

    Portfolio assessment context for original dependency discovery workflow in migration-discovery-cutover-rollback; q-1788635721505-1. Chapter-to-question trace: migration-discovery-cutover-rollback [q-1788635698450-1, q-1788635709200-1, q-1788635721505-1, q-1788635732619-1, q-1788635747642-1, q-1788636779078-3, q-1788637068875-2, q-1788637455081-1, q-1788637025530-2, q-1788637305967-3].

    Accessed 2026-09-06
  270. Creating tasks for ongoing replication using AWS DMS

    Log-based change capture and variable replication latency in migration-discovery-cutover-rollback; migration assessment and data convergence. Chapter-to-question trace: migration-discovery-cutover-rollback [q-1788635698450-1, q-1788635709200-1, q-1788635721505-1, q-1788635732619-1, q-1788635747642-1, q-1788636779078-3, q-1788637068875-2, q-1788637455081-1, q-1788637025530-2, q-1788637305967-3].

    Accessed 2026-09-06
  271. AWS DMS data validation

    Table validation, limitations, resource overhead and describe-table-statistics diagnostics in migration-discovery-cutover-rollback. Chapter-to-question trace: migration-discovery-cutover-rollback [q-1788635698450-1, q-1788635709200-1, q-1788635721505-1, q-1788635732619-1, q-1788635747642-1, q-1788636779078-3, q-1788637068875-2, q-1788637455081-1, q-1788637025530-2, q-1788637305967-3].

    Accessed 2026-09-06
  272. Amazon SQS visibility timeout

    Receive/visibility/delete lifecycle, retry timing and FIFO message-group blocking in messaging-events-streams-idempotency. Chapter-to-question trace: messaging-events-streams-idempotency [q-1788637119607-1, q-1788636513589-1, q-1788636545049-1, q-1788636489975-1, q-1788636876551-2].

    Accessed 2026-09-06
  273. Exactly-once processing in Amazon SQS

    Five-minute FIFO producer deduplication scope in messaging-events-streams-idempotency; distinction from atomic external side effects. Chapter-to-question trace: messaging-events-streams-idempotency [q-1788637119607-1, q-1788636513589-1, q-1788636545049-1, q-1788636489975-1, q-1788636876551-2].

    Accessed 2026-09-06
  274. Fanout Amazon SNS notifications to Amazon SQS queues for asynchronous processing

    Topic fanout with independent queue subscriptions in messaging-events-streams-idempotency. Chapter-to-question trace: messaging-events-streams-idempotency [q-1788637119607-1, q-1788636513589-1, q-1788636545049-1, q-1788636489975-1, q-1788636876551-2].

    Accessed 2026-09-06
  275. Amazon SNS message delivery retries

    Protocol-dependent delivery retry exhaustion and subscription DLQs in messaging-events-streams-idempotency. Chapter-to-question trace: messaging-events-streams-idempotency [q-1788637119607-1, q-1788636513589-1, q-1788636545049-1, q-1788636489975-1, q-1788636876551-2].

    Accessed 2026-09-06
  276. How EventBridge retries delivering events

    EventBridge target retry defaults and failure handling in messaging-events-streams-idempotency. Chapter-to-question trace: messaging-events-streams-idempotency [q-1788637119607-1, q-1788636513589-1, q-1788636545049-1, q-1788636489975-1, q-1788636876551-2].

    Accessed 2026-09-06
  277. Archiving and replaying events in Amazon EventBridge

    Configured event archives, original-bus replay and lack of original-order guarantee in messaging-events-streams-idempotency. Chapter-to-question trace: messaging-events-streams-idempotency [q-1788637119607-1, q-1788636513589-1, q-1788636545049-1, q-1788636489975-1, q-1788636876551-2].

    Accessed 2026-09-06
  278. Amazon Kinesis Data Streams Terminology and concepts

    Partition keys, shards, consumer independence and retention in messaging-events-streams-idempotency. Chapter-to-question trace: messaging-events-streams-idempotency [q-1788637119607-1, q-1788636513589-1, q-1788636545049-1, q-1788636489975-1, q-1788636876551-2].

    Accessed 2026-09-06
  279. Handle duplicate records

    Producer retry and consumer checkpoint replay duplicates in messaging-events-streams-idempotency. Chapter-to-question trace: messaging-events-streams-idempotency [q-1788637119607-1, q-1788636513589-1, q-1788636545049-1, q-1788636489975-1, q-1788636876551-2].

    Accessed 2026-09-06
  280. Transactional outbox pattern

    Database/outbox atomicity and duplicate relay delivery in messaging-events-streams-idempotency; financial queue correctness. Chapter-to-question trace: messaging-events-streams-idempotency [q-1788637119607-1, q-1788636513589-1, q-1788636545049-1, q-1788636489975-1, q-1788636876551-2].

    Accessed 2026-09-06
  281. The review process

    Evidence-led collaborative reviews in availability-dependency-architecture-review; q-1788635451640-1 and q-1788635534880-1. Chapter-to-question trace: availability-dependency-architecture-review [q-1788635440123-1, q-1788635451640-1, q-1788635461796-1, q-1788635474941-1, q-1788635494021-1, q-1788635508078-1, q-1788635523810-1, q-1788635534880-1, q-1788635547232-1, q-1788635649183-1, q-1788636176984-1, q-1788637119607-1, q-1788637212739-3, q-1788636357111-1, q-1788636405182-1, q-1788636422135-1, q-1788636387871-1, q-1788636441177-1, q-1788635898544-1, q-1788635887135-1, q-1788635913127-1, q-1788637166029-1].; Supports specific documented claims in customer-discovery-accountable-decisions: Run a workshop that follows requests and evidence. Calculations and worked scenarios are original illustrative analysis.

    Accessed 2026-09-06
  282. Control planes and data planes

    Management versus serving dependencies in availability-dependency-architecture-review and multicloud-portability-exit-strategies. Chapter-to-question trace: availability-dependency-architecture-review [q-1788635440123-1, q-1788635451640-1, q-1788635461796-1, q-1788635474941-1, q-1788635494021-1, q-1788635508078-1, q-1788635523810-1, q-1788635534880-1, q-1788635547232-1, q-1788635649183-1, q-1788636176984-1, q-1788637119607-1, q-1788637212739-3, q-1788636357111-1, q-1788636405182-1, q-1788636422135-1, q-1788636387871-1, q-1788636441177-1, q-1788635898544-1, q-1788635887135-1, q-1788635913127-1, q-1788637166029-1]; multicloud-portability-exit-strategies [q-1788635371437-1, q-1788635385325-1, q-1788635424409-1].

    Accessed 2026-09-06
  283. Static stability using Availability Zones

    Pre-existing survivor capacity and avoiding recovery dependence on provisioning in availability-dependency-architecture-review. Chapter-to-question trace: availability-dependency-architecture-review [q-1788635440123-1, q-1788635451640-1, q-1788635461796-1, q-1788635474941-1, q-1788635494021-1, q-1788635508078-1, q-1788635523810-1, q-1788635534880-1, q-1788635547232-1, q-1788635649183-1, q-1788636176984-1, q-1788637119607-1, q-1788637212739-3, q-1788636357111-1, q-1788636405182-1, q-1788636422135-1, q-1788636387871-1, q-1788636441177-1, q-1788635898544-1, q-1788635887135-1, q-1788635913127-1, q-1788637166029-1].

    Accessed 2026-09-06
  284. Proven practices for developing a multicloud strategy

    Provider-authored strategic tradeoffs in multicloud-portability-exit-strategies; all three Jaxon Hensley vendor-lock-in questions. Chapter-to-question trace: multicloud-portability-exit-strategies [q-1788635371437-1, q-1788635385325-1, q-1788635424409-1].

    Accessed 2026-09-06
  285. Multicloud strategy recommendations

    Exit evaluation and security/governance operating scope in multicloud-portability-exit-strategies. Chapter-to-question trace: multicloud-portability-exit-strategies [q-1788635371437-1, q-1788635385325-1, q-1788635424409-1].

    Accessed 2026-09-06
  286. Storage Classes

    Provider-specific storage provisioners and parameters qualify container portability in multicloud-portability-exit-strategies. Chapter-to-question trace: multicloud-portability-exit-strategies [q-1788635371437-1, q-1788635385325-1, q-1788635424409-1].

    Accessed 2026-09-06
  287. What is OpenTelemetry?

    Portable instrumentation and distinction from telemetry backend in multicloud-portability-exit-strategies. Chapter-to-question trace: multicloud-portability-exit-strategies [q-1788635371437-1, q-1788635385325-1, q-1788635424409-1].

    Accessed 2026-09-06
  288. OIDC federation

    External OIDC identity federation to AWS roles in multicloud-portability-exit-strategies. Chapter-to-question trace: multicloud-portability-exit-strategies [q-1788635371437-1, q-1788635385325-1, q-1788635424409-1].

    Accessed 2026-09-06
  289. Workload Identity Federation

    Google Cloud workload federation for external workloads including AWS, identity mapping and key avoidance in multicloud-portability-exit-strategies. Chapter-to-question trace: multicloud-portability-exit-strategies [q-1788635371437-1, q-1788635385325-1, q-1788635424409-1].

    Accessed 2026-09-06
  290. Exporting DB snapshot data to Amazon S3 for Amazon RDS

    Parquet exports are not directly restorable database snapshots in multicloud-portability-exit-strategies. Chapter-to-question trace: multicloud-portability-exit-strategies [q-1788635371437-1, q-1788635385325-1, q-1788635424409-1].

    Accessed 2026-09-06
  291. Evaluate exit strategy requirements

    Exit planning versus disaster recovery requirements in multicloud-portability-exit-strategies; Jaxon Hensley lock-in scenario. Chapter-to-question trace: multicloud-portability-exit-strategies [q-1788635371437-1, q-1788635385325-1, q-1788635424409-1].

    Accessed 2026-09-06
  292. Consider the advantages and disadvantages of vendor lock-in

    Managed capability versus provider dependence in multicloud-portability-exit-strategies; customer comparison reasoning. Chapter-to-question trace: multicloud-portability-exit-strategies [q-1788635371437-1, q-1788635385325-1, q-1788635424409-1].

    Accessed 2026-09-06
  293. Sending events with PutEvents in Amazon EventBridge

    Per-entry publish failures and nonexistent-bus caveat in messaging-events-streams-idempotency. Chapter-to-question trace: messaging-events-streams-idempotency [q-1788637119607-1, q-1788636513589-1, q-1788636545049-1, q-1788636489975-1, q-1788636876551-2].

    Accessed 2026-09-06
  294. Retry behavior

    SDK retry configuration and version-dependent behavior in availability-dependency-architecture-review; bounded retry reasoning. Chapter-to-question trace: availability-dependency-architecture-review [q-1788635440123-1, q-1788635451640-1, q-1788635461796-1, q-1788635474941-1, q-1788635494021-1, q-1788635508078-1, q-1788635523810-1, q-1788635534880-1, q-1788635547232-1, q-1788635649183-1, q-1788636176984-1, q-1788637119607-1, q-1788637212739-3, q-1788636357111-1, q-1788636405182-1, q-1788636422135-1, q-1788636387871-1, q-1788636441177-1, q-1788635898544-1, q-1788635887135-1, q-1788635913127-1, q-1788637166029-1].

    Accessed 2026-09-06
  295. OPS01-BP01 Evaluate external customer needs

    Supports specific documented claims in customer-discovery-accountable-decisions: Discover the decision, the people and the measurable outcome. Calculations and worked scenarios are original illustrative analysis.

    Accessed 2026-09-06
  296. Working Backwards to drive customer experience and SMB innovation forward

    Supports specific documented claims in customer-discovery-accountable-decisions: Discover the decision, the people and the measurable outcome. Calculations and worked scenarios are original illustrative analysis.

    Accessed 2026-09-06
  297. Cost Optimization Pillar — AWS Well-Architected Framework

    Supports specific documented claims in cost-engineering-finops-tco: Optimize the cost of an accepted business outcome. Calculations and worked scenarios are original illustrative analysis.

    Accessed 2026-09-06
  298. Cost and Usage Report (CUR) 2.0

    Supports specific documented claims in cost-engineering-finops-tco: Follow billing data into an auditable allocation model. Calculations and worked scenarios are original illustrative analysis.

    Accessed 2026-09-06
  299. Querying Cost and Usage Reports using Amazon Athena

    Supports specific documented claims in cost-engineering-finops-tco: Follow billing data into an auditable allocation model. Calculations and worked scenarios are original illustrative analysis.

    Accessed 2026-09-06
  300. Cost allocation tags — Best Practices for Tagging AWS Resources

    Supports specific documented claims in cost-engineering-finops-tco: Follow billing data into an auditable allocation model. Calculations and worked scenarios are original illustrative analysis.

    Accessed 2026-09-06
  301. Resource requirements — AWS Compute Optimizer

    Supports specific documented claims in cost-engineering-finops-tco: Rightsize from limiting resources and representative observations. Calculations and worked scenarios are original illustrative analysis.

    Accessed 2026-09-06
  302. Understanding how Savings Plans apply to your usage

    Supports specific documented claims in cost-engineering-finops-tco: Separate commitment coverage, utilization and capacity assurance. Calculations and worked scenarios are original illustrative analysis.

    Accessed 2026-09-06
  303. Compute Savings Plans and Reserved Instances

    Supports specific documented claims in cost-engineering-finops-tco: Separate commitment coverage, utilization and capacity assurance. Calculations and worked scenarios are original illustrative analysis.

    Accessed 2026-09-06
  304. Spot Instance interruption notices

    Supports specific documented claims in cost-engineering-finops-tco: Price interruption and checkpointing into the daily pipeline. Calculations and worked scenarios are original illustrative analysis.

    Accessed 2026-09-06
  305. Configure Lambda function memory

    Supports specific documented claims in cost-engineering-finops-tco: Rightsize from limiting resources and representative observations. Calculations and worked scenarios are original illustrative analysis.

    Accessed 2026-09-06
  306. Managing your costs with AWS Budgets

    Supports specific documented claims in cost-engineering-finops-tco: Preserve security and recovery while closing the savings loop. Calculations and worked scenarios are original illustrative analysis.; AWS Budgets term: configured budget tracking/alerts differ from an instantaneous universal spending cap.

    Accessed 2026-09-06
  307. Amazon EC2 instance network bandwidth

    Supports specific documented claims in performance-capacity-test-plans: Network capacity includes packet rate, flows and connection state. Calculations and worked scenarios are original illustrative analysis.

    Accessed 2026-09-06
  308. Monitor network performance for ENA settings on your EC2 instance

    Supports specific documented claims in performance-capacity-test-plans: Network capacity includes packet rate, flows and connection state. Calculations and worked scenarios are original illustrative analysis.

    Accessed 2026-09-06
  309. Amazon EBS General Purpose SSD volumes

    Supports specific documented claims in performance-capacity-test-plans: Storage performance is constrained by both volume and instance. Calculations and worked scenarios are original illustrative analysis.

    Accessed 2026-09-06
  310. Amazon EBS-optimized instance types

    Supports specific documented claims in performance-capacity-test-plans: Storage performance is constrained by both volume and instance. Calculations and worked scenarios are original illustrative analysis.

    Accessed 2026-09-06
  311. CloudWatch Database Insights

    Supports specific documented claims in performance-capacity-test-plans: Database limits feed back into application queues. Calculations and worked scenarios are original illustrative analysis.

    Accessed 2026-09-06
  312. OpenAPI Specification v3.1.1

    Supports specific documented claims in technical-writing-documentation-engineering: Make API specifications precise enough to test. Calculations and worked scenarios are original illustrative analysis.

    Accessed 2026-09-06
  313. About code owners — GitHub Docs

    Supports specific documented claims in technical-writing-documentation-engineering: Connect the pull request to generated and published documentation. Calculations and worked scenarios are original illustrative analysis.

    Accessed 2026-09-06
  314. OPS05-BP01 Use version control

    Supports specific documented claims in technical-writing-documentation-engineering: Connect the pull request to generated and published documentation. Calculations and worked scenarios are original illustrative analysis.

    Accessed 2026-09-06
  315. Durability options — Amazon ElastiCache

    Reconcile durable-sessions-authentication with elasticache-cache-correctness: synchronous acknowledgements, asynchronous loss window and eviction; authentication-failover questions.; ElastiCache durability and eviction entries: acknowledgement timing differs between synchronous and asynchronous writes; memory-pressure eviction remains a separate policy.

    Accessed 2026-09-06
  316. Amazon SNS message archiving, replay, and analytics

    Correct SNS technology decision and messaging-events-streams-idempotency: standard-topic export versus FIFO in-place archive and replay; queue resilience question q-1788637119607-1.

    Accessed 2026-09-06
  317. Amazon SNS message archiving for FIFO topic owners

    SNS FIFO ArchivePolicy, 1–365 day retention and archive availability in messaging-events-streams-idempotency and register.

    Accessed 2026-09-06
  318. Amazon SNS message replay for FIFO topic subscribers

    SNS ReplayPolicy timestamp range, replay identity, filtering and EndingPoint pause/resume caveat in messaging-events-streams-idempotency.

    Accessed 2026-09-06
  319. Histograms and summaries — Prometheus

    Correct p95 / p99 glossary warning for both equal and unequal populations and add worked aggregation counterexample to observability-slis-alerts.

    Accessed 2026-09-06
  320. Amazon announces two new Leadership Principles

    customer-obsession: historical note distinguishing the supplied older 14-principle poster from the current 16, naming the two additions announced in 2021.; Historical 14-versus-current-16 distinction in bias-for-action, strive-to-be-earths-best-employer and success-and-scale-bring-broad-responsibility; identifies the two additions. Not a source of assessment answers.

    Accessed 2026-09-06
  321. Interview preparation for data roles

    All eight guides: situation, task, action, result structure and focus on actual past behavior. The original evidence workshops adapt that structure; role-specific interview scheduling is not generalized and no official quiz key is inferred.

    Accessed 2026-09-06
  322. OPS05-BP01 Use version control

    ownership and insist-on-the-highest-standards: tracking versions of code and operational assets, applied to documentation-drift q-1788637455081-2. Same-change semantic review and publication checks are explicitly original teaching applications, not verbatim AWS requirements.

    Accessed 2026-09-06
  323. Customer Obsession — Andy Jassy explanation, official video transcript

    customer-obsession: Sustainable customer value and competitor awareness; original recovery and discovery applications linked to q-1788636625460-1 and q-1788636876551-1.

    Accessed 2026-09-06
  324. Ownership — Andy Jassy explanation, official video transcript

    ownership: Ensuring resolution ownership and a real handoff; applied to the limited colleague-assistance action q-1788636441177-1 and documentation-drift q-1788637455081-2.

    Accessed 2026-09-06
  325. Invent and Simplify — Andy Jassy explanation, official video transcript

    invent-and-simplify: Innovation through simplification and outside ideas; original applications to image startup q-1788635347056-1, release independence q-1788637455081-1, and usable documentation q-1788637001150-2.

    Accessed 2026-09-06
  326. Are Right, A Lot — Andy Jassy explanation, official video transcript

    are-right-a-lot: Judgment through differing evidence, not making one’s own idea win; original diagnostic and source-comparison applications q-1788636876551-2 and q-1788637001150-1.

    Accessed 2026-09-06
  327. Learn and Be Curious — Andy Jassy explanation, official video transcript

    learn-and-be-curious: Self-assessment and carrying out changes from learning; discussion context for unscored q-1788637515150-1, q-1788636876551-3, and q-1788637068875-1. No personality scoring rules are claimed.

    Accessed 2026-09-06
  328. Hire and Develop the Best — Andy Jassy explanation, official video transcript

    hire-and-develop-the-best: Maintaining selection standards and providing candid developmental coaching; explicitly indirect transfer exercises q-1788637001150-2, q-1788637455081-2, and q-1788636441177-1. No supplied question is presented as a hiring assessment.

    Accessed 2026-09-06
  329. Insist on the Highest Standards — Andy Jassy explanation, official video transcript

    insist-on-the-highest-standards: Modeling quality expectations so others can apply them; original documentation-review and acceptance-criteria exercises q-1788637455081-2, q-1788636639143-1, and q-1788637384204-1.

    Accessed 2026-09-06
  330. Think Big — Andy Jassy explanation, official video transcript

    think-big: Anticipating needs and setting ambitious direction; original staged-investment applications q-1788637384204-2, q-1788637455081-1, and q-1788635051888-1.

    Accessed 2026-09-06
  331. Interview Loop

    Official interview-method context: behavioral questions and STAR. All eight workshops and 64 prompts are original teaching material; the page does not supply keys for the photographed work-style or experience questions.

    Accessed 2026-09-06
  332. Bias for Action — Andy Jassy explanation, official video transcript

    bias-for-action: Reversible versus difficult-to-reverse decisions and speed/quality tension; original conditional application to regional restoration q-1788637166029-2 and outage impact q-1788637166029-3.

    Accessed 2026-09-06
  333. Frugality — Andy Jassy explanation, official video transcript

    frugality: Resourcefulness under constraints and avoiding spending/team-size status measures; original total-cost practice q-1788637305967-1, q-1788636459317-1 and q-1788636422135-1.

    Accessed 2026-09-06
  334. Earn Trust — Andy Jassy explanation, official video transcript

    earn-trust: Candid ownership, respectful challenge and follow-through rather than mere social comfort; original recovery-advice practice q-1788636625460-1 and q-1788636639143-1, audience communication q-1788637025530-1.

    Accessed 2026-09-06
  335. Dive Deep — Andy Jassy explanation, official video transcript

    dive-deep: Auditing detail and investigating anecdotes hidden by aggregates; original diagnosis practice q-1788635992678-1, q-1788635977313-1 and q-1788636753851-1.

    Accessed 2026-09-06
  336. Have Backbone; Disagree and Commit — Andy Jassy explanation, official video transcript

    have-backbone-disagree-and-commit: Truth-seeking challenge and whole commitment after a decision; original requirement challenge q-1788637212739-2, factual correction q-1788636639143-1 and execution q-1788637455081-2.

    Accessed 2026-09-06
  337. Deliver Results — Andy Jassy explanation, official video transcript

    deliver-results: Controllable inputs and continued iteration after launch; original acceptance/outcome practice q-1788637455081-2, q-1788636625460-1 and q-1788637305967-1.

    Accessed 2026-09-06
  338. Strive to be Earth's Best Employer — Andy Jassy explanation, official video transcript

    strive-to-be-earths-best-employer: Workplace improvement and employee development, without treating the aspiration as proof of achieved conditions; explicitly indirect exercises q-1788637455081-2 and q-1788636441177-1, truthful development reflection q-1788637068875-1.

    Accessed 2026-09-06
  339. Success and Scale Bring Broad Responsibility — Andy Jassy explanation, official video transcript

    success-and-scale-bring-broad-responsibility: Responsibility to surrounding communities and secondary effects; explicitly original indirect data-handling exercises q-1788637305967-3 and q-1788636225320-1, and cost-versus-environmental-evidence reflection q-1788637305967-1.

    Accessed 2026-09-06
  340. AWS services by category

    AWS, CLI and SDK terminology and the separation of service categories; customer-constraint selection framing in the technology register.

    Accessed 2026-09-06
  341. Domain Names: Implementation and Specification (RFC 1035)

    DNS, A record, CNAME, MX and TXT meanings; TTL cache lifetime and resolver/authority distinctions relevant to DNS migration questions.

    Accessed 2026-09-06
  342. FinOps Framework Overview

    FinOps definition and cross-functional accountability framing; unit-economics and cost-decision relevance synthesized for the guide's workload cases.

    Accessed 2026-09-06
  343. OpenID Connect Core 1.0 incorporating errata set 2

    OIDC versus OAuth 2.0 authentication/authorization distinction and identity-token validation relevance for durable session design.

    Accessed 2026-09-06
  344. Cross Site Request Forgery (CSRF) — OWASP

    CSRF versus XSS distinction and the limits of relying on browser-carried authentication as proof of user intent.

    Accessed 2026-09-06
  345. Compute — Overview of Amazon Web Services

    EC2, EC2 Auto Scaling, Image Builder, Fargate and Spot service-category boundaries; corresponding technology decision purposes, without promotional price claims.

    Accessed 2026-09-06
  346. Databases — Overview of Amazon Web Services

    Aurora and DynamoDB product-family distinctions and managed relational versus key-value/document purpose in the decision register.

    Accessed 2026-09-06
  347. AWS KMS keys

    KMS and envelope-encryption terminology and the separation between key authorization and bulk data encryption.

    Accessed 2026-09-06
  348. What is Amazon CloudWatch?

    CloudWatch term and technology purpose; runtime logs/metrics/alarms distinguished from CloudTrail activity attribution.

    Accessed 2026-09-06
  349. What is Amazon Elastic Block Store?

    EBS block-storage definition and technology decision; volume and instance performance/attachment constraints remain explicit.

    Accessed 2026-09-06
  350. What is Amazon Elastic File System?

    EFS managed NFS definition and shared-file technology choice; storage semantics remain separate from application compatibility.

    Accessed 2026-09-06
  351. What is Amazon Simple Queue Service?

    SQS and FIFO queue meanings and competing-consumer technology purpose; business idempotency is an application design requirement.

    Accessed 2026-09-06
  352. What is Amazon SNS?

    SNS fanout definition and technology selection versus competing-consumer queues and retained replay streams.

    Accessed 2026-09-06
  353. What is Amazon Kinesis Data Streams?

    Kinesis retained streaming and independent-consumer progress terminology; stream technology choice versus queue deletion semantics.

    Accessed 2026-09-06
  354. What is AWS Database Migration Service?

    DMS and CDC migration purpose; staged-copy/change-convergence framing for the DMS technology decision.

    Accessed 2026-09-06
  355. What are Savings Plans?

    Savings Plans term and technology entry: eligible-usage discounts in exchange for hourly commitment, separate from launch-capacity assurance.

    Accessed 2026-09-06
  356. The NIST Definition of Cloud Computing — SP 800-145

    Primary publication identity for IaaS, PaaS and SaaS service-model terminology; full definitions checked in the linked publication.

    Accessed 2026-09-06
  357. AWS Systems Manager Session Manager

    Session Manager technology selection, managed-node prerequisites and explicit absence of content logging for SSH and port-forwarding session types.

    Accessed 2026-09-06
  358. What is AWS Secrets Manager?

    Secret lifecycle and Secrets Manager technology purpose: managed storage/retrieval/rotation does not automatically coordinate every consumer or revoke all sessions.

    Accessed 2026-09-06
  359. What is AWS Backup?

    AWS Backup technology purpose and supported-resource protection-policy coordination; actual usable restore remains a separate verification step.

    Accessed 2026-09-06
  360. What Is Amazon EventBridge?

    EventBridge event routing term and technology distinction from queues, fanout and retained streams.

    Accessed 2026-09-06
  361. Metric (SI) Prefixes — NIST

    Decimal kilo/mega/giga prefixes in KB, MB and GB entries and the rate-unit comparisons.

    Accessed 2026-09-06
  362. FIDO Alliance Overview

    FIDO terminology and public-key, phishing-resistant authentication context for the stolen-password MFA question.

    Accessed 2026-09-06
  363. What is Amazon Relational Database Service?

    RDS managed relational-service definition and engine-specific responsibility boundaries in the technology register.

    Accessed 2026-09-06
  364. What is AWS Elastic Beanstalk?

    Elastic Beanstalk supported-platform deployment purpose and technology selection boundary.

    Accessed 2026-09-06
  365. Prefixes for binary multiples — NIST

    KiB, MiB and GiB binary multiples distinguished from decimal KB, MB and GB; bit/byte rate calculations.

    Accessed 2026-09-06
  366. The NIST Definition of Cloud Computing — full publication

    IaaS, PaaS and SaaS definitions: infrastructure control, provider-managed platform and consumption of provider-operated application capabilities.

    Accessed 2026-09-06
  367. Interview prep for technical roles — STAR method

    STAR expansion and structured behavioral evidence. Only the method is used; role-specific interview schedules are not generalized to the photographed assessment.

    Accessed 2026-09-06
  368. AWS Shield

    AWS Shield term: distributed denial-of-service protection distinguished from application vulnerability remediation.

    Accessed 2026-09-06
  369. What is Amazon OpenSearch Service?

    OpenSearch software/service distinction and search-index diagnostic relevance.

    Accessed 2026-09-06
  370. What is AWS Compute Optimizer?

    Compute Optimizer term: observed utilization informs supported resource recommendations, which require workload validation.

    Accessed 2026-09-06
  371. Analyzing log data with CloudWatch Logs Insights

    CloudWatch Logs Insights definition and bounded query-scope relevance to log-pipeline diagnosis.

    Accessed 2026-09-06
  372. REL13-BP01 Define recovery objectives for downtime and data loss

    Interactive recovery-budget example: RTO/RPO definitions, workload dependencies and business-driven recovery objectives. Calculations are explicitly original analysis.

    Accessed 2026-09-05
  373. Business Continuity Plan (BCP) — Disaster Recovery of Workloads on AWS

    Interactive recovery-budget example: distinction between downtime and recoverable data age, and the role of business constraints.

    Accessed 2026-09-05