Gomex: Minha visão da Agenda Digital do MinC
2 de Agosto de 2015, 3:45 - sem comentários aindaFui convidado para participar do evento Agenda Digital do Ministério da Cultura. E esse encontro me surpreendeu desde sua organização a seus resultados. Tudo muito simples e direto, mas com conquistas tão expressivas. Não há dúvidas que esse foi um dos melhores eventos de TI que já participei.
De forma colaborativa, chegamos a conclusão de quais seriam os temas mais importantes para se debater e passamos então para o ponto que eu julgo ter sido um dos mais importantes para o sucesso desse evento; Os desafios.
Os desafios não eram hipotéticos. Eram demandas concretas do governo, todos focados em soluções livres e maduras. Alguns dos desafios foram sendo moldados e refatorados ao longo do evento, outros chegamos a conclusão que não valiam a pena ser conduzido naquele momento e teve até desafios novos que apareceram em conversas na mesa do café.
Tivemos palestras pela manhã, oficinas pela tarde e “mão na massa” a noite, que normalmente se alongava pela madrugada, a base de muito energético e muita adrenalina para conclusão dos desafios.
Os desafios realizados foram; Migração de domínio Active Directory para Samba4, que foi o nosso maior esforço do evento, tirando várias noites de sono da galera; Criação de imagem Docker do portal servicos.gov.br, que antes levava quase 1 hora para provisionar, a partir de agora levará poucos minutos; Analise do monitoramento do MinC, que teve como resultado um relatório preliminar dos problemas estruturais nessa coleta de dados; E por fim, mas não menos importante, o serviço de log centralizado com ELK, que possibilitou o “ponta pé inicial” para a coleta centralizada de toda essa informação que hoje se encontra pulverizada na instituição.
Os resultados apresentados vão muito além das tecnologias apresentadas, pois um grupo muito coeso e interessado demonstrou que é possível fazer mudança quando se tem vontade e pessoas interessadas. Acho que esse evento entra pra história, pois pode ser um “ponta pé inicial” para uma mudança drástica na forma de como o governo escolhe e operacionaliza suas tecnologias.
Agradeço imensamente o convite e fico aqui disposto para novas interações.
Segue abaixo os links para as palestras gravadas ao longo do evento:
Falando em transmissão e gravação de palestras, encontramos esse software livre, que foi nossa salvação para esse tipo de atividade.
Segue abaixo outras postagens de opinião sobre esse evento:
http://gutocarvalho.net/octopress/2015/08/01/minha-visao-da-agenda-digital/
Ayrton Araujo: Perdeu os primeiros episódios da #horadevops?
30 de Julho de 2015, 23:27 - sem comentários aindaVocê pode acompanhar os episódios aqui:
Quer só o áudio?
Ricardo Martins: Webinar sobre Computação em Nuvem e AWS
7 de Julho de 2015, 0:13 - sem comentários aindaEstou finalizando os preparativos para a realização do meu primeiro webinar onde vou fazer uma abordagem sobre computação em nuvem usando os serviços da AWS. A idéia será trazer uma visão geral sobre o que é computação em nuvem, tipos, conceitos e camadas. Em seguida veremos um pouco sobre a infraestrutura da Amazon Web Services, características, […]
O post Webinar sobre Computação em Nuvem e AWS apareceu primeiro em Ricardo Martins.
Ricardo Martins: CoreOS: Como realizar a instalação básica em cluster
2 de Julho de 2015, 18:30 - sem comentários aindaConforme prometido, neste post vou mostrar a instalação do CoreOS fazendo uma continuação deste post, porém de forma mais prática mostrando os passos para instalação e configuração básica de um ambiente rodando em cluster. Vou simular uma instalação Bare Metal através do VirtualBox. Note que no site do CoreOS estão relacionadas diversas opções de instalação para todo […]
O post CoreOS: Como realizar a instalação básica em cluster apareceu primeiro em Ricardo Martins.
Wellington Silva: Docker no Mac OSX com melhorias no Boot2docker
2 de Julho de 2015, 3:00 - sem comentários aindaSe você utiliza Mac OSX para trabalhar e se aventurou tentando fazer seus projetos rodaram no Docker deve ter percebido que o serviço não roda nativamente, que temos algumas alternativas como boot2docker, ou docker-machine, ou alguma variação desses carinhas.
Eu tenho alguns projetos e a maioria rodando em PHP, na meu Fedora 19 eu instalei o Docker, subi o serviço, montei alguns conteiners de acordo com cada projeto e cada vez que começo a “codar” basta subir os conteiners do projeto que estou trabalhando e acessar como se fossem serviços rodando na minha máquina (e realmente são), fácil, tudo no 127.0.0.1. Já no meu Mac OSX a história foi um pouco diferente.
Vou explicar rapidamente como funciona o boot2docker no Mac OSX e como customizar o boot2docker ou como personalizar o boot2docker (quem me conhece sabe que não sou muito fã de neologismos fracos como em “customizar” que vem de custom) para melhorar a experiência de uso.
Como funciona o Docker no Mac OSX
Nos Mac OSX todas as soluções se baseam em subir uma máquina virtual linux com serviço do Docker rodando para servir de host para os containers, assim temos algumas camadas a mais como o hypervisor, no nosso caso o Virtualbox e o Linux para ser nosso host Linux. Praticamente perderíamos as vantagens do Docker se fosse necessário ter uma máquina virtual para cada container que fossemos rodar.
Apesar de ter algumas alternativas como o Debian2docker ou o próprio docker-machine a instalação oficial de Docker para Mac OSX na documentação do site é o Boot2docker.
Problemas conhecidos
Por ter que rodar os containers em uma VM linux temos alguns problemas comuns:
-
Ter que trabalhar na VM - Se optarmos por subir uma VM linux qualquer (Ubuntu, Fedora, Debian, Arch) os containers trabalharão com os arquivos que estiverem na VM e todos os comandos de docker devem ser executados dentro da VM. Há a possibilidade de montar shared folders para trabalhar com os arquivos no Mac mas o trabalho de acertar as permissões não compensam
-
Lentidão - Mesmo utilizando a instalação oficial para Mac OSX com Boot2docker ou Docker Machine temos o problema que os arquivos da pasta home do seu usuário no Mac são montadas via shared folder do Virtualbox para dentro da VM e acabam ficando disponíveis para os seus conteiners através das tradicionais montagem de volumes. As shared folders são conhecidas já por serem muito lentas no gerenciamento de arquivos
-
Fora da home sem chance - Se os arquivos de seu projeto ficam em uma pasta fora da home do seu usuário eles não estarão disponíveis na VM e nem para os conteiners já que apenas a pasta /Users é montada como shared folder.
Soluções
Dizem que quando você busca uma coisa acaba achando outra. Quando tinha parado de procurar alternativas de uso vi um tweet do Fabien Potencier (@fabpot), o cara do framework symfony, com um link que explica como a backfire utiliza docker lá dentro.
- tweet: https://twitter.com/fabpot/status/593393566916878336
- link da blackfire.io http://blog.blackfire.io/how-we-use-docker.html
Inspirado nas customizações citadas nesse post comecei a testar e automatizar a criação da VM do boot2docker.
Automatizando uma parte
Apesar de não ter um exímio dominio de shell script fiz e disponibilizei no github um script que faz algumas melhorias no boot2docker:
- backup da configuração de perfil atual do seu boot2docker (~/.boot2docker/profile);
- cria um novo;
- travar o endereço ip da VM;
- dá um nome novo mais personalizado para a VM;
- backup da sua configuração atual de NFS (/etc/exports);
- configura o seu home do Usuário no mac para acesso via NFS (nfsd);
- desmonta o compartilhamento padrão da shared folder no virtualbox (dentro da vm em /var/lib/boot2docker/bootlocal.sh que é carregado em todo o boot);
- monta o compartilhamento de arquivo entre o Mac OSX e os containers via NFS (também em /var/lib/boot2docker/bootlocal.sh - muuuiiito mais rápido);
- corrige um bug de certificados e rede que está rolando a partir da ultima versão do Docker, 1.7.0 (também dentro da VM em /var/lib/boot2docker/profile).
Demonstração:
Conclusão
Com essas customizações consigo trabalhar bem melhor no Mac OSX atualmente. Você deve estar se perguntando: Mas wsilva e o docker-machine? O docker machine quando usado com drivers de nuvem (AWS, DigitalOcean, etc) provisiona uma VM com a opção de linux selecionada na configuração, quando usado com o drivers de hypervisors locais como Virtualbox e VMWare cria uma VM com boot2docker. Na Dockercon 2015 na semana passada foi lançado o docker-machine 0.3.0 com algumas funcionalidades como suporte a outras imagens como o boot2docker personalizado:
1$ docker-machine create -d virtualbox --virtualbox-import-boot2docker-vm boot2docker-blablabla-vm dev
Ou até mesmo outros SOs como o RancherOS:
1$ docker-machine create -d virtualbox --virtualbox-boot2docker-url https://github.com/rancherio/os/releases/download/v0.3.1/machine-rancheros.iso rancheros
Té +