3. Cenário ideal
• Builds automatizados;
• Alta cobertura de testes;
• Entrega ou deploy continuo;
• Criação do ambiente automatizado;
4. Possíveis barreiras.
• Infraestrutura;
• Restrição de Segurança;
• Processos / Politicas;
• Implantação em terceiros;
• Falta de interesse (ou falta de conhecimento);
5. O que pode ser automatizado?
• Produção;
• Homologação;
• Desenvolvimento;
7. ... e nossa infra
• Servidor Central
• WebLogic;
• Banco de Dados – Oracle;
• Servidor Filial
• Weblogic:
• Fila de Sincronização;
• Fila de tratamento de erros;
• Banco de Dados – Mysql
• 3 instâncias: Gravação, Leitura, Leitura – Espelho;
• Com configurações específicas;
8. Problemas com desenvolvimento
• Conexão com o cliente
instável (VPN);
• Banco de Dados concorrente;
• Tempo para configuração de
ambiente;
• Manter histórico de
atualizações do Banco de
Dados;
10. O que foi automatizado:
• Weblogic (central e filial)
• Filas JMS;
• DataSources;
• Oracle
• Migrations;
• Mysql
• Migrations (apenas tabelas relevantes);
• Dados de teste;
• Jenkins
• Integração continua;
11. O que ganhamos?
• Acabou problema com VPN;
• Tempo de configuração de ambiente caiu;
• Cliente adotou as migrations;
• Configuração do Weblogic ficou documentada
(Python);
• Outras aplicações do mesmo cliente adotaram o
Docker;
• Cliente tem a infra configurada caso desejar adotar
adotar;
14. Cenário
• Equipe de TI e Devs isoladas;
• Equipes aprendendo “por conta”;
• Equipes com ambiente de dev nas nuvens;
• Algumas equipes sem nenhum tipo de
automatização;
• Inclusive algumas equipes sem teste automatizado;
15. Mudança na equipe de Ops
• Disseminar a cultura de DevOps
• Construção de uma nuvem privada;
• CloudStack + Chef;
• Utilização de ambientes dev, hom e QA;
• Aproximação dos Ops dos Devs;
• Equipe de Ops “circulando” entre as equipes de dev;
• Estreitar laços entre as equipes;
• Devs aprender um pouco de ops;
16. Mudança na equipe de Devs
• Equipe apoiando o monitoramento das aplicações;
• Zabbix, NewRelic, etc...
• Definição de um responsável por apoiar as equipes
em automatização;
• Disseminar conhecimento entre as equipes;
• Automatizar tudo o que for possível;
• Tornar as equipes responsáveis pelas suas automatizações;
• Meta: 100% das equipes automatizadas;
21. Docker compose
• Disponível no Windows a partir da versão 1.9.0-rc3
(30/10/2015);
• Facilita levantar as maquinas em conjunto;
• Antes o projeto usava um arquivo .sh;