DevOps com Python
Henrique Gabriel Gularte Pereira
henriquep@unifra.br
Henrique G. G. Pereira
• Mestre em Computação pela UFSM
• Bacharel em SI pela UNIFRA
• Professor @ UNIFRA
• Analista de TI...
Roteiro
• Python
• DevOps
• Documentação
• Integração Contínua
• Gestão de Servidores
• Deploy de Aplicações
• Gerenciamen...
Python
• Linguagem de Programação
• Propósito Geral
• Alto Nível
• Multiparadigma
• Livre
• Aberta
• Fácil
• Interpretada
DevOps
• Amálgama entre Desenvolvimento e Operações
• Combinação de disciplinas que misturam papéis de
Desenvolvedores e A...
DevOps
Motivo da Palestra
• Introducional
• Conceitos
• Ferramentas
• Python
Documentação
• Disciplina Técnica
• Documentação do Código
• Interfaces
• APIs
• Engenharia de Software
• Garantia de Qual...
Documentação - Problemas
• Díficil Padronização
• Cada um tem a sua
• Díficil Consulta
• Documentação fica “espalhada”
• D...
Documentação - Sphinx
• Geração automatizada
• Introspecção de Código
• Desenvolvida em/para Python
• C
• C++
• sphinx-doc...
Sphinx - Funcionalidades
• Múltiplos modelos de output
• HTML, LaTeX, Formato de Manual, Texto plano
• Cross-Referenciação...
Sphinx - Escrevendo
• ReST
• http://sphinx-doc.org/rest.html#rst-primer
• Comentários no código
• Tipo Javadoc
Sphinx – Exemplos
• docs.python.org
• docs.djangoproject.com
• jinja.pocoo.org/docs
• Readthedocs.org
• write-the-docs.rea...
Sphinx – Exemplos
• docs.python.org
• docs.djangoproject.com
• jinja.pocoo.org/docs
• Readthedocs.org
• write-the-docs.rea...
Sphinx – Exemplos
• docs.python.org
• docs.djangoproject.com
• jinja.pocoo.org/docs
• Readthedocs.org
• write-the-docs.rea...
Sphinx – Exemplos
• docs.python.org
• docs.djangoproject.com
• jinja.pocoo.org/docs
• Readthedocs.org
• write-the-docs.rea...
Integração Contínua
• Disciplina da Engenharia de Software
• eXtreme Programming (XP)
• TDD
• Prevenir problemas de integr...
BuildBot
• Integração Contínua
• Deploy Contínuo
• Gestão de Entrega
• buildbot.net
BuildBot
BuildBot – Quem usa?
• Chromium
• Webkit
• Firefox
• Python
Gestão de Servidores
• Disciplina de Infraestrutura
• Necessário para qualquer organização
• Gerenciamento de Servidores
•...
Gestão Manual de Servidores
• Gerenciar Chaves
• Memorizar Senhas
• Conectar no servidor
• SSH
• Executar uma série de com...
Gestão Manual - Desvantagens
• Impreciso
• Comandos errados
• Demorado
• Velocidade depende da pessoa
• Repetitivo
• Taref...
Deploy Manual de Aplicações
• Gerenciar Chaves
• Memorizar Senhas
• Conectar no servidor
• SFTP
• Copiar arquivos
• Drag a...
Deploy Manual - Desvantagens
• Impreciso
• Pasta errada?
• Demorado
• Velocidade depende da pessoa
• Repetitivo
• Tarefas ...
Fabric
• Automatização de SSH
• Repetição dos mesmos comandos em vários servidores
• Conjunto básico de operações
• Ambien...
Fabric - Exemplo
Fabric - Exemplo
$ fab instalar rodar
Gerenciamento de Erros
• Disciplina de Manutenção
• Erros de Aplicação
• Falhas
• Defeitos
• Controle
• Análise Estatístic...
Gerenciamento de Erros - Manual
• Trabalhar com arquivos de Log
• Buscar informações
• Simular o erro
• Corrigir
Gerenciamento de Erros - Desvantagens
• Arquivos de log
• grandes
• sem padrão
• sem busca
• sem contexto
• descentralizad...
Sentry
• Plataforma de Monitoramento e Agração
• Erros
• Tempo Real
• Seguro
• Contexto Instantâneo
• Fácil Integração
• g...
Dúvidas?
• henriquep@unifra.br
• @ikkebr
• fb.com/ikkebr
DevOps com Python
DevOps com Python
DevOps com Python
DevOps com Python
DevOps com Python
DevOps com Python
DevOps com Python
DevOps com Python
DevOps com Python
DevOps com Python
Upcoming SlideShare
Loading in...5
×

DevOps com Python

417

Published on

Palestra sobre a importância das atividades de DevOps, e como algumas dessas atividades podem ser realizadas em Python. A palestra foi apresentada durante o 1º Software Freedom Day do Centro Universitário Franciscano.

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
417
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

