Skip to main content

Infrastructure

Infrastructure as Code and platform best practices

3
Best Practices
3
Stacks
1
FAQs
23
Benchmarks

Best Practices

Terraform Module Design Patterns

Guidelines for writing reusable, versioned, and documented Terraform modules.

by HashiCorp

Immutable Infrastructure

An operations model where servers and components are never modified after deployment; changes ship as freshly built, versioned replacements rather than in-place edits.

by HashiCorp

Capacity Planning

Forecasting future demand and provisioning resources ahead of need, combining organic growth, launches, and headroom to avoid both outages and waste.

by Google SRE

Patterns

Sidecar Pattern

Deploy auxiliary components alongside primary services for cross-cutting concerns

Fail Safe

Designs a system so that when a component fails it falls into a safe, known default state rather than an unsafe or undefined one.

Heartbeat

Has a component emit periodic signals so observers can detect when it has failed or become unreachable within a bounded time.

Health Check

Exposes endpoints that report whether a service is alive and ready to serve, enabling orchestrators and load balancers to route traffic only to healthy instances.

Watchdog

An independent supervisor that monitors a system or process and takes corrective action — restart, alert, or failover — when it stops responding.

Tutorials

Setting Up a Local Kubernetes Cluster

Create a local Kubernetes development environment with kind or minikube

Infrastructure as Code with Terraform on AWS

Define and provision AWS infrastructure using Terraform

How to provision an AWS VPC with Terraform

Write Terraform configuration to create a VPC, subnets, and routing, then apply and destroy it safely.

How to write a reusable Terraform module

Package infrastructure into a Terraform module with variables and outputs so it can be reused across environments.

How to configure Terraform remote state with locking

Store Terraform state in a remote backend with state locking so a team can collaborate without corrupting state.

How to manage infrastructure with OpenTofu

Install OpenTofu and run the init, plan, and apply workflow as a drop-in, open-source alternative to Terraform.

How to provision cloud infrastructure with Pulumi

Define cloud resources in a general-purpose programming language using Pulumi and deploy them with up and destroy.

How to scan infrastructure-as-code for misconfigurations in CI

Add automated IaC security scanning to CI to catch insecure Terraform and Kubernetes configuration before it ships.

Checklists

Datacenter Exit Cutover Checklist

Plan and execute the final cutover and decommission steps when exiting an on-premises datacenter for the cloud.

Disaster Recovery Test Checklist

Plan and run a disaster-recovery test that proves backups, runbooks, and recovery objectives actually work end to end.

VM-to-Cloud Cutover Checklist

Execute a safe cutover when rehosting on-premises virtual machines to cloud compute with minimal downtime.

Terraform Module Review Checklist

Review a Terraform module for correctness, reusability, security, and maintainability before publishing it for shared use.

Infrastructure-as-Code Migration Readiness Checklist

Confirm you are ready to bring an existing manually managed cloud estate under infrastructure-as-code without disruption.

Infrastructure as Code Review Checklist

Review Terraform or equivalent IaC for security, modularity, state safety, and reproducibility before it provisions production.

Disaster Recovery Readiness Checklist

Confirm an organization can recover critical services and data within defined objectives after a major failure.

Technology Stacks

Cloud Native Stack

Kubernetes, Helm, Istio, Prometheus - CNCF ecosystem

HashiCorp Stack (Terraform + Vault + Consul + Nomad)

Cloud-agnostic infrastructure suite: Terraform provisions, Vault manages secrets, Consul handles service networking, and Nomad schedules workloads.

Vault + Consul

A HashiCorp infrastructure stack pairing Vault for secrets management and dynamic credentials with Consul for service discovery, configuration, and service mesh.

FAQs

What is infrastructure as code?

Infrastructure as code (IaC) is the practice of defining and provisioning infrastructure, such as servers, networks, and databases, through machine-readable configuration files rather than manual setup. Declarative tools like Terraform and AWS CloudFormation describe the desired end state, while imperative tools specify the steps to reach it. IaC makes infrastructure versionable, repeatable, reviewable, and testable, reducing configuration drift and manual error. It is a foundation of modern DevOps and reliable cloud operations.

Benchmarks

SPEC CPU 2017

Industry-standard CPU benchmark suite measuring integer and floating-point compute performance under realistic, compute-bound workloads.

CoreMark

Compact, portable CPU benchmark from EEMBC designed to measure embedded and microcontroller core performance with a single comparable number.

Dhrystone

Classic synthetic integer benchmark that produces DMIPS, a historical and still-cited measure of general-purpose integer CPU performance.

Whetstone

Historic synthetic floating-point benchmark measuring scientific-style arithmetic performance, reported in MWIPS (millions of Whetstone instructions per second).

STREAM

Simple, portable benchmark measuring sustainable main-memory bandwidth for large vector operations, the standard metric for memory-bound performance.

Geekbench

Cross-platform benchmark measuring single-core and multi-core CPU performance plus GPU compute, widely used to compare phones, laptops, and servers.

LINPACK / HPL

Dense linear-algebra benchmark solving a large system of equations to measure peak floating-point throughput; HPL ranks the TOP500 supercomputers.

fio Storage I/O Benchmark

Flexible I/O tester for measuring storage device and filesystem performance across configurable read/write patterns, block sizes, and queue depths.

Phoronix Test Suite

Open-source, cross-platform benchmarking framework that automates hundreds of real-world tests and aggregates results for reproducible comparison.

Cold-Start Latency Benchmark

Measures the added latency when a serverless function or container must initialize from scratch before serving its first request after being idle.

SPECpower_ssj2008

Benchmark measuring server energy efficiency by reporting performance per watt across graduated load levels from idle to peak.

SPEC OMP 2012

Benchmark suite measuring shared-memory parallel performance of OpenMP applications across scientific and engineering workloads.

HPCG

High Performance Conjugate Gradients benchmark measuring HPC system performance on memory-bound, sparse computations that mirror real applications.

HPL-AI / HPL-MxP

Mixed-precision LINPACK variant measuring supercomputer performance using low-precision arithmetic refined to full accuracy, reflecting AI hardware.

Graph500

Benchmark ranking supercomputers on data-intensive graph processing, measuring traversed edges per second instead of floating-point throughput.

GAP Benchmark Suite

Reference graph-algorithm benchmark suite providing optimized kernels and standard graphs to fairly compare graph-processing performance.

SPECviewperf

Standard benchmark measuring professional graphics-workstation performance running real CAD, visualization, and content-creation application viewsets.

3DMark

Cross-platform graphics benchmark suite measuring GPU and gaming performance through standardized rendering tests and synthetic feature tests.

Unigine Superposition

GPU stress and benchmark tool using a detailed real-time scene to measure graphics performance, stability, and thermal behavior.

PassMark PerformanceTest

Whole-system PC benchmark suite measuring CPU, memory, disk, 2D, and 3D performance and aggregating them into comparable component scores.

UnixBench

Classic Unix and Linux system benchmark measuring overall performance through CPU, process, file I/O, and system-call tests aggregated into an index.

sysbench CPU Benchmark

CPU test mode of the sysbench tool measuring processor throughput via prime-number computation across single and multiple threads.

stress-ng

Configurable stress-test and micro-benchmark tool that loads CPU, memory, I/O, and kernel subsystems through hundreds of targeted stressors.