O documento discute o conceito de DevOps, definindo-o como uma metodologia que promove a comunicação entre desenvolvedores de software e operações de TI. A metodologia busca produzir software de forma rápida e contínua através da integração entre as equipes. Além disso, discute os perfis profissionais relacionados a DevOps e as mudanças necessárias nas organizações para a adoção da metodologia.
2. $ whoami
- Bacharel em Sistema de Informações
- Programadora
- Tester de Software
- Administradora de Sistemas
- Entusiasta de Automação, Virtualização e Integração Contínua
- Colaboradora na Organização do Hackerspace MariaLab
- Colaboradora do Projeto F3mHack
- Ativista de Privacidade na Web
- Viciada em Café e Assassin’s Creed
3. O que dizem que é DevOps:
Administrador de sistemas(SysAdmin) que
também é Programador
Programador que também é SysAdmin
Um conjunto de Ferramentas para Integração
Contínua
O mesmo que Integração Contínua
O o profissional responsável por todo o ciclo de
vida da programação (socorro!)
4. Vamos contratar um
DevOps!
● Vamos comprar esse
Produto/conjunto de
ferramentas DevOps
● Vamos adotar esta
Metodologia Devops
● Vamos chamar um consultor
DevOps
● Vamos criar uma equipe de
DevOps
● Vamos por um DevOps em
cada área
5. O que realmente é DevOps
DevOps (anagrama de Desenvolvedor e
Operações) é uma metodologia de
desenvolvimento de software que
explora a comunicação, colaboração e
integração entre desenvolvedores de
software e profissionais de TI (Tecnologia
da Informação).
DevOps é a relação de interdependência
entre desenvolvimento de software e
operações de TI. Pretende ajudar as
organizações a produzir software e
serviços rapidamente e de foma
contínua.
6. O que realmente é DevOps
Profissional
O especialista em DevOps de hoje é, normalmente, alguém que conhece
muito de infra e tem uma base sólida de Desenvolvimento. Geralmente um
profissional que inicia em Infra e vai se especializando, entendendo a
necessidade do pessoal de Desenvolvimento, como a Operação pode
melhorar os processos e trabalhar com Cloud Computing.
Também pode ser alguém que veio de Desenvolvimento e que tem uma base
sólida de Infraestrutura.
7. Problemas que DevOps não resolve
- Processos Burocráticos
- Infraestrutura Engessada
- Testes X Entrega
- Ideias X Realidade
- Entrega Rápida X Aplicações Estáveis
- “Minha maquina funciona” X “La vem
mais um Rollback”
- “Se esta funcionando melhor não por a
mão”
- “Não é problema meu”
10. Solução: Cultura DevOps
- Adoção de Processos do ITIL
- Adoção de Processos não-burocráticos
- Gestão de Incidentes e Problemas
- Testes Automatizados e abrangentes
- Entrega Contínua
- Integração Contínua
- Derrubem as paredes!
11.
12. Desenvolvimento Ágil
- TDD
- Metodologias Ágeis
- Reuniões com participação de 1 membro de cada área
- Apoio da equipe de Operações <3
- Deploys (com testes) em um botão
- Ferramentas disponíveis para as principais necessidades (criar, testar,
implantar e executar)
- Gestão de Riscos
- Gestão de Mudanças
13. Desenvolvimento Agíl
- Testes Automatizados a cada Deploy (Selenium, JUnit, Sonar)
- Repositório de Artefatos (Artifactory, Nexus)
- Versionamento de Código (Git, Subversion)
- Automação de Deploy (Jenkins)
- Ambientes Segregados (Desenvolvimento, Testes, Homologação,
Produção)
- Código Confiável (chega de “Na minha maquina funciona”)
15. Infraestrutura Agil
- Versionamento de Scripts e Configurações
- Automação de Deploys
- Provisionamento
- Gerencia de Configuração
- Gerenciamento de Mudança
- Backups restauráveis
- Infra resiliente, elástica e automatizada
16. Infraestrutura Agíl
- Ambiente Virtualizado (vSphere, XEN, Proxmox, Hyper-V, etc)
- Cloud (Amazon, Azure, Equinix, Rackspace, Openstack, OpenShift, etc.)
- Automação de Tarefas(Jenkins, Hudson, Shell, Python)
- Infraestrutura como Código (Puppet, Capistrano)
- Provisionamento (Chef, Vagrant, Salt)
- Versionamento de Scripts e Configurações (git, subversion, etckeeper)
- Monitoramento de Intrusão (ossec, tripwire)
- Monitoração de Rede e Aplicações (Zabbix, Nagios, Chef)
17.
18.
19. E o que fazem?? Abrem vaga para DevOps!
● Criam uma equipe de DevOps (separada de
Desenvolvimento e Operações) ou profissionais
“DevOps” na equipe de Desenvolvimento ou
Operações
● Os colocam para Automatizar tudo;
● Os transformam na própria Integração Contínua;
● Os tornam responsáveis pelo Sistema, Scripts,
Documentação e Deploy;
● E também pela Gestão de Riscos, Mudança e
Incidente;
● Acaba aproximado-os “demais” de produção
(Alcançar Prazos < Combater Incêndios)
20.
21. Vaga - SysAdmin
Atividades Desempenhadas:
- Responsável pelo direcionamento e gerenciamento técnico dos projetos de Infraestrutura;
- Definir os frameworks de desenvolvimento e apresentação de respostas aos questionamentos
formulados pelas equipes de negócio, desenvolvedores, fábricas de software e auditoria de sistema;
- Automatizar processos de tecnologia que atualmente são executados de forma manual;
- Planejar, implantar e monitorar soluções de arquitetura baseado em técnicas de análise e design
orientados a objetos, conjuntamente com modelagem de sistemas;
- Criar ambiente de gerenciamento do ciclo de vida e manutenção do portfólio de aplicações;
- Desenvolver ferramentas de automatização de ferramentas para ambientes de homologação e
produção;
- Desenvolver ferramentas de alta escalabilidade e disponibilidade para as plataformas.
22. Requisitos Desejáveis:
- Superior em Ciências da Computação, Analises de Sistemas.
- Experiência com ferramentas de gerencia de configurações puppet, chef, ansible, cfengine, salt;
- Domínio no Sistema Operacional Linux, Power Shell, Integrações de Redes e Serviços.
- Conhecimento em Sênior Linux Systems Administrator, Devops Engineer, Big Data Architect , DBA,
Cloud, SysAdmin, IT Manager
- Conhecimentos e vivencia com metodologias ágeis de implementação de projeto (SCRUM).
- Vivência em ambientes de desenvolvimento para E-Commerce, na implementação de Continuos
Integration e Continuos Deploy.
- Domínio em Cloud Computing e ferramentas de virtualização, como VMWare, KVM, Xen, e na criação
de ambientes de alta disponibilidade.
-Domínio nas principais tecnologias: Webserver Apache/NGINX, CDN, Cache-Proxy, Servidores de
Aplicação Weblogic, Tomcat e Jboss.
- Conhecimento multidisciplinar em linguagens e frameworks relacionados a tecnologias Java (J2EE,
Hibernate, EJB) para desenvolvimento web (HTML, JS, JQuery, XML, etc.)
- Experiência com automatização de processos usando Bash, Ruby, Python, Puppet e similares.
- Conhecimento em Linux, ferramentas de automação, Weblogic, Zabbix, NGINX.
- Conhecimento como DEVOPS
- Experiência com Ambiente Crítico.
23. Profissionais presentes nas vagas
● Analista de Testes
● Analista de Sistemas
● Analista de Implantação
● Arquiteto de Software
● Administrador de Sistemas
● DBA
● Gerente de Projeto
● Programador
27. ● Desenvolvedores Multidisciplinares e SysAdmins Multidisciplinares e
especialistas
● Testers de Software com experiência em Automação
● Analistas e Gerentes experientes, que priorize o dialogo e não tenha
medo de mudanças
● Administrativo comprometido com o bem estar dos colaboradores
Que profissionais você precisa
28. Que investimentos são necessários
- Infraestrutura
- Treinamento de Pessoal para Metodologias Ágeis
- Treinar equipes para as plataformas e ferramentas adotadas
- Profissionais com certificação ITIL® em todas as áreas
- Equipe de QA sendo QA
- Monitoração para todos (que interessam)
- Métricas
- Já disse que tem que tirar as paredes?
29. Mudança de comportamento
● Transparência, Respeito e Confiança
● Postura Construtivista
● Comunicação efetiva e dinâmica
● Não crie inimigos imaginários (nem reais) - Saia da defensiva
● Não - APENAS - aponte erros
● Tornar as pessoas cientes e responsáveis por suas ações (Fim do Dev X
Ops)
● Encorajar assumirem seus erros
● Vestir a camisa do Projeto, não só do time
30. Ganhos para todos
● Equipes organizadas e trabalhando juntas - Fim da Guerra!
● Melhora no tempo de resolução de Incidentes e Problemas
● Mais ações, menor tempo
● Deploys rápidos e Seguros -> Agilidade na entrega
● Soluções estáveis + Menos Incidentes + Menor Tempo de parada ->
Respeito ao SLA
● Ambientes padronizados, adequado e sob-controle
● Aumento do valor do negócio
● Prazos cumpridos -> Novos Projetos
31. Dores e Lamentos
● Não dá para acontecer de um dia pra outro
● Algumas coisas vão funcionar, outras não
● Briga de egos podem ser inevitáveis
● Bugs, bugs everywhere
● $$$ *sorry*