Slide 1

Slide 1 text

de Gitlab a Ansible: Serviços públicos com entrega ágil no desenvolvimento e operações sustentados por automação de TIC Adriano Vieira [email protected]

Slide 2

Slide 2 text

de Gitlab a Ansible Serviços públicos com entrega ágil no desenvolvimento e operações sustentados por automação de TIC

Slide 3

Slide 3 text

Empresa Brasil de Comunicação ● Agencia Brasil: agência pública de notícias ● NBR Governo Federal: emissora estatal de televisão do Governo Federal ● Portais: Conteúdo público & Comunicação pública. ● Rádioagência Nacional: comunicação de conteúdos radiofônicos ● Rádios: Sistema EBC de Rádio que cobre todo o território nacional ● Serviços: diretamente prestados a clientes publico e privado ● TV Brasil: emissora de TV integrante da Rede Pública de Televisão http://www.ebc.com.br/institucional Keep C.A.L.M.S. and having fun!

Slide 4

Slide 4 text

Empresa Brasil de Comunicação Nacional da Amazônia Nacional de Brasília Nacional do Rio de Janeiro MEC Internet: municípios com acesso para uso público (Fonte: IBGE/2009) Emissoras e parcerias da TV Brasil (geradoras, retransmissoras, afiliadas) Keep C.A.L.M.S. and having fun!

Slide 5

Slide 5 text

Empresa Brasil de Comunicação em TIC ● Equipes: 4 (~30 Dev&Ops) ● Projetos: 300+ ● Java EE, Drupal, RoR, Python, NodeJS, C/C++, pyTorch ● Portais/Serviços/apps ● Gestão de Ativos Digitais ● Publicidade Legal ● Portais EBC ● EBC Play ● EBC Rádios http://www.ebc.com.br/institucional Keep C.A.L.M.S. and having fun!

Slide 6

Slide 6 text

Melhorar e Adaptar Keep C.A.L.M.S. and having fun!

Slide 7

Slide 7 text

The Lean IT house. Orzen, Paider Technology Process People Source: Making IT Lean Melhorar e Adaptar Keep C.A.L.M.S. and having fun!

Slide 8

Slide 8 text

Melhorar e Adaptar Keep C.A.L.M.S. and having fun!

Slide 9

Slide 9 text

Melhorar e Adaptar Trabalhe em interações ajustadas Cultura de experimentação Keep C.A.L.M.S. and having fun!

Slide 10

Slide 10 text

Melhorar e Adaptar Feedback constante Gestão apoiada em observação / monitoramento / KPI Keep C.A.L.M.S. and having fun!

Slide 11

Slide 11 text

Tecnologias Keep C.A.L.M.S. and having fun!

Slide 12

Slide 12 text

Cloud Native Landscape from @CloudNativefdn https://landscape.cncf.io/ Tecnologias Keep C.A.L.M.S. and having fun!

Slide 13

Slide 13 text

Periodic Table of DevOps Tools (v3) from @XebiaLabs https://xebialabs.com/periodic-table-of-devops-tools Tecnologias Keep C.A.L.M.S. and having fun!

Slide 14

Slide 14 text

Tecnologias Adote a mais aderente a resolver o problema Cultura de experimentação & domínio da equipe Keep C.A.L.M.S. and having fun!

Slide 15

Slide 15 text

Tecnologias -CI build / teste / .. Keep C.A.L.M.S. and having fun!

Slide 16

Slide 16 text

Desafios Testes incipientes e manuais Domínio básico da infraestrutura Deploy dia(s) Keep C.A.L.M.S. and having fun!

Slide 17

Slide 17 text

