Ir para o conteúdo
ou

Software livre Brasil

Tela cheia
 Feed RSS

Blog

27 de Maio de 2009, 0:00 , por Software Livre Brasil - | Ninguém está seguindo este artigo ainda.
cover do http://fernandoike.com

DevOps: Por onde começar?

30 de Março de 2013, 0:00, por Software Livre Brasil - 0sem comentários ainda

O Guto publicou um excelente texto sobre a origem e concepcão do termo DevOps. Daqui alguns tempo, provavelmente, alguém inventará alguma certificação para DevOps ou formatará o conceito num esquema bem chato.

Enquanto isso (felizmente) ainda não acontece, como você bonitão pode torna-se um DevOps. Como muitos já disseram, não tem uma fórmula pronta mas é importante entender que DevOps é uma cultura e como tal não tenha pressa em se tornar um do dia para noite.

Antes de tudo, vamos falar um pouco de Sysadmin. Muitas das práticas de DevOps são fundamentadas em disciplinas de Sysadmins. Não que você precise se tornar um Sysadmin mas conhecer um pouco mais da área ajudará ter um rendimento melhor.

== Sysadmin ==

Um bom Sysadmin deve conhecer (texto levemente modificado do original do coredump):

  1. Sistemas Operacionais e Organização de Computadores (não adianta tentar ser um sysadmin sem ter um amplo conhecimento de como o SO e Hardware funcionam).

  2. Rede (mesma coisa ali de cima, e aqui estamos falando daquelas chatices de TCP/IP, cabeçalhos, window size, mtu e tudo mais, não só roteamento).

  3. Programação (tem de saber algum shell script, e mais uma linguagem de verdade).

  4. Conceito das linguagens utilizadas no ambiente que vai se administrar (java, ruby, python, etc…)

  5. Banco de Dados em geral, NoSQL, SQL, etc. (como eles funcionam, transações, locking, particionamento, tuning).

  6. Conceito de virtualização.

  7. Inglês (isso é óbvio).

Diria que isso seria os fundamentos para um bom sysadmin.

== Software Livre/Código Aberto e a Cultura DevOps ==

Muitas das tecnologias usadas no cotidiano de um DevOps é baseado em programas que são ou derivam de Software Livre/Código Aberto. Não existe nenhum impedimento de implantar a cultura DevOps num ambiente tradicional e de uso de tecnologias de Software Proprietário, é viável porém o caminho é um pouco mais longo.

Então, se conhecer um ambiente assim, comente logo mais abaixo. ;)

== Infraestrutura Ágil ==

Hã? Infraestrutura Ágil? É como Desenvolvimento Ágil (Scrum, XP, etc.)? Em parte sim, DevOps depende de uma mudança cultural na área de infraestrutura Ela está habituada aos Tickets, Requisições de Mudança, Gerência de Problemas e outras processos já consolidados.

Uma Infraestrutura Ágil para torna-se realidade necessita de uma mudança cultural que em muitos casos demora para acontecer por mais diversas razões (tema para outro texto) e tem muitas formas de realizar. O maior desafio é como fazer a transição cultural sem que causar o caos.

Inicialmente, usar Kanban já bom início mas use o Kanban como substituto de um sistema de ticket ou incidente. Ele é bom quando usado para gerenciar partes de projetos ou gerência de problema.

== DevOps ==

Num cenário perfeito, uma empresa tem em praticamente toda área de TI a cultura ágil no cotidiano. Mas é possível implantar a cultura DevOps mesmo que outras áreas da empresa tenham a cultura tradicional de TI. Algumas coisas tecnologias que fazem parte do cotidiano.

  1. Orquestração

Chef, Puppet, CfEngine, Juju, Comodit e tantos outros são soluções usadas para gerenciar infraestrutura, deploy, implementar uma arquitetura escalável, etc. Se não conhece nada na área, comece com Puppet ou Chef.

  1. Monitoração/Monitoramento

