80
www.instruct.com.br Infraestrutura como código Uma revolução silenciosa v.2015.07.28-01

Infraestrutura como Código

Embed Size (px)

Citation preview

www.instruct.com.br

Infraestrutura como código

Uma revolução silenciosa

v.2015.07.28-01

www.instruct.com.br

‣ Guto Carvalho

‣ Consultor e Instrutor na Instruct

‣ Especialista em Gerência de Configurações e Orquestração

‣ Blogueiro de TI há mais de 12 anos

‣ RHCSA, RCHE, RHCJA, ZCS, ZCP, LPIC3, PCP, NCLA

‣ 15 anos de experiência com linux e tecnologias open source

‣ Atou e atua em diversos projetos de Governo em Brasília

‣ ITI, MINICOM, MDA, MJ, MINC, EBC, PR, DATAPREV

‣ CAIXA, DETRAN-DF, ANATEL, FNDE, TCU

‣ Atua em diversos projetos de automação na iniciativa privada

Quem sou?

Sobre a Instruct• Especializada em Infraestrutura Ágil e Automação

• Possui profissionais pioneiros em automação no Brasil

• Empresa alinhada com princípios da Cultura DevOps e Infra Ágil

• 1o Parceira da Puppet Labs no Brasil

• Única ATP (Authorized Training Partner) Puppet Labs no Brasil

• Profissionais com mais de 15 anos de experiência em TI

• Empresa atuando em projetos de Governo e Iniciativa Privada

Plano de trabalho

• 50 minutos de apresentação

• 80 slides serão apresentados

• Ao final mais 10 minutos para últimas dúvidas

• Pergunte quando quiser

www.instruct.com.br

Agenda

• Quanto vale o seu tempo? (5m)

• Downtime, isso afeta meu negócio? (5m)

• Automação (10m)

• Infraestrutura como Código 1 (10m)

• Infraestrutura como Código 2 (10m)

• Infraestrutura como Código 3 (10m)

5 www.instruct.com.br

Infraestrutura como código?

6 www.instruct.com.br

Por que devo me preocupar com isso?

7 www.instruct.com.br

www.instruct.com.br

Quanto vale seu tempo?

Quanto vale o tempo da sua equipe?

9 www.instruct.com.br

Quanto vale o tempo da sua organização?

10 www.instruct.com.br

Como você usa seu tempo?

11 www.instruct.com.br

Como você usa seu tempo?

12 www.instruct.com.br

• Tarefas repetitivas (diariamente)

• Atividades de rotina (Verificar, Reparar, Atualizar, Instalar)

• Criação de ambientes (clones, imagens, scripts)

• Instalação de ferramentas e sistemas (checklists, scripts)

• Deploy de ferramentas e sistemas (checklists, scripts)

• Rollback de ferramentas e sistemas (checklists)

• Tratamento de incidentes (o usuário me avisou)

Como você gostaria de usar seu tempo?

13 www.instruct.com.br

Você gostaria de usar seu tempo para desempenhar atividades realmente importantes para sua organização e para o seu negócio?

14 www.instruct.com.br

15

Projetos Organização Planejamento Documentação Inovação Treinamento

Melhorias Capacitação Repasse Nivelamento Processos Métodos

www.instruct.com.br

www.instruct.com.br

Downtime afeta sua organização?

Quanto custa a hora de cada d e p a r t a m e n t o d a s u a o r g an i z a ç ão d u r a n t e um downtime?

17 www.instruct.com.br

O quanto a imagem de sua organização é afetada durante um downtime?

18 www.instruct.com.br

O quanto sua organização é financeiramente afetada durante um downtime?

19 www.instruct.com.br

O que gera downtime?

20 www.instruct.com.br

O que gera downtime?

21 www.instruct.com.br

• Tarefas repetitivas (diariamente)

• Atividades de rotina (Verificar, Reparar, Atualizar, Instalar)

• Criação de ambientes (clones, imagens, scripts)

• Instalação de ferramentas e sistemas (checklists, scripts)

• Deploy de ferramentas e sistemas (checklists, scripts)

• Rollback de ferramentas e sistemas (checklists)

• Tratamento de incidentes (o usuário me avisou)

Mas por que isso pode gerar downtime?

22 www.instruct.com.br

veja como é feito!

veja como deveria ser é feito!

Ok, mas como eu recupero o meu tempo, como evito downtime e

prejuízos para minha organização?

25 www.instruct.com.br

www.instruct.com.br

Automação

Nos últimos 10 anos diversas inic iat ivas de automação e gerência de configurações surgiram para resolver estes dois problemas.

27 www.instruct.com.br