DevOps com Python

  1. 1. DevOps com Python Henrique Gabriel Gularte Pereira henriquep@unifra.br
  2. 2. Henrique G. G. Pereira • Mestre em Computação pela UFSM • Bacharel em SI pela UNIFRA • Professor @ UNIFRA • Analista de TI @ UFSM • Desenvolvedor Python ~ 6 anos
  3. 3. Roteiro • Python • DevOps • Documentação • Integração Contínua • Gestão de Servidores • Deploy de Aplicações • Gerenciamento de Erros
  4. 4. Python • Linguagem de Programação • Propósito Geral • Alto Nível • Multiparadigma • Livre • Aberta • Fácil • Interpretada
  5. 5. DevOps • Amálgama entre Desenvolvimento e Operações • Combinação de disciplinas que misturam papéis de Desenvolvedores e Administradores de Sistema • Objetivo de permitir que uma organização produza software e serviços de forma mais rápida
  6. 6. DevOps
  7. 7. Motivo da Palestra • Introducional • Conceitos • Ferramentas • Python
  8. 8. Documentação • Disciplina Técnica • Documentação do Código • Interfaces • APIs • Engenharia de Software • Garantia de Qualidade (QA)
  9. 9. Documentação - Problemas • Díficil Padronização • Cada um tem a sua • Díficil Consulta • Documentação fica “espalhada” • Documentação fica em arquivos Word • Documentação fica em uma Wiki
  10. 10. Documentação - Sphinx • Geração automatizada • Introspecção de Código • Desenvolvida em/para Python • C • C++ • sphinx-doc.org
  11. 11. Sphinx - Funcionalidades • Múltiplos modelos de output • HTML, LaTeX, Formato de Manual, Texto plano • Cross-Referenciação ativa • Estrutura Hierárquica • Coloração de código • Extensões • Customizável
  12. 12. Sphinx - Escrevendo • ReST • http://sphinx-doc.org/rest.html#rst-primer • Comentários no código • Tipo Javadoc
  13. 13. Sphinx – Exemplos • docs.python.org • docs.djangoproject.com • jinja.pocoo.org/docs • Readthedocs.org • write-the-docs.readthedocs.org
  14. 14. Sphinx – Exemplos • docs.python.org • docs.djangoproject.com • jinja.pocoo.org/docs • Readthedocs.org • write-the-docs.readthedocs.org
  15. 15. Sphinx – Exemplos • docs.python.org • docs.djangoproject.com • jinja.pocoo.org/docs • Readthedocs.org • write-the-docs.readthedocs.org
  16. 16. Sphinx – Exemplos • docs.python.org • docs.djangoproject.com • jinja.pocoo.org/docs • Readthedocs.org • write-the-docs.readthedocs.org
  17. 17. Integração Contínua • Disciplina da Engenharia de Software • eXtreme Programming (XP) • TDD • Prevenir problemas de integração • Testes automatizados
  18. 18. BuildBot • Integração Contínua • Deploy Contínuo • Gestão de Entrega • buildbot.net
  19. 19. BuildBot
  20. 20. BuildBot – Quem usa? • Chromium • Webkit • Firefox • Python
  21. 21. Gestão de Servidores • Disciplina de Infraestrutura • Necessário para qualquer organização • Gerenciamento de Servidores • Escolha de pacotes • Configuração de rede • Tunning de banco de dados
  22. 22. Gestão Manual de Servidores • Gerenciar Chaves • Memorizar Senhas • Conectar no servidor • SSH • Executar uma série de comandos • Instalar • Configurar • Remover
  23. 23. Gestão Manual - Desvantagens • Impreciso • Comandos errados • Demorado • Velocidade depende da pessoa • Repetitivo • Tarefas iguais em servidores diferentes
  24. 24. Deploy Manual de Aplicações • Gerenciar Chaves • Memorizar Senhas • Conectar no servidor • SFTP • Copiar arquivos • Drag and Drop
  25. 25. Deploy Manual - Desvantagens • Impreciso • Pasta errada? • Demorado • Velocidade depende da pessoa • Repetitivo • Tarefas iguais em servidores diferentes
  26. 26. Fabric • Automatização de SSH • Repetição dos mesmos comandos em vários servidores • Conjunto básico de operações • Ambiente Local • Ambiente Remoto • fabfile.org
  27. 27. Fabric - Exemplo
  28. 28. Fabric - Exemplo $ fab instalar rodar
  29. 29. Gerenciamento de Erros • Disciplina de Manutenção • Erros de Aplicação • Falhas • Defeitos • Controle • Análise Estatística • Diferença entre usar a versão atual e voltar a versão anterior
  30. 30. Gerenciamento de Erros - Manual • Trabalhar com arquivos de Log • Buscar informações • Simular o erro • Corrigir
  31. 31. Gerenciamento de Erros - Desvantagens • Arquivos de log • grandes • sem padrão • sem busca • sem contexto • descentralizados • Análise estatística • Impossível sem ferramentas automatizadas
  32. 32. Sentry • Plataforma de Monitoramento e Agração • Erros • Tempo Real • Seguro • Contexto Instantâneo • Fácil Integração • getsentry.com • github.com/getsentry/sentry
  33. 33. Dúvidas? • henriquep@unifra.br • @ikkebr • fb.com/ikkebr
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×