---
title: "Infrastructure Patterns: IaC, Provisioning & Orchestration"
description: "Master infrastructure patterns: Infrastructure as Code, provisioning, configuration management, orchestration. Design scalable, maintainable infrastructure."
author: "Mohammad Abu Mattar"
canonical: https://mkabumattar.com/quizzes/post/infrastructure-patterns-quiz
---

# Infrastructure Patterns: IaC, Provisioning & Orchestration

Welcome to the Infrastructure Patterns Quiz! This quiz will test your knowledge of key concepts in infrastructure management, including Infrastructure as Code (IaC), provisioning, configuration management, orchestration, and disaster recovery. Each question is designed to challenge your understanding of how to design and maintain scalable, reliable infrastructure for modern applications. Whether you're new to infrastructure or looking to deepen your knowledge, this quiz is a great way to test your skills. Good luck!

## Questions

### 1. What is Infrastructure as Code (IaC)?

- **Defining and managing infrastructure using configuration files instead of manual hardware setups** ✅
  - IaC: Terraform, CloudFormation. Version controlled, repeatable, auditable.
- A specialized programming language used to develop low-level kernel drivers for cloud servers
  - IaC is a practice using tools, not a programming language itself.
- A proprietary cloud feature that restricts infrastructure management to a single provider console
  - IaC is a broad practice applicable to multi-cloud and on-prem environments.
- The manual process of documenting hardware changes in a version-controlled text document
  - IaC involves automated execution of code, not just manual documentation.

**Hint:** Think about defining infrastructure in code files.

### 2. What is Terraform?

- **An open-source IaC tool that manages multi-cloud resources using declarative configuration** ✅
  - Terraform: AWS, Azure, GCP, etc. HCL language. State management. Popular for infrastructure.
- A specialized AWS service designed to manage internal security groups and IAM permissions
  - Terraform is provider-agnostic and managed by HashiCorp, not AWS.
- A public cloud provider that offers managed virtual machines and serverless compute functions
  - Terraform is a tool used to interact with cloud providers, not a provider itself.
- A real-time monitoring agent installed on servers to track hardware performance and logs
  - Terraform handles provisioning, while monitoring is handled by tools like Prometheus.

**Hint:** Think about tool-agnostic IaC.

### 3. What is provisioning?

- **The process of allocating and setting up infrastructure resources like servers and networks** ✅
  - Provisioning: creating resources. Manual or automated (IaC).
- The continuous deployment of application source code to a running production environment
  - That's application deployment; provisioning focuses on the underlying infrastructure.
- The act of updating internal software versions and security patches on existing servers
  - Provisioning is about creation; software updates are part of configuration management.
- A manual-only technique for configuring local hardware devices without network connectivity
  - Provisioning is frequently automated in modern cloud environments.

**Hint:** Think about setting up infrastructure.

### 4. What is configuration management?

- **Using tools like Ansible or Chef to maintain consistent software states across multiple servers** ✅
  - Config management: idempotent, versioned, repeatable. Apply same config to many servers.
- The initial act of creating virtual machine instances and virtual private clouds (VPCs)
  - Initial creation is provisioning; managing the state thereafter is configuration management.
- A development-only practice for tracking local environment variables in a .env file
  - Configuration management is used across all environments, including production at scale.
- A specialized hardware process that requires a physical restart for every minor change
  - Most configuration management tools can apply changes without requiring a system reboot.

**Hint:** Think about maintaining consistent server state.

### 5. What is Ansible?

- **An agentless configuration tool that uses SSH and YAML playbooks to manage server state** ✅
  - Ansible: simple, no agent needed. Playbooks: YAML files. Idempotent.
- A proprietary AWS dashboard used for horizontal scaling and automated instance recovery
  - Ansible is a third-party open-source tool, not a proprietary AWS service.
- A configuration management tool that requires a persistent agent to be installed on all servers
  - Ansible is famous for being agentless, unlike tools like Chef or Puppet.
- A low-level compiled programming language used to build high-performance web servers
  - Ansible is a configuration management tool that primarily uses YAML for its logic.

