DevOps na prática entrega de software confiável e automatizada
Danilo SatoConteúdo
Entregar software em produção é um processo que tem se tornado cada vez mais difícil no departamento de TI de diversas empresas. Ciclos longos de teste e divisões entre as equipes de desenvolvimento e de operações são alguns
dos fatores que contribuem para este problema. Mesmo equipes ágeis que produzem software entregável ao final de cada iteração sofrem para chegar em produção quando encontram estas barreiras.
DevOps é um movimento cultural e profissional que está tentando quebrar essas barreiras. Com o foco em automação, colaboração, compartilhamento de ferramentas e de conhecimento, DevOps está mostrando que desenvolvedores e engenheiros de sistema têm muito o que aprender uns com os outros.
Neste livro, Danilo Sato mostra como implementar práticas de DevOps e Entrega Contínua para aumentar a frequência de deploys na sua empresa, ao mesmo tempo aumentando a estabilidade e robustez do sistema em produção. Você vai aprender como automatizar o build e deploy de uma aplicação web, como automatizar o gerenciamento da infraestrutura, como monitorar o sistema em produção, como evoluir a arquitetura e migrá-la para a nuvem, além de conhecer diversas ferramentas que você pode aplicar no seu trabalho.
Sumário
- 1 Introdução
- 1.1 Abordagem tradicional
- 1.2 Uma abordagem alternativa: DevOps e entrega contínua
- 1.3 Sobre o livro
- 2 Tudo começa em produção
- 2.1 Nossa aplicação de exemplo: a loja virtual
- 2.2 Instalando o ambiente de produção
- 2.3 Configurando dependências nos servidores de produção
- 2.4 Build e deploy da aplicação
- 3 Monitoramento
- 3.1 Instalando o servidor de monitoramento
- 3.2 Monitorando outros servidores
- 3.3 Explorando os comandos de verificação do Nagios
- 3.4 Adicionando verificações mais específicas
- 3.5 Recebendo alertas
- 3.6 Um problema atinge produção, e agora?
- 4 Infraestrutura como código
- 4.1 Provisionamento, configuração ou deploy?
- 4.2 Ferramentas de gerenciamento de configuração
- 4.3 Introdução ao Puppet: recursos, provedores, manifestos e dependências
- 4.4 Reinstalando o servidor de banco de dados
- 4.5 Reinstalando o servidor web
- 4.6 Fazendo deploy da aplicação
- 5 Puppet além do básico
- 5.1 Classes e tipos definidos
- 5.2 Empacotamento e distribuição usando módulos
- 5.3 Refatorando o código Puppet do servidor web
- 5.4 Separação de responsabilidades: infraestrutura vs. aplicação
- 5.5 Puppet forge: reutilizando módulos da comunidade
- 5.6 Conclusão
- 6 Integração contínua
- 6.1 Práticas de engenharia ágil
- 6.2 Começando pelo básico: controle de versões
- 6.3 Automatizando o build do projeto
- 6.4 Testes automatizados: diminuindo risco e aumentando a confiança
- 6.5 O que é integração contínua?
- 6.6 Provisionando um servidor de integração contínua
- 6.7 Configurando o build da loja virtual
- 6.8 Infraestrutura como código para o servidor de integração contínua
- 7 Pipeline de entrega
- 7.1 Afinidade com a infraestrutura: usando pacotes nativos
- 7.2 Integração contínua do código de infraestrutura
- 7.3 Pipeline de entrega
- 7.4 Próximos Passos
- 8 Tópicos avançados
- 8.1 Fazendo deploy na nuvem
- 8.2 DevOps além das ferramentas
- 8.3 Sistemas avançados de monitoramento
- 8.4 Pipelines de entrega complexas
- 8.5 Gerenciando mudanças no banco de dados
- 8.6 Orquestração de deploy
- 8.7 Gerenciando configurações por ambiente
- 8.8 Evolução arquitetural
- 8.9 Segurança
- 8.10 Conclusão
Autor
Danilo Sato
Danilo Sato trabalha na indústria de software há mais de 12 anos. Graduado na USP em Ciência da Computação e com mestrado na USP no tema de Métodos Ágeis, ele começou sua carreira como administrador de sistemas da Rede Linux no IME-USP. Com o tempo, passou a se dedicar mais a assuntos relacionados ao desenvolvimento de software, atuando nos mais diversos papéis: consultor, desenvolvedor, administrador de sistemas, analista, engenheiro de sistemas, professor, arquiteto e coach. Atualmente, Danilo é consultor líder da ThoughtWorks ajudando seus clientes a adotarem práticas de DevOps e Entrega Contínua para reduzir o tempo entre a concepção de uma ideia e sua implementação com código rodando em produção. Além da carreira profissional, Danilo também tem experiência como palestrante em conferências nacionais e internacionais, apresentando palestras e workshops em conferências como: XP 2007/2009/2010, Agile 2008/2009, Agile Brazil 2011-2013, RubyConf Brasil 2012-2013, QCon SP 2011/2013, além de ser o fundador do Coding Dojo @ São Paulo e organizador da Agile Brazil 2010, 2011 e 2012. Está no twitter como @dtsato.
Dados do produto
- Número de páginas:
- 284
- ISBN:
- 978-85-66250-40-4
- Data publicação:
- 10/2013