Um Sysadmin já paranóico com monitoramento, num cenário que está usando a ”nuvem” para hospedar as aplicações, monitorar é imprescindível mas lembre-se que estamos na era do Big Data portanto monitorar as aplicações também gera uma grande quantidade de dados. Saber os itens a serem monitorados bem como os gatilhos (thresholds) torna-se questão de sobrevivência.

  1. Time de robôs

Larry Wall, criador da linguagem Perl disse uma vez num livro que tinha preguiça de repetir as coisas e esse foi um dos principais motivos dele criar a linguagem. De certa forma isso se aplica também para um Sysadmin/DevOps pois é parte importante da automação da infraestrutura.

Ah, claro! Cuide bem de seus bots. ;)

  1. StandUp Meet/Comunicação

No ambiente tradicional-corporativo, é muito difícil a área de infraestrutura reunir-se para conversar sobre tarefas, projetos, problemas, etc. Principalmente nas empresas com grande contigente na área de TI.

Fazer reuniões rápidas em que as pessoas troque informações relavantes sobre o que estão fazendo e que prentende fazer é tão importante como os tickets, chamdos ou ordem de serviços. Elas são importantes para que a equipe tenha sinergia, empatia e trabalhe com equipe e não um punhado de indivíduos com a mesma função

  1. Flexibilizar

Tradicionalmente nas empresas tem as conhecidas janelas de deploy das aplicações ou configurações. Nos casos mais tradicionais as janelas de deploy estão comprometidas por meses.

Na Cultura Ágil e por conseguinte na Cultura DevOps esqueça disso, provavelmente terá semanas que terá um dois deploys por dia e em casos extremos terá centenas de deploy por dia. Isso acontece, principalmente, em ambientes web e reflete que as aplicações estão eternamente em Beta. Não que seja ruim, pelo contrário, se as aplicações atigirem a maturidade é porque o negócio da empresa não esteja tão bom como pensado ou porque fechou as portas.

Obs. Este texto esta em Beta, volte mais tarde.



Ajudando a Wikipedia

30 de Março de 2013, 0:00, por Software Livre Brasil - 0sem comentários ainda

Eu sou um usuário da Wikipedia e provavelmente você que está lendo também este texto é, já foi ou será também. ;)

Tem alguns dias que tem aparece um pequeno texto no topo da página deles solicitando uma contribuição. Eu doei algumas dilmas e você também pode, eles aceitam a doação por Paypal ou cartão de crédito.

A Wikipedia é daqueles projetos fantásticos que merecem um pouco de atenção. Ela já não é mais aquela novidade de alguns atrás mas ela continua firme com muitos voluntários escrevendo artigos, revisando ou apenas lendo se imenso conteúdo. Ela influenciou em muito o que nos últimos anos a tal da Sociedade da Informação, também poderia enumerar vários efeitos que a Wikipedia produziu mas o, talvez, mais marcante foi influenciar as empresas tenha uma base compartilhada de conhecimento baseado em Wiki. Provavelmente isso aconteceria com ou sem a influência dela mas que ela ajudou acelerar, sem dúvida que sim! :D

Obs.: Se você se interessou em saber um pouco mais, recomendo ler A Cauda Longa e/ou Free - O futuro dos preços



Ajudando a Wikipedia

30 de Março de 2013, 0:00, por Software Livre Brasil - 0sem comentários ainda

Eu sou um usuário da Wikipedia e provavelmente você que está lendo também este texto é, já foi ou será também. ;)

Tem alguns dias que tem aparece um pequeno texto no topo da página deles solicitando uma contribuição. Eu doei algumas dilmas e você também pode, eles aceitam a doação por Paypal ou cartão de crédito.

