👋

T'es qui toi?

@guisim github.com/guisim

 

Infrastructure as Code

Deploying

infrastructure 

manually on-prem

Deploying

infrastructure 

manually in AWS

Deploying

infrastructure 

with home made scripts

Deploying

infrastructure 

with Terraform

AWSTemplateFormatVersion: "2010-09-09"
  Description: "Ec2 block device mapping"
  Resources: 
    MyEC2Instance: 
      Type: "AWS::EC2::Instance"
      Properties: 
        ImageId: "ami-79fd7eee"
        KeyName: "testkey"
        BlockDeviceMappings: 
          - DeviceName: "/dev/sdm"
            Ebs: 
              VolumeType: "io1"
              Iops: "200"
              DeleteOnTermination: "false"
              VolumeSize: "20"
          - DeviceName: "/dev/sdk"
            NoDevice: {}

De quoi ça l'air

base_ec2_private:
  provider: ec2-private
  image: ami-a609b6d5
  size: t2.micro
  ssh_username: ubuntu
  volumes:
    - { size: 10, device: /dev/sdf }
    - { size: 300, device: /dev/sdg, type: io1, iops: 3000 }
    - { size: 300, device: /dev/sdh, type: io1, iops: 3000 }
  tag: {‘env’: ‘test’, ‘role’: ‘redis’}
  sync_after_install: grains
  script: /etc/salt/cloud.deploy.d/configure_vim.sh
  network_interfaces:
    - DeviceIndex: 0
  PrivateIpAddresses:
    - Primary: True
  #auto assign public ip (not EIP)
  AssociatePublicIpAddress: True
  SubnetId: subnet-813d4bbf
  SecurityGroupId:
    - sg-750af531
  del_root_vol_on_destroy: True
  del_all_vol_on_destroy: True

De quoi ça l'air

resource "aws_instance" "web" {
  ami           = "ami-47734a24"
  instance_type = "t2.micro"

  tags {
    Name = "HelloWorld"
  }
}

De quoi ça l'air

Pourquoi?

  • Simplifier les déploiements
  • Faciliter les tests
  • Améliorer la stabilité
  • Et encore plus!!

Simplifier le déploiement

  • Plus besoin de clics
  • Réutilisation de code
  • Facilité de rollback
  • Possibilité de "dry-run" et revue de code

Faciliter les tests

  • Déploiement temporaire pour tester
  • Déploiement automatique de Pull Request
  • Facile de tester un changement d'infra

Améliorer la stabilité

  • Plus de mauvaises manipulations
  • Infrastructure constante
  • Meilleur partage de connaissances

TERRAFORM DEMO

Infrastructure as Code

By Guillaume Simard

Infrastructure as Code

  • 1,063