startups e devops
TRANSCRIPT
![Page 1: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/1.jpg)
Startups e DevOps
PhD José Bringel FilhoLagoas Digitais / CUIA
![Page 2: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/2.jpg)
Por que DevOps? Qual a relação com a minha Startup? Por que eu preciso disso?
2
![Page 3: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/3.jpg)
Startup Enxuta - Lean Startup
3
Aprende Construir
Ideia
Dados Produto
Medir
MVP
Devo Contruir
MVPs
![Page 4: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/4.jpg)
4
PRODUTO
Na verdade, várias versões de MVP conforme a validação e aprendizado do negócio
![Page 5: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/5.jpg)
5
Utilizando metodologia ágil para entregar valor ao cliente rapidamente
![Page 6: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/6.jpg)
6
MVP
De forma alinhada com a validação/descoberta de clientes – Startup Enxuta
![Page 7: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/7.jpg)
7
CONSUMIDOR
Mas precisamos manter o foco no cliente!!!
![Page 8: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/8.jpg)
8
Conhecendo bem os seus problemas e necessidades que mudam continuamente
![Page 9: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/9.jpg)
9
Então precisamos construir MVPs rapidamente, continuamente e sem interrupções/falhas
![Page 10: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/10.jpg)
10
Como então responder rapidamente as demandas dos nossos consumidores, aliando entregas rápidas e com infraestrutura dimensionada para atender?
![Page 11: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/11.jpg)
11
Surge então em 2008/2009 o movimento DevOps, recebendo influencia do movimento ágil e propondo eficiencia na entrega de infraestrutura/operacional para os desenvolvedores
![Page 12: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/12.jpg)
A união de 2 mundos até então separados por cultura, mas que devem caminhar juntos em busca do atendimento rápido as mudanças do mercado
![Page 13: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/13.jpg)
13
DevOps está em constante evolução e com terminologia em mutação contínua
![Page 14: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/14.jpg)
14
É cada vez mais comum a aproximação e trabalho colaborativo de profissionais de desenvolvimento com os de infraestrutura, em busca de objetivos comuns de negócio
![Page 15: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/15.jpg)
15
Colaboração
Comunicação
Integração
Melhorando a comunicação, colaboração e integração, em prol de produtos confiáveis, com maior qualidade e menor taxa de erros/falhas de disponibilidade
![Page 16: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/16.jpg)
DevOps possui 4 eixos principais: Cultura, Automação, Avaliação e Compartilhamento
16
![Page 17: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/17.jpg)
17
![Page 18: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/18.jpg)
Beleza, entendi o que é DevOps. Agora, o que eu devo fazer?
1º Entender as características de um ambiente DevOps
18
![Page 19: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/19.jpg)
Como é um ambiente com características DevOps?• Infraestrutura como código
• Orquestração de servidores
• Deploy Automatizado
• Gerência de configurações
• Provisionamento dinâmico e automatizado de ambientes
• Controle de versões compartilhado entre infraestrutura e desenvolvimento
• Múltiplos ambiente para sistemas - desenvolvimento, teste, produção
• Ambientes de entrega e integração contínua
19
![Page 20: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/20.jpg)
Como é um ambiente com características DevOps?• Publicação de novas versões de software passando por um pipeline
de testes automatizados que aceitam ou não a versão
• Coleta, Processamento, Armazenamento e visualização de dados dos serviços e sistemas
• Monitoramento do ponto de vista do negócio com processamento adequado dos eventos e métricas
• Capacidade de resposta rápida a incidentes e problemas utilizando automação
• Backup e restauração confiáveis
20
![Page 21: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/21.jpg)
Entendi como é um ambiente e vejo que já usava ferramentas DevOps na empresa, mas não tinha a cultura. O que fazer agora?
2º Inserir a cultura nos novos projetos
21
![Page 22: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/22.jpg)
Minha empresa iniciará 1 novo projeto, o que fazer?• Equipe da Infraestrutura deve participar do
desenvolvimento desde o início• Quem irá garantir disponibilidade, segurança, desempenho e
monitoração?
• Quanto mais falhas forem resolvidas durante o período de desenvolvimento do projeto menor é a possibilidade de problemas serem expostos aos clientes
• Quando os times trabalham juntos o produto tem maior qualidade e desempenho pois ambos agregam valor e conhecimento ao projeto
22
![Page 23: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/23.jpg)
DevOps para a equipe de Infraestrutura
• Infraestrutura deve participar das reuniões de desenvolvimento
• A infraestrutura também precisa observar quais são as metas da empresa a longo prazo, principalmente aquelas ligadas ao desenvolvedor
• Ao entender onde o setor de desenvolvimento quer chegar, ela pode se programar melhor para ter certeza que a infraestrutura tecnológica estará preparada para atendê-los quando necessário
23
![Page 24: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/24.jpg)
DevOps para a equipe de desenvolvimento
• Desenvolvimento deve participar das reuniões de infraestrutura• A infraestrutura precisa envolver o desenvolvimento em suas reuniões, deve
haver sempre um representante acompanhando as reuniões técnicas para que o desenvolvedor entenda e tenha ciência da realidade de infraestrutura
• Dessa maneira, é possível enxergar suas qualidades, atribuições, planos de melhorias, atualizações programadas e agendas de manutenção, além de conhecer os recursos disponíveis e as limitações da equipe
• Além disto, o desenvolvedor pode ser um grande aliado da infraestrutura na solução de problemas, afinal o conhecimento que o desenvolvedor traz pode ajudá-los a melhorar a forma com que administram seu ambiente, tornando o processo mais eficiente, principalmente na parte de automação
24
![Page 25: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/25.jpg)
Vantagens para Infraestrutura
• Infraestrutura como código• equipe para de administrar e passa a desenvolver a infraestrutura
• Infraestrutura mais eficiente e rápida usando métodos ágeis
• Equipe de infraestrutura mais organizada
• Equipe de infraestrutura se comunica melhor
• Infraestrutura fazendo mais em menos tempo com menos gente
• Ambientes de gerência de configuração, orquestração e provisionamento implantados
• Implementações de infraestrutura (novos ambientes) mais rápidos e seguros => entrega rápida
• Ambiente padronizado e sob controle
• Feedback rápido em todas as atividades de infraestrutura
25
![Page 26: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/26.jpg)
Vantagens para Desenvolvimento
• Desenvolvimento tem ambiente mais adequado para trabalhar (dev/teste/prod)
• Desenvolvimento passa a contar com ambiente de entrega e integração contínua
• Desenvolvimento passa a contar com testes automatizados
• Desenvolvimento de apps (novas versões) mais rápidos e seguros => entrega rápida
• Feedback rápido em todas as fases de desenvolvimento
26
![Page 27: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/27.jpg)
Benefícios mútuos
• Acaba a divisão Infraestrutura vs Desenvolvimento
• Infraestrutura participa dos projetos e acompanha de perto tudo o que acontece
• Infraestrutura participando resulta em melhor planejamento do ambiente de produção
• A participação da infraestrutura resulta em monitoramento mais eficaz da aplicação
• Desenvolvimento começa a compreender melhor a infra e isso resulta em um produto melhor
• Equipes trabalhando em conjunto para aumentar o valor do negócio
27
![Page 28: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/28.jpg)
Para a empresa
• Melhor comunicação entre desenvolvimento e infraestrutura• Diminuição de conflitos
• As soluções funcionam com maior estabilidade e desempenho
• Entregas mais rápidas
• Menor tempo de paradas
• Diminuição de incidentes
• Diminuição de custos
• Diminuição de riscos
• Aumento do valor do negócio
28
![Page 29: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/29.jpg)
29
![Page 30: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/30.jpg)
30
![Page 31: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/31.jpg)
31
Ciclo de evolução de produtos em uma infra DevOps
![Page 32: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/32.jpg)
32
1) Desenvolvedores
2) Repositório de código 3) Construção 4) Testes 5) Implantação - Nuvem
6) Monitorar e melhorar
Macro-etapas de operação DevOps
![Page 33: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/33.jpg)
Existem muitas empresas que fornecem serviços DevOps?
Veja o cenário apenas no ecossistema de Israel
33
![Page 34: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/34.jpg)
34
![Page 35: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/35.jpg)
A minha startup já está com a cultura, veja as vantagens e o que utilizamos
35
![Page 36: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/36.jpg)
Vantagens de DevOps para Startups
• Melhoria na frequência de implantações - Deployments• Menor tempo para ir ao mercado - Time to Market
• Baixa taxa de falhas - failures
• Tempo de espera menor - Lead time
• Tempo de recuperação menor - Faster recovery
36
![Page 37: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/37.jpg)
Estudo de Caso – DevOps na Startup CONTRIB (Contrib.vc)
37
![Page 38: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/38.jpg)
38
![Page 39: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/39.jpg)
Ferramentas utilizadas na CONTRIB
• Gerenciamento da Cadeia de Suprimentos - Supply Chain Management (SCM)
• GitHub: para controle de versão de projetos que a Contrib tenha interesse em tornar públicos para que a comunidade em geral possa reutilizar e contribuir com melhorias
• Reutilizamos libs e pacotes open sources nos projetos da Contrib
• GITLAB: Para controle de versão de projetos privados e naqueles que a equipe precisa de mais facilidade na integração de código
• GIT: Utilizamos o Git como ferramenta para controle de versão de repositórios locais, e para integrar com repositórios remotos
39
![Page 40: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/40.jpg)
Sistema de Automação de Compilação - Build
• GRADLE• Utilizamos o Gradle para automatizar a compilação dos projetos
• É útil pois alguns processos de compilação demoram de 2 a 10 minutos, e a ferramenta ajuda a compilar apenas o necessário
• Também é útil na importação e gerenciamento de dependências
• MAVEN• A Contrib utiliza o maven em projetos JSF para automatizar a
compilação e gerir as dependências.
40
![Page 41: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/41.jpg)
Testes - tests
• SELENIUM• A Contrib está implantando a prática de testes de software antes
do lançamento de releases• O que é uma prática pouco frequente aqui em Teresina
• E a ferramenta Selenium tem nos ajudado pois reduz o envolvimento humano em tarefas manuais e repetitivas a cada lançamento de versão de software
• JUNIT• A Contrib também utiliza JUNIT para testes unitários, e assim
verificar se as alterações realizadas não vão quebrar regras de negócios
41
![Page 42: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/42.jpg)
Máquinas Virtuais Automatizadas
• VAGRANT• A Contrib planeja implantar o uso da ferramenta Vagrant
para criarmos rapidamente ambientes virtuais para fazermos testes, desenvolvimento ou provisionamento de versões de softwares minimamente funcionais e assim poupar tempo em configuração de ambientes.
42
![Page 43: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/43.jpg)
Nuvem - Cloud
• HEROKU• A Contrib adotou o Heroku para distribuir todas as
aplicações• Ela foi uma das primeiras plataformas de nuvem, já está
em desenvolvimento desde junho de 2007, e hoje já aceita aplicações criadas em Java, Ruby, Node.js, Scala, Python e PHP
• E não só pela diversidade, mas pela facilidade em implantar e escalar
43
![Page 44: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/44.jpg)
Colaboração
•TRELLO•A ferramenta TRELLO é mais uma ferramenta que nos auxilia quando trabalhamos em equipe
•Por ser baseada no “kanban” nos proporciona a organização, manejo de prazos e tarefas que precisamos
44
![Page 45: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/45.jpg)
Será que iremos parar no DevOps? O que virá pela frente?
45
![Page 46: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/46.jpg)
46
![Page 47: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/47.jpg)
“NoOps é uma evolução lógica de DevOps com a filosofia: Humanos
devem resolver novos problemas e as máquinas resolver problemas
conhecidos!”
47
Botmetric CEO Vijay Rayapati
![Page 48: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/48.jpg)
Principais tendências: DevOps -> NoOps
• Programação sem servidor - Serverless Programming• Este paradigma de programação e implantação eliminará
significativamente o requisito do DevOps para o gerenciamento de provisionamento e configuração
• O mundo da nuvem só verá uma trajetória de crescimento para o movimento NoOps, já que todos os fornecedores de nuvem amadurecem suas ofertas sem servidor
• Contêinerização – Containerization• Os contêineres, como o Docker, irão resumir ainda mais as
dependências e o compartilhamento de recursos entre diferentes componentes, alavancando soluções de gerenciamento de cluster e orquestração como Kubernetes, Mesos, ECS, Nomad, etc., para fornecer uma visão comum da infra-estrutura subjacente
48
![Page 49: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/49.jpg)
Principais tendências: DevOps -> NoOps
• Arquitectura de Microserviços• ajudará os engenheiros e as empresas a desacoplar
a complexidade dos sistemas monolíticos em componentes pequenos e gerenciáveis que lidam com responsabilidade específica
• Como a conteinerização se torna uma maneira padrão de implantar componentes na nuvem, ele verá uma adoção rápida
49
![Page 50: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/50.jpg)
Principais tendências: DevOps -> NoOps
• Operações inteligentes e unificadas• Ferramentas estáticas com (ou sem inteligência)
estão crescendo lentamente para os engenheiros
• Para este fim, houve um aumento no uso da inteligência de máquina e uma maior adoção de técnicas de aprendizado
• Consequentemente, a indústria verá mais adoção de ferramentas que dinamicamente podem ajudá-las nas operações do dia-a-dia
50
![Page 51: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/51.jpg)
Principais tendências: DevOps -> NoOps
•Auto-cura e remediação automática• O mundo DevOps estava limitado a construir,
implementar e provisionar enquanto as operações do dia-a-dia são tratadas de forma manual ou semi-automatizada
• No NoOps as máquinas podem resolver problemas conhecidos e repetitivos e os engenheiros podem resolver novos problemas
51
![Page 52: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/52.jpg)
Bom, preciso correr e melhorar a cultura DevOps da minha empresa. Irei mapear as ferramentas, criar o pipeline, executar o sequenciamento de MVPs, ... São muitos ingredientes para essa “formula”
52
![Page 53: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/53.jpg)
Preciso de uma verdadeira “tabela periódica” de ferramentas para montar/implantar o DevOps na minha empresa. Ainda bem que ...
53
![Page 54: Startups e DevOps](https://reader031.vdocuments.net/reader031/viewer/2022030317/5a6562e77f8b9a987f8b478b/html5/thumbnails/54.jpg)
https://xebialabs.com/periodic-table-of-devops-tools/