Cloud Fundamentals
RecruitCode / policy labScenario sim

Storage Building Blocks

Choose storage interfaces and distinguish surviving data, reachable data, and recoverable data.

45 min 135 XPSkills: Storage selection, Recovery design, Object access control

Brief

At Halcyon Clinics, a scheduling database, a shared imaging folder, and an export archive all appear on one inventory as 'cloud disks'. During a storage outage, the archive retains every byte but cannot serve requests. The operations lead declares that the archive's eleven durability nines should have prevented the outage. Meanwhile, a shared export link exposes patient records without anyone stealing a password.

Your job is to separate interface, resilience, recovery, and access. A disk-like volume is not a shared folder; a surviving replica is not necessarily a clean historical copy; and encryption does not stop an authorised anonymous download. For each dataset, identify how applications use it, how much interruption and data loss the business tolerates, and which policy exports and restore tests prove those limits are met.

Ask four separate questions: how is data addressed, will it survive, can it be reached, and can a known-good state be restored?

Blocks, paths, and keys are different contracts

Block storage exposes numbered fixed-size units to a host. The host typically builds a filesystem on the volume; a database can update small pages without uploading an entire dataset. A 16 KiB database page may span four 4 KiB blocks. Attaching the same writable volume to two ordinary filesystems without cluster coordination risks corruption; a volume is not automatically a safe shared drive.

File storage exposes directories and filenames through a shared filesystem protocol. Multiple clients can open paths such as /imaging/visit-104/scan.dat, with permissions and locking defined by the service and protocol. Object storage instead addresses a complete object by a key, metadata, and sometimes a version identifier through an API. A slash in an object key usually creates a listing prefix, not a true directory. Ordinary object updates replace the object rather than modifying a disk sector; rename may require copy followed by delete.

Choose blocks for page-oriented database workloads, files for applications that require shared path and locking semantics, and objects for exports or large immutable media. For change-management evidence, keep the workload requirements and selected interface in the architecture record. An auditor should be able to ask why two writers cannot corrupt the database and receive an attachment or locking design, not merely a capacity screenshot.

Three parallel lanes show a database writing page 16 KiB to four numbered 4 KiB blocks, two clients opening a shared directory path through locking, and an export client sending a complete object to key exports/day-01 with metadata and version identifier.
The application contract determines whether blocks, shared paths, or object keys are appropriate.

Nines measure different failures

Durability concerns retaining data over a stated period; availability concerns successfully accessing the service under a defined measurement. A design target of 99.999999999% annual object durability does not promise eleven nines of uptime or that a particular object cannot be lost. Read the metric's unit, assumptions, exclusions, and population. A 99.9% time-based availability objective permits about 43.2 minutes unavailable in a 30-day month: 43,200 minutes multiplied by 0.001. At 99.99%, the same budget is 4.32 minutes. Request-based objectives instead count failed requests and cannot be converted directly into downtime.

Replication places copies in separate failure domains. Synchronous acknowledgement can wait for multiple copies, increasing write latency while reducing the acknowledged-write loss window. Asynchronous replication returns sooner but leaves a lag: if the remote copy is 90 seconds behind, losing the source can lose those recent writes. A second copy in the same failure domain does not survive that domain's destruction. Regional replication also requires residency approval and a tested route to the surviving copy; bytes existing elsewhere do not guarantee a usable application.

For continuity controls, document the recovery point objective (RPO: tolerable lost changes) and recovery time objective (RTO: tolerable restoration delay). Keep lag measurements, failure-domain topology, and timed failover results alongside the service commitment. The audit question is whether measured loss and interruption fit business requirements, not how many nines appear in marketing language.

A replica is not a clean recovery point

Replication can faithfully copy an accidental overwrite or malicious deletion. Versioning retains earlier object states; a delete may create a marker hiding the current view rather than removing every historical version. Recovery must locate the right version and restore or promote it. Versioning is not immutability: an identity with version-deletion privileges may still destroy the history unless a separately enforced retention control prevents it.

Snapshots capture a volume or filesystem state at a point in time, often by recording changed blocks relative to earlier data. A live snapshot may be crash-consistent, like recovering after power loss, rather than application-consistent. Quiesce writes or coordinate database checkpoints when required. A snapshot every six hours can lose nearly six hours of changes without additional logging. Verify dependencies and restore an isolated copy; a successful snapshot job alone does not prove a database will start or transactions reconcile.

Lifecycle rules transition or expire data based on age and scope. For example, move current exports to a colder tier at day 30 and expire at day 365 only if policy allows. Configure historical-version expiry separately: hiding the current key is not erasure of every version. Colder tiers can add retrieval delay and cost, so test them against RTO. Retention holds must override deletion where required. Evidence should include current and historical-version rules, hold status, and restored-file or database validation results with timestamps.

A timeline shows object version v1 at 09:00, v2 at 10:00, and a delete marker at 11:00. Replication arrows carry all three events to another location. A separate recovery arrow selects v1, while lifecycle arrows mark current-object transition and historical-version expiry as distinct actions.
Replication follows changes; historical versions and tested restore procedures provide an earlier state.

Private objects require effective access tests

Object access can depend on identity permissions, container policies, object-level grants, public-access guardrails, and explicit denials. Evaluate the combined rules for a specific principal, action, and resource; a private label on one screen is not proof. A public read grant can expose a patient export even when it is encrypted at rest. Separate list, read, write, delete, and historical-version permissions, and scope the export-reader identity to the required prefix rather than the whole container.