**Hint:** Think about agentless configuration management.

### 6. What is container orchestration?

- **The automated coordination of container deployment, scaling, networking, and availability** ✅
  - Kubernetes, Docker Swarm. Schedule containers, manage resources, self-heal.
- The manual process of organizing source code into modular folders for better readability
  - Orchestration refers to infrastructure runtime management, not code organization.
- A Docker-specific feature that prevents containers from communicating across networks
  - Orchestration actually enables and manages container networking and communication.
- A set of manual commands used to restart individual containers when they stop responding
  - Orchestration is inherently automated to avoid manual intervention at scale.

**Hint:** Think about managing many containers.

### 7. What is a load balancer?

- **A service that distributes incoming network traffic across a group of backend servers** ✅
  - Load balancer: improves availability, scalability. Health checks, algorithms.
- A database clustering technique used to synchronize data across multiple physical disks
  - A load balancer operates at the network layer, not the database storage layer.
- A tool used exclusively for high-traffic applications that have exceeded server limits
  - Load balancers are useful even for small apps to provide health checks and failover.
- A network device that adds intentional latency to prevent servers from being overwhelmed
  - Load balancers aim to optimize traffic, not intentionally slow it down.

**Hint:** Think about distributing traffic.

### 8. What is auto-scaling?

- **Dynamically adjusting the number of active computing resources based on real-time demand** ✅
  - Metrics: CPU, memory, requests. Scale out (add) or in (remove) based on thresholds.
- Increasing the lines of code in an application to handle more complex business logic
  - Auto-scaling refers to infrastructure resources, not the volume of application code.
- A manual adjustment of server RAM and CPU performed by an administrator during peak hours
  - Auto-scaling is an automated process triggered by predefined system metrics.
- A cloud feature that only allows infrastructure to expand upward but never contract
  - Auto-scaling includes "scaling in" to reduce resources and costs when demand drops.

**Hint:** Think about automatically adding/removing resources.

### 9. What is high availability?

- **Designing a system to remain operational and accessible even during component failures** ✅
  - High availability: redundancy, failover, distributed. Measured in uptime %.
- Optimizing application code to ensure the fastest possible performance for all users
  - Fast performance is "low latency"; high availability refers to uptime and reliability.
- A metric that measures the total storage capacity available in a primary database
  - Availability is about time-based uptime, not the volume of data storage.
- A hardware-specific requirement that necessitates the use of expensive enterprise servers
  - High availability is a design strategy that can be achieved using standard cloud resources.

**Hint:** Think about minimizing downtime.

### 10. What is disaster recovery?

- **A documented set of procedures for restoring infrastructure after a catastrophic event** ✅
  - DR plan: RTO (recovery time), RPO (recovery point). Backups, redundancy, testing.
- The practice of preventing any hardware or software failures from ever occurring
  - Disaster recovery assumes failures will happen and focuses on the restoration process.
- A simple backup strategy that only involves copying database files to a local drive
  - DR is a comprehensive plan including networking, failover, and RTO/RPO targets.
- A regulatory requirement that only applies to large financial or medical corporations
  - While critical for regulated industries, DR is a best practice for all digital systems.

**Hint:** Think about recovering from catastrophic failure.

### 11. What is RTO (Recovery Time Objective)?

- **The maximum acceptable duration of time that a system can be down after a failure** ✅
  - RTO: 4 hours means must recover within 4 hours. Affects cost and complexity.
- The minimum amount of time required for an engineer to begin the recovery process
  - RTO defines the target for full service restoration, not the start time of the work.
- The average time it takes for a cloud provider to replace a failed physical server
  - RTO is a business-defined target metric, not an average hardware statistic.
- The measurement of how much data was lost during a specific catastrophic failure
  - Data loss is measured by RPO; RTO specifically measures the time elapsed.

**Hint:** Think about maximum acceptable downtime.

### 12. What is RPO (Recovery Point Objective)?

