What you will learn in Amazon Web Services in Action, Third Edition: An in-depth guide to AWS
An in-depth guide to AWS
Chapter by chapter
Chapter 4: Programming your infrastructure: The command line, SDKs, and CloudFormation
What you learn in chapter 4 →Chapter 13: Achieving high availability: Availability zones, autoscaling, and CloudWatch
What you learn in chapter 13 →Chapter 14: Decoupling your infrastructure: Elastic Load Balancing and Simple Queue Service
What you learn in chapter 14 →Chapter 15: Automating deployment: CodeDeploy, CloudFormation, and Packer
What you learn in chapter 15 →Chapter 18: Building modern architectures for the cloud: ECS, Fargate, and App Runner
What you learn in chapter 18 →Concepts explained in this book
- auto-scaling groupAn Auto Scaling group is an AWS-managed collection of compute instances that maintains configured capacity and replaces or adjusts instances according to policies.
- scalabilityScalability is the ability of a system or infrastructure to increase or decrease capacity to handle changing workload demands.
- virtual machineA virtual machine is a software-defined computer that runs an operating system and applications in an isolated virtualized environment.
- AWS CloudFormationAWS CloudFormation is an infrastructure-as-code service that provisions and manages AWS resources from declarative templates.
- Amazon Elastic Compute CloudAmazon Elastic Compute Cloud is an AWS service that provides resizable virtual servers on demand.
- EFS storageAmazon EFS is a managed elastic network file system that provides shared file storage accessible by multiple compute resources.
- Amazon SQSAmazon Simple Queue Service is a managed message-queuing service for storing and delivering messages between distributed components.
- AWS LambdaAWS Lambda is a serverless compute service that runs code in response to events without requiring server management.
- Amazon Relational Database Service (RDS)Amazon RDS is a managed AWS service for deploying and operating relational SQL databases.
- alertingA CloudWatch alarm is a monitoring rule that evaluates metrics against configured conditions and can initiate actions when those conditions are met.
- launch templateA launch template is an EC2 configuration specification containing the information required to launch instances, such as an instance type and an AMI.
- CloudFormation templateA CloudFormation template is a declarative JSON or YAML document that specifies AWS resources, their configuration, and their dependencies.
- availability zoneAn Availability Zone is an isolated location within an AWS Region containing one or more independent data centers.
- AWSAmazon Web Services is a cloud computing platform providing on-demand infrastructure and managed services through network-accessible interfaces.
- EBS volumeAmazon EBS is a block storage service that provides persistent virtual disks for compute instances.
- roleAn IAM role is an AWS identity with permissions that can be assumed by trusted entities such as services or processes.
- AWS Application Load BalancerAn application load balancer is an AWS load-balancing service that routes HTTP and HTTPS traffic based on application-level request attributes.
- uptimeHigh availability is the property of a system remaining operational with minimal interruption despite component failures.
- object storeAn object store is a storage system that manages data as objects identified by keys rather than as files in a hierarchical filesystem.
- AWS Elastic Load BalancingElastic Load Balancing is an AWS managed service that distributes incoming traffic across multiple targets and can remove unhealthy targets from service.
- client libraryA software development kit is a collection of programming libraries and supporting tools for building applications that use a particular platform or service.
- security groupAn AWS security group is a virtual firewall configuration that controls inbound and outbound traffic for associated resources.
- cachingA caching layer is a software layer that stores frequently accessed data in faster temporary storage to reduce access time and load on a primary data store.
- dataset splitSharding is the technique of partitioning a key-space or dataset across multiple nodes so each node stores a distinct portion.
- DynamoDBAmazon DynamoDB is a managed NoSQL database service providing low-latency access to scalable key-value and document data.
- RedisRedis is an in-memory data structure server that provides persistent and non-persistent key-value data storage and access.
- Amazon CloudWatchAmazon CloudWatch is a monitoring and observability service for metrics, logs, alarms, and events.
- asynchronous decouplingAsynchronous decoupling is an integration technique in which producers and consumers communicate indirectly through messages so they can operate independently in time.
- key-value storeA key-value store is a data store that associates unique keys with corresponding values rather than organizing data into relational tables.
- resilienceA fault-tolerant service continues providing its intended functionality despite failures in components or infrastructure.
- PackerPacker is an open-source tool for creating machine images from declarative templates across multiple platforms.
- MySQLA MySQL database is a relational database system that stores and queries structured data using SQL.
- autoscaling policyA scaling policy is a configuration that changes the desired capacity of an Auto Scaling group in response to a schedule or monitoring condition.
- primary keyA DynamoDB primary key is the attribute or combination of attributes that uniquely identifies an item in a table.
- endpointA service endpoint is a network-accessible address through which clients connect to a specific service or resource.
- AWS consoleThe AWS Management Console is a web-based graphical interface for managing AWS resources and services.
- VPCAmazon VPC is a logically isolated virtual network for resources in AWS.
- machine imageAn Amazon Machine Image is an EC2 image containing a read-only filesystem with an operating system, software, and configuration used to create virtual machines.
- replicationReplication is the technique of maintaining multiple synchronized copies of data or service state.
- retryA retry is a repeated attempt to perform an operation after an earlier attempt failed or its result is uncertain.
- in-memory databaseAn in-memory data store keeps data primarily in volatile memory to provide low-latency reads and writes.
- resource utilizationCPU utilization is the proportion of processor capacity consumed by a system or workload over a measurement interval.
- MemcachedMemcached is a distributed in-memory key-value caching system designed for storing transient application data.
- rolling updateA rolling update replaces instances or software versions incrementally while keeping enough of the existing deployment available to avoid service interruption.
- instance familyAn instance family is a grouping of EC2 instance types designed around a common hardware profile and workload characteristic.
- horizontal scalingHorizontal scaling is increasing or decreasing system capacity by adding or removing equivalent computing instances.
- partitioning keyA partition key is a DynamoDB primary-key attribute whose value determines an item's partition and can uniquely identify an item when no sort key exists.
- monitoringA log is an ordered record of events or messages generated by a software system or infrastructure component.
- load balancingLoad balancing is the distribution of requests or workloads across multiple computing resources to improve availability and performance.
- CloudFormation stackA CloudFormation stack is a managed collection of AWS resources created and updated as a unit from a template.
- subnetworkA subnet is a logical subdivision of an IP network with its own address range and routing boundary.
- health checkA health check is an automated test that determines whether a website or backend target is able to receive traffic and provide an expected response.
- IAM policyAn IAM policy is a document that defines permissions by allowing or denying actions on resources for AWS identities or principals.
- snapshotA data snapshot is a point-in-time copy of stored data that can be used to restore an earlier state.
- idempotencyAn idempotent operation produces the same effective result when performed multiple times as when performed once.
- CodeDeployAWS CodeDeploy is a deployment automation service that coordinates application revisions across compute environments.
- queueA FIFO queue is a message queue that preserves message order and provides duplicate-message detection.
- public ip addressA public IPv4 address is an IPv4 network address routable from the public internet and assigned to an internet-facing resource.
- EBS snapshotAn EBS snapshot is a point-in-time, block-level incremental backup of an EBS volume stored by Amazon EBS.
- serverA web server is software that receives and responds to requests for web resources or application content.
- target trackingA target-tracking scaling policy automatically adjusts capacity to keep a selected metric near a configured target value.
- sort keyA sort key is the optional key attribute that orders items sharing a DynamoDB partition-key value and contributes to their composite primary key.
- databaseA database system is software that manages persistent data storage, querying, and updates.
- AWS CLIAWS Command Line Interface is a tool for managing AWS services by entering commands in a terminal.
- elastic ip addressAn Elastic IP address is a static public IPv4 address allocated in AWS that can be associated with an EC2 instance.
- pay-per-use pricingA pay-per-request pricing model charges for individual database requests rather than for continuously provisioned capacity or instance time.
- autorecoveryAutorecovery is the automatic restoration of a failed compute instance or workload without human intervention.
- authorizationAuthorization is the process of determining whether an authenticated identity may perform a requested action on a resource.
- command-line interfaceA command-line interface is a text-based tool through which users interact with software by entering commands.
- instance store volumeAn instance store is temporary block storage physically attached to the host machine of an EC2 instance and lost when the instance stops or terminates.
- bucketA data bucket is a partition containing a subset of the data in a sharded cache.
- contractAn application programming interface is a defined interface through which software can programmatically interact with a service or system.
- ordered setA sorted set is a collection of unique members maintained in order according to an associated score or ordering value.
- write-through cachingWrite-through caching is a caching technique that writes updated data synchronously to both the cache and the primary data store.
- single point of failureA single point of failure is a component whose failure can cause a system or service to fail because no redundant component can take over.
- AWS FargateAWS Fargate is a serverless compute engine for running containers without managing the underlying servers.
- deployment artifactA deployment artifact is a packaged archive containing the code, scripts, configuration, and instructions required to release software.
- virtual applianceA virtual appliance is a virtual-machine image that contains an operating system and preconfigured software.
- access control listA network ACL is an ordered subnet-level rule set that allows or denies network traffic entering or leaving a virtual network subnet.
- workerA worker is a background process that consumes tasks or messages and performs processing independently of a request-serving process.
- redundancyRedundancy is the provision of multiple interchangeable components or paths so that failure of one does not interrupt service.
- asynchronous programmingAsynchronous processing is a technique in which work is performed independently of the operation that initiates it and completed later.
- ECSAmazon ECS is a managed AWS service for deploying and running containerized applications.
- declarative configurationA blueprint is a declarative infrastructure specification that describes resources and their configuration.
- file systemA filesystem is a data-management structure that organizes blocks into files and directories for operating-system access.
- WordPressWordPress is an open-source content management system for creating and serving websites and web applications.
- NFSNFS is a network file system protocol that allows clients to access files on remote servers as if they were local files.
- firewall ruleA firewall rule is a configuration statement that allows or blocks network traffic according to specified criteria.
- resource tagAn AWS tag is a key-value metadata label attached to a resource for identification, organization, or cost tracking.
- ObjectAn object is a unit of stored data consisting of content, metadata, and a unique identifier in an object store.
- authenticationAuthentication is the process of verifying the identity of a user, resource, or other entity requesting access.
- multi-az deploymentA Multi-AZ deployment with two standby instances is an RDS configuration that maintains two standby database instances across availability zones.
- visibility timeoutA visibility timeout is a queue setting that temporarily hides a received message from other consumers while it is being processed.
- AWS Systems ManagerAWS Systems Manager is a service for managing, monitoring, and accessing AWS and hybrid infrastructure.
- network interfaceA network interface is a virtual network attachment that provides an instance with network connectivity and associated IP addresses.
- NoSQL databaseA NoSQL database is a nonrelational database designed for data models and scaling approaches that do not depend on the traditional relational table model.
- Amazon ElastiCacheAmazon ElastiCache is a managed in-memory caching service supporting engines such as Redis and Memcached.
- load testingA load test is a controlled test that generates workload to evaluate system behavior under specified demand.
- infrastructure as codeInfrastructure as code is the practice of defining and provisioning computing infrastructure through machine-readable code or declarative configuration.
- backup and restoreA backup is a stored copy of data intended for recovery after data loss or corruption.
- primary nodeA primary node is the authoritative cache node that accepts data operations and provides the source state for replicas.
- eventual consistencyEventual consistency is a consistency model in which replicas or derived views may temporarily differ after a write but converge to the updated state.
- aws_iam_instance_profileAn IAM instance profile is an AWS container that associates an IAM role with an EC2 instance so applications can obtain AWS credentials.
- step scalingA step-scaling policy changes capacity by a configured adjustment when a CloudWatch alarm breaches a defined threshold range.
- cache clusterA cache cluster is a deployment of one or more coordinated cache nodes that provide in-memory data storage.
- principle of least privilegeLeast privilege is a security principle that grants an identity only the permissions required for its intended tasks.
- Node.jsNode.js is a runtime platform for executing JavaScript outside web browsers, commonly for server-side applications and tooling.
- user dataA user data script is an initialization script supplied to a compute instance for execution during startup.
- block storageBlock storage is a storage model that presents persistent data capacity as fixed-size blocks addressed by a computing system.
- software updateA security update is a software change released to remediate a security vulnerability.
- IAM userAn IAM user is a long-term AWS identity representing a person or application with configurable credentials and permissions.
- mount targetAn EFS mount target is a network endpoint that enables resources in a virtual network to mount an EFS filesystem.
- secondary indexA global secondary index is a DynamoDB index that can use a partition key different from the parent table's partition key and is maintained asynchronously with the table.
- storage classA storage class is a service-defined tier that determines the performance, availability, and pricing characteristics of stored data.
- RESTA REST API is a web API that exposes resources and operations through HTTP according to REST architectural constraints.
- AWS Identity and Access ManagementAWS Identity and Access Management is a service for controlling authentication and authorization to AWS resources.
- immutable serverAn immutable server is a server instance that is not modified after launch and is replaced with a newly built instance when changes are needed.
- failoverFailover is the process of transferring service responsibility from a failed or unavailable primary component to an available replacement.
- free tierA free tier is a provider-defined allowance of cloud resources available at no charge under specified eligibility and usage limits.
- DynamoDB itemA DynamoDB item is a record of attributes stored as a single entry in a DynamoDB table.
- CloudFormation parameterA CloudFormation parameter is a named input declared by a template whose value can be supplied during stack creation or update.
- performanceA metric is a quantitative measurement of system behavior, resource use, or performance over time.
- read replicationA read replica is a replicated database instance that serves read-only queries and can be promoted to primary in supported configurations.
- synchronous decouplingSynchronous decoupling separates request handling components while requiring the caller to wait for a response through an intermediary such as a load balancer.
- evictionAn eviction is the removal of a nonexpired cache item because the cache has reached its memory limit.
- system status metricAn EC2 system status metric records the results of AWS checks on the underlying host system of an instance.
- couplingDecoupling is the architectural separation of components so they communicate through an intermediary or interface rather than depending directly on each other.
- disaster recoveryDisaster recovery is the set of processes and capabilities for restoring systems and data after a disruptive failure or destructive event.
- Amazon LinuxAmazon Linux 2 is an AWS-provided Linux operating-system distribution.
- JavaScript runtimeA runtime environment is the software environment that provides the language runtime and execution support required by application code.
- database tableA database table is a relational data structure consisting of rows and columns that stores records of a defined schema.
- in-place upgradeAn in-place deployment updates software on existing target machines rather than replacing those machines.
- cloud regionAn AWS region is a geographically separate area containing AWS infrastructure and service endpoints.
- ECS serviceAn ECS service is an Amazon ECS resource that maintains a specified number of running tasks and can register them with load balancers.
- ECS task definitionAn ECS task definition is a configuration that specifies the containers, images, resource settings, environment variables, and networking required to run an ECS task.
- public-private key pairA key pair is a matching public key and private key used for asymmetric authentication to a system.
- Apache BenchApache Bench is a command-line HTTP benchmarking tool that sends configurable numbers of requests concurrently.
- ec2 instance poolAn EC2 instance pool is a collection of EC2 instances that jointly serve an application workload.
- node groupA replica group is a group of cache nodes containing one primary node and one or more replica nodes.
- data centerA data center is a facility containing computing, storage, networking, and related infrastructure for delivering digital services.
- AWS App RunnerAWS App Runner is a fully managed service for deploying web applications and APIs from source code or container images.
- rootThe AWS account root user is the identity created with an AWS account that has unrestricted access to that account.
- AppSpec fileAn AppSpec file is a CodeDeploy configuration file that specifies deployment instructions and lifecycle hooks.
- IOPSIOPS is the number of input/output operations that a storage system completes per second.
- API keyAn AWS access key is a credential consisting of an access key identifier and a secret access key for programmatic authentication.
- provisioned modeDynamoDB provisioned mode requires a table's read and write capacity to be configured in advance.
- dead letter queueA dead-letter queue is a queue that receives messages that exceed a configured number of unsuccessful processing attempts.
- durabilityDurability is the likelihood that stored data remains intact and recoverable over a specified period despite failures.
- immutable machineAn immutable machine is a deployment pattern in which a machine image is replaced rather than modified in place when software changes.
- queue depthQueue length is the number of messages waiting in a message queue at a given time.
- stateless systemA stateless server is a server that does not retain client or application state locally between requests, storing such state in external systems instead.
- throughputThroughput is the rate at which a storage service processes read or write operations, commonly measured per second.
- hypervisorSoftware that creates and manages virtual machines by isolating guests and scheduling their access to physical hardware.
- port numberA network port is a numbered logical endpoint that identifies a service or application protocol on a networked host.
- idempotent state machineAn idempotent state transition produces the same result whether it is performed once or repeatedly.
- bursting throughput modeBursting throughput mode is a storage-performance configuration that permits temporary throughput increases above a baseline when accumulated burst credits are available.
- general purpose ssdGeneral-purpose SSD storage is a storage configuration providing moderate baseline performance with the ability to burst.
- provisioned iops ssdProvisioned IOPS SSD is an EBS volume type that provides configurable high input/output operations per second using solid-state storage.
- AWS GlacierS3 Glacier Flexible Retrieval is an Amazon S3 archival storage class that provides low-cost storage with retrieval times ranging from minutes to hours.
- EC2 metadata serviceThe EC2 Instance Metadata Service is an instance-local HTTP service that provides metadata and planned-action information to an EC2 instance.
- cloud computingA cloud resource is an infrastructure component or service instance provisioned and managed in a cloud environment.
- platform as a serviceA platform as a service is a cloud service model that provides a managed platform for deploying and running applications without managing the underlying infrastructure.
- NAT gatewayA NAT gateway is a managed network gateway that enables resources in a private network to initiate connections to external networks through address translation.
- savings planAn AWS Savings Plan is a pricing commitment that provides discounted rates in exchange for a specified level of ongoing resource consumption over a term.
- cloud elasticityElasticity is the ability of a system to increase or decrease resource capacity in response to changing demand.
- spot instanceA Spot Instance is an EC2 instance purchased at a discount using AWS spare capacity that may be reclaimed when AWS needs the resources.
- static fileA static website is a website whose pages are served as preexisting files rather than generated dynamically for each request.
- environment variableAn environment variable is a named key-value setting made available to a running process through its execution environment.
- automationAutomation is the execution of operational or provisioning tasks by software rather than manually by a person.
- throughput modeA throughput mode is an EFS filesystem configuration that determines its maximum data-transfer rate and pricing behavior.
- EventBridgeAmazon EventBridge is an event bus service that routes events between AWS services, applications, and other event producers and consumers.
- ApacheApache is an open-source web server software project that serves web content and handles HTTP requests.
- declarative programmingA declarative approach specifies the desired state of a system without specifying the procedural actions or execution order needed to achieve it.
- target groupA target group is a collection of backend targets defined for routing requests through a load balancer.
- cache node typeAn ElastiCache cache node type is a predefined configuration specifying the compute, memory, and network capacity of a cache node.
- Redis clusterA Redis cluster is a distributed deployment of Redis nodes that partitions data across nodes and supports scalable operation.
- iaasInfrastructure as a service is a cloud service model that provides fundamental computing, storage, and networking resources for consumption on demand.
- Packer templateA Packer template is a declarative configuration that specifies how Packer should create a machine image.
- S3 Glacier Deep ArchiveS3 Glacier Deep Archive is an Amazon S3 storage class optimized for the lowest-cost long-term archival storage, with retrieval typically taking hours.
- object durabilityObject durability is the probability that stored objects remain intact and recoverable over a specified period.
- sync commandThe AWS CLI sync command synchronizes files between a local directory and an S3 location by transferring new or changed files.
- versionAn object version is a distinct stored revision of an object identified by the same object key.
- versioningVersioning is a bucket setting that preserves multiple revisions of objects stored under the same key.
- baseline throughputBaseline throughput is the sustained data-transfer rate an EFS filesystem receives without consuming burst credits.
- burst creditBurstCreditBalance is an Amazon CloudWatch metric representing the remaining burst-credit balance of an EFS filesystem.
- DynamoDB Query operationThe DynamoDB Query operation retrieves multiple items that share a partition-key value and can optionally apply sort-key conditions and post-query filters.
- universally unique identifierA UUID is a standardized 128-bit identifier designed to be unique across systems and generated without centralized coordination.
- multifactor authenticationMultifactor authentication is an authentication method that requires evidence from multiple independent credential factors.
- cloud-native architectureA cloud-native architecture is a system design that builds on cloud services, elastic resource management, and independently deployable application components.
- consistencyA strongly consistent read is a database read that returns the most recent successfully completed write for the requested data.
- stateA state is a distinct condition of a process in a state machine that determines which transitions are possible.
- network trafficNetwork traffic is the flow of data or requests transferred across a network.
- schedule expressionA schedule expression is a rate or cron-form specification that defines when a recurring task is triggered.
- managed serviceA managed service is a provider-operated capability in which the provider handles defined operational responsibilities for the underlying software and infrastructure.
- reliabilityReliability is the ability of a system to perform its intended functions consistently over time.
- AWS accountAn AWS account is an isolated customer account that contains AWS resources, billing information, and access identities.
- database instanceA database instance is a provisioned runtime deployment of a database engine with allocated compute, memory, and storage resources.
- data dumpA database dump is a file containing exported database structure and data in a form that can be restored or imported.
- database importDatabase import is the process of loading database structure and data from an external source into a target database.
- mysqldumpmysqldump is a MySQL command-line utility that exports databases into dump files and can support database transfer workflows.
- automated snapshotAn automated snapshot is a database snapshot created automatically by a managed database service according to a configured schedule and retention policy.
- CloudFormation outputA CloudFormation output is a template declaration that exposes a value derived from a provisioned resource or other template data.
- ExpressExpress is a Node.js web application framework for routing HTTP requests and composing middleware.
- optimistic lockingOptimistic locking is a concurrency-control technique in which an update succeeds only when the item's supplied version matches its current version.
- two-phase commitTwo-phase commit is a distributed transaction protocol that first obtains participant decisions and then instructs all participants to commit if every participant agrees.
- MemoryDBAmazon MemoryDB is a managed, durable, Redis-compatible in-memory database service that persists data using a distributed transaction log.
- containerA container is an isolated software execution environment that packages an application with its dependencies.
- shell provisionerA Packer provisioner that executes shell commands on a temporary build instance while creating an image.
- on-demand modelThe on-demand model provides computing resources or services when requested without requiring advance provisioning or long-term commitment.
- cache invalidationCache invalidation is the removal or marking of cached data as unusable when its underlying source has changed.
- spot fleet requestA Spot Fleet request is an EC2 request for a specified target capacity of Spot Instances selected from one or more instance types.
These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.
