Ansible vs Terraform āđƒāļ™āļ›āļĩ 2026: Infrastructure as Code āđāļĨāļ°āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ DevOps

āđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļš Ansible vs Terraform āđƒāļ™āļ›āļĩ 2026: configuration management vs provisioning, āđ€āļĄāļ·āđˆāļ­āđ„āļŦāļĢāđˆāļ„āļ§āļĢāđƒāļŠāđ‰āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āđƒāļ”, OpenTofu, āđāļĨāļ°āļāļēāļĢāđ€āļ•āļĢāļĩāļĒāļĄāļ•āļąāļ§āļŠāļąāļĄāļ āļēāļĐāļ“āđŒ DevOps

Ansible vs Terraform āđƒāļ™āļ›āļĩ 2026: Infrastructure as Code āđāļĨāļ°āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ DevOps

Ansible vs Terraform āđ€āļ›āđ‡āļ™āļŦāļ™āļķāđˆāļ‡āđƒāļ™āļ„āļģāļ–āļēāļĄāđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļšāļ—āļĩāđˆāļžāļšāļšāđˆāļ­āļĒāļ—āļĩāđˆāļŠāļļāļ”āđƒāļ™āļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ DevOps āđāļ•āđˆāļāļēāļĢāļ•āļąāđ‰āļ‡āļ„āļģāļ–āļēāļĄāđāļšāļšāļ™āļĩāđ‰āđ€āļ­āļ‡āļāđ‡āđ€āļœāļĒāđƒāļŦāđ‰āđ€āļŦāđ‡āļ™āļ„āļ§āļēāļĄāđ€āļ‚āđ‰āļēāđƒāļˆāļœāļīāļ”: āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āđāļāđ‰āļ›āļąāļāļŦāļēāļ—āļĩāđˆāđāļ•āļāļ•āđˆāļēāļ‡āļāļąāļ™ Ansible 2.20 āļˆāļąāļ”āļāļēāļĢ configuration management āđāļĨāļ°āļāļēāļĢ deploy āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ āđƒāļ™āļ‚āļ“āļ°āļ—āļĩāđˆ Terraform 1.15 provision āļ—āļĢāļąāļžāļĒāļēāļāļĢāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļžāļ·āđ‰āļ™āļāļēāļ™ āļāļēāļĢāđ€āļ‚āđ‰āļēāđƒāļˆāļ§āđˆāļēāđāļ•āđˆāļĨāļ°āļ•āļąāļ§āđ€āļāđˆāļ‡āđ€āļĄāļ·āđˆāļ­āđ„āļŦāļĢāđˆ āļ•āļĢāļ‡āđ„āļŦāļ™āļ—āļĩāđˆāļ—āļąāļšāļ‹āđ‰āļ­āļ™āļāļąāļ™ āđāļĨāļ°āļžāļ§āļāļĄāļąāļ™āđ€āļŠāļĢāļīāļĄāļāļąāļ™āļ­āļĒāđˆāļēāļ‡āđ„āļĢ āļ„āļ·āļ­āļŠāļīāđˆāļ‡āļ—āļĩāđˆāđāļĒāļāļ§āļīāļĻāļ§āļāļĢ DevOps āļĢāļ°āļ”āļąāļš senior āļ­āļ­āļāļˆāļēāļāļœāļđāđ‰āļ—āļĩāđˆāļĒāļąāļ‡āļ„āļ‡āđ€āļĢāļĩāļĒāļ™āļĢāļđāđ‰āļžāļ·āđ‰āļ™āļāļēāļ™āļ­āļĒāļđāđˆ

āļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡āļŦāļĨāļąāļ

Terraform āļˆāļąāļ”āļāļēāļĢ state āļ‚āļ­āļ‡āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļžāļ·āđ‰āļ™āļāļēāļ™āđāļšāļš declarative (VM, āđ€āļ„āļĢāļ·āļ­āļ‚āđˆāļēāļĒ, āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨ) Ansible āļāļģāļŦāļ™āļ”āļ„āđˆāļēāļŠāļīāđˆāļ‡āļ—āļĩāđˆāļĢāļąāļ™āļšāļ™āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļžāļ·āđ‰āļ™āļāļēāļ™āļ™āļąāđ‰āļ™āđāļšāļš procedural (packages, services, files) āļŠāļ āļēāļžāđāļ§āļ”āļĨāđ‰āļ­āļĄ production āļŠāđˆāļ§āļ™āđƒāļŦāļāđˆāđƒāļŠāđ‰āļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āļ­āļĒāđˆāļēāļ‡

Declarative vs Procedural: āļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡āļžāļ·āđ‰āļ™āļāļēāļ™

Terraform āđƒāļŠāđ‰āļ§āļīāļ˜āļĩāļāļēāļĢāđāļšāļš declarative āđ„āļŸāļĨāđŒāļ„āļ­āļ™āļŸāļīāļāļ­āļ˜āļīāļšāļēāļĒ state āļ›āļĨāļēāļĒāļ—āļēāļ‡āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļāļēāļĢ āđāļĨāļ° Terraform āļ„āļģāļ™āļ§āļ“āļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āļ—āļĩāđˆāļˆāļģāđ€āļ›āđ‡āļ™āđ€āļžāļ·āđˆāļ­āđ„āļ›āļ–āļķāļ‡āļˆāļļāļ”āļ™āļąāđ‰āļ™ āļ§āļīāļ˜āļĩāļ™āļĩāđ‰āļ—āļģāļ‡āļēāļ™āđ„āļ”āđ‰āļ”āļĩāļŠāļģāļŦāļĢāļąāļšāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļžāļ·āđ‰āļ™āļāļēāļ™āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļŠāļĢāđ‰āļēāļ‡ āđāļāđ‰āđ„āļ‚ āļŦāļĢāļ·āļ­āļĨāļšāđ€āļ›āđ‡āļ™āļŦāļ™āđˆāļ§āļĒāđ€āļ”āļĩāļĒāļ§

hcl
# main.tf
resource "aws_instance" "web" {
  ami           = "ami-0c55b159cbfafe1f0"
  instance_type = "t3.medium"
  
  tags = {
    Name        = "web-server"
    Environment = "production"
  }
}

resource "aws_security_group" "web" {
  name        = "web-sg"
  description = "Allow HTTP and HTTPS"
  
  ingress {
    from_port   = 443
    to_port     = 443
    protocol    = "tcp"
    cidr_blocks = ["0.0.0.0/0"]
  }
}