A Wikipedia é daqueles projetos fantásticos que merecem um pouco de atenção. Ela já não é mais aquela novidade de alguns atrás mas ela continua firme com muitos voluntários escrevendo artigos, revisando ou apenas lendo se imenso conteúdo. Ela influenciou em muito o que nos últimos anos a tal da Sociedade da Informação, também poderia enumerar vários efeitos que a Wikipedia produziu mas o, talvez, mais marcante foi influenciar as empresas tenha uma base compartilhada de conhecimento baseado em Wiki. Provavelmente isso aconteceria com ou sem a influência dela mas que ela ajudou acelerar, sem dúvida que sim! :D

Obs.: Se você se interessou em saber um pouco mais, recomendo ler A Cauda Longa e/ou Free - O futuro dos preços



Debian e o pacote skype multiarch

30 de Março de 2013, 0:00, por Software Livre Brasil - 0sem comentários ainda

Estive que reinstalar meu computador e por causa do trabalho tive que instalar o Skype. Já tem muito tempo que o computador de uso cotidiano roda um Sistema Operacional 64 bits(AMD64/x86-64), e dessa vez não foi diferente. Uma única coisa que mudou um pouquinho da última instalada é o pacote multi arquitetura do Skype.

Aliás, isso é uma das grandes novidades (Leia a Nota de Lançamento) do Debian para a próxima versão estável do Debian que deve sair nos próximos dias (espero!).

Bom, não é tão complicada porque uma versão instalada do Debian possui suporte a multi arquitetura ([multiarch][]) mas também não é tão simples como instalar um pacote.

Se for tentar instalar o pacote do Skype diretamente com o dpkg, provavelmente terá o retorno do comando parecido com o que está logo abaixo.

1
2
3
4
5
root@klatoon:~# dpkg -i /home/fike/Downloads/skype-debian_4.1.0.20-1_i386.deb
dpkg: error processing /home/fike/Downloads/skype-debian_4.1.0.20-1_i386.deb (--install):
 package architecture (i386) does not match system (amd64)
Errors were encountered while processing:
 /home/fike/Downloads/skype-debian_4.1.0.20-1_i386.deb

Isso acontece porque o Sistema Operacional ainda não está preparado para suportar mais de uma arquitetura, para acrescentar basta adicionar usando o dpkg.

1
dpkg --add-architecture i386

E você provavelmente sabia apenas que o dpkg instala e desinstala pacote, hein? Felizmente ele faz muito mais coisa. ;)

Adicionado mais uma arquitetura, agora é necessário modificar um pouquinho o repositório de pacotes. Normalmente o sources.list é parecido como este abaixo:

1
deb [arch=amd64,i386] http://ftp.br.debian.org/debian/ sid main non-free contrib

Para ter acesso ao repositório da arquitetura adicionada é necessário deixar explícito no sources.list.

1
2
editor /etc/apt/source.list
deb [arch=amd64,i386] http://ftp.br.debian.org/debian/ sid main non-free contrib

Acrescentado o novo repositório, é necessário atualizar o aptitude.

1
aptitude update

Antes de empolgar-nos para ter o Skype já funcionando é necessário mais alguns passo ou senão pode acontecer um erro como o abaixo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
dpkg -i /home/fike/Downloads/skype-debian_4.1.0.20-1_i386.deb
Selecting previously unselected package skype.
(Reading database ... 176029 files and directories currently installed.)
Unpacking skype (from .../skype-debian_4.1.0.20-1_i386.deb) ...
dpkg: dependency problems prevent configuration of skype:
 skype depends on libasound2 (>= 1.0.16); however:
  Package libasound2 is not installed.
 skype depends on libc6 (>= 2.3.6-6~); however:
  Package libc6 is not installed.
 skype depends on libc6 (>= 2.7); however:
  Package libc6 is not installed.
 skype depends on libgcc1 (>= 1:4.1.1); however:
  Package libgcc1 is not installed.
 skype depends on libqt4-dbus (>= 4:4.5.3); however:
  Package libqt4-dbus is not installed.
 skype depends on libqt4-network (>= 4:4.8.0); however:
  Package libqt4-network is not installed.
 skype depends on libqt4-xml (>= 4:4.5.3); however:
  Package libqt4-xml is not installed.
 skype depends on libqtcore4 (>= 4:4.7.0~beta1); however:
  Package libqtcore4 is not installed.
 skype depends on libqtgui4 (>= 4:4.8.0); however:
  Package libqtgui4 is not installed.
 skype depends on libqtwebkit4 (>= 2.1.0~2011week13); however:
  Package libqtwebkit4 is not installed.
 skype depends on libstdc++6 (>= 4.6); however:
  Package libstd
