Sep 9, 2016 · 1 minute read · Comments
macarchive
Resolvi dar uma pesquisada sobre como fazer travessão e numerais e acabei descobrindo mais coisas, compartilho aqui minhas descobertas.
Travessão
Muitas pessoas tem dúvidas sobre como fazer o travessão no MacOs — eu também tinha.
Para fazer o travessão pressione SHIFT + ALT + hífen
—
Números ordinais
Outra coisa que eu queria aprender era fazer numerais ou números ordinais.
Para fazer o numeral (zero) pressione ALT + 0
1º
Para fazer o numeral (a) pressione ALT + 9
2ª
Grau
SHIFT + ALT + 8
20°
Copyright
OPTION + g
©
Registred
SHIFT + OPTION + r
®
Team
OPTION + 2
™
Não igual
OPTION + =
≠
Menor igual
OPTION ,
≤
Maior igual
OPTION .
≥
Apple
SHIFT + OPTION + K
Pesquisando e aprendendo sempre.
Refs
[s]
Guto
Sep 7, 2016 · 2 minute read · Comments
macarchive
Post #notamental que ensina como criar um usbstick no MacOS para instalar o Ubuntu 16.04.1.
1. Processo manual
1.1 Download da imagem
Abra seu terminal e crie um diretório tmp
mkdir tmp; cd tmp/
Faça download da imagem
wget http://releases.ubuntu.com/16.04/ubuntu-16.04.1-desktop-amd64.iso
1.2 Convertendo imagem
Precisamos converter essa imagem para conseguir criar o usb installer
hdiutil convert -format UDRW -o ubuntu-16.04.1-desktop-amd64.img ubuntu-16.04.1-desktop-amd64.iso
1.3 Detectando dispositivo usb
Insira o usb stick que você pretende usar e logo após faça a detecção de discos
diskutil list
Você verá uma saída como esta
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.3 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_CoreStorage Macross 499.4 GB disk0s2
3: Apple_Boot Recovery HD 650.0 MB disk0s3
/dev/disk1 (internal, virtual):
#: TYPE NAME SIZE IDENTIFIER
0: Apple_HFS Macross +499.0 GB disk1
Logical Volume on disk0s2
9FE0CB11-FC20-4BB4-9353-E115CB1FBF94
Unencrypted
/dev/disk2 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *1.0 TB disk2
1: EFI EFI 209.7 MB disk2s1
2: Apple_HFS WD1TB 999.8 GB disk2s2
/dev/disk3 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *7.9 GB disk3
1: Windows_NTFS GUTO 7.9 GB disk3s1
/dev/disk4 (disk image):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme +29.2 MB disk4
1: Apple_HFS UNetbootin 29.1 MB disk4s1
No meu caso vou usar o dispositivo /dev/disk3 de 8GB.
1.4 Desmontando dispositivo
Precisamos desmontar para gravar a imagem no dispositivo
diskutil unmountDisk /dev/disk3
1.5 Criando o instalador
Agora vamos transferir a imagem para o usb stick usando o dd
sudo dd if=ubuntu-16.04.1-desktop-amd64.img.dmg of=/dev/disk3 bs=1m
Esse processo pode demorar, dependerá da velocidade do usb stick, no final a saída será similar a esta
1443+1 records in
1443+1 records out
Ignore qualquer popup do finder que aparecer após a conclusão.
1.6 Ejetando o instalador
Ao final do processo ejete o usb stick
diskutil eject /dev/disk3
Pronto, agora você pode instalar o Ubuntu em qualquer computador com esse USB Stick.
Processo via script
Abaixo um exemplo de script para agilizar.
#!/bin/bash
ISONAME="ubuntu-16.04.1-desktop-amd64"
DEVICE="/dev/disk3"
echo "convertendo imagem $ISONAME..."
hdiutil convert -format UDRW -o /Users/gutocarvalho/storage/isos/$ISONAME.img /Users/gutocarvalho/storage/isos/$ISONAME.iso
echo "desmontando dispositivo usb $DEVICE..."
diskutil unmountDisk $DEVICE
echo "Criando instalador usb no dispositivo $DEVICE..."
sudo dd if=/Users/gutocarvalho/storage/isos/$ISONAME.img.dmg of=$DEVICE bs=1m
echo "desmontando dispositivo usb $DEVICE..."
diskutil eject $DEVICE
echo "criacao de disco finalizada."
Criei um snippet no GitLab para facilitar
https://gitlab.com/snippets/25673
[s]
Guto
Sep 6, 2016 · 4 minute read · Comments
devopsplanetaarchive
Muitas pessoas perguntam o que devem estudar ou quais cursos devem fazer para entrar de cabeça no mundo DevOps.
Não é uma resposta fácil, mas tenho algumas indicações para ajudar quem está começando.
1. Vídeos
10 Deploys per day at Flickr
Esse palestra foi a ignição que faltava para a criação do movimento/cultura DevOps em 2009.
https://www.youtube.com/watch?v=LdOe18KhtT4
Entenda as origens DevOps
Vídeo rápido de Damon Edwards (devopsdays core member) acerca das origens do movimento, recomendo.
https://www.youtube.com/watch?v=o7-IuYS0iSE
What is DevOps? - In Simple English
Vídeo curtinho do rackspace que também ajuda.
https://www.youtube.com/watch?v=_I94-tJlovg
DevOpsConf - DevOps State of the Union (John Willis)
Palestra do John Willis (devopsdays core member) na DevOpsCon 2015 sobre o estado do DevOps após 5 anos de seu surgimento.
https://www.youtube.com/watch?v=8rM8lYaMVBE
Five Years of DevOps (Patrick Debois)
Patrick Debois o criador do DevOpsDays e do termo DevOps fala o que achou dos últimos 5 anos de DevOps.
https://www.youtube.com/watch?v=uRMV6tT_mu0
2. Acrônimos
Entenda o que é CAMS
http://devopsdictionary.com/wiki/CAMS
Entenda o que é CALMS
http://whatis.techtarget.com/definition/CALMS
Entenda o que é ICE
http://radar.oreilly.com/2015/01/devops-keeps-it-cool-with-ice.html
Entenda o que é DevSecOps
http://www.devsecops.org/blog/2015/2/15/what-is-devsecops
3. Roteiro de estudos
Essa sugestão de estudos é baseada na estrutura CAMS do Willis e Edwards.
3.1 Cultura
- Estude a metodologia ágil de desenvovlimento
- Estude metodologias ágeis em geral
- Estude Scrum
- Estude Kanban
- Estude Lean
- Entenda o que é uma cultura de colaboração e feedback.
Faça um exercicio e tente enxergar os principais problemas culturais do
seu time/organização e encontre uma forma corrigir tais problemas adaptando esses métodos.
3.2 Automação
- Estude virtualização
- Estude cloud computing
- Estude Mark Burgess e gerência de configurações
- Estude infraestrutura como código
- Conheça pelo menos duas ferramentas de Gerência de Configuração (CFEngine e Puppet)
- Conheça pelo menos duas ferramentas de Orquestração (Fabric e Ansible)
- Entenda o que é VCS (Version Control System)
- Estude GIT pra valer
- Estude workflows de desenvolvimento usando GIT (olhe os projetos opensource)
- Estude Continuous Integration
- Estude Continuous Delivery
- Estude Continious Deployment
- Estude TDD/BDD/ATDD
- Estude Load Testing
- Estude Stress Testing
- Estude Security Testing
- Estude Containers e Docker
- Estude Microservicos
- Estude ferramentas para fazer provisionamento automatizado
- Estude ferramentas de autoserviço
- Estude sistemas Unix e Linux
- Estude networking
- Estude e domine pelo menos 2 linguagens interpretadas (Ruby e Python)
- Conheça pelo menos 1 stack de cada linguagem
- Estude a linguagem shell
Labs sugeridos
- Tente subir uma stack full de automação (ex. puppet)
- Tente automatizar confs simples do OS (ex. centos)
- Tente automatizar a instalacao e configuracao de um APP (ex. apache)
- Tente provisionar VMs ou Containers de forma automatizada via autoserviço
- Tente construir um pipeline de entrega
- Indo desde o commit, passando por build, testes até o deploy em vm e container
3.3 Avaliação/Métricas
- Entenda o que são métricas e pq são importantes
- Estude real-time-metrics
- Estude ferramentas APM
- Conheca bem pelo menos duas ferramentas de monitoramento (Nagios/Zabbix)
- Estude algum stack para tratamento de logs (ELK)
- Estude algum stack para coleta e armazenamento métricas (Collectd/Statsd/Graphite/Graphana)
Labs sugeridos
- Tente subir uma stack full de gestao de logs (ex. ELK)
- Coloque diversos APPs para jogar dados lá
- Tente subir um stack full de gestao de dados
- Gere dados, colete, armazene e visualize com essa stack
3.4 Compartilhamento
- Entenda a cultura de dividir responsabilidades
- Entenda a cultura Blameless
- Aprenda a compartilhar ferramentas entre todos os times
- Aprenda a compartilhar código entre todos os times
- Aprenda a compartilhar informações e dados
- Procure sempre melhorar o processo de comunicação
- Entenda como funcionam times de produtos
- Ofereça feedback constante entre os times
- Volte pra cultura e reinicie o ciclo até aqui
- Entenda e pratique Dojos
- Entenda os Hackerspaces
- Entenda os Hackatons
Cada eixo desse do roteiro de estudos tem cursos disponíveis no mercado, documentação farta online, artigos variados na rede.
Evite procurar por uma formação DevOps no mercado, o ideal é que você mesmo crie um roteiro de estudos.
Se encontrar alguma formação DevOps no mercado, fique alerta, tome muito cuidado para não ser uma empresa inventando algo só para faturar em cima da Buzzword DevOps, não invista seu dinheiro nesses cursos mágicos, como voce viu DevOps é algo amplo, difícil de colocar em um curso de 24 ou 40 horas, procure cursos especializados em centros reconhecidos ou oficiais, vá passando um assunto por vez, um curso por vez se você for da linha dos cursos, se for da linha da autodidaxia, mergulhe nas comunidades, leia, pergunte, compartilhe e aprenda junto conosco.
Coloquei esse guia no GitLab para receber contribs, mande PRs quando quiser.
Agora é começar os estudos, divirta-se!
[s]
Guto
Sep 6, 2016 · 2 minute read · Comments
dockerrancherplanetaarchive
Rancher é uma plataforma de gerenciamento para containers (funciona com docker).
http://rancher.com
O gerenciador é todo web/gráfico, com interface bem polida e fácil de usar.
Posso até dizer que parece um VMWare para Docker.
O Rancher fala de fábrica Swarm, Kubernetes, Mesos e Cattle (cluster de containers nativo do rancher).
Ele consegue criar clusters em qualquer uma dessas tecnologias.
Para criar um cluster você usa a interface web, ele abstrai tudo pro administrador.
Voce só escolhe qual o tipo de cluster e clica em criar e pronto, cluster rodando, sem dores.
Ele tem Load Balancer, HA, Discovery e tudo que uma ferramenta corporativa de gerenciamento de containers precisa.
Olhando por outro aspecto, ele parece até uma AWS nativa rodando na sua infra (ou no seu notebook).
E tem API para configurar e gerenciar tudo.
http://docs.rancher.com/rancher/v1.2/en/api/
Ele tem um CLI também.
http://docs.rancher.com/rancher/v1.2/en/cli/
Eles criaram o RancherOS para voce instalar um SO Rancher dedicado em BareMetal.
http://rancher.com/rancher-os/
É um OS um tanto quanto diferente, pois tirando o kernel, todo o resto roda em containers.
Fizemos um meetup de docker aqui em Brasília e escolhemos o Rancher para estudar, subimos o rancher server usando docker 1.12 e criamos um cluster de 8 hosts rancher em menos de 15 minutos, esforço mínimo. Após subir o cluster, gastamos mais 5 minutos para fazer o deploy de um APP wordpress+mysql distribuído com LB + discovery entre esses 8 hosts, só não deu tempo de testar o HA, mas pelo que li é tão fácil quanto.
Pra mim esse é o projeto que tem mais futuro nesse mundo dos containers
Se curtiu entre na comunidade ranche-br no telegram
http://telegram.me/rancherbr
#ficaadica #acompanhe #radar-do-guto
Obs.1: Nosso teste com o wordpress utilizou persistência simples de banco mysql, sem HA no banco containerizado, nosso foco foi distribuir o frontend entre vários hosts, somente isso, nem entramos no detalhe de compartilhar um volume para servir o wp-content entre todos os containers (usando convoy-nfs ou gluster-fs). Tem documentação farta para fazer esse lab completo com todos esses detalhes, só não deu tempo de fazer tudo isso no meetup. Enfim, é um projeto promissor, recomendo dar uma acompanhada.
[s]
Guto
Sep 6, 2016 · 1 minute read · Comments
puppettreinamentosplanetaarchive
Muito leitores e amigos tem me perguntando sobre as datas de treinamento Puppet para o segundo
semeste de 2016, sim elas já foram marcadas, seguem as datas!
Puppet Fundamentals
Brasília
Dias 25, 26 e 27 de Outubro
São Paulo
Dias 08, 09 e 10 de Novembro
Puppet Practitioner
São Paulo
Dias 27, 28, 29 de Setembro
Brasília
Dias 22, 23 e 24 de Novembro
Puppet Architect
São Paulo
Dias 13 e 14 de Dezembro
Essas são as últimas turmas do ano, se não aproveitar essa janela terá que esperar até abril de 2017, então aproveite!
http://instruct.com.br
[s]
Guto
Sep 5, 2016 · 1 minute read · Comments
osxplanetaarchive
Post #notamental, segue abaixo meu repo dotfiles!
https://gitlab.com/gutocarvalho/dotfiles
.bash_profile
https://gitlab.com/gutocarvalho/dotfiles/blob/master/bash_profile.sh
.gitconfig
https://gitlab.com/gutocarvalho/dotfiles/blob/master/gitconfig
.vimrc
https://gitlab.com/gutocarvalho/dotfiles/blob/master/vimrc
[s]
Guto
Sep 3, 2016 · 1 minute read · Comments
vagrantplanetadevopsarchive
Meu repositório de box para vagrant foi atualizado ontem, agora todas as box tem Puppet 4 na última versão disponível para aquele sistema operacional.
Repositório Atlas
https://atlas.hashicorp.com/gutocarvalho/
CentOS
CentOS 5.11
https://atlas.hashicorp.com/gutocarvalho/boxes/centos5x64
- Puppet 4.6.2
- Virtualbox Guest 5.0.26
CentOS 6.8
https://atlas.hashicorp.com/gutocarvalho/boxes/centos6x64
- Puppet 4.6.2
- Virtualbox Guest 5.0.26
CentOS 7.2.1511
https://atlas.hashicorp.com/gutocarvalho/boxes/centos7x64
- Puppet 4.6.2
- Virtualbox Guest 5.0.26
Debian
Debian 6.0.10
https://atlas.hashicorp.com/gutocarvalho/boxes/debian6x64
- Puppet 4.4.1
- Virtualbox Guest 5.0.26
Debian 7.11
https://atlas.hashicorp.com/gutocarvalho/boxes/debian7x64
- Puppet 4.6.2
- Virtualbox Guest 5.0.26
Debian 8.5
https://atlas.hashicorp.com/gutocarvalho/boxes/debian8x64
- Puppet 4.6.2
- Virtualbox Guest 5.0.26
Ubuntu
Ubuntu 12.04.5
https://atlas.hashicorp.com/gutocarvalho/boxes/ubuntu1204x64
- Puppet 4.6.2
- Virtualbox Guest 5.0.26
Ubuntu 14.04.5
https://atlas.hashicorp.com/gutocarvalho/boxes/ubuntu1404x64
- Puppet 4.6.2
- Virtualbox Guest 5.0.26
Ubuntu 16.04.1
https://atlas.hashicorp.com/gutocarvalho/boxes/ubuntu1604x64
- Puppet 4.6.2
- Virtualbox Guest 5.0.26
Para adicionar qualquer box digite o comando
vagrant box add gutocarvalho/nome-da-box
[s]
Guto
Jul 15, 2016 · 4 minute read · Comments
planetainfraagilarchive
Após o lançamento do site infraagil.io algumas
pessoas me perguntaram sobre suas origens e sobre as motivações que levaram a criação do site e desse modelo.
Esse texto foi parte da versão “alpha” do site infraagil.io, hoje ele não está mais lá, foi retirado para deixar o conteúdo mais objetivo, contudo, seu contexto cabe neste blog.
Origens
Em 2011 eu dividi uma palestra com o colega Daniel Sobral (a.k.a Gandalf) no CONSEGI em Brasília/DF, o tema central da palestra era a gerência de configurações e os benefícios deste modelo para o Governo Federal. Tivemos um excelente quórum e o tema começou a se espalhar pela Esplanada de Ministérios, muitos profissionais queriam saber mais deste conceito e das tecnologias envolvidas.
Creio que aquela foi a primeira oportunidade que eu tive para abordar o momento em que eu vivia como sysadmin. O movimento DevOps estava no início da formação de sua cultura, não fazia nem um ano que John Willis e Damon Edwards haviam criado o acrônimo CAMS, iniciativa que deu norte para a comunidade DevOps. Sem nem saber ou conhecer direito este modelo, o time em que eu trabalhava já havia começado a estudar e experimentar algumas técnicas e métodos ágeis na operação, algo inovador dentro do governo brasileiro e principalmente inovador para a organização que havia nos contratado.
Marco Zero
Naquela época trabalhei em um time fantástico, pude aprender muito com profissionais experientes como Fernando Ike (@fernandoike), José Eufrásio Júnior (@coredump), Daniel Capó Sobral (@dcsobral), Daniel Negri (@danielnegri), Douglas Andrade (@douglasandrade) dentre outros.
Nós estudávamos constantemente, estávamos sempre experimentando e compartilhando experiências dentro e fora dos times. O @FernandoIke trabalhava na integração de todos os times de TI da organização, focando na comunicação, no compartilhamento de responsabilidades, na garantia de entrega e na disponibilidade de recursos para o time devel trabalhar traquilo e entregar o que o cliente precisava. Ele era o escudo da TI e nos ajudava a manter o foco. O @Coredump era o líder do time de infra, seu foco era inovação e autonomia, graças a ele nosso time começou a estudar automação de infraestrutura no final de 2010, testamos e usamos ali versões primitivas do Puppet e Chef. No final dos testes acabamos optando pelo Puppet e fizemos a primeira implantação em escala de centenas de nós no governo brasileiro.
Em 2010 nós já estávamos trabalhando com infraestrutura como código, gerência de configuração, orquestração, pipeline de deploys e métricas avançadas, respirávamos inovação dia-a-dia, e tudo isso foi construído em uma curta janela de um ano e meio.
Foi um período fantástico da minha vida em que aprendi muito com todo o time.
Após a conclusão do projeto, cada um seguiu um rumo diferente , alguns foram morar no exterior, outros mudaram de área, outros se tornaram empresários, a vida seguiu seus rumos. Acredito que aquela experiência marcou todos daquele time, no meu caso foi um divisor claro, eu era um sysadmin artesão e comecei a dar os primeiros passos para um modelo de trabalho mais eficiente e autônomo.
Novos caminhos, novas parcerias
Alguns anos depois desta experiência, no início de 2014, depois de muitas aventuras pelo Governo Federal, eu conheci pessoalmente o Miguel Di Ciurcio Filho (@mciurcio), outro desses profissionais que pensam bem a frente do seu tempo. Enquanto eu desbravava datacenters na esplanada dos ministérios entre 2010 e 2014, na mesma época Miguel atuava com startups e incubadoras na região de Campinas e Barueri no estado de São Paulo. Ele trabalhou com tecnologias modernas e inovadoras na área de automação, banco de dados e virtualização. Sua experiência com desenvolvimento, em especial no Google Summer of Code, no qual ele atuou com o projeto QEMU, lhe deram um olhar único relativo a administração e gestão de infraestrutura de TI das organizações em que passou.
Todos esses caminhos , interesses comuns, a participação nas mesmas comunidades, os projetos que acompanhamos, tudo isto foi importante para o início de nossa parceria na
Instruct, empresa que ele fundou em 2011 e empresa na qual faço parte desde 2014 após o seu convite.
Trabalhando com ele o espaço e o alcance que tive para estudar e aprimorar este modelo - dentro da Instruct - foi inimaginável, afinal, ambos tivemos experiências muito parecidas, seguimos escolas similares como sysadmins e através da Instruct encontramos as empresas que podiam se beneficiar da soma de nossas experiências.
De lá para cá temos construído e evoluído juntos essa abordagem da infra ágil que organizamos no site infraagil.io.
Não estamos mais sozinhos neste projeto, nós convidamos alguns parceiros que tem nos ajudado (Alliance Members) a organizar e melhorar esse modelo. O objetivo é fazer com o modelo cresça e alcance aqueles profissionais que precisam de uma referência clara para começar a transformar seus times e sua infraestrutura.
[s]
Guto
Jul 15, 2016 · 1 minute read · Comments
puppetplanetaarchive
Passando para informar a galera que restam poucas vagas
para o Puppet Fundamentals de SP que vai acontecer
de 02 a 04 de Agosto em São Paulo.
Esse vai esgotar rápido, corre que ainda dá tempo!
http://instruct.com.br/treinamentos/cadastro/
[s]
Guto
Jul 15, 2016 · 1 minute read · Comments
planetaarchive
Galera o #DevOpsDays de #PortoAlegre foi um dos melhores eventos que participei nos últimos anos, focado, com público alinhado, tinha apenas 130 pessoas presentes, todos muito interessados, o evento manteve um alto nível em todas as suas palestras, teve humor, ignites, open spaces, fishbowl, networking e muito compartilhamento.
#Recomendo
[s]
Guto