āļāļēāļĢāļĢāļąāļ™ terraform apply āļˆāļ°āļŠāļĢāđ‰āļēāļ‡āļ—āļĢāļąāļžāļĒāļēāļāļĢāļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āļ–āđ‰āļēāļĒāļąāļ‡āđ„āļĄāđˆāļĄāļĩ āļŦāļĢāļ·āļ­āļ­āļąāļ›āđ€āļ”āļ•āđƒāļŦāđ‰āļ•āļĢāļ‡āļāļąāļšāļ„āļ­āļ™āļŸāļīāļ āļāļēāļĢāļĢāļąāļ™āļ­āļĩāļāļ„āļĢāļąāđ‰āļ‡āđ‚āļ”āļĒāđ„āļĄāđˆāļĄāļĩāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āļˆāļ°āđ„āļĄāđˆāļĄāļĩāļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāđƒāļ”āđ†: Terraform āđ€āļ›āļĢāļĩāļĒāļšāđ€āļ—āļĩāļĒāļšāļ„āļ­āļ™āļŸāļīāļāļāļąāļš state file āđāļĨāļ°āđ„āļĄāđˆāļžāļšāļŠāļīāđˆāļ‡āļ—āļĩāđˆāļ•āđ‰āļ­āļ‡āļ—āļģ

Ansible āđƒāļŠāđ‰āļ§āļīāļ˜āļĩāļāļēāļĢāđāļšāļš procedural āđ‚āļ”āļĒ tasks āļ–āļđāļāļĢāļąāļ™āļ•āļēāļĄāļĨāļģāļ”āļąāļš āđāļĄāđ‰āļ§āđˆāļē modules āļ‚āļ­āļ‡ Ansible āļĄāļąāļāļˆāļ°āđ€āļ›āđ‡āļ™ idempotent (āļĢāļąāļ™āļŠāļ­āļ‡āļ„āļĢāļąāđ‰āļ‡āđ„āļ”āđ‰āļœāļĨāđ€āļŦāļĄāļ·āļ­āļ™āļāļąāļ™) āđāļ•āđˆ playbook āđ€āļ­āļ‡āļ­āļ˜āļīāļšāļēāļĒāļĨāļģāļ”āļąāļšāļ‚āļ­āļ‡āļāļēāļĢāļāļĢāļ°āļ—āļģāļĄāļēāļāļāļ§āđˆāļē state āļ›āļĨāļēāļĒāļ—āļēāļ‡

yaml
# webserver.yml
- name: Configure web server
  hosts: webservers
  become: true
  
  tasks:
    - name: Install nginx
      ansible.builtin.apt:
        name: nginx
        state: present
        update_cache: true
    
    - name: Copy nginx configuration
      ansible.builtin.template:
        src: nginx.conf.j2
        dest: /etc/nginx/nginx.conf
      notify: Restart nginx
    
    - name: Ensure nginx is running
      ansible.builtin.service:
        name: nginx
        state: started
        enabled: true
  
  handlers:
    - name: Restart nginx
      ansible.builtin.service:
        name: nginx
        state: restarted

āđāļ•āđˆāļĨāļ° task āļĢāļąāļ™āļ•āļēāļĄāļĨāļģāļ”āļąāļš āļĢāļđāļ›āđāļšāļš notify/handler āđƒāļŦāđ‰āļžāļĪāļ•āļīāļāļĢāļĢāļĄāđāļšāļš declarative āļšāļēāļ‡āļŠāđˆāļ§āļ™: handler āļĢāļąāļ™āđ€āļžāļĩāļĒāļ‡āļ„āļĢāļąāđ‰āļ‡āđ€āļ”āļĩāļĒāļ§āļ•āļ­āļ™āļ—āđ‰āļēāļĒāđ‚āļ”āļĒāđ„āļĄāđˆāļ„āļģāļ™āļķāļ‡āļ§āđˆāļēāļĄāļĩ tasks āļāļĩāđˆāļ•āļąāļ§āļ—āļĩāđˆ trigger āļĄāļąāļ™

āļāļēāļĢāļˆāļąāļ”āļāļēāļĢ State: āļŦāļąāļ§āļ‚āđ‰āļ­āļŠāļąāļĄāļ āļēāļĐāļ“āđŒāļ—āļĩāđˆāļŠāļģāļ„āļąāļ

Terraform āļĢāļąāļāļĐāļē state file āļ—āļĩāđˆ map āļ„āļ­āļ™āļŸāļīāļāļāļąāļšāļ—āļĢāļąāļžāļĒāļēāļāļĢāļˆāļĢāļīāļ‡ state āļ™āļĩāđ‰āļ•āļīāļ”āļ•āļēāļĄ resource ID, dependencies āđāļĨāļ° metadata āļŦāļēāļāđ„āļĄāđˆāļĄāļĩ Terraform āđ„āļĄāđˆāļŠāļēāļĄāļēāļĢāļ–āļĢāļ°āļšāļļāđ„āļ”āđ‰āļ§āđˆāļēāļĄāļĩāļ­āļ°āđ„āļĢāļ­āļĒāļđāđˆāļŦāļĢāļ·āļ­āļ­āļ°āđ„āļĢāļ•āđ‰āļ­āļ‡āđ€āļ›āļĨāļĩāđˆāļĒāļ™

āļ”āđ‰āļēāļ™TerraformAnsible
āļāļēāļĢāļˆāļąāļ”āđ€āļāđ‡āļš stateāļˆāļģāđ€āļ›āđ‡āļ™ (āđ„āļŸāļĨāđŒ local āļŦāļĢāļ·āļ­ remote backend)āđ„āļĄāđˆāļĄāļĩāđ‚āļ”āļĒ default
āļāļēāļĢāļ•āļĢāļ§āļˆāļˆāļąāļš driftBuilt-in āļœāđˆāļēāļ™ terraform planāļ•āđ‰āļ­āļ‡āļ•āļĢāļ§āļˆāļŠāļ­āļšāļ­āļĒāđˆāļēāļ‡āļŠāļąāļ”āđ€āļˆāļ™
āļāļēāļĢāļ•āļīāļ”āļ•āļēāļĄāļ—āļĢāļąāļžāļĒāļēāļāļĢāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāļœāđˆāļēāļ™ stateāļ­āđ‰āļēāļ‡āļ­āļīāļ‡āļˆāļēāļ inventory
RollbackDestroy āđāļĨāļ° recreate āļˆāļēāļ stateāđ„āļĄāđˆāļĄāļĩ rollback āđāļšāļš native