dpkg: error processing skype (--install):
 dependency problems - leaving unconfigured
Processing triggers for gnome-menus ...
Processing triggers for desktop-file-utils ...
Errors were encountered while processing:
 skype

Veja que os erros acima são de dependências mas nem pense em usar o aptitude para resolver as dependências para instalar o Skype porque provavelmente irá ter um probleminha ao usar fazê-lo.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
root@klatoon:~# aptitude -f install
The following partially installed packages will be configured:
  skype:i386{b}
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
Need to get 0 B of archives. After unpacking 0 B will be used.
The following packages have unmet dependencies:
 skype:i386 : Depends: libasound2:i386 (>= 1.0.16) but it is not going to be installed.
              Depends: libc6:i386 (>= 2.3.6-6~) but it is not going to be installed.
              Depends: libc6:i386 (>= 2.7) but it is not going to be installed.
              Depends: libgcc1:i386 (>= 1:4.1.1) but it is not going to be installed.
              Depends: libqt4-dbus:i386 (>= 4:4.5.3) but it is not going to be installed.
              Depends: libqt4-network:i386 (>= 4:4.8.0) but it is not going to be installed.
              Depends: libqt4-xml:i386 (>= 4:4.5.3) but it is not going to be installed.
              Depends: libqtcore4:i386 (>= 4:4.7.0~beta1) but it is not going to be installed.
              Depends: libqtgui4:i386 (>= 4:4.8.0) but it is not going to be installed.
              Depends: libqtwebkit4:i386 (>= 2.1.0~2011week13) but it is not going to be installed.
              Depends: libstdc++6:i386 (>= 4.6) but it is not going to be installed.
              Depends: libx11-6:i386 but it is not going to be installed.
              Depends: libxext6:i386 but it is not going to be installed.
              Depends: libxss1:i386 but it is not going to be installed.
              Depends: libxv1:i386 but it is not going to be installed.
              Depends: libssl1.0.0:i386 but it is not going to be installed.
The following actions will resolve these dependencies:

     Remove the following packages:
1)     skype:i386



Accept this solution? [Y/n/q/?]

A alternativa para esta situação é instalar manualmente as dependências.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
aptitude install gcc-4.7-base:i386 libasound2:i386 libaudio2:i386 \ 
  libavahi-client3:i386 libavahi-common-data:i386 libavahi-common3:i386  \ 
  libc6:i386 libc6-i686:i386  libcomerr2:i386 libcups2:i386 \ 
  libdbus-1-3:i386 libexpat1:i386  libffi5:i386 libfontconfig1:i386  \ 
  libfreetype6:i386 libgcc1:i386 libgcrypt11:i386 libglib2.0-0:i386  \ 
  libgnutls26:i386 libgpg-error0:i386 libgssapi-krb5-2:i386 \ 
  libgstreamer-plugins-base0.10-0:i386 libgstreamer0.10-0:i386 libice6:i386  \ 
  libjbig0:i386 libjpeg8:i386 libk5crypto3:i386 libkeyutils1:i386 \ 
  libkrb5-3:i386 libkrb5support0:i386 liblcms1:i386 liblzma5:i386 \ 
  libmng1:i386 liborc-0.4-0:i386 libp11-kit0:i386 libpcre3:i386 \ 
  libpng12-0:i386 libqt4-dbus:i386 libqt4-network:i386 libqt4-xml:i386 \ 
  libqtcore4:i386 libqtdbus4:i386 libqtgui4:i386 libqtwebkit4:i386 \ 
  libselinux1:i386 libsm6:i386 libsqlite3-0:i386 libstdc++6:i386 \ 
  libtasn1-3:i386 libtiff4:i386 libuuid1:i386 libx11-6:i386 libxau6:i386 \ 
  libxcb1:i386 libxdmcp6:i386 libxext6:i386  libxml2:i386 libxrender1:i386 \ 
  libxt6:i386  zlib1g:i386 libxss1:i386 libxv1:i386 libssl1.0.0:i386

