Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

DevOps

No description
by

Marcos Augusto

on 4 January 2015

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of DevOps

DevOps
Agenda

Apresentação: Quem é Marcos Augusto?
Introdução: O que é DevOps?
Diferença entre ALM, Continuous Integration, Continuous Delivery, Continuous Deployment e DevOps
Time de Desenvolvimento versus Time de Operações
Cenários Homer Simpson
Criando a cultura DevOps na Organização
Ferramentas relacionadas a DevOps
Alcançando o principal objetivo
DevOps
Apresentação: Quem é Marcos Augusto?


DevOps
Introdução: O que é DevOps?

DEV (DEVELOPMENT)

Satisfação
do Cliente!

DevOps
Integrando times para garantir a qualidade
Analista de Desenvolvimento de Sistemas formado pela Faculdade Cotemig.
4 anos de experiência em Gerência de Configuração.
12 anos na área de T.I.
"Father Marcos from Bahia: Brings back your JBoss environment within 2 hours or your money back!"
Músico instrumentista que adora sintetizadores e violões.
DevOps
Introdução: O que é DevOps?



"É um conjunto de princípios, práticas e produtos,
que visa ajudar organizações a entregar software de alta qualidade para o mercado de forma mais rápida e ao mesmo tempo minimizar custos e riscos, integrando os times de Desenvolvimento e Operações para garantir esta qualidade."
DevOps
Introdução: O que é DevOps?




OPS (OPERATIONS)
DevOps
Diferença entre ALM, Continuous Integration, Continuous Delivery, Continuous Deployment e DevOps
DevOps
Diferença entre ALM, Continuous Integration, Continuous Delivery, Continuous Deployment e DevOps

ALM - Application Lifecycle Management
Está relacionado a gestão.
Envolve todas as fases, atividades, recursos e ferramentas ligadas ao desenvolvimento, entrega e manutenção de software.
Visão Macro.
Processos de Desenvolvimento.
Continuous Integration
Integra as ferramentas de desenvolvimento.
Automatiza tarefas como construção, testes e inspeção de código.
É fundamental para o processo de Continuous Delivery e/ou Continuous Deployment.
DevOps
Diferença entre ALM, Continuous Integration, Continuous Delivery, Continuous Deployment e DevOps

Continuous Delivery versus Continuous Deployment
DevOps
Diferença entre ALM, Continuous Integration, Continuous Delivery, Continuous Deployment e DevOps
E o DevOps?
Dev
Ops
Time de Desenvolvimento
versus
Time de Operações
DEV
OPS
Falas comuns entre os desenvolvedores:
"Que demora pra colocar a versão em produção!"
"Na minha máquina funciona."
"Agora não posso ajudar, porque já estou atrasado para entregar a fase 2 do Projeto."
"Não sou obrigado a saber como é o ambiente de produção."
Falas comuns entre a equipe de Operações:
"Minha responsabilidade é apenas o ambiente, e não a aplicação."
"Em time que está ganhando não se mexe. Pra que tantas mudanças de versão?"
"Não sou obrigado a saber detalhes da aplicação e do processo de desenvolvimento."
DevOps
Cenários Homer Simpson
Cenário DEV - Homer, o programador teimoso
Homer é um programador com personalidade forte, que insiste em defender que não existe problema algum se o seu ambiente de desenvolvimento for totalmente diferente do ambiente de Produção. Usa outra versão da JDK. Outro Servidor de Aplicação. Outra IDE de desenvolvimento e gosta de salvar seus arquivos usando o encoding ISO-8859, mesmo que todos digam que o padrão para o projeto é UTF-8. Ele também não faz a mínima questão de saber quais são as configurações do ambinte de produção, alegando não ser sua responsabilidade.
DevOps
Cenários Homer Simpson
Cenário DEV - Homer, o programador teimoso
Resultado:
Homer testa apenas em sua máquina e entrega a alteração do software, diretamente para a produção.
Aplicação começa a apresentar diversos problemas em várias páginas web.
Homer argumenta: "Mas funcionou na minha máquina!".
O time de operações perde 2 dias tentando comparar as diferenças de ambiente de produção com a máquina de Homer.
No final, o time de Sobreaviso descobre que o problema era no encoding das páginas web da Aplicação.
DevOps
Cenários Homer Simpson
Cenário OPS - Homer, o Sysadmin destemido
Homer é um Administrador de Sistemas que detesta programação. Acredita que sistema bom é aquele que só é necessário configurar uma única vez e nunca mais mexer. Enxerga o ambiente de infraestrutura totalmente separado das aplicações, e não tem nenhum interesse em aprender detalhes tecnológicos relacionados aos sistemas que precisa manter. Resume-se apenas a monitorá-los e acionar a "equipe de desenvolvimento", em caso de problemas. Um dia, sem avisar a equipe de desenvolvimento, decide mudar pastas e arquivos de configuração de uma aplicação, seguindo orientações de uma "consultoria externa".
DevOps
Cenários Homer Simpson
Cenário OPS - Homer, o Sysadmin destemido
Resultado:
A aplicação começa apresentar diversos problemas em produção, os usuários começam a ser desconectados da aplicação a cada 5 minutos.
A equipe de desenvolvimento fica semanas procurando a causa. Identificam que existe a possibilidade das alterações de Homer serem o problema.
Porém, Homer garante que não foram as suas alterações, e sim a nova versão da aplicação.
A equipe de desenvolvimento precisa provar para Homer que foram sim suas alterações que causaram o problema.
Finalmente, Homer concorda com o diagnóstico e desfaz as alterações no ambiente, normalizando assim a aplicação.
DevOps
Criando a cultura DevOps na Organização
DevOps
Introdução: O que é DevOps?