Ansible āđ„āļĄāđˆāļĄāļĩ state file āļ—āļĩāđˆāđ€āļ—āļĩāļĒāļšāđ€āļ—āđˆāļē āļĄāļąāļ™āđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļāļąāļšāļĢāļ°āļšāļšāđ€āļ›āđ‰āļēāļŦāļĄāļēāļĒāđāļĨāļ°āļĢāļąāļ™ tasks āđ‚āļ”āļĒāļ­āļēāļĻāļąāļĒ state āļ›āļąāļˆāļˆāļļāļšāļąāļ™āļ‚āļ­āļ‡āļĢāļ°āļšāļšāđāļĨāļ° idempotency āļ‚āļ­āļ‡ module āļŠāļīāđˆāļ‡āļ™āļĩāđ‰āļ—āļģāđƒāļŦāđ‰ Ansible āđ€āļĢāļīāđˆāļĄāļ•āđ‰āļ™āļ‡āđˆāļēāļĒāļāļ§āđˆāļēāđāļ•āđˆāļĒāļēāļāļāļ§āđˆāļēāđƒāļ™āļāļēāļĢāļ•āļīāļ”āļ•āļēāļĄāļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āļ•āļēāļĄāđ€āļ§āļĨāļē

āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒāļ—āļąāđˆāļ§āđ„āļ›āļ–āļēāļĄāđ€āļāļĩāđˆāļĒāļ§āļāļąāļšāļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒāļ‚āļ­āļ‡ state file State āļ‚āļ­āļ‡ Terraform āļ­āļēāļˆāļĄāļĩāļ‚āđ‰āļ­āļĄāļđāļĨāļ—āļĩāđˆāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļ­āđˆāļ­āļ™: āļĢāļŦāļąāļŠāļœāđˆāļēāļ™āļāļēāļ™āļ‚āđ‰āļ­āļĄāļđāļĨ, API keys, resource identifiers āļāļēāļĢ deploy āđƒāļ™ production āļˆāļ°āļˆāļąāļ”āđ€āļāđ‡āļš state āđāļšāļš remote (S3, Azure Blob, Terraform Cloud) āļžāļĢāđ‰āļ­āļĄāļāļēāļĢāđ€āļ‚āđ‰āļēāļĢāļŦāļąāļŠāđāļĨāļ°āļāļēāļĢāļ„āļ§āļšāļ„āļļāļĄāļāļēāļĢāđ€āļ‚āđ‰āļēāļ–āļķāļ‡

hcl
# backend.tf
terraform {
  backend "s3" {
    bucket         = "company-terraform-state"
    key            = "prod/infrastructure.tfstate"
    region         = "us-east-1"
    encrypt        = true
    dynamodb_table = "terraform-locks"
  }
}

āļ•āļēāļĢāļēāļ‡ DynamoDB āđƒāļŦāđ‰ locking āļ›āđ‰āļ­āļ‡āļāļąāļ™āļ§āļīāļĻāļ§āļāļĢāļŠāļ­āļ‡āļ„āļ™āđāļāđ‰āđ„āļ‚ state āļžāļĢāđ‰āļ­āļĄāļāļąāļ™

āđ€āļĄāļ·āđˆāļ­āđ„āļŦāļĢāđˆāļ„āļ§āļĢāđƒāļŠāđ‰āđāļ•āđˆāļĨāļ°āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­

Terraform āđ€āļāđˆāļ‡āđƒāļ™āļāļēāļĢ provision āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļžāļ·āđ‰āļ™āļāļēāļ™ cloud: virtual machines, managed databases, load balancers, IAM roles, VPCs āļĄāļąāļ™āļˆāļąāļ”āļāļēāļĢ dependencies āļĢāļ°āļŦāļ§āđˆāļēāļ‡āļ—āļĢāļąāļžāļĒāļēāļāļĢāđ‚āļ”āļĒāļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļīāđāļĨāļ°āļĢāļ­āļ‡āļĢāļąāļš cloud providers āļŦāļĨāļąāļāļ—āļąāđ‰āļ‡āļŦāļĄāļ”āļœāđˆāļēāļ™ syntax HCL āļ—āļĩāđˆāļŠāļ­āļ”āļ„āļĨāđ‰āļ­āļ‡āļāļąāļ™

Ansible āđ€āļāđˆāļ‡āđƒāļ™āļāļēāļĢāļāļģāļŦāļ™āļ”āļ„āđˆāļēāļĢāļ°āļšāļšāļ—āļĩāđˆāļĄāļĩāļ­āļĒāļđāđˆ: āļ•āļīāļ”āļ•āļąāđ‰āļ‡ packages, āļˆāļąāļ”āļāļēāļĢ users, deploy application code, orchestrate āļāļēāļĢ deploy āļŦāļĨāļēāļĒāļ‚āļąāđ‰āļ™āļ•āļ­āļ™ āļĄāļąāļ™āđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­āļœāđˆāļēāļ™ SSH (āļŦāļĢāļ·āļ­ WinRM āļŠāļģāļŦāļĢāļąāļš Windows) āđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āļĄāļĩ agents āļšāļ™āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āđ€āļ›āđ‰āļēāļŦāļĄāļēāļĒ

āđ‚āļ‹āļ™āļ—āļĩāđˆāļ—āļąāļšāļ‹āđ‰āļ­āļ™āļāļąāļ™āļ—āļģāđƒāļŦāđ‰āđ€āļāļīāļ”āļ„āļ§āļēāļĄāļŠāļąāļšāļŠāļ™ āļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āļŠāļēāļĄāļēāļĢāļ–āļ•āļīāļ”āļ•āļąāđ‰āļ‡āļ‹āļ­āļŸāļ•āđŒāđāļ§āļĢāđŒāļšāļ™ VM āđ„āļ”āđ‰ Terraform āļŠāļēāļĄāļēāļĢāļ–āđƒāļŠāđ‰ provisioners āđ€āļžāļ·āđˆāļ­āļĢāļąāļ™ scripts āļŦāļĨāļąāļ‡āļˆāļēāļāļŠāļĢāđ‰āļēāļ‡āļ—āļĢāļąāļžāļĒāļēāļāļĢ Ansible āļŠāļēāļĄāļēāļĢāļ–āļŠāļĢāđ‰āļēāļ‡āļ—āļĢāļąāļžāļĒāļēāļāļĢ cloud āļœāđˆāļēāļ™ modules āđ€āļŠāđˆāļ™ amazon.aws.ec2_instance āđāļ•āđˆāļāļēāļĢāđƒāļŠāđ‰āđāļ•āđˆāļĨāļ°āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ™āļ­āļāđ€āļŦāļ™āļ·āļ­āļˆāļēāļāļˆāļļāļ”āđāļ‚āđ‡āļ‡āļ‚āļ­āļ‡āļĄāļąāļ™āļ™āļģāđ„āļ›āļŠāļđāđˆāļ›āļąāļāļŦāļēāļāļēāļĢāļšāļģāļĢāļļāļ‡āļĢāļąāļāļĐāļē