O que devo automatizar?

www.instruct.com.br

O que eu devo automatizar?

29 www.instruct.com.br

• Tarefas repetitivas (diariamente)

• Atividades de rotina (Verificar, Reparar, Atualizar, Instalar)

• Criação de ambientes (clones, imagens, scripts)

• Instalação de ferramentas e sistemas (checklists, scripts)

• Deploy de ferramentas e sistemas (checklists, scripts)

• Rollback de ferramentas e sistemas (checklists)

• Tratamento de incidentes (o usuário me avisou)

Como faço isso?

30

Infraestrutura como código

www.instruct.com.br

a revolução silenciosa

Uma revolução disc reta dentro da TI mundial vem acontecendo nos últimos anos

32 www.instruct.com.br

O princípio fundamental IaaC é tratar sistemas e serviços da mesma forma que tratamos o código de um software.

33 www.instruct.com.br

Sua infraestrutura é traduzida para uma linguagem que permite uma visualização clara de seu ambiente, sistemas, serviços, demonstrando seu comportamento e estado.

34 www.instruct.com.br

Infraestrutura como código

www.instruct.com.br

métodos e ferramentas

Infraestrutura clássica

36 www.instruct.com.br

37métodos lentos

38erros e trabalho repetitivo

39consome o tempo de sua equipe

40processo complexos

Infraestrutra com um pouco de código (scripts)

41 www.instruct.com.br

ssh em loop

#!/bin/bash

SERVERS="ftp.meudominio.com.br www.meudominio.com.br"

for ip in $SERVERS; do ssh $ip done

testes?

#!/bin/bash

SERVERS="ftp.meudominio.com.br www.meudominio.com.br"

for ip in $SERVERS; do ssh $ip done

garantia?

#!/bin/bash

SERVERS="ftp.meudominio.com.br www.meudominio.com.br"

for ip in $SERVERS; do ssh $ip done

relatórios?

#!/bin/bash

SERVERS="ftp.meudominio.com.br www.meudominio.com.br"

for ip in $SERVERS; do ssh $ip done

portabilidade?

#!/bin/bash

SERVERS="ftp.meudominio.com.br www.meudominio.com.br"

for ip in $SERVERS; do ssh $ip done

consistência?

#!/bin/bash

SERVERS="ftp.meudominio.com.br www.meudominio.com.br"

for ip in $SERVERS; do ssh $ip done

cobertura?

#!/bin/bash

SERVERS="ftp.meudominio.com.br www.meudominio.com.br"

for ip in $SERVERS; do ssh $ip done

rollback?

#!/bin/bash

SERVERS="ftp.meudominio.com.br www.meudominio.com.br"

for ip in $SERVERS; do ssh $ip done

Infraestrutura como código

50 www.instruct.com.br

51

sua infra passa a ser código

52

sua infra passa a ser visível

53

você visualizava assim

54

ou assim

isso também é sua infra

56Linguagem declarativa

57Testes robustos

58Relatórios

59Garantia de execução

60Idempotência

61Omeostasia

62Convergência

63Controle das mudanças

64Documentação executável

Ferramentas para gerência de configuração

65 www.instruct.com.br

66

Não fique procurando a melhor, teste as opções e escolha a que for mais aderente a suas necessidades.

67 www.instruct.com.br

Independente da sua escolha o importante é usar uma destas soluções, com isso você estará entrando na infraestrutura como código.

68 www.instruct.com.br

Infraestrutura como código

www.instruct.com.br

dicas finais

Código deve sempre ser versionado em algum sistema VCS (Git).

70 www.instruct.com.br

Siga as boas práticas de codificação da ferramenta que escolheu.

71 www.instruct.com.br

Procure módulo s e receitas prontas na web, não reinvente a roda.

72 www.instruct.com.br

Procure ferramentas de teste para validar seu código TDD/BDD/ATDD.

73 www.instruct.com.br

Trabalhe integração contínua no desenvolvimento do código de usa infra.

74 www.instruct.com.br

Se optou por automação pense sempre em automação desde o momento zero de seu projeto, não dê passos para trás.

75 www.instruct.com.br

Busque métodos ágeis para integração de sua equipe (kanban/scrum).

76 www.instruct.com.br

Obrigado!

77 www.instruct.com.br

Perguntas?

78 www.instruct.com.br

twitter: @gutocarvalho telegram: @gutoccarvalho

skype: gutoccarvalho freenode irc: gutocarvalho

[email protected]

slideshare.net/instructbr speakerdeck.com/instructbr

61-3246-929 / 19-2511-6506

79 www.instruct.com.br

Entre em contato

www.instruct.com.br