Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Integrando o dev com o ops - Marcelo Castellani

47 views

Published on

Como adicionar o uso de infraestrutura como código durante o ciclo de desenvolvimento de projetos agiliza as entregas e diminui os problemas no go live.
Será apresentado o conceito de infraestrutura como código, uma introdução as ferramentas da Hashicorp como o Terraform e o seu uso pelos desenvolvedores.

Apresentado no InterCon 2018 - Mais informações: https://eventos.imasters.com.br/intercon

Published in: Software
  • Be the first to comment

  • Be the first to like this

Integrando o dev com o ops - Marcelo Castellani

  1. 1. Integrando Dev com Ops Marcelo Castellani
  2. 2. Agilizando o fluxo de desenvolvimento Marcelo Castellani
  3. 3. https://xkcd.com/
  4. 4. Aguardando o pessoal de infraestrutura Sem bucket no S3 https://xkcd.com/ #2
  5. 5. DevOps
  6. 6. –Len Bass, Ingo Weber e Liming Zhu no livro “DevOps: A Software Architect's Perspective” “DevOps é um conjunto de práticas cujo objetivo e reduzir o tempo entre realizar uma mudança em um sistema e esta mudança ser colocada em produção, garantindo alta qualidade.”
  7. 7. DevOps as the intersection of development, operations and QA (® Rajiv Pant CCby3.0)
  8. 8. DevOps é uma cultura, e não um cargo
  9. 9. A cultura *DevOps* deve permear todos os momentos do ciclo de desenvolvimento, testes, publicação e sustentação.
  10. 10. Ela permeia a etapa de *codificação*, através de revisões de código pelos pares da equipe e com o uso de ferramentas de versionamento.
  11. 11. Faz-se presente também na etapa de *construção* do código via integração contínua e na etapa de *testes* através de sua execução automatizada.
  12. 12. A cultua DevOps está presente também na etapa de *empacotamento* do produto para publicação de uma nova versão, na etapa de *configuração* do ambiente onde o código será publicado e no *monitoramento* deste código.
  13. 13. DevOps é ter toda a equipe que possui relação com o desenvolvimento, avaliação e publicação de um produto empenhada em ter o mesmo no ar proporcionando a melhor experiência para o usuário final.
  14. 14. Git
  15. 15. Git Github BitBucket GitLab
  16. 16. Git Github BitBucket GitLab CircleCI Jenkins Drone
  17. 17. Git Github BitBucket GitLab CircleCI Jenkins Drone
  18. 18. Git Github BitBucket GitLab CircleCI Jenkins Drone
  19. 19. Git Github BitBucket GitLab CircleCI Jenkins Drone
  20. 20. é verdade esse bilete “O cara de infra reconfigura tudo rapidão, de boa.”
  21. 21. IaC
  22. 22. https://pt.wikipedia.org/wiki/Iaque
  23. 23. Infrastructure as code (IaC)
  24. 24. O *Terraform* é uma ferramenta que possibilita descrever a infraestrutura de um provedor de nuvem numa linguagem de alto nível e, através da ferramenta de mesmo nome, executar o código e ter o ambiente em execução em pouco tempo, sem necessidade de intervenção manual.
  25. 25. Infraestrutura reproduzível
  26. 26. …..
  27. 27. provider "aws" { region = "eu-west-3" shared_credentials_file = “~/credentials" profile = "terraform" } resource "aws_instance" "web" { ami = "ami-0e55e373" instance_type = "t1.micro" tags { Name = “Intercon2018" } }
  28. 28. provider "aws" { region = "eu-west-3" shared_credentials_file = “~/credentials" profile = "terraform" } resource "aws_instance" "web" { ami = "ami-0e55e373" instance_type = "t1.micro" tags { Name = “Intercon2018" } }
  29. 29. provider "aws" { region = "eu-west-3" shared_credentials_file = “~/credentials" profile = "terraform" } resource "aws_instance" "web" { ami = "ami-0e55e373" instance_type = "t1.micro" tags { Name = “Intercon2018" } }
  30. 30. $ terraform init
  31. 31. Initializing provider plugins... - Checking for available provider plugins on https:// releases.hashicorp.com... - Downloading plugin for provider "aws" (1.13.0)... The following providers do not have any version constraints in configuration, so the latest version was installed. To prevent automatic upgrades to new major versions that may contain breaking changes, it is recommended to add version = "..." constraints to the corresponding provider blocks in configuration, with the constraint strings suggested below. * provider.aws: version = "~> 1.13" Terraform has been successfully initialized!
  32. 32. $ terraform apply
  33. 33. An execution plan has been generated and is shown below. Resource actions are indicated with the following symbols: + create Terraform will perform the following actions: + aws_instance.web id: <computed> ami: "ami-f90a4880" associate_public_ip_address: <computed> availability_zone: <computed> ebs_block_device.#: <computed> ephemeral_block_device.#: <computed> get_password_data: "false" instance_state: <computed> instance_type: "t1.micro" ipv6_address_count: <computed> ipv6_addresses.#: <computed> key_name: <computed> network_interface.#: <computed> network_interface_id: <computed> password_data: <computed> placement_group: <computed>
  34. 34. Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Enter a value: yes aws_instance.web: Creating... ami: "" => "ami-f90a4880" associate_public_ip_address: "" => "<computed>" availability_zone: "" => "<computed>" ebs_block_device.#: "" => "<computed>" (…) tenancy: "" => "<computed>" volume_tags.%: "" => "<computed>" vpc_security_group_ids.#: "" => "<computed>" aws_instance.web: Still creating... (10s elapsed) aws_instance.web: Creation complete after 19s (ID: i-055aaa2cab2436ab4) Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
  35. 35. …..
  36. 36. …..
  37. 37. Terraform tem estado
  38. 38. https://medium.com/runatlantis/putting-the-dev-into-devops-why-your-developers- should-write-terraform-too-d3c079dfc6a8
  39. 39. https://medium.com/runatlantis/putting-the-dev-into-devops-why-your-developers- should-write-terraform-too-d3c079dfc6a8
  40. 40. Aguardando o pessoal de infraestrutura Sem bucket no S3 https://xkcd.com/ #2
  41. 41. https://medium.com/runatlantis/putting-the-dev-into-devops-why-your-developers- should-write-terraform-too-d3c079dfc6a8
  42. 42. Git Github BitBucket GitLab CircleCI Jenkins Drone Terraform
  43. 43. Referências
  44. 44. https://medium.com/devopslinks/why-should-terraform-be-one-of-your-devops- tools-29ae15861b1f
  45. 45. https://www.terraform.io/intro/index.html
  46. 46. https://github.com/terraform-providers
  47. 47. https://medium.com/runatlantis/putting-the-dev-into-devops-why-your-developers- should-write-terraform-too-d3c079dfc6a8
  48. 48. @mfcastellani https://aobtr.org/

×