Devops
Slides
Rascunho da Apresentação
- Uma apresentação sobre DevOps Marcello Alexandre - Curso de Redes de Computadores
- O que é DevOps? Não existe uma definição específica por não haver um manifesto igual no 'ágil' onde vc tem cartilha a ser "seguida" de forma que mesmo o devops sendo conhecido mundialmente, cada empresa adapta o conceito de acordo com as suas necessidades. E foi no evento Agile 2008 que se abriu caminhos para o DevOps, com discussões e debates acerca de infraestrutura ágil, então no ano seguinte em 2009 surgiu o termo devops. [na imagem o manifesto agile e o link para o site]
- Bem o termo DevOps é uma conjunção entre “Development” (Desenvolvimento) e “Operations” (Operação) ele surgiu com o intuito para resolver os problemas da abordagem tradicional no desenvolvimento de software onde nas metologias tradicionais a gente tinha ali papeis bem definidos (umas das mais conhecidas a cascata)
- A gente tem esse cenário onde o papel do time de desenvolvimento era converter requisitos em programas. E cabia à equipe de operações instalar e manter esses programas rodando adequadamente na infraestrutura existente. Então é aqui começa os problemas a serem solucionados [imagem da serie ruptura apple+ sem dar spoiler da serie que pra mim é a melhor de 2022, a serie apresenta na empresa q é ambientado dois grupos que trabalham separadamente sem mesmo saber muito da existencia do outro mas mesmo assim existe uma especie de rivalidade mortal entre essas equipes e o deseronlar da historia é eles se juntarem para tentar descobrir o que realmente acontece nesta empresa assim criando a trama]
- então a gente tem esse cenário de dificuldade de comunicação entres as duas equipes em que cada um faz apenas sua parte e joga pro outro, nem preciso dizer a confusão que isso dava Se deu pra entender bem é aqui que o DevOps surgem em cima desse cenário e pra trazer essa explicação pra vocês eu fiz uma divisão simbólica onde vou falar sobre a cultura a carreira e o processo dividindo nessas 3 explicações porque foi a forma q me ajudou a entender e espero que facilite para vocês também Bem começando aqui pela cultura a solução para seus problemas[imagem de gente feliz no slide]
- Aqui uma definição do (Ken Mugragi) que é um consultor de tecnologia ele fala bastante sobre devops fazendo palestras etc Modern Continuous Delivery • Ken Mugrage • GOTO 2020 [em inglês] https://youtu.be/lBi85lNmKFw DevOps: Uma cultura em que as pessoas, independentemente do título ou formação, trabalham juntas para imaginar, desenvolver, implantar e operar um sistema. Ken Mugrage
-
2007: houve as primeiras iniciativas em um projeto de migração de data center. Patrick Dubois (Bélgica) propõe a criação de um time de DevOps para melhorar a integração e eficiência entre o time de desenvolvimento e operações, pois havia um grande gargalo e um problema na cadeia de entrega.[na imagem tem o livro Manual do DevOps] 2008: Patrick Debois apresenta na Agile Conference (Toronto/CA) um modelo para solucionar os conflitos entre as áreas de desenvolvimento e operações de TI, com foco em dar mais agilidade à área de infraestrutura. 2009: Allspaw & Paul Hammond apresentam no Velocity (San Jose/CA) 10+ Deploys per day, propondo um novo modelo operacional para atender as mudanças nos negócios. E assim, mudar a forma: “Dev’s job is to add new features; Ops’ job it to keep the site stable and fast”. 2011-2012: líderes do setor de software (IBM, CA Technologies, etc.) aumentam a presença de DevOps tools no mercado empresarial. 2013: o livro The Phoenix Project, entre outros, traz conceitos de CI (Continuous Integration), CD (Continuous Delivery e Deployment), fundamentais para a propagação das práticas até hoje. 2014: começa a gerar impacto positivo na área de TI – benefícios do DevOps. 2015: presença no Gartner Hype Cycle. O hype cycle identifica cinco estágio no ciclo de vida tecnológico.
-
A ideia central por trás do DevOps é ter processos bem definidos, auto-matizar ações e possibilitar cooperação mútua. Dessa forma, os profissionais ficam livres para focar as suas atividades em soluções inteligentes (MUELLER, 2016). Com a liderança e o uso de ferramentas corretas, é possível viabilizar um ambiente onde desenvolvedores e administradores de infraestrutura trabalhem em harmonia. A eficiência da cultura DevOps pode ser percebida quando a organização compreende o seu funcionamento. Na Figura do slide é apresentado as áreas que se relacionam, formando o DevOps nessa interseção. Cada uma dessas áreas possui suas próprias metodologias, problemas e processos, de modo que, independentemente do setor, os profissionais devem estar aptos a resolver as problemáticas que surgem no cotidiano. Vale lembrar que a intenção do DevOps é criar formas de interação entre as equipes, para que a passagem de atividades sejam simplificadas.
-
Pilares do Devops CULTURA – Focar nas pessoas; melhorar comportamentos; abraçar mudanças e experimentações; errar sem julgamentos (manter a segurança) e integrar Dev + Ops + TI + Produtos. AUTOMAÇÃO – Fazer pequenas e constantes entregas; integrar alteração de código num repositório central (CI); pipeline (IC, Automatização de Testes e Deploy) e orquestrar. FLUXO – Entregar valor para o usuário final (visão cliente); identificar o fluxo de valor e fazer fluir,sem interromper; enxutar processo e documentação; eliminar desperdício ( faturamento> gastos); perseguir a melhoria contínua e fazer o simples. MEDIÇÃO – Medir e monitorar todo o ciclo (fluxos); identificar erros, defeitos e falhas; corrigir os problemas o quanto antes e melhorar o processo através de ações. COMPARTILHAMENTO – Compartilhar conhecimentos e experiências; expor fracassos e sucessos; promover comunicação e colaboração entre os profissionais; integrar as áreas; feedbacks. Os 5 pilares devem ser seguidos e usados diariamente até que a Cultura DevOps seja vista como um identidade nas empresas e ela não é responsabilidade de apenas um profissional, mas de todos que estão envolvidos em todos os processos, desde do levantamento da necessidade do usuário até a coleta de feedbacks para melhorar processos, produtos e serviços!
-
Os objetivos do DevOps Metodologias de Desenvolvimento Rápido Metodologias Rápidas de Garantia de Qualidade Metodologias de implantação rápida Tempo de comercialização mais rápido Iteração e feedback contínuo (comunicação forte e contínua entre as partes interessadas - os usuários finais e clientes, proprietários de produtos, desenvolvimento, garantia de qualidade e engenheiros de produção)
-
Os benefícios do DevOps Estabilização do Ambiente Impõe consistência, aumenta o tempo de atividade Ciclo de desenvolvimento mais curto Gerenciar requisitos e repositório de código Maior velocidade de lançamento Compilação contínua, implantações de botão Defeitos reduzidos Processos de regimento, testes automatizados Métricas de Processo Acompanhe o tempo em cada estágio e os erros e exceções
-
O processo "DevOps converge de Lean, gestão e tecnologia" -Fluxo rápido e continuo: ir desenvolvimento que é a ideia e colocar em produção o mais rapido possivel de ponto a ponto -Feedback constante: as equipes que constroi os sistemas, aplicações, equipe de dev precisa do feed rapido e constante da equipe de ops como as coisas estão funcionando ou não estão funcionando entao é fundamental esse feedback rapido e continuo e teste continuo. -aprendizado e experimentação: experimentar e aprender com os erros por ser um cultura que tolerar erros
-GEMUD e segurança continua: Gestão de mudança e segurança da informação não deixar por ultimo, ser trabalho ao longo da jornada e do desenvolvimento, desenvolver e testar ao mesmo tempo na esteira -
A integração contínua (CI, continuous integration) e a entrega contínua (CD, continuous delivery) são práticas da engenharia de software que visam a testar e disponibilizar o software de forma automatizada, contínua e consistente (DESTRO; FRANÇA, 2019). Essas ações são aplicadas a projetos de desenvolvimento de software, com o intuito de manter o nível de qualidade elevado, a estabilidade da aplicação e propiciar uma menor quantidade de erros. Essas práticas são fixadas em um conjunto, intitulado pipeline, e organizadas de forma lógica e sequencial, conforme a Figura 2.
-
Para entender o CD é preciso entender os tipos de servidores. O primeiro tipo é o servidor de teste, que possui recursos limitados e é utilizado para realizar os testes de forma mais controlada. O segundo é o servidor de (aceitação)homologação, que é basicamente uma cópia do servidor de produção, possuindo integração com todas as APIs (application programming interface; ou interface de programação de aplicações, em português) utilizadas. Com isso, os testes são realizados de forma mais fidedigna. Por fim, tem-se o servidor de produção, que se refere ao ambiente final que é acessado pelos usuários.
-
Pipeline que é uma palavra em ingles que no significado ao pé da letra é encanamento, aqueles tubos no supermario mas o termo é utilizado na industria/mercado como conjunto de instruções ou uma ESTEIRA de processos ou comandos que alguém ou algo deve seguir sempre, por exemplo uma pipeline de vendas, onde tem sempre os passos e estratégias a serem seguidas. No mundo de desenvolvimento uma pipeline(esteira) é desenvolvida e pensada como uma forma de reduzir trabalhos manuais do nosso dia a dia : seja para testar novos codigos, quando ocorre grandes mudanças no projeto, em teste de ferramentas necessarias, ou como validação da alteração então em um projeto onde varias pessoas estao trabalhando ao mesmo tempo de forma independente com esse processo é possivel alcançar uma economia de tempo concluindo uma pipeline(esteira) é esse conjunto de instruções, passos a serem executados de forma sequencial
-
Para criar uma pipeline você precisa ter uma visão em detalhe da aplicação,do projeto, empresa, realmente conhecer bem para conseuir definir o tipo que será implatado pois existe diversos cenarios. porem temos varias ferramentas que auxiliam/são utilizadas nesse processo :muitas dessas que oferecem serviços de repositório GitHub Actions — https://docs.github.com/pt/actions Azure DevOps Pipelines — https://docs.microsoft.com/pt-br/azure/architecture/example-scenario/apps/devops-dotnet-webapp GitLab Runners — https://docs.gitlab.com/runner/ Bitbucket Pipelines — https://bitbucket.org/product/br/features/pipelines :e também quem oferece serviço focado em pipelines -CircleCI — https://circleci.com/ -Travis — https://travis-ci.org/ -Jenkins — https://www.jenkins.io/
-
Plano: gestão de tarefas, horários Código: desenvolvimento e revisão de código, ferramentas de gestão do código fonte, fusão de código Build: ferramentas de integração contínua, ferramentas de controle de versões, estado(historico) de construção Teste: ferramentas de teste contínuo que fornecem feedback sobre os riscos empresariais, determinam o desempenho Pacotamento: repositório de artefactos, fase de pré-entrega da aplicação O que vai ser lançado(realeases): gestão do que alterado, aprovações de lançamento, automatização de lançamento Operacional: instalação de infra-estruturas, alterações de infra-estruturas (escalabilidade), configuração e gestão de infra-estruturas, infra-estruturas como código, planejamento de capacidade, gestão de capacidade e recursos, verificação de segurança, implantação de serviços, garantia de alta disponibilidade (HA), recuperação de dados, gestão de log/backup, gestão de bases de dados Monitoramento: monitoramento do desempenho do serviço, monitoramento dos logs, tambem a parte da experiência do usuario final, gestão de incidentes(suporte, SAQ)
A carreira
falar e encerramento 19.
Site Reliability Engineering
Devops Engineer SRE Engineer DevSecOps Systems Engineer (SRE/DevOps) Cloud Engineer Especialista Analista Tech Manager SRE/DevOps Pessoa Instrutora DevOps Consultor Cloud DevOps -fonte Glassdoor
---links
GUIA DEVOPS - BRASIL feito por Waltenne Carvalho @waltenne com conteúdo Gratuito https://github.com/waltenne/guiadevopsbrasil
90DaysOfDevOps em Ingles feito por Michael Cade https://github.com/MichaelCade/90DaysOfDevOps
apresentacao devops em topicos por Henry Duong https://github.com/raycad/devops-roadmap
exercicios devops [ingles] https://github.com/bregman-arie/devops-exercises
github video what is DevOps? https://youtu.be/kBV8gPVZNEE
TechWorld with Nana
mercado https://tutano.trampos.co/13658-guia-de-profissoes-devops/#:~:text=O(a)%20profissional%20de%20DevOps,atenda%20as%20necessidades%20dos%20clientes.
https://awari.com.br/guia-devops/
https://www.aprendaaws.com.br/o-que-preciso-saber-para-ser-um-devops-engineer/
AWS Code Pipeline
https://www.linkedin.com/pulse/confused-do-you-know-differences-between-devops-value-blanco-mapm/?trk=public_profile_article_view
azure day https://discord.com/channels/938651668587896903/940036913677611038/1013835621049057370
Referencia: https://gaea.com.br/conheca-a-incrivel-historia-do-devops/#:~:text=O%20embri%C3%A3o%20da%20hist%C3%B3ria%20do,desenvolvimento%20e%20opera%C3%A7%C3%B5es%20de%20TI.
Manual de DevOps: como obter agilidade, confiabilidade e segurança em organ... https://www.amazon.com.br/dp/8550802697/ref=cm_sw_r_tw_dp_VMPZZK5P0JRZ1KMVBCFZ
https://www.amazon.com.br/dp/8550814067/ref=cm_sw_r_tw_dp_G0HKJNXX2X2S6NC0KMPX?_encoding=UTF8&psc=1
DevOps Para Leigos https://app.minhabiblioteca.com.br/books/9788550816661 Freeman, E. DevOps Para Leigos. [Digite o Local da Editora]: Editora Alta Books, 2021. 9788550816661. Disponível em: https://app.minhabiblioteca.com.br/#/books/9788550816661/. Acesso em: 31 Aug 2022
Monteiro, Eduarda Rodrigues, et al. DevOps. Grupo A, 2021 https://app.minhabiblioteca.com.br/books/9786556901725
O que é uma pipeline para desenvolvimento de softwares: para iniciantes https://thihenos.medium.com/o-que-%C3%A9-uma-pipeline-para-desenvolvimento-de-softwares-para-iniciantes-9fc26150178e
DevOps github https://resources.github.com/devops/