āļŦāļĨāļĩāļāđ€āļĨāļĩāđˆāļĒāļ‡ Anti-Pattern āļ™āļĩāđ‰

āļāļēāļĢāđƒāļŠāđ‰ provisioners āļ‚āļ­āļ‡ Terraform āļ­āļĒāđˆāļēāļ‡āļāļ§āđ‰āļēāļ‡āļ‚āļ§āļēāļ‡āļŠāļģāļŦāļĢāļąāļš configuration management āļŠāļĢāđ‰āļēāļ‡āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļžāļ·āđ‰āļ™āļāļēāļ™āļ—āļĩāđˆāđ€āļ›āļĢāļēāļ°āļšāļēāļ‡ Provisioners āļĢāļąāļ™āđ€āļ‰āļžāļēāļ°āļ•āļ­āļ™āļŠāļĢāđ‰āļēāļ‡āđ€āļ—āđˆāļēāļ™āļąāđ‰āļ™ āđ„āļĄāđˆāđƒāļŠāđˆāđƒāļ™ applies āļ„āļĢāļąāđ‰āļ‡āļ•āđˆāļ­āđ„āļ› āđƒāļŠāđ‰ Terraform āļŠāļģāļŦāļĢāļąāļšāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļžāļ·āđ‰āļ™āļāļēāļ™ āđāļĨāđ‰āļ§āļŠāđˆāļ‡āļ•āđˆāļ­āđƒāļŦāđ‰ Ansible āļŠāļģāļŦāļĢāļąāļš configuration

Workflow āļĢāļ§āļĄāđƒāļ™ Production

āļ­āļ‡āļ„āđŒāļāļĢāļŠāđˆāļ§āļ™āđƒāļŦāļāđˆāđƒāļŠāđ‰āļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļĢāđˆāļ§āļĄāļāļąāļ™ Terraform provision āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļžāļ·āđ‰āļ™āļāļēāļ™āđāļĨāļ° outputs āļĢāļēāļĒāļĨāļ°āđ€āļ­āļĩāļĒāļ”āļāļēāļĢāđ€āļŠāļ·āđˆāļ­āļĄāļ•āđˆāļ­ Ansible āđƒāļŠāđ‰ outputs āđ€āļŦāļĨāđˆāļēāļ™āļąāđ‰āļ™āđ€āļžāļ·āđˆāļ­āļāļģāļŦāļ™āļ”āļ„āđˆāļēāļĢāļ°āļšāļš

hcl
# outputs.tf
output "web_server_ips" {
  value       = aws_instance.web[*].private_ip
  description = "Private IPs of web servers"
}

output "db_endpoint" {
  value       = aws_rds_instance.main.endpoint
  description = "RDS endpoint for application config"
}

Pipeline CI/CD āļĢāļąāļ™ Terraform āļāđˆāļ­āļ™, capture outputs, āļŠāļĢāđ‰āļēāļ‡ Ansible inventory āđāļšāļš dynamic, āđāļĨāđ‰āļ§āļĢāļąāļ™ playbooks āļāļąāļšāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļžāļ·āđ‰āļ™āļāļēāļ™āđƒāļŦāļĄāđˆ

yaml
# ansible/inventory/aws_ec2.yml
plugin: amazon.aws.aws_ec2
regions:
  - us-east-1
filters:
  tag:Environment: production
  instance-state-name: running
hostnames:
  - private-ip-address
groups:
  webservers: "'web' in tags.Role"
  databases: "'db' in tags.Role"

Inventory āđāļšāļš dynamic āļ™āļĩāđ‰ query AWS āđ‚āļ”āļĒāļ•āļĢāļ‡ āļˆāļąāļ”āļāļĨāļļāđˆāļĄ instances āļ•āļēāļĄ tags āļ‚āļ­āļ‡āļžāļ§āļāļĄāļąāļ™ āđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āļˆāļąāļ”āļāļēāļĢ IP āļ”āđ‰āļ§āļĒāļ•āļ™āđ€āļ­āļ‡

āļžāļĢāđ‰āļ­āļĄāļ—āļĩāđˆāļˆāļ°āļžāļīāļŠāļīāļ•āļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ DevOps āđāļĨāđ‰āļ§āļŦāļĢāļ·āļ­āļĒāļąāļ‡āļ„āļĢāļąāļš?

āļāļķāļāļāļ™āļ”āđ‰āļ§āļĒāļ•āļąāļ§āļˆāļģāļĨāļ­āļ‡āđāļšāļšāđ‚āļ•āđ‰āļ•āļ­āļš, flashcards āđāļĨāļ°āđāļšāļšāļ—āļ”āļŠāļ­āļšāđ€āļ—āļ„āļ™āļīāļ„āļ„āļĢāļąāļš

OpenTofu: Fork āļ—āļĩāđˆāđ€āļ›āļĨāļĩāđˆāļĒāļ™āļ āļđāļĄāļīāļ—āļąāļĻāļ™āđŒ

HashiCorp āđ„āļ”āđ‰āđ€āļ›āļĨāļĩāđˆāļĒāļ™āļŠāļąāļāļāļēāļ­āļ™āļļāļāļēāļ•āļ‚āļ­āļ‡ Terraform āđ€āļ›āđ‡āļ™ Business Source License (BSL) āđƒāļ™āđ€āļ”āļ·āļ­āļ™āļŠāļīāļ‡āļŦāļēāļ„āļĄ 2023 āļŠāļļāļĄāļŠāļ™āļ•āļ­āļšāļŠāļ™āļ­āļ‡āļ”āđ‰āļ§āļĒāļāļēāļĢ fork Terraform 1.5 āđ€āļ›āđ‡āļ™ OpenTofu āļ‹āļķāđˆāļ‡āļ•āļ­āļ™āļ™āļĩāđ‰āļ­āļĒāļđāđˆāļ āļēāļĒāđƒāļ•āđ‰ Linux Foundation