"É uma cultura de produção de software que representa os conhecimentos, práticas, costumes e todos os outros hábitos da engenharia de software, com foco em manter o fluxo contínuo e integrado dos ciclos de criação e entrega de software."
DevOps
Criando a cultura DevOps na Organização
Desenvolvedores querem colocar novas versões em produção rapidamente.
Sysadmins querem ter certeza que a aplicação entregue está estável antes de atualizar.
Desenvolvedores querem entregar novos recursos e funcionalidades ao cliente.
Sysadmins precisam evitar incidentes e downtime.
O que acontece quando não há integração entre Desenvolvimento e Operação?
DevOps
Criando a cultura DevOps na Organização
Consequências da Falta de Integração de times

Equipe de Operação não consegue implantar as versões dentro prazo, gerando gargalo.
A aplicação roda bem no ambiente de desenvolvimento mas apresenta problemas na Produção.
Sempre aparecem pequenos bugs a cada implantação de versão.
Infrações no acordo de nível de serviço (SLA).
Insatisfação do Cliente.
DevOps
Criando a cultura DevOps na Organização
DevOps
Criando a cultura DevOps na Organização
Soluções:

A equipe de Operações precisa evoluir e passar a entender melhor sobre o desenvolvimento das aplicações.
O time de Desenvolvimento precisa dominar o processo de deployment, as configurações das aplicações e ser capaz de criar ambientes virtuais facilmente, que sejam espelho da produção.
O Time de Operações precisa estar preparado para atuar rapidamente na atualização do ambiente e das versões das aplicações.
O Time de Desenvolvimento deve caminhar sempre na direção da automação de processos.
Ambos os times precisam trabalhar juntos, acabando com os silos e criando a atmosfera de um time onde todos são responsáveis.
DevOps
Criando a cultura DevOps na Organização
Gestão dos times - Mundo Otimista
DevOps
Criando a cultura DevOps na Organização
Gestão dos times - Mundo pessimista
DevOps
Gestão dos times - Mundo real
Criando a cultura DevOps na Organização
Ferramentas relacionadas a DevOps
DevOps
https://www.docker.com/
http://puppetlabs.com/
https://www.chef.io/
http://jenkins-ci.org/
http://clinkerhq.com/
https://www.vagrantup.com/
Ferramentas relacionadas a DevOps
DevOps
https://www.vagrantup.com/
Provisionamento - Vagrant
Ferramentas relacionadas a DevOps
DevOps
VE - Virtual Environments - Docker
https://www.docker.com/
Ferramentas relacionadas a DevOps
DevOps
Automação de Configuração
Infraestrutura como código - Puppet
http://puppetlabs.com/
Ferramentas relacionadas a DevOps
DevOps
Automação de Configuração
Infraestrutura como código - Chef
https://www.chef.io/
Ferramentas relacionadas a DevOps
DevOps
ALM e Continuous Integration - Jenkins e Clinker
http://jenkins-ci.org/
http://clinkerhq.com/
Dúvidas?
Muito obrigado! - Meu contato: marcosaugustods@gmail.com
DevOps
Referências em texto:
http://www.ibm.com/developerworks/br/devops/index.html
http://www.globalcode.com.br/eventos/ibm/hackathon-devops
http://pt.slideshare.net/GutoCarvalho/cultura-devops-e-integrao-entre-infra-e-devel?related=1
Referências em vídeo (Youtube):
Full transcript