47
Tornando-se um DevOps sem perder a cabeça

Tornando se um DevOps sem perder a cabeça #SE7I2016

Embed Size (px)

Citation preview

Tornando-se um DevOps sem perder a

cabeça

Oi, eu sou a CamillaBacharela em Sistemas de Informação pela

Universidade Bandeirantes com experiência na área de tecnologia a 11 anos, entusiasta de

virtualização, automação de servidores e ativista de segurança e privacidade na internet.

$whoami

$whoamiOi, eu sou a Camilla

Profissionalmente atua como Administradora de Sistemas e DevOps na empresa 7COMm

Informática desde 2012 com foco em projetos de Instituições Financeiras.

Oi, eu sou a CamillaCo-organizadora do grupo MariaLab,

colaboradora e apoiadora de projetos e coletivos feministas interseccionais.

$whoami

O que dizem que é DevOps

✖ Administrador de Sistemas (SysAdmin) que também é Programador

✖ Programador que também é SysAdmin✖ Conjunto de Ferramentas para

Integração Contínua✖ Profissional responsável por todo o ciclo

de vida de desenvolvimento (socorro!)

Vamos trabalhar com DevOps!

“Eles queriam mais agilidade, estão nós vendemos milhões em ferramentas.”

✖ Compraremos esse pacote de ferramentas DevOps

✖ Adotaremos esta Metodologia Devops

✖ Criaremos uma equipe de DevOps

✖ Contrataremos um DevOps para cada área

Melhor: Vamos abrir uma vaga para DevOps!

✖ Contratam profissionais “DevOps” para trabalhar no setor de Desenvolvimento ou Operações ou inventam uma novo setor

✖ Os colocam para Automatizar tudo;✖ Os transformam na própria Integração Contínua;✖ Os tornam responsáveis pelo ciclo de desenvolvimento;✖ E também pela Gestão de Riscos, Mudança e Incidente;✖ Acaba aproximando-os “demais” de produção

O que realmente é DevOps

Desenvolvimento + Operações = DevOpsDevOps é uma filosofia operacional que promove

uma melhor comunicação entre o desenvolvimento e as operações à medida que mais elementos se

tornam programáveis.

Profissionais da Cultura DevOpsO “especialista” em DevOps de hoje é, normalmente, alguém que conhece muito de infra e tem uma base sólida de Desenvolvimento.

Também pode ser alguém que veio de Desenvolvimento e que tem uma base sólida de Infraestrutura.

“Então você criou uma Equipe DevOps para resolver os problemas de silo...”

Grandes Problemasque DevOps não resolve

DevOps não é remédio para:

✖ Processos Burocráticos

✖ Infraestrutura Engessada

✖ Testes X Entrega

✖ “Na minha máquina funciona” X “Não vou implantar isso”

✖ “Se está funcionando melhor não pôr a mão”

✖ “Não é problema meu”

Desenvolvimento Ágil

✖ Metodologias Ágeis✖ Ferramentas disponíveis para as principais

necessidades (criar, testar, entregar, implantar e monitorar)

✖ Reuniões com participação de 1 membro de cada área

✖ Apoio da equipe de Operações ❤✖ Deploys (com testes) em um botão✖ Gestão de Risco

Desenvolvimento Ágil

✖ Repositório de Artefatos✖ Controle de Pacotes✖ Versionamento de Código✖ Automação de Deploy✖ Ambientes Segregados✖ Performance✖ Código Confiável

Infraestrutura Ágil

✖ Versionamento de Scripts e Configurações✖ Automação de Deploys✖ Provisionamento✖ Gerência de Configuração✖ Gerenciamento de Mudança✖ Backups Restauráveis✖ Infra resiliente, elástica e automatizada

Infraestrutura Ágil

✖ Ambiente Virtualizado ou em Cloud✖ Automação de Tarefas✖ Infraestrutura como Código✖ Provisionamento✖ Versionamento de Scripts e Configurações✖ Gestão e Monitoramento de Mudanças✖ Monitoração de Rede e Aplicações

Esferas dev/qa/ops

Projetos Ágeis dentro da Cultura DevOps✖ Equipes organizadas e trabalhando juntas - Fim da

Guerra!✖ Melhora no tempo de resolução de Incidentes e

Problemas✖ Deploys rápidos e Seguros -> Agilidade na entrega✖ Soluções estáveis + Menos Incidentes + Menor Tempo

de Parada -> Respeito ao SLA✖ Ambiente padronizado, adequado e sob-controle✖ Aumento do valor do negócio✖ Prazos cumpridos -> Novos Projetos

✖ Desenvolvedores multidisciplinares✖ SysAdmins multidisciplinares e especialistas✖ Testers de software com experiência em

Automação✖ Analistas e gerentes experientes, que

priorizem o diálogo e não tenham medo de mudanças

✖ Administrativo comprometido com o bem estar dos colaboradores

Time do Projeto

Desenvolvedores✖ Possuem um bom conhecimento em Sistemas

Operacionais e Redes✖ Domínio sobre versionamento e entrega de pacotes de

implantação✖ Trabalham usando Metodologias Ágeis✖ Possuem bom relacionamento em times

multidisciplinares✖ Não tem medo de automação✖ Experimentam novas ferramentas sem medo✖ Usam Software Livre

SysAdmin✖ Sabem programar (nem que for só scripts)✖ Entendem os conceitos das linguagens utilizadas✖ Dominam virtualização✖ Gostam de automatizar tarefas e processos de

configuração✖ Tem uma paranóia saudável com monitoração✖ Possuem experiência com processos ágeis de entrega