āļ“ āđ€āļ”āļ·āļ­āļ™āļŠāļīāļ‡āļŦāļēāļ„āļĄ 2026 OpenTofu 1.11.6 āļĒāļąāļ‡āļ„āļ‡āđ€āļ›āđ‡āļ™āļ•āļąāļ§āđāļ—āļ™āđāļšāļš drop-in āļŠāļģāļŦāļĢāļąāļš workflow Terraform āļŠāđˆāļ§āļ™āđƒāļŦāļāđˆ syntax HCL āđ€āļ”āļĩāļĒāļ§āļāļąāļ™, ecosystem āļ‚āļ­āļ‡ providers āđ€āļ”āļĩāļĒāļ§āļāļąāļ™, āļĢāļđāļ›āđāļšāļš state āđ€āļ”āļĩāļĒāļ§āļāļąāļ™ OpenTofu āđ„āļ”āđ‰āđ€āļžāļīāđˆāļĄāļŸāļĩāđ€āļˆāļ­āļĢāđŒāļ—āļĩāđˆāđ„āļĄāđˆāļĄāļĩāđƒāļ™ binary open-source āļ‚āļ­āļ‡ Terraform: āļāļēāļĢāđ€āļ‚āđ‰āļēāļĢāļŦāļąāļŠ state, provider for_each, āđāļĨāļ°āļāļēāļĢāļ›āļĢāļ°āđ€āļĄāļīāļ™āļ•āļąāļ§āđāļ›āļĢāđāļšāļš early

āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāđ€āļ•āļĢāļĩāļĒāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ āđƒāļŦāđ‰āđ€āļ‚āđ‰āļēāđƒāļˆāļ„āļ§āļēāļĄāđāļ•āļāļ•āđˆāļēāļ‡āļ”āđ‰āļēāļ™āļŠāļąāļāļāļēāļ­āļ™āļļāļāļēāļ• BSL āļ­āļ™āļļāļāļēāļ•āļāļēāļĢāđƒāļŠāđ‰āļ‡āļēāļ™āļ āļēāļĒāđƒāļ™āđāļ•āđˆāļˆāļģāļāļąāļ”āļāļēāļĢāļŠāļĢāđ‰āļēāļ‡āļœāļĨāļīāļ•āļ āļąāļ“āļ‘āđŒāļ„āļđāđˆāđāļ‚āđˆāļ‡ āļ­āļ‡āļ„āđŒāļāļĢāļ—āļĩāđˆāļāļąāļ‡āļ§āļĨāđ€āļāļĩāđˆāļĒāļ§āļāļąāļš vendor lock-in āļŦāļĢāļ·āļ­āļĄāļĩāļ‚āđ‰āļ­āļāļģāļŦāļ™āļ” compliance āđ€āļ‰āļžāļēāļ°āļ­āļēāļˆāđ€āļĨāļ·āļ­āļāļŠāļąāļāļāļēāļ­āļ™āļļāļāļēāļ• MPL 2.0 āļ‚āļ­āļ‡ OpenTofu āļāļēāļĢāļ—āļĩāđˆ IBM āđ€āļ‚āđ‰āļēāļ‹āļ·āđ‰āļ­ HashiCorp āđƒāļ™āđ€āļ”āļ·āļ­āļ™āļ˜āļąāļ™āļ§āļēāļ„āļĄ 2024 āđ€āļžāļīāđˆāļĄāļ•āļąāļ§āđāļ›āļĢāļ­āļĩāļāļ•āļąāļ§āđƒāļ™āļāļēāļĢāļŠāļ™āļ—āļ™āļēāđ€āļĢāļ·āđˆāļ­āļ‡āļ„āļ§āļēāļĄāļŠāļąāļĄāļžāļąāļ™āļ˜āđŒāļāļąāļš vendor

āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ DevOps āļ—āļĩāđˆāļžāļšāļšāđˆāļ­āļĒ

Q: Ansible āļŠāļēāļĄāļēāļĢāļ–āđāļ—āļ™āļ—āļĩāđˆ Terraform āđ„āļ”āđ‰āļŦāļĢāļ·āļ­āđ„āļĄāđˆ?

āđ„āļĄāđˆāđ„āļ”āđ‰āļ­āļĒāđˆāļēāļ‡āļĄāļĩāļ›āļĢāļ°āļŠāļīāļ—āļ˜āļīāļ āļēāļž Ansible āļŠāļēāļĄāļēāļĢāļ–āļŠāļĢāđ‰āļēāļ‡āļ—āļĢāļąāļžāļĒāļēāļāļĢ cloud āđ„āļ”āđ‰ āđāļ•āđˆāļ‚āļēāļ”āļāļēāļĢāļˆāļąāļ”āļāļēāļĢ state āļāļēāļĢāļĢāļąāļ™ playbook āđ€āļ”āļĩāļĒāļ§āļāļąāļ™āļŠāļ­āļ‡āļ„āļĢāļąāđ‰āļ‡āļ­āļēāļˆāļŠāļĢāđ‰āļēāļ‡āļ—āļĢāļąāļžāļĒāļēāļāļĢāļ‹āđ‰āļģ State file āļ‚āļ­āļ‡ Terraform āļ•āļīāļ”āļ•āļēāļĄāļŠāļīāđˆāļ‡āļ—āļĩāđˆāļĄāļĩāļ­āļĒāļđāđˆāđāļĨāļ°āļ„āļģāļ™āļ§āļ“āļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āļ—āļĩāđˆāļ™āđ‰āļ­āļĒāļ—āļĩāđˆāļŠāļļāļ” āđƒāļŠāđ‰ Ansible āļŠāļģāļŦāļĢāļąāļšāļŠāļīāđˆāļ‡āļ—āļĩāđˆāļĄāļąāļ™āļ—āļģāđ„āļ”āđ‰āļ”āļĩāļ—āļĩāđˆāļŠāļļāļ”: configuration management

Q: āļˆāļ°āļˆāļąāļ”āļāļēāļĢ secrets āđƒāļ™ Terraform āļ­āļĒāđˆāļēāļ‡āđ„āļĢ?

āļ­āļĒāđˆāļē commit secrets āđ„āļ›āļĒāļąāļ‡ version control āđƒāļŠāđ‰ environment variables, āļāļēāļĢāļĢāļ§āļĄ Vault, āļŦāļĢāļ·āļ­ secret managers āļ‚āļ­āļ‡ cloud provider āļ—āļģāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļŦāļĄāļēāļĒāļ•āļąāļ§āđāļ›āļĢāļ§āđˆāļē sensitive āđ€āļžāļ·āđˆāļ­āļ›āđ‰āļ­āļ‡āļāļąāļ™āđ„āļĄāđˆāđƒāļŦāđ‰āļ›āļĢāļēāļāļāđƒāļ™ logs:

hcl
# variables.tf
variable "db_password" {
  type        = string
  sensitive   = true
  description = "Database password from Vault or environment"
}

Q: Idempotency āļ‚āļ­āļ‡ Ansible āļ„āļ·āļ­āļ­āļ°āđ„āļĢ?

