AWS 064: X86 and AWS Graviton processors
The problem
A team uses X86 and AWS Graviton processors as a label or Console setting without proving the identity, scope, behavior, failure boundary, cost, or operational result. The configuration appears complete but the real requirement remains untested.
Final outcome
The learner will inspect, explain, test, and document X86 and AWS Graviton processors. The submission must connect the Console and CLI view to the same AWS control, state what the evidence proves, diagnose one likely failure, and make a requirement-based architecture decision.
Learning outcomes
You will be able to:
- explain x86_64 and arm64 are different instruction architectures;
- explain graviton is an aws-designed processor family;
- explain source portability is not binary portability;
- explain container manifests can be multi-architecture;
- explain ami and instance architecture must match;
- distinguish successful configuration from successful workload behavior;
- preserve redacted evidence and complete the stated cleanup or retention decision.
Mental model
requirement
-> identity and permission
-> account, Region, and resource scope
-> configuration or request
-> observable state
-> workload result
-> failure evidence
-> cleanup or controlled retention
Never begin with a create button or a copied command. Start with the result that must be proven and the boundary that must remain protected.
Core facts
| Concept | What it means in practice |
|---|---|
| x86_64 and arm64 are different instruction architectures | Intel and AMD EC2 instances commonly use x86_64. AWS Graviton processors use arm64, so operating systems, native libraries, agents, and binaries must support ARM. |
| Graviton is an AWS-designed processor family | Current Graviton-based instance families target improved price performance and energy efficiency for supported workloads, but the exact result depends on application behavior. |
| Source portability is not binary portability | Interpreted or managed-language code may move easily, while native dependencies, JNI modules, compiled extensions, proprietary agents, and container base images may require ARM builds. |
| Container manifests can be multi-architecture | A single image tag can point to separate linux/amd64 and linux/arm64 images, letting the runtime pull the correct build for the node. |
| AMI and instance architecture must match | Use arm64 AMIs for Graviton and x86_64 AMIs for Intel or AMD types. Auto Scaling overrides must not select an incompatible type. |
| Benchmark the complete system | Compare throughput, latency, CPU, memory, network, storage, licensing, build effort, and cost under representative load, not an isolated synthetic claim. |
How to reason about it
A safe migration inventories dependencies, creates ARM build and test pipelines, publishes multi-architecture artifacts, runs functional and performance tests, validates monitoring and security agents, and gradually shifts traffic with rollback available.
Use the following decision table as a starting point, then change the answer when the scenario changes.
| Requirement | Preferred direction | Why |
|---|---|---|
| Open-source stateless service with portable build | Test a current Graviton family | The workload often migrates with manageable build changes and can improve price performance. |
| Vendor binary is x86-only | Remain on compatible Intel or AMD type | An ARM processor cannot execute an unsupported native binary directly. |
| One container tag must run on mixed nodes | Multi-architecture image index | Each node pulls its compatible amd64 or arm64 image. |
| Migration claim is based only on hourly price | Benchmark cost per business transaction | Lower price does not guarantee equivalent latency or throughput. |
Prerequisites, permissions, Region, and cost
Run this lesson as the approved non-root course identity. Begin with aws sts get-caller-identity, confirm the private account record, and set the fixed project Region before any regional query. IAM resources are global within an account, while STS endpoints and the services reached by an identity can be regional.
Use only the read or change actions required for this lesson. An AccessDenied result is evidence to analyse, not permission to switch to root or attach AdministratorAccess. Record the action, resource, principal type, request context, and smallest justified correction.
The listed cost tier is T0 - no resource creation. Free Tier eligibility and credits are account-specific. Before a mutating lab, identify every resource that can charge, estimate its duration, start a timer, and write the reverse cleanup order. A budget reports cost after billing data arrives and is not a real-time stop control.
AWS Management Console method
- Open EC2 Instance Types and filter Processor architecture to arm64, then compare a Graviton type with a similar x86 type.
- Open AMIs and confirm that the selected image architecture matches the instance type.
- For containers, inspect the image manifest in ECR and confirm that both linux/amd64 and linux/arm64 builds exist before mixed deployment.
For every step record the service page, selected account and Region, exact object, visible state, and why that state matters. A Console label or green status is not enough unless it is tied to the final workload outcome.
AWS CLI or API evidence
Compare the running instance architecture with its AMI and application packages.
uname -m
aws ec2 describe-images --image-ids ami-0123456789abcdef0 --query 'Images[0].Architecture'
aws ec2 describe-instance-types --instance-types m7g.large --query 'InstanceTypes[0].ProcessorInfo.SupportedArchitectures'
aarch64 corresponds to ARM64 and x86_64 to AMD64/x86-64. Every native dependency must have a compatible build.
Before running the command, replace every placeholder, explain each option, and decide whether the operation is read-only or mutating. Capture the exit code immediately. Redact account IDs, ARNs, public addresses, request identifiers, and personal data before sharing.
The CLI and Console are clients of AWS APIs. Matching state across them increases confidence, but neither substitutes for data-plane or application verification.
Practical work
Create p04-processor-compatibility.md. Compare x86_64 and arm64/Graviton for the project web server. Check AMI, package repository, native dependency, container image, agent, bootstrap script, performance test, and price. Retain x86_64 for the exact AWS 072 sample unless the instructor approves and records a complete arm64 substitution.
The evidence package must include:
- non-root principal type, account verified privately, and Region;
- exact intended and observed state;
- one Console observation and the matching CLI or API result;
- one successful result and one denied, failed, or counterexample result;
- what each result does not prove;
- cost state and elapsed lab time;
- cleanup evidence or a named retained-state owner and next lesson.
Verification standard
Use three levels of proof:
- Control plane: the object or policy exists with the intended configuration.
- Data plane or behavior: the request, packet, session, storage path, or application does what the requirement states.
- Operations: monitoring, failure diagnosis, cost, ownership, and cleanup are known.
A control-plane response can precede final readiness. Use waiters or state polling where supported, then test the actual behavior. If a request times out, do not assume it failed. Inspect state and use documented idempotency before retrying a mutation.
Troubleshooting method
| Symptom | Evidence first | Smallest safe response |
|---|---|---|
| command cannot authenticate | credential source, expiry, caller preflight | restore approved temporary login |
| access is denied | action, resource, principal, all policy layers | correct only the missing or conflicting control |
| object appears missing | account, Region, filters, pagination, permission | align scope before creating anything |
| configured state exists but behavior fails | route, identity, dependency, logs, service state | test the next boundary in the path |
| cleanup is blocked | dependency inventory and owning service | remove dependants in reviewed reverse order |
Keep the original symptom and timestamp. State one hypothesis, make one reversible change, repeat the original test, and record rollback. Never open a management port to the world, expose credentials, disable TLS verification, format an unknown disk, or add broad permissions as a generic fix.
Architecture and certification decisions
Professional-level questions provide competing valid features. Identify the requirement that decides between them: human or workload identity, same-account or cross-account access, regional or zonal scope, stateful or stateless filtering, durable or ephemeral data, latency, RTO/RPO, cost, or operational ownership.
Explain why the selected option fits and why each plausible alternative fails one stated requirement. Do not rely on feature memorization or reproduce protected certification questions.
Knowledge check
- Can an x86_64 AMI launch on m7g?
Expected direction: No. m7g is Graviton and needs an arm64 AMI.
- Does Java guarantee zero migration work?
Expected direction: No. The JVM may be portable, but native libraries, agents, images, and performance characteristics still require validation.
- What lets one container tag support both architectures?
Expected direction: A multi-architecture image index or manifest list referencing separate builds.
- What is the fairest cost comparison?
Expected direction: Cost per successful unit of work at the required latency and reliability.
Cost, cleanup, and retained state
Retain only the state explicitly required by the next P04 lesson and record it in the private resource ledger.
Cleanup evidence includes the final state query, not only a successful delete response. Search related resources, other Regions used by the lab, retained storage, public IPv4 addresses, logging destinations, and service-managed dependencies. Schedule a later billing review because cost data can lag.
Completion gate
Pass when the practical artifact explains the real problem, matches Console and CLI evidence, answers every knowledge check, diagnoses one failure without broadening access, records cost, and proves cleanup or approved retention. The learner must defend one decision orally and name the requirement that would change it.