Command Palette

Search for a command to run...

Hectal

Guide G10 · DevOps path

The Tooling Landscape: Alternatives and the Multi-Cloud Map

The courses teach one main tool per job. This guide maps the alternatives you'll meet in job descriptions (OpenTofu, Pulumi, CDK/CloudFormation, Terragrunt, Atlantis; Tekton, Argo Workflows, Spinnaker, Azure DevOps; Podman, Buildah, Kaniko) and translates AWS services to Azure and GCP.

Intermediate 35 min

Start here

The mental model

Tools change every few years; the jobs they do don't. Once you understand the JOB (define infrastructure as code, run a pipeline, build an image, reconcile a cluster from Git), learning another tool for the same job takes days, not months. This guide is a translation table: when a job ad or a new team uses a tool you haven't seen, find its job here and map it to what you already know.

Go deeper

How it works inside

01Infrastructure as code

TERRAFORM (HCL, huge provider ecosystem, BSL licence since 2023) and OPENTOFU (the open-source fork under the Linux Foundation, drop-in compatible, with extras like state encryption) are the default. CLOUDFORMATION is AWS-native YAML/JSON with no state file to manage (AWS keeps it), and AWS CDK generates CloudFormation from TypeScript/Python/Java. PULUMI uses general-purpose languages (TypeScript, Python, Go, Java) against its own state, attractive to developer-heavy teams. Crossplane does IaC as Kubernetes controllers (Platform course, Stage 2).

Around Terraform: TERRAGRUNT keeps many environments DRY (shared backend config, dependencies between stacks); ATLANTIS, Spacelift, env0, and HCP Terraform run plans and applies from pull requests with locking and policy. Your Terraform course CI pipeline (Stage 7) is the do-it-yourself version of the same idea.

02CI/CD engines

GITHUB ACTIONS, GITLAB CI, and JENKINS are covered in the CI/CD course. Others you'll meet: AZURE DEVOPS PIPELINES (common in Microsoft shops; YAML stages and jobs, same concepts), CIRCLECI and BUILDKITE (hosted orchestration, self-hosted agents), TEKTON (Kubernetes-native CI with Tasks and Pipelines as CRDs), ARGO WORKFLOWS (DAGs of containers on Kubernetes, used for CI and data/ML pipelines), SPINNAKER (multi-cloud continuous delivery with deployment strategies, largely superseded by GitOps plus Argo Rollouts for new setups), and AWS CODEPIPELINE/CODEBUILD. Every one of them is a way to express 'trigger → stages → jobs → steps', with secrets and artifacts.

03Containers and clusters

PODMAN is a daemonless, rootless Docker-compatible CLI (alias docker=podman mostly works) and the default on RHEL; BUILDAH builds OCI images without a daemon; KANIKO and BuildKit build images inside Kubernetes or CI without privileged Docker-in-Docker (Docker course, Docker in CI/CD). Kubernetes distributions: EKS, AKS, GKE (managed), OPENSHIFT (Red Hat's enterprise platform with built-in builds, routes, and stricter security defaults), Rancher/RKE2, k3s (lightweight, edge), and kind/minikube (local). Nomad (HashiCorp) is a simpler scheduler alternative to Kubernetes.

04Observability, security, and GitOps alternatives

Observability: Datadog, New Relic, Dynatrace, and Elastic Observability are commercial all-in-ones; Grafana Cloud hosts the open-source stack; Victoria Metrics, Mimir, and Thanos scale Prometheus. Security scanning: Snyk, Prisma Cloud, Wiz, Aqua (commercial) alongside Trivy, Grype, Semgrep, and Checkov (open source). GitOps: Argo CD and Flux (GitOps course). Secrets: Vault/OpenBao, cloud secret managers, Doppler, Infisical (Guide G8).

Do it

Hands-on lab

  1. 1

    The same S3 bucket in three IaC tools

    Seeing one resource in several tools makes the shared concepts obvious: resource type, properties, and outputs.

    bucket-three-ways.txtwhole filetext
    # Terraform / OpenTofu (HCL)
    resource "aws_s3_bucket" "uploads" {
      bucket = "shoplite-uploads-dev"
      tags   = { owner = "team-storefront" }
    }
    
    # AWS CloudFormation (YAML)
    Resources:
      Uploads:
        Type: AWS::S3::Bucket
        Properties:
          BucketName: shoplite-uploads-dev
          Tags: [{ Key: owner, Value: team-storefront }]
    
    # Pulumi (TypeScript)
    import * as aws from "@pulumi/aws";
    const uploads = new aws.s3.Bucket("uploads", {
      bucket: "shoplite-uploads-dev",
      tags: { owner: "team-storefront" },
    });
  2. 2

    Switch Terraform to OpenTofu

    For most projects, OpenTofu reads the same code and state. Test on a copy of the state first.

    terminal
    $ tofu init -upgrade && tofu plan
    ── expected output ──
    OpenTofu has been successfully initialized!
    ...
    No changes. Your infrastructure matches the configuration.

Decide

AWS ↔ Azure ↔ Google Cloud service map

JobAWSAzureGoogle Cloud
Virtual machinesEC2Virtual MachinesCompute Engine
Autoscaling VMsAuto Scaling groupsVM Scale SetsManaged Instance Groups
Managed KubernetesEKSAKSGKE
Serverless containersECS Fargate / App RunnerContainer AppsCloud Run
FunctionsLambdaAzure FunctionsCloud Run functions
Object storageS3Blob StorageCloud Storage
Block storageEBSManaged DisksPersistent Disk
Managed PostgreSQL/MySQLRDS / AuroraAzure Database for PostgreSQL/MySQLCloud SQL / AlloyDB
NoSQL key-valueDynamoDBCosmos DBFirestore / Bigtable
CacheElastiCache / MemoryDBAzure Cache for RedisMemorystore
Queue / pub-subSQS / SNS / EventBridgeService Bus / Event GridPub/Sub / Eventarc
Managed KafkaMSKEvent Hubs (Kafka API)Managed Service for Apache Kafka
NetworkingVPC, subnets, security groupsVNet, subnets, NSGsVPC (global), subnets, firewall rules
Load balancer (L7)ALBApplication Gateway / Front DoorCloud Load Balancing (HTTP(S))
DNS / CDNRoute 53 / CloudFrontAzure DNS / Front DoorCloud DNS / Cloud CDN
Identity & accessIAM, Identity CenterEntra ID, RBACCloud IAM
Secrets / keysSecrets Manager / KMSKey VaultSecret Manager / Cloud KMS
Container registryECRAzure Container RegistryArtifact Registry
Monitoring / logsCloudWatchAzure Monitor / Log AnalyticsCloud Monitoring / Cloud Logging
Audit trailCloudTrailActivity LogCloud Audit Logs
Native IaCCloudFormation / CDKARM / BicepInfrastructure Manager (Terraform)

The bigger picture

Connects to

Prove it

Interview questions

01

Terraform vs CloudFormation vs Pulumi?

02

You know AWS; the new job uses Azure. How do you ramp up?