Tecnologias  Gitlab (http://www-scm.ebc)  SonarQube (http://www-qa.ebc)  Nexus (http://www-bin.ebc)  Gitlab-CI Runner  Docker  PostgreSQL  Ansible Keep C.A.L.M.S. and having fun!

Slide 18

Slide 18 text

Tecnologias  Gitlab (http://www-scm.ebc)  SonarQube (http://www-qa.ebc)  Nexus (http://www-bin.ebc)  Gitlab-CI Runner  Docker  PostgreSQL  Ansible Keep C.A.L.M.S. and having fun!

Slide 19

Slide 19 text

Tecnologias  Gitlab (http://www-scm.ebc)  SonarQube (http://www-qa.ebc)  Nexus (http://www-bin.ebc)  Gitlab-CI Runner  Docker  PostgreSQL  Ansible Keep C.A.L.M.S. and having fun!

Slide 20

Slide 20 text

Tecnologias  Gitlab (http://www-scm.ebc)  SonarQube (http://www-qa.ebc)  Nexus (http://www-bin.ebc)  Gitlab-CI Runner  Docker  PostgreSQL  Ansible Keep C.A.L.M.S. and having fun!

Slide 21

Slide 21 text

Tecnologias Keep C.A.L.M.S. and having fun!

Slide 22

Slide 22 text

Tecnologias Keep C.A.L.M.S. and having fun!

Slide 23

Slide 23 text

Fluxo CI/CD aplicado  DSL do pipeline como código ➔.gitlab-ci.yml + docker  DSL deploy ➔playbook.yml + inventário.yml Keep C.A.L.M.S. and having fun!

Slide 24

Slide 24 text

Fluxo CI/CD aplicado  DSL do pipeline como código .gitlab-ci.yml + docker (http://www-scm.ebc/help/ci/yaml/README.md) Keep C.A.L.M.S. and having fun!

Slide 25

Slide 25 text

Fluxo CI/CD aplicado  DSL do pipeline como código .gitlab-ci.yml + docker (http://www-scm.ebc/help/ci/yaml/README.md) em tempo de CI, instancia serviço de BD em docker Keep C.A.L.M.S. and having fun!

Slide 26

Slide 26 text

Fluxo CI/CD aplicado  DSL do pipeline como código ➔.gitlab-ci.yml + docker Testes: Preparação Keep C.A.L.M.S. and having fun!

Slide 27

Slide 27 text

Fluxo CI/CD aplicado Testes:Execução http://www-scm.ebc/corporativo/api-ebcPlay/blob/development/.gitlab-ci.yml Keep C.A.L.M.S. and having fun!

Slide 28

Slide 28 text

Fluxo CI/CD aplicado  DSL deploy playbook.yml + inventário.yml Keep C.A.L.M.S. and having fun!

Slide 29

Slide 29 text

Fluxo CI/CD aplicado  DSL deploy (.gitlab-ci.yml) playbook.yml + inventário.yml (Ansible) Keep C.A.L.M.S. and having fun!

Slide 30

Slide 30 text

Fluxo CI/CD aplicado  DSL deploy (.gitlab-ci.yml) playbook.yml + inventário.yml (Ansible) app.devel /opt/app Keep C.A.L.M.S. and having fun!

Slide 31

Slide 31 text

Fluxo CI/CD aplicado  DSL deploy (.gitlab-ci.yml) playbook.yml + inventário.yml (Ansible) Permanece inalterado /opt/app app-01.prod Keep C.A.L.M.S. and having fun!

Slide 32

Slide 32 text

Fluxo CI/CD aplicado  DSL deploy (.gitlab-ci.yml) playbook.yml + inventário.yml (Ansible) app-01.prod /opt/app app-02.prod app-03.prod Permanece inalterado Keep C.A.L.M.S. and having fun!

Slide 33

Slide 33 text

Resultados  agilidade na entrega:  de: 4h para: 20min  maturidade de testes  de: manual para: automatizado  entregas com mais qualidade  Débito técnico <= 5% Keep C.A.L.M.S. and having fun!

Slide 34

Slide 34 text

Oportunidades  Aprimorar cobertura de testes  Ampliar uso da esteira CI/CD para mais projetos  Aumentar a qualidade do código Keep C.A.L.M.S. and having fun!

Slide 35

Slide 35 text

Estou Preparado para o Futuro do Trabalho? Keep C.A.L.M.S. and having fun!

Slide 36

Slide 36 text

Referências  Accelerate. Nicole Forsgren, Gene Kim, Jez Humble. 2018  Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation. Jez Humble, David Farley. 2010  The Lean IT Field Guide. Thomas A. Paider, Michael A. Orzen. 2017  Making IT Lean. Rebecca Duray, Howard Williams. 2012  GitLab Continuous Integration (GitLab CI/CD), https://docs.gitlab.com/ce/ci  Continuous integration, https://en.wikipedia.org/wiki/Continuous_integration  Ansible IT automation tool documentation, https://docs.ansible.com/  Docker Documentation, https://docs.docker.com  SonarQube documentation, https://docs.sonarqube.org/ Keep C.A.L.M.S. and having fun!

Slide 37

Slide 37 text

@adriano_vieira speakerdeck.com/adrianovieira gitlab.com/adrianovieira Adriano Vieira Entusiasta em integração de equipes e agilidade em entrega de resultados, atua como agente influenciador na implementação de infraestruturas ágeis e na internalização de práticas Lean & DevOps. Profissional de TI com mais 20 anos de experiência trabalhando e gerenciando equipes em ambientes de Datacenter, tendo atuado em desenho, análise e desenvolvimento de sistemas de baixa a alta complexidade como ERP. Também atuou como líder do desenvolvimento de projeto open-source e contribui para projetos desta natureza. Atualmente trabalha na Empresa Brasil de Comunicação (EBC) como Coordenador de Desenvolvimento e Distribuição de Conteúdos. É formado em engenharia mecânica e em MBA. Keep C.A.L.M.S. and having fun!