de software✖ São defensores de Gerência de Configuração✖ Seguem rotinas de tratamento de incidentes

Tester de Software✖ Entendem o funcionamento do produto além da

interface do usuário✖ Conhecem diversas metodologias de desenvolvimento

de software✖ Dominam alguma linguagem de programação✖ Utilizam automação nos processos de teste✖ Buscam entender os detalhes técnicos das aplicações✖ Entendem de métricas de performance✖ Tem conhecimento para contribuir com o

desenvolvimento de processos no ciclo de vida do software

Vaga - SysAdminAtividades 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.

Requisitos Desejáveis:- 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 nesta vaga

✖ Analista de Testes✖ Analista de Sistemas✖ Analista de Implantação✖ Arquiteto de Software✖ Administrador de Sistemas✖ DBA✖ Gerente de Projeto ✖ Programador

Sua vida começa assim...

E ficará assim...

Nome da vaga (sem devops no meio)

Estamos buscando um profissional que consiga trabalhar em times multidisciplinares, que tenha sólidos conhecimentos de programação na plataforma/linguagem X, e bons fundamentos de sistemas operacionais e redes, que tenha condições de trabalhar com métodos ágeis, com processos e tecnologias de automação. Este profissional deve ter facilidade para adaptar métodos ágeis para uso interno do seu time e de suas atividades.Procuramos essencialmente profissionais que consigam se relacionar bem com o seu time, que saibam fazer parte de um time, que respeitem o time, que saibam dividir e compartilhar responsabilidades com o time, que gostem de estudar e aprender novas tecnologias e que gostem de compartilhar o seu conhecimento.

Nome da vaga (sem devops no meio)

Precisamos de profissionais que entendam que sua função é fazer com que o negócio da organização flua, ou seja, o foco do trabalho é oferecer suporte e sustentação as necessidades das pessoas que estão pensando, criando, escrevendo, desenvolvendo e publicando os produtos para atender as necessidades dos clientes desta organização.Nesta organização enxergamos a TI como uma unidade orgânica composta por pessoas, as pessoas são importantes para nós, nosso entendimento é que a TI é um time monolítico que compartilha seus sucessos e aprendizados.Queremos que você agregue valor ao nosso time e a nossa organização, e queremos que a organização agrege valor a você.

Tecnologias com as quais trabalhamos:✖ Linguagens✖ Sistemas operacionais✖ Serviços✖ Plataformas de desenvolvimento✖ Plataformas de automação✖ Plataformas de nuvem e virtualizaçãoMétodos que utilizamos em nossos times:✖ Método A✖ Método B✖ Método C

Nome da vaga (sem devops no meio)

O que esperamos de você?✖ Esperamos que nos ajude a identificar as melhores tecnologias que

possam ser utilizadas por novos produtos✖ Esperemos que nos ajude a identificar tecnologias que possam

melhorar a performance de produtos existentes✖ Esperamos que nos ajude a acompanhar a performance e o

funcionamento das aplicações✖ Esperamos que nos ajude a melhorar nossos processos de

provisionamento de vms e containers✖ Esperamos que nos ajude a melhorar e agilizar o processo e o tempo

necessário para criação de novos ambientes

Nome da vaga (sem devops no meio)

O que esperamos de você?✖ Esperamos que nos ajude a oferecer mecanismos de “autoserviço”

entregando recursos diretamente aos desenvolvedores✖ Esperamos que nos ajude a automatizar e otimizar nossa infra ao

máximo✖ Esperamos que nos ajude a registrar mudanças e eventos, gerando

relatórios que possibilitem auditoria se preciso✖ Esperamos que nos ajude a manter e evoluir nosso processo de

deploy para que possamos entregar sempre e entregar rápido✖ Esperamos que você possa ir além, propondo, criando, mudando,

construindo e evoluindo junto conosco.✖ Se você acha que as características necessárias para participar de

nossos projetos e de nosso time, entre em contato!

Nome da vaga (sem devops no meio)

Investimentos necessários para começar

✖ Dominar alguma linguagem de programação✖ Estudo de Metodologias Ágeis✖ Estudo de Plataformas e Ferramentas adotadas no mercado✖ Estudo de Redes✖ Estudo de Sistemas Operacionais✖ Estudo de Virtualização✖ Estudar linguagens usadas em automação✖ Testar diversas ferramentas, middlewares e sistemas✖ Ter um conhecimento básico de Métricas e Monitoração✖ Certificação ITIL®✖ Inglês técnico✖ Vá para Eventos de Tecnologia e faça um bom Networking

Para trabalhar em equipe

✖ Sinceridade, Respeito e Autoconfianç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✖ Assumir seus erros e encorajar os colegas a fazer o

mesmo✖ Vestir a camisa do Projeto, não só do time✖ Entender que nunca irá dominar todos os assuntos -

Foque!

Obrigado!Perguntas?

Você pode me encontrar em:

[email protected]/in/camillagds

slideshare.net/lobinhaxdwww.silverwolf.com.br

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-t

eam✖ 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-softwa

re-e-o-movimento-devops✖ http://imasters.com.br/desenvolvimento/devops-nao-esta-matando-os-desenvo

lvedores-mas-sim-a-produtividade-deles/?trace=1519021197&source=single✖ http://www.infoq.com/br/articles/wide-range-devops✖ https://www.ibm.com/developerworks/br/library/a-devops9/✖ http://gutocarvalho.net/blog/2016/06/03/vagas-devops-fazem-sentido-entenda/✖ http://imasters.com.br/desenvolvimento/devops-aproveitando-o-melhor-dele