- **The maximum acceptable amount of data loss measured in time from a failure event** ✅
  - RPO: 15 minutes means must have backup within 15 min. Affects backup frequency.
- The total number of recovery points created during a single calendar month
  - RPO is a target for maximum data loss, not a count of backup operations.
- The specific technical process used to restore a database to a previous state
  - RPO is a business metric, whereas the restoration is a technical procedure.
- The time-based goal for how long it takes to bring a server back online
  - The time-to-online goal is RTO; RPO is focused on data integrity and age.

**Hint:** Think about maximum acceptable data loss.

### 13. What is a CDN (Content Delivery Network)?

- **A distributed network of proxy servers that cache content closer to end users** ✅
  - CDN: Cloudflare, Akamai. Reduces latency, improves availability.
- A centralized database system used for storing large volumes of unstructured data
  - A CDN is for content distribution, not primary data storage or processing.
- A specialized security protocol used to encrypt data between two backend servers
  - While CDNs provide security, their primary role is content delivery and caching.
- A local area network designed to improve the speed of internal office applications
  - CDNs are global networks designed for public internet content delivery.

**Hint:** Think about caching content geographically.

### 14. What is the difference between vertical and horizontal scaling?

- **Vertical adds power to one node; horizontal adds more nodes to the system** ✅
  - Vertical scaling: easier, single point of failure. Horizontal: better availability, complexity.
- Vertical scales the database layer; horizontal scales the web application layer
  - Both layers can be scaled either vertically (bigger) or horizontally (more).
- Vertical scaling is always more cost-effective than horizontal scaling at scale
  - Horizontal scaling is often more cost-effective as it uses commodity hardware.
- Vertical refers to software updates; horizontal refers to hardware replacements
  - Both terms refer specifically to how infrastructure capacity is increased.

**Hint:** Think about adding resources to one server vs. many.

### 15. What is a reverse proxy?

- **A server that intercepts client requests and forwards them to one or more backends** ✅
  - Reverse proxy: load balancing, caching, security. Nginx, HAProxy common.
- A client-side tool used to bypass firewall restrictions and access blocked websites
  - That is closer to a VPN or a forward proxy, not a reverse proxy.
- A mandatory hardware device required to connect any server to the public internet
  - A reverse proxy is a software-based choice, not a physical connectivity requirement.
- A specialized database layer that caches query results for large-scale applications
  - Caching query results is the job of tools like Redis, not a reverse proxy.

**Hint:** Think about hiding backend servers.

### 16. What is Docker?

- **A platform that uses OS-level virtualization to deliver software in isolated packages** ✅
  - Docker: images, containers. Lightweight VMs. Dockerfile defines image. Container isolation.
- A hardware hypervisor used to run multiple full operating systems on one server
  - Docker uses containerization, which is lighter than traditional hypervisor virtualization.
- A specialized cloud provider that only hosts JavaScript-based microservices
  - Docker is a tool that runs on any infrastructure and supports almost any language.
- A deployment script that replaces the need for configuration management tools
  - Docker manages packaging, but config management is still used for the host OS.

**Hint:** Think about containerization and application isolation.

### 17. What is a Docker image?

- **A lightweight, standalone, executable package that includes everything to run software** ✅
  - Docker image: built from Dockerfile. Reusable, versioned.
- A live, running instance of an application that is currently processing user data
  - The running instance is called a container; the image is the static template.
- A compressed backup of a physical server used for disaster recovery purposes
  - Docker images are application-level blueprints, not full server disk backups.
- A graphical user interface used to manage and monitor containers on a local machine
  - An image is a non-graphical template; the GUI would be a tool like Docker Desktop.

**Hint:** Think about blueprint for containers.

### 18. What is Kubernetes?

- **An open-source system for automating deployment, scaling, and management of containers** ✅
  - Kubernetes: pods, services, deployments. Self-healing, load balancing, rolling updates.
- A containerization engine that serves as a direct replacement for the Docker runtime
  - Kubernetes orchestrates containers; it often uses Docker (or containerd) as the runtime.