āļāļēāļĢāļ”āļģāđ€āļ™āļīāļ™āļāļēāļĢāđāļšāļš idempotent āđƒāļŦāđ‰āļœāļĨāļĨāļąāļžāļ˜āđŒāđ€āļŦāļĄāļ·āļ­āļ™āļāļąāļ™āđ„āļĄāđˆāļ§āđˆāļēāļˆāļ°āļĢāļąāļ™āļ„āļĢāļąāđ‰āļ‡āđ€āļ”āļĩāļĒāļ§āļŦāļĢāļ·āļ­āļŦāļĨāļēāļĒāļ„āļĢāļąāđ‰āļ‡ Module apt āļ—āļĩāđˆāļĄāļĩ state: present āļ•āļīāļ”āļ•āļąāđ‰āļ‡ package āļ–āđ‰āļēāđ„āļĄāđˆāļĄāļĩāđāļĨāļ°āđ„āļĄāđˆāļ—āļģāļ­āļ°āđ„āļĢāļ–āđ‰āļēāļĄāļĩāļ­āļĒāļđāđˆāđāļĨāđ‰āļ§ āļāļēāļĢāđ€āļ‚āļĩāļĒāļ™ playbooks āļ—āļĩāđˆāđ€āļ›āđ‡āļ™ idempotent āļ›āđ‰āļ­āļ‡āļāļąāļ™āļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡āļ—āļĩāđˆāđ„āļĄāđˆāļ•āļąāđ‰āļ‡āđƒāļˆāđƒāļ™āļāļēāļĢāļĢāļąāļ™āļ„āļĢāļąāđ‰āļ‡āļ•āđˆāļ­āđ„āļ›

Q: āļˆāļ°āļ—āļ”āļŠāļ­āļš infrastructure code āļ­āļĒāđˆāļēāļ‡āđ„āļĢ?

Terraform: terraform validate āļ•āļĢāļ§āļˆāļŠāļ­āļš syntax, terraform plan āđāļŠāļ”āļ‡āļ•āļąāļ§āļ­āļĒāđˆāļēāļ‡āļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡, āđāļĨāļ°āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ­āļĒāđˆāļēāļ‡ Terratest āļĢāļąāļ™ integration tests Ansible: ansible-lint āļ•āļĢāļ§āļˆāļˆāļąāļšāļ›āļąāļāļŦāļē, āđ‚āļŦāļĄāļ” --check āļ—āļģ dry runs, āđāļĨāļ° Molecule āļ—āļ”āļŠāļ­āļš roles āļāļąāļš containers

āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāđ€āļ•āļĢāļĩāļĒāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ Terraform āļ—āļĩāđˆāļĨāļķāļāļāļ§āđˆāļē āļ”āļđ Terraform Interview Questions: Infrastructure as Code Complete Guide āļāļķāļāļ›āļāļīāļšāļąāļ•āļīāļˆāļĢāļīāļ‡āļāļąāļš modules Terraform Basics āđāļĨāļ° Ansible Configuration Management

āļ„āļ§āļēāļĄāđ€āļ‚āđ‰āļēāļāļąāļ™āđ„āļ”āđ‰āļ‚āļ­āļ‡āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āđāļĨāļ° Ecosystem

āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āđ€āļŠāļ–āļĩāļĒāļĢāļ›āļąāļˆāļˆāļļāļšāļąāļ™ āļ“ āđ€āļ”āļ·āļ­āļ™āļŠāļīāļ‡āļŦāļēāļ„āļĄ 2026:

āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™āļ§āļąāļ™āļ—āļĩāđˆāļ­āļ­āļāļŸāļĩāđ€āļˆāļ­āļĢāđŒāļŦāļĨāļąāļ
Ansible2.20.5āđ€āļĄāļĐāļēāļĒāļ™ 2026āļāļēāļĢāļˆāļąāļ”āļāļēāļĢ collection āļ—āļĩāđˆāļ›āļĢāļąāļšāļ›āļĢāļļāļ‡
Terraform1.15.8āļāļĢāļāļŽāļēāļ„āļĄ 2026āļĢāļ­āļ‡āļĢāļąāļš Windows ARM64, āļŸāļąāļ‡āļāđŒāļŠāļąāļ™ convert
OpenTofu1.11.6āđ€āļĄāļĐāļēāļĒāļ™ 2026āļāļēāļĢāđ€āļ‚āđ‰āļēāļĢāļŦāļąāļŠ state, provider for_each

āļŠāļ–āļēāļ›āļąāļ•āļĒāļāļĢāļĢāļĄ collection āļ‚āļ­āļ‡ Ansible āđāļĒāļāļŸāļąāļ‡āļāđŒāļŠāļąāļ™āļŦāļĨāļąāļāļˆāļēāļ modules āđ€āļ‰āļžāļēāļ° provider Collection amazon.aws āļĢāļąāļšāļ­āļąāļ›āđ€āļ”āļ•āļ­āļīāļŠāļĢāļ°āļˆāļēāļ Ansible core āļŠāļīāđˆāļ‡āļ™āļĩāđ‰āļŠāļģāļ„āļąāļāļŠāļģāļŦāļĢāļąāļšāļāļēāļĢ pin version āđƒāļ™ pipelines CI/CD

āļāļēāļĢāļāļģāļŦāļ™āļ”āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ provider āļ‚āļ­āļ‡ Terraform āļ›āļāļīāļšāļąāļ•āļīāļ•āļēāļĄāļŦāļĨāļąāļāļāļēāļĢāđ€āļ”āļĩāļĒāļ§āļāļąāļ™ Lock files (terraform.lock.hcl) āļĢāļąāļšāļ›āļĢāļ°āļāļąāļ™āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ provider āļ—āļĩāđˆāļŠāļ­āļ”āļ„āļĨāđ‰āļ­āļ‡āļāļąāļ™āļĢāļ°āļŦāļ§āđˆāļēāļ‡āļŠāļĄāļēāļŠāļīāļāļ—āļĩāļĄāđāļĨāļ°āļĢāļ°āļšāļš CI

hcl
# versions.tf
terraform {
  required_version = ">= 1.15.0"
  
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 5.60"
    }
  }
}

āļāļēāļĢāđ€āļĨāļ·āļ­āļāļĢāļ°āļŦāļ§āđˆāļēāļ‡āļŠāļ­āļ‡āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­: āļāļĢāļ­āļšāļāļēāļĢāļ•āļąāļ”āļŠāļīāļ™āđƒāļˆ

āļ„āļģāļ–āļēāļĄāđ„āļĄāđˆāļ„āđˆāļ­āļĒāđ€āļ›āđ‡āļ™ Ansible āļŦāļĢāļ·āļ­ Terraform āļ„āļģāļ–āļēāļĄāļ„āļ·āļ­āđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āđ„āļŦāļ™āļĢāļąāļšāļœāļīāļ”āļŠāļ­āļšāļ„āļ§āļēāļĄāļĢāļąāļšāļœāļīāļ”āļŠāļ­āļšāđ„āļŦāļ™

