Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[Devosp Heroes] Devops para iniciantes

[Devosp Heroes] Devops para iniciantes

More Decks by Kamila de fatima santos oliveira

Other Decks in Programming

Transcript

  1. Kamila Santos Tech Lead na Zup Innovation, microsoft mvp, co-

    autora dos livros Jornada Java e Jornada Microsserviços, co-organizadora da womakerscode, devsjavagirl e perifacodee criadora de conteudo no youtube e instagram Kamila code
  2. @kamila_code O QUE É DEVOPS Podemos definir a metodologia Devops

    como uma abordagem de cultura, automação e design visando agregar valor ao negócio , entregando mais rápido e com mais qualidade
  3. @kamila_code O QUE É DEVOPS A palavra Devops vem da

    combinação de desenvolvimento e operações , porém suas ideias e iniciativas ultrapassam os significados desses termos e que veremos ao longo dessa palestra
  4. @kamila_code PILARES DO DEVOPS Também conhecida como Trinity of Devops,

    grande maioria das estratégias Devops de sucesso contém os seguintes pilares:
  5. @kamila_code PESSOAS E CULTURA Organizar a equipe de modo que

    faça sentido para um determinado objetivo comum , trabalhando juntos para levar software rápido e de qualidade o mais rápido para os stakeholders.
  6. @kamila_code FERRAMENTAS E TECNOLOGIAS Sem as ferramentas e tecnologias certas,

    o Devops não é sustentável. Existem ferramentas para todas as etapas do Devops
  7. @kamila_code PROCESSOS E PRÁTICAS Agile e Devops andam juntos, adotando

    alguma metodologia ágil os times tem mais independência e processos mais simples.
  8. @kamila_code MODELO CASCATA Processo sequencial que é dividido em várias

    fases e não é possível voltar a etapa anterior depois que ela avançar
  9. @kamila_code MODELO ÁGIL O projeto se divide em várias iterações

    , a cada final de uma iteração uma parte do produto é entregue . Cada iteração dura de 2 a 3 semanas , e várias áreas trabalham continuamente e em conjunto
  10. @kamila_code GERENCIAMENTO DE CÓDIGO FONTE É criado um planejamento e

    é iniciado o desenvolvimento do projeto usando ferramentas de controle de versão
  11. @kamila_code BUILD E TESTES CONTÍNUOS Nessa fase são utilizados gerenciadores

    de dependência para gerar o pacote da aplicação completa, os testes são realizados com frameworks e bilbliotecas de teste
  12. @kamila_code INTEGRAÇÃO CONTÍNUA Assim que os testes são executados e

    passam com sucesso , novos recursos são integrados à base de código já existente
  13. @kamila_code JENKINS Ferramenta open-source de integração contínua , ajuda a

    automatizar o desenvolvimento, testes e implantação contínuos
  14. @kamila_code DOCKER Docker é um software de código aberto utilizado

    para implantar aplicações dentro de containers virtuais . Essa containerização permite que vários aplicativos funcionem em diferentes ambientes
  15. @kamila_code ANSIBLE Ansible é uma ferramenta de automação que pode

    configurar sistemas, implantar aplicações e provisionar recursos de nuvem.
  16. @kamila_code O QUE É INTEGRAÇÃO CONTÍNUA (CI) É uma prática

    de desenvolvimento que nos permite mesclar suas alterações de código no repositório central. Desse modo, o build e os testes são executados com base nesse novo código
  17. @kamila_code O QUE É ENTREGA CONTÍNUA (CD) Se refere a

    construção, teste e entrega das melhorias de código, ela é um tipo de extensão da fase de integração contínua para garantir que novas mudanças possam ser liberadas mais rapidamente e com mais qualidade
  18. @kamila_code O QUE É IMPLANTAÇÃO CONTÍNUA (CD) É a extensão

    da entrega contínua , resulta no estágio final da pipeline que se refere à liberação automática de qualquer alteração do desenvolvedor do repositório para ambiente produtivo.
  19. @kamila_code TDD Desenvolvimento orientada a testes, primeiro escrevemos o teste,

    depois escrevemos o código para passar nesse teste e por fim refatoramos esse código já funcional.
  20. @kamila_code CODE COVERAGE É uma métrica que pode nos auxiliar

    a saber o quanto do nosso código fonte está coberto por testes, para termos a porcentagem de coverage são verificados alguns pontos geralmente:
  21. @kamila_code VIRTUAL MACHINE São uma espécie de computador virtual (muitas

    vezes chamada de imagem) que contém CPU, memória e disco , ela é independente do computador físico
  22. @kamila_code VIRTUAL MACHINE Com elas podemos criar e implantar aplicativos

    na nuvem, ter um novo ambiente com outro sistema operacional, tendo redução de custos e maior flexibilidade
  23. @kamila_code APM Realiza o gerenciamento de desempenho de aplicações ,

    buscando demonstrar porque as transações estão ocorrendo de modo mais lento ou estão indisponíveis em algum momento.
  24. @kamila_code COMPUTAÇÃO EM NUVEM Entrega de recursos sobre demanda de

    modo virtual, em vez de precisar manter datacenters físicos você pode requisitar recursos e pagar conforme usa por meio de um provedor de nuvem.
  25. @kamila_code PAAS Plataforma como um serviço, fornece uma plataforma completa

    de cloud , hardware , software e infraestrutura para desenvolvimento , execução e gerenciamento de aplicativos
  26. @kamila_code IAAS Infraestrutura como serviço, fornece de modo virtual a

    infraestrutura bruta de serviços físicos, máquinas virtuais, armazenamento, rede, etc
  27. @kamila_code SAAS Software como um serviço, visa disponibilizar softwares e

    soluções via internet , sem se preocupar com instalação, manter hardware etc
  28. @kamila_code CLOUD PUBLICA Desenvolvida e gerenciada por uma empresa terceirizada,

    é um pool de serviços alocados para diversos clientes.
  29. @kamila_code CLOUD PRIVADA Mesma coisa da pública, porém os serviços

    só são ofertados para pessoas daquela organização
  30. @kamila_code O QUE É SERVERLESS Modelo de desenvolvimento nativo em

    nuvem para criação e execução de aplicações sem o gerenciamento de servidores.
  31. @kamila_code O QUE É SERVERLESS Vale lembrar que o servidores

    ainda são utilizados nesse modelo, porém eles são abstraídos do desenvolvimento de aplicações. O provedor de nuvem fica responsável pelo provisionamento, manutenção e escala. ex: AWS Lambda