Procura-se:
DevOps
$ 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
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!)
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
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.
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.
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”
Guerra de Silos(“Setores”)
Esferas dev/qa/ops
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!
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
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”)
Time de Operações | SysAdmins, Network Admins e Deployers
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
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)
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)
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.
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.
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
Sua vida será essa...
Seu humor sera sempre esse.
● 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
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?
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
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
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*
Referências
● http://devops.com
● http://gutocarvalho.net/octopress/2013/03/16/o-que-e-um-devops-afinal/
● http://pt.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-
flickr
● https://www.thoughtworks.com/pt/insights/blog/there-no-such-thing-devops-team
● http://blog.octo.com/pt-br/os-padroes-dos-gigantes-da-web-devops/
● http://dgmorales.info/sysadmin/#/9
● http://computerworld.com.br/gestao/2014/12/15/o-caos-na-industria-de-software-
e-o-movimento-devops
● http://imasters.com.br/desenvolvimento/devops-nao-esta-matando-os-
desenvolvedores-mas-sim-a-produtividade-deles/?
trace=1519021197&source=single
● http://www.infoq.com/br/articles/wide-range-devops

Procura-se: DevOps #cpbr9

  • 1.
  • 2.
    $ whoami - Bacharelem 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 dizemque é 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 DevOpsnã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”
  • 8.
  • 9.
  • 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!
  • 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 - TestesAutomatizados 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”)
  • 14.
    Time de Operações| SysAdmins, Network Admins e Deployers
  • 15.
    Infraestrutura Agil - Versionamentode 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 - AmbienteVirtualizado (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)
  • 19.
    E o quefazem?? 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)
  • 21.
    Vaga - SysAdmin AtividadesDesempenhadas: - 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: - Superiorem 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 nasvagas ● Analista de Testes ● Analista de Sistemas ● Analista de Implantação ● Arquiteto de Software ● Administrador de Sistemas ● DBA ● Gerente de Projeto ● Programador
  • 24.
  • 25.
    Seu humor serasempre esse.
  • 27.
    ● Desenvolvedores Multidisciplinarese 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ãonecessá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*
  • 33.
    Referências ● http://devops.com ● http://gutocarvalho.net/octopress/2013/03/16/o-que-e-um-devops-afinal/ ●http://pt.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at- flickr ● https://www.thoughtworks.com/pt/insights/blog/there-no-such-thing-devops-team ● http://blog.octo.com/pt-br/os-padroes-dos-gigantes-da-web-devops/ ● http://dgmorales.info/sysadmin/#/9 ● http://computerworld.com.br/gestao/2014/12/15/o-caos-na-industria-de-software- e-o-movimento-devops ● http://imasters.com.br/desenvolvimento/devops-nao-esta-matando-os- desenvolvedores-mas-sim-a-produtividade-deles/? trace=1519021197&source=single ● http://www.infoq.com/br/articles/wide-range-devops