A time-limited signed URL delegates access to anyone possessing the URL until its validity ends or another enforced condition blocks it. It is not equivalent to requiring the recipient to sign in. Keep expiry short, prevent links from leaking through logs, and verify the exact operation and object authorised. Where public access is prohibited, enforce blocking controls and test an unsigned, unauthenticated read; do not treat an authenticated administrator's successful download as a privacy test.

For confidentiality and least-privilege evidence, preserve dated policy exports, principal inventories, access-decision logs, and positive and negative test results. A useful audit sample shows that the approved reader can fetch one permitted export, cannot fetch a neighbouring prefix, and an anonymous caller cannot fetch either. Add a historical-version test so recovery copies do not silently bypass the current object's access boundary.

Tasks

Answers are graded on the server: the answer key never reaches your browser.

Task 1: The shared disk proposal

Scenario sim+45 XP

Read the brief and answer both questions.

Incident brief

A database updates 16 KiB pages on a host-attached volume. A second application must let twelve staff clients open shared directory paths with coordinated locks. The architect calls both 'object folders' and proposes replacing both interfaces with whole-object uploads; neither application can be rewritten.

Term bank, not all of these are right

block storagefile storageobject storagereplication

1.1Which storage type matches the database's host-attached page-update interface? (two words)

1.2Which storage type matches the staff application's shared paths and locks? (two words)

Task 2: Eleven nines, failed reads

Scenario sim+45 XP

Read the brief and answer both questions.

Incident brief

Every stored object survives an incident, but users cannot retrieve them for 40 minutes. The manager reports a 'durability breach'. The contract actually specifies 99.9% time-based service uptime over a 30-day month, with no exclusions relevant here. Another engineer claims only 4.32 minutes are allowed.

Term bank, not all of these are right

availabilitydurability43.24.32

2.1Which property was interrupted when objects survived but reads failed? (one word)

2.2What is the allowed unavailable time in minutes for this monthly target? (a number)

Task 3: A perfectly replicated mistake

Scenario sim+45 XP

Read the brief and answer both questions.

Incident brief

An operator overwrites yesterday's export. The remote replica immediately contains the same bad content, so the lead calls it a 'backup restore'. Earlier object states would have solved the incident, but that feature was disabled. Separately, staff forget to move exports to a colder tier at age 30 days; the lead proposes scheduling volume snapshots to perform that transition.

Term bank, not all of these are right

versioningreplicationlifecycle rulessnapshots

3.1Which object feature should have retained the pre-overwrite state? (one word)

3.2Which mechanism should automatically transition exports based on age? (two words)

Labs

80 bonus XP

Hands-on work. You edit the artefact, the server runs the checks: the expectations and the reference solution never reach your browser.

Lab 1 · YAML lab

Specify a recoverable private export store

Briefing 40 XP

Halcyon Clinics exports complete daily files through an object API. The lead says a remote replica makes history unnecessary and encryption permits public downloads. Write a declarative storage plan, not a platform-specific deployment manifest.

Use the approved requirements below to choose the interface, protect anonymous access, retain earlier states, bound replication lag, and define both current and historical data lifecycles. Include an executable-in-spirit recovery test description identifying an isolated destination and content validation.

Approved export requirements

Interface: complete exports addressed by key through an API, no shared filesystem.
Access: block public access; only export-reader may read prefix clinical/exports/.
Recovery: retain earlier object states; asynchronous replication RPO no greater than 15 minutes.
Lifecycle: transition current exports at 30 days, expire current exports at 365 days.
Historical versions: expire 90 days after becoming noncurrent; no retention holds apply to this exercise.
Restore drill: restore an earlier version into an isolated location and compare its checksum to the approved manifest.

Checks

  • Select the interface required by the exporter
  • Block public access and scope the reader
  • Keep earlier object states
  • Bound asynchronous replication lag
  • Set current and historical age rules
  • Test isolated recovery and content integrity
Lab 2 · Review lab

Review six storage assurance claims

Briefing 40 XP

A storage owner submits six claims for audit sign-off. She says a surviving copy, an encrypted object, and a completed snapshot are all sufficient evidence of safe storage.

Accept only claims supported by the stated evidence. Reject each faulty claim with its root reason code; assess only the claim made, not unstated implementation details.

Verdicts are accept or reject. Every rejection needs one reason code from: metric-confusion | no-history | public-exposure | untested-recovery.

Storage assurance packet

CS-1 | Claim: the private export access boundary is tested. Evidence: approved reader reads its prefix, is denied a neighbouring prefix; unsigned anonymous reads are denied for both, including historical versions.
CS-2 | Claim: eleven nines of annual durability guarantees eleven nines of read uptime. Evidence: durability design target only.
CS-3 | Claim: the replica provides a pre-overwrite restore point. Evidence: overwrites synchronously replace both copies; no history or separate backup exists.
CS-4 | Claim: encryption at rest makes anonymous reads confidential. Evidence: public read policy allows anyone to download the plaintext through the service.
CS-5 | Claim: a completed live snapshot proves application recovery. Evidence: job success only; no quiescing, database restart, or transaction validation has been tested.
CS-6 | Claim: the cold-tier restore meets the four-hour RTO in the tested scenario. Evidence: timed isolated recovery including retrieval and database validation completed in 95 minutes.

Checks

  • Every line in the fixture carries a verdict
  • Accept and reject land on the right lines
  • Each rejection cites a valid reason code

Next on your path · Cloud Fundamentals

Cloud Networking

Trace cloud packet paths and turn subnet, routing, and filtering decisions into testable isolation controls.

Analyst 50 min 165 XP
Start next room

Community

Discussion & writeups

Sign in to post

Share how you approached the room or ask where you got stuck. Never paste task answers or full lab solutions: write the reasoning, not the key.

Loading discussion…