Se por alguma razão o pacote do Skype foi desinstalado na instalação das dependências, só executar novamente.

1
root@klatoon:~# dpkg -i /home/fike/Downloads/skype-debian_4.1.0.20-1_i386.deb


Debian tem um blog (oficial)

28 de Março de 2013, 0:00, por Software Livre Brasil - 0sem comentários ainda

Acabei de ver no Debian Planet um post da Francesca Ciceri comentando que o Debian tem agora um blog oficial.

Passe lá para ler. :)



F1 Malasia: Vettel X Webber

25 de Março de 2013, 0:00, por Software Livre Brasil - 0sem comentários ainda

Hoje teve a corrida de Fórmula 1 na Malásia com final empolgante com a disputa da primeira posição entre Vettel e Webber. Webber era o líder da prova até então mas após uma ordem da equipe, ele diminui o ritmo. Porém o Vettel que estava estava em segundo e também recebeu a mesma ordem mas não obedeceu e numa disputa com Webber conseguiu ultrapassar Webber numa disputa belíssima.

Após a corrida, o debate sobre esta ultrapassagem foi grande você pode conferir nos principais sites e blogs que cobrem a Fórmula 1. Recomendo a cobertura do Grande Prêmio.

Na maioria das categorias de automobilismo, os pilotos de uma equipe trabalham como coopetidores pois existe um certo grade cooperação para que equipe tenho os melhores resultados possíveis. São competidores e adversário pois disputam maior atenção da equipe e também enxergam o piloto da equipe como o primeiro adversário a disputar.

O Vettel se desculpou despois publicamente pela ultrapassagem mas imagino que nos momentos antes de ultrapassagem Webber o que ele deve ter pensado.

“Webber, piloto que já disputou comigo em 2010 o título mundial da F1, tenho que derrotá-lo antes que ele se empolgue e tenha que me preocupar com ele. Já tenho Alonso[] até coma uma banheira com quatro rodas, não quero me preocupar com mais um. Principalmente com o mesmo carro que o meu.”

Claro que se a situação fosse o contrário, Webber tentando ultrapassar Vettel, provavelmente o Vettel teria surtado de ódio à Webber por ultrapassá-lo. Para o espectador a disputa foi muito legal mas para equipe foi muito perigoso pois poderia perder os primeiros lugares da corrida. Mas provavelmente o Vettel já está pensando que pode bater os recordes do Schumacher.

Quem está certo nisso é difícil dizer pois o interesse na F1 é principalmente dinheiro mas que o final da corrida foi bacana, ah se foi. :)



Debian: Adicionando novas fontes manualmente

21 de Março de 2013, 0:00, por Software Livre Brasil - 0sem comentários ainda

Esses dias precisei algumas fontes que não estão empacotadas para o Debian e entre as várias maneiras de instalar, a que maneira mais simples (para mim) foi usar o fc-cache para instalar.

1
2
3
4
mkdir ~/.fonts
cp *.ttf ~/.fonts
cd ~/.fonts
fc-cache

Ah… Claro, o fc-cache está no pacote fontconfig, então você precisa desse ppacote para usá-lo. ;)