Use Caseāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āļ—āļĩāđˆāđāļ™āļ°āļ™āļģ
Provision VMs, databases, āđ€āļ„āļĢāļ·āļ­āļ‚āđˆāļēāļĒTerraform
āļāļģāļŦāļ™āļ”āļ„āđˆāļē OS, āļ•āļīāļ”āļ•āļąāđ‰āļ‡ packagesAnsible
āļˆāļąāļ”āļāļēāļĢāļ—āļĢāļąāļžāļĒāļēāļāļĢ KubernetesTerraform āļŦāļĢāļ·āļ­ kubectl/Helm
Deploy application codeAnsible āļŦāļĢāļ·āļ­ CI/CD native
āļŠāļĢāđ‰āļēāļ‡ IAM roles āđāļĨāļ° policiesTerraform
āļˆāļąāļ”āļāļēāļĢāļšāļąāļāļŠāļĩ user āļšāļ™ serversAnsible
āļ•āļąāđ‰āļ‡āļ„āđˆāļēāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļžāļ·āđ‰āļ™āļāļēāļ™ monitoringTerraform (āļŠāļĢāđ‰āļēāļ‡āļ—āļĢāļąāļžāļĒāļēāļāļĢ) + Ansible (āļāļģāļŦāļ™āļ”āļ„āđˆāļē agents)

āļŠāļģāļŦāļĢāļąāļšāļ āļēāļžāļĢāļ§āļĄāļ‚āļ­āļ‡āļāļēāļĢāļ—āļĩāđˆāđ€āļ„āļĢāļ·āđˆāļ­āļ‡āļĄāļ·āļ­āđ€āļŦāļĨāđˆāļēāļ™āļĩāđ‰āđ€āļ‚āđ‰āļēāļāļąāļš workflow āļāļēāļĢ deploy āļŠāļĄāļąāļĒāđƒāļŦāļĄāđˆ āļ”āļđ CI/CD Pipeline Interview Questions

āļŠāļīāđˆāļ‡āļ—āļĩāđˆāļ§āļīāļĻāļ§āļāļĢ Senior āļ„āļ§āļĢāļĢāļđāđ‰āđ€āļāļĩāđˆāļĒāļ§āļāļąāļš Ansible āđāļĨāļ° Terraform

  • Terraform āļˆāļąāļ”āļāļēāļĢ state āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļžāļ·āđ‰āļ™āļāļēāļ™āđāļšāļš declarative; Ansible āļāļģāļŦāļ™āļ”āļ„āđˆāļēāļĢāļ°āļšāļšāđāļšāļš procedural āļāļēāļĢāđƒāļŠāđ‰āļ—āļąāđ‰āļ‡āļŠāļ­āļ‡āļĢāđˆāļ§āļĄāļāļąāļ™āļŠāļĢāđ‰āļēāļ‡āđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļžāļ·āđ‰āļ™āļāļēāļ™āļ—āļĩāđˆāļšāļģāļĢāļļāļ‡āļĢāļąāļāļĐāļēāđ„āļ”āđ‰
  • āļ„āļ§āļēāļĄāļ›āļĨāļ­āļ”āļ āļąāļĒāļ‚āļ­āļ‡ state file āļŠāļģāļ„āļąāļ āļˆāļąāļ”āđ€āļāđ‡āļš state āļ‚āļ­āļ‡ Terraform āđāļšāļš remote āļžāļĢāđ‰āļ­āļĄāđ€āļ›āļīāļ”āđƒāļŠāđ‰āļāļēāļĢāđ€āļ‚āđ‰āļēāļĢāļŦāļąāļŠāđāļĨāļ° locking
  • OpenTofu āļĄāļ­āļšāļ—āļēāļ‡āđ€āļĨāļ·āļ­āļāļ—āļĩāđˆāļĄāļĩāļŠāļąāļāļāļēāļ­āļ™āļļāļāļēāļ• MPL āđāļ—āļ™ Terraform āļžāļĢāđ‰āļ­āļĄāļŸāļĩāđ€āļˆāļ­āļĢāđŒāđ€āļžāļīāđˆāļĄāđ€āļ•āļīāļĄ āļāļēāļĢāļĒāđ‰āļēāļĒāļ•āļĢāļ‡āđ„āļ›āļ•āļĢāļ‡āļĄāļēāļŠāļģāļŦāļĢāļąāļš workflows āļŠāđˆāļ§āļ™āđƒāļŦāļāđˆ
  • Idempotency āđ„āļĄāđˆāđ„āļ”āđ‰āđ€āļāļīāļ”āļ‚āļķāđ‰āļ™āļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī āđ€āļ‚āļĩāļĒāļ™ playbooks āļ—āļĩāđˆāđƒāļŦāđ‰āļœāļĨāļĨāļąāļžāļ˜āđŒāļŠāļ­āļ”āļ„āļĨāđ‰āļ­āļ‡āļāļąāļ™āđƒāļ™āļāļēāļĢāļĢāļąāļ™āļ‹āđ‰āļģ
  • Inventory āđāļšāļš dynamic āļāļģāļˆāļąāļ”āļāļēāļĢāļˆāļąāļ”āļāļēāļĢ host āļ”āđ‰āļ§āļĒāļ•āļ™āđ€āļ­āļ‡ Query cloud providers āđ‚āļ”āļĒāļ•āļĢāļ‡āļŠāļģāļŦāļĢāļąāļšāđ‚āļ„āļĢāļ‡āļŠāļĢāđ‰āļēāļ‡āļžāļ·āđ‰āļ™āļāļēāļ™āļ›āļąāļˆāļˆāļļāļšāļąāļ™
  • āļāļēāļĢ pin version āļ›āđ‰āļ­āļ‡āļāļąāļ™āļ„āļ§āļēāļĄāļ›āļĢāļ°āļŦāļĨāļēāļ”āđƒāļˆ Lock āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ provider āđƒāļ™ Terraform; pin āđ€āļ§āļ­āļĢāđŒāļŠāļąāļ™ collection āđƒāļ™ Ansible
  • āļāļēāļĢāļ—āļ”āļŠāļ­āļš infrastructure code āļ•āđ‰āļ­āļ‡āļāļēāļĢāļ§āļīāļ˜āļĩāļāļēāļĢāļ—āļĩāđˆāđāļ•āļāļ•āđˆāļēāļ‡: terraform plan āļŠāļģāļŦāļĢāļąāļš preview āļāļēāļĢāđ€āļ›āļĨāļĩāđˆāļĒāļ™āđāļ›āļĨāļ‡, āđ‚āļŦāļĄāļ” --check āļŠāļģāļŦāļĢāļąāļš Ansible dry runs, frameworks integration test āļŠāļģāļŦāļĢāļąāļšāļ—āļąāđ‰āļ‡āļŠāļ­āļ‡