- A proprietary cloud service that only functions within the Google Cloud Platform
  - While created by Google, Kubernetes is open-source and runs on all major clouds.
- A configuration management tool used to install software directly on bare-metal OS
  - Kubernetes manages containerized workloads, not direct bare-metal software installs.

**Hint:** Think about orchestrating containers at scale.

### 19. What is a pod in Kubernetes?

- **The smallest deployable unit in Kubernetes, consisting of one or more containers** ✅
  - Pods: ephemeral, often single container. Share networking.
- A specialized storage volume used to persist data when a container is restarted
  - Storage is handled by PersistentVolumes; a pod is a compute execution unit.
- A physical server node that belongs to a larger managed Kubernetes cluster
  - A server is a "Node"; a Pod is a logical grouping of containers running on a Node.
- A network security group that controls traffic between different microservices
  - Network traffic is controlled by NetworkPolicies, not the pods themselves.

**Hint:** Think about smallest deployable unit.

### 20. What is immutable infrastructure?

- **A pattern where servers are replaced rather than modified when changes are required** ✅
  - Immutable: deploy new image/infrastructure for any change. Predictable, reliable, easier rollback.
- A security setting that prevents any users from logging into a production server
  - Immutability refers to the update pattern of the infrastructure, not login access.
- A database configuration that prevents existing records from being updated or deleted
  - Immutable infrastructure refers to the compute/network layer, not database records.
- An infrastructure design that only supports containerized applications and services
  - Immutable patterns can be applied to Virtual Machines as well as containers.

**Hint:** Think about never modifying running servers.

### 21. What is blue-green deployment?

- **A release model that uses two identical environments to ensure zero-downtime updates** ✅
  - Blue-green: instant rollback possible. Both running simultaneously. Switch load balancer.
- A technique for gradually shifting traffic to a small percentage of users for testing
  - Shifting small percentages is called a Canary deployment, not Blue-Green.
- A coding standard that uses different environments for frontend and backend tasks
  - Blue-Green refers to the deployment strategy for a single application or service.
- An automated testing process that only runs when the server is in a standby state
  - Blue-Green is a traffic-switching deployment strategy, not a testing phase.

**Hint:** Think about zero-downtime deployments with two environments.

### 22. What is canary deployment?

- **Rolling out a change to a small subset of users before deploying to the entire fleet** ✅
  - Canary: 5% of users → 25% → 100%. Detects issues early. Safer than big bang.
- An instant switch between two identical production environments for fast rollbacks
  - An instant switch is the Blue-Green deployment model.
- A specialized security test performed by third-party auditors on live production systems
  - Canary is a deployment strategy, not a specific type of security audit.
- A method for deploying multiple versions of an API that are all active at once
  - While multiple versions are active, the goal is gradual rollout, not permanent co-existence.

**Hint:** Think about gradual rollout to subset of users.

### 23. What is GitOps?

- **A practice using Git repositories as the single source of truth for infrastructure** ✅
  - GitOps: changes via Git commits, not manual commands. Declarative, auditable, rollback-friendly.
- A standardized workflow for developers to commit code to a shared repository
  - That is just standard Version Control; GitOps specifically applies this to operations.
- A cloud-based tool that automatically generates Git repositories for new projects
  - GitOps is a methodology and pattern, not a specific software tool or product.
- A deployment strategy that only works with Kubernetes and containerized applications
  - While popular with Kubernetes, GitOps can be applied to any declarative infrastructure.

**Hint:** Think about Git as source of truth for infrastructure.

### 24. What is a service mesh?

- **An infrastructure layer for handling service-to-service communication and security** ✅
  - Service mesh: traffic management, security, observability. Sidecars (Envoy) in each pod.
- A physical network topology that connects every server to every other server node
  - A service mesh is a logical software layer, not a physical hardware mesh.
- A mandatory component for any application moving from a monolith to microservices
  - A service mesh is optional and often only added when communication complexity is high.
- A load balancing tool used to distribute public internet traffic to a web server
  - A service mesh handles internal "East-West" traffic, not public "North-South" traffic.