āđ€āļĢāļīāđˆāļĄāļāļķāļāļ‹āđ‰āļ­āļĄāđ€āļĨāļĒ!

āļ—āļ”āļŠāļ­āļšāļ„āļ§āļēāļĄāļĢāļđāđ‰āļ‚āļ­āļ‡āļ„āļļāļ“āļ”āđ‰āļ§āļĒāļ•āļąāļ§āļˆāļģāļĨāļ­āļ‡āļŠāļąāļĄāļ āļēāļĐāļ“āđŒāđāļĨāļ°āđāļšāļšāļ—āļ”āļŠāļ­āļšāđ€āļ—āļ„āļ™āļīāļ„āļ„āļĢāļąāļš

āļŠāļēāđ€āļĨāļ™āļˆāđŒāļ›āļĢāļ°āļˆāļģāļ§āļąāļ™

āļ„āļļāļ“āļŦāļēāļšāļąāđŠāļāđƒāļ™ DevOps āđ€āļˆāļ­āđ„āļŦāļĄ

āđ‚āļ„āđ‰āļ”āļˆāļĢāļīāļ‡āļŦāļ™āļķāđˆāļ‡āļŠāļīāđ‰āļ™ āļšāļąāđŠāļāļ—āļĩāđˆāļ‹āđˆāļ­āļ™āļ­āļĒāļđāđˆāļŦāļ™āļķāđˆāļ‡āļˆāļļāļ” āļ§āļąāļ™āļĨāļ°āļŦāļ™āļķāđˆāļ‡āļ„āļĢāļąāđ‰āļ‡ āļĨāļ­āļ‡āđ„āļ”āđ‰āđ‚āļ”āļĒāđ„āļĄāđˆāļ•āđ‰āļ­āļ‡āļĄāļĩāļšāļąāļāļŠāļĩ

Anthony Fillion-Maillet

āđ€āļ‚āļĩāļĒāļ™āđ‚āļ”āļĒ

Anthony Fillion-Maillet

āļœāļđāđ‰āļāđˆāļ­āļ•āļąāđ‰āļ‡ SharpSkill

āđ€āļ›āđ‡āļ™āļ™āļąāļāļžāļąāļ’āļ™āļēāļŸāļđāļĨāļŠāđāļ•āļāļĄāļēāļāļ§āđˆāļē 10 āļ›āļĩ āļ”āļđāđāļĨ SharpSkill āđāļĨāļ°āļĢāļąāļšāļœāļīāļ”āļŠāļ­āļšāļ—āļļāļāļŠāļīāđˆāļ‡āļ—āļĩāđˆāđ€āļœāļĒāđāļžāļĢāđˆāļ—āļĩāđˆāļ™āļĩāđˆ

āļ­āļąāļ›āđ€āļ”āļ•āđ€āļĄāļ·āđˆāļ­ 22 āļŠāļīāļ‡āļŦāļēāļ„āļĄ 2569

āđāļŠāļĢāđŒ

āļšāļ—āļ„āļ§āļēāļĄāļ—āļĩāđˆāđ€āļāļĩāđˆāļĒāļ§āļ‚āđ‰āļ­āļ‡

āļāļēāļĢāļˆāļąāļ”āļāļēāļĢ secrets āđƒāļ™ Kubernetes āļ”āđ‰āļ§āļĒ External Secrets Operator āđāļĨāļ° HashiCorp Vault

āļāļēāļĢāļˆāļąāļ”āļāļēāļĢ Secrets āđƒāļ™ Kubernetes 2026: External Secrets, Vault āđāļĨāļ°āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ

āļ„āļđāđˆāļĄāļ·āļ­āļ„āļĢāļšāļ–āđ‰āļ§āļ™āļŠāļģāļŦāļĢāļąāļšāļāļēāļĢāļˆāļąāļ”āļāļēāļĢ secrets āđƒāļ™ Kubernetes āļ”āđ‰āļ§āļĒ External Secrets Operator āđāļĨāļ° HashiCorp Vault āļĢāļ§āļĄāļ–āļķāļ‡āļāļēāļĢāļāļģāļŦāļ™āļ”āļ„āđˆāļē production, āļāļēāļĢāļŦāļĄāļļāļ™āđ€āļ§āļĩāļĒāļ™āļ­āļąāļ•āđ‚āļ™āļĄāļąāļ•āļī āđāļĨāļ°āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ DevOps

Docker Compose āļ›āļĩ 2026: āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ Multi-Container, Networking āđāļĨāļ°āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ DevOps

Docker Compose āļ›āļĩ 2026: āđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ Multi-Container, Networking āđāļĨāļ°āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ DevOps

āļšāļ—āđ€āļĢāļĩāļĒāļ™ Docker Compose āļŠāļģāļŦāļĢāļąāļšāđāļ­āļ›āļžāļĨāļīāđ€āļ„āļŠāļąāļ™ multi-container āļžāļĢāđ‰āļ­āļĄ networking, volumes āđāļĨāļ°āļāļēāļĢ deploy production āļĢāļ§āļĄāļ–āļķāļ‡āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒ DevOps

Kubernetes Helm Charts 2026: āļ„āļđāđˆāļĄāļ·āļ­āļāļēāļĢ Packaging, Deployment āđāļĨāļ°āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒāļ‡āļēāļ™

Kubernetes Helm Charts 2026: āļ„āļđāđˆāļĄāļ·āļ­āļāļēāļĢ Packaging, Deployment āđāļĨāļ°āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒāļ‡āļēāļ™

āđ€āļĢāļĩāļĒāļ™āļĢāļđāđ‰ Helm Charts āđƒāļ™ Kubernetes āļ­āļĒāđˆāļēāļ‡āļĨāļķāļāļ‹āļķāđ‰āļ‡āļ”āđ‰āļ§āļĒāļšāļ—āđ€āļĢāļĩāļĒāļ™āļ›āļāļīāļšāļąāļ•āļīāđ€āļāļĩāđˆāļĒāļ§āļāļąāļšāļāļēāļĢāļŠāļĢāđ‰āļēāļ‡ chart, templating, deployment āđāļĨāļ°āļ„āļģāļ–āļēāļĄāļŠāļąāļĄāļ āļēāļĐāļ“āđŒāļ—āļĩāđˆāļžāļšāļšāđˆāļ­āļĒāļ—āļĩāđˆāļŠāļļāļ”