**Hint:** Think about managing service-to-service communication.

### 25. What is infrastructure monitoring?

- **The process of collecting and analyzing metrics to ensure infrastructure health** ✅
  - Monitoring: CPU, memory, disk, network, errors. Alerts on thresholds. Spot issues early.
- A software licensing check performed to ensure all cloud resources are authorized
  - Monitoring refers to performance and health metrics, not legal or license compliance.
- A feature that only functions when applications are deployed to public cloud providers
  - Monitoring is essential and available for on-prem, hybrid, and cloud environments.
- The act of manually reviewing server log files once per week for security threats
  - Modern monitoring is an automated, real-time process, not a manual weekly review.

**Hint:** Think about observing infrastructure health and performance.

### 26. What is infrastructure security?

- **Using firewalls, encryption, and access controls to protect the underlying system** ✅
  - Infrastructure security: principle of least privilege, security groups, encryption in transit/at rest.
- The process of ensuring all application developers use strong personal passwords
  - This is a small part of Identity Management, not full infrastructure security.
- A specialized task that is handled exclusively by the cloud provider's internal team
  - Under the Shared Responsibility Model, users are responsible for securing their own infrastructure.
- A security layer that prevents any external traffic from reaching the internal network
  - Security involves controlled, authorized access, not blocking all external traffic.

**Hint:** Think about protecting infrastructure from attacks.

### 27. What is Terraform state?

- **A metadata file that tracks the relationship between your code and real resources** ✅
  - Terraform state: maps resources to code. Remote state (AWS S3, Terraform Cloud) for teams. Lock prevents conflicts.
- A real-time dashboard that shows the current CPU and RAM usage of all servers
  - Terraform state is a data file about structure, not a performance monitoring dashboard.
- A local-only file that must never be shared or stored in a remote cloud bucket
  - Remote state storage is a best practice for teams to ensure consistency and locking.
- A temporary log file that is automatically deleted after every successful deployment
  - The state file must persist to allow Terraform to track and update resources later.

**Hint:** Think about tracking deployed infrastructure.

### 28. What is infrastructure as environment (IaE)?

- **A pattern of using IaC to create consistent, reproducible application environments** ✅
  - IaE: reproducible, eliminates "works on my machine" problems. Same code deploys everywhere.
- A method for managing environment variables within a single application instance
  - IaE refers to the entire infrastructure stack, not just application-level variables.
- A specialized testing environment used exclusively for verifying database migrations
  - IaE applies to dev, staging, and production environments across the entire stack.
- A manual process for configuring local servers to match a production cloud setup
  - IaE relies on automated Infrastructure as Code to ensure environments match exactly.

**Hint:** Think about consistent environments via infrastructure code.

### 29. What is infrastructure cost optimization?

- **A set of practices to reduce cloud spending by right-sizing and removing waste** ✅
  - Cost optimization: unused resources, over-provisioned instances, auto-scaling inefficiency. Reserved instances save 40-70%.
- The act of always selecting the lowest-cost hardware regardless of performance
  - Optimization balances cost with the required performance and availability levels.
- A one-time activity performed at the start of a project to set the initial budget
  - Cost optimization is a continuous lifecycle process in modern cloud operations.
- A strategy to reduce costs by removing essential security and monitoring features
  - Optimization focuses on efficiency and waste, not compromising security or reliability.

**Hint:** Think about reducing cloud spending.

### 30. What is infrastructure testing and validation?

- **Automatically verifying that infrastructure code meets functional and security goals** ✅
  - Infrastructure testing: unit tests (code), integration tests (live), compliance checks. Catch errors early.
- A manual walk-through of the cloud console to check for any visible error messages
  - Modern infrastructure testing is automated using tools like Terratest or InSpec.
- A testing phase that only occurs after an application has been fully deployed
  - Validation should happen during development and in staging before production deployment.
- An optional process that is only required for high-risk financial applications
  - Infrastructure testing is a standard DevOps best practice for all scalable systems.

**Hint:** Think about verifying infrastructure code before deployment.
