Memnemonics fike’s Rotating Header Image

tecnologia

2012: tudo novo ou fim do mundo

   

 

    Tempo! Ele é uma estranha invenção humana… mas isso fica para um outro post (quem sabe). :P

    Bom, já estamos em 2012 em todos os lugares deste planeta, diz a lenda popular baseada nos mitos Maia que será o fim do mundo ou um nova época para humanidade. Mas enquanto isso não acontece, uma pequena revisão do ano de 2011…

    Vim para Brasília em 2007 (Culpa do Christiano Anderson :) ) para um dos projetos mais legais até então. Era migração de arquitetural de sistemas e serviços para software de base em Software Livre. Desde então, fui ficando, ficando até 2012…

    Sempre que apareceu a oportunidade eu recusei assumir uma função administrativa (Gerência de equipe), mas nos últimos dois anos cumpri a função coordenando equipes de suporte, infraestrutura e desenvolvimento. Foi uma experiência rica, frustante, gratificante e inesquecível.

    Em 2011 brinquei de andar de kart, voltei a "estar" um corredor de rua (5Km em 25minutos, quem sabe esse ano ir para os 10K), nasceu o meu filhote (Yago). No profissional ajudei a aplicar Scrum para equipes de Infraestrutura e Suporte, aprendi um pouco de programação em linguagens funcionais (especificamente Erlang, Scala e passadela em Haskell). Há, ainda brinquei um pouco com Chef e OpenStack.

    Aprendi uns truques bons, perdi alguns bons amigos, ganhei alguns novos mas o principal é aprender lidar melhor com esses bichos esquisitos que chamamos de humanos. Particularmente prefiro minha terra natal (Aldera).

   Continuo odiando Brasília mas aprendi conviver nessa cidade de gente tão esquisita. Acho que 2012 estarei em outro lugar  do planeta, talvez num outro planeta. :)

   Sem muitos planos para 2012, se for uma evolução de 2011 e manter contribuição no Debian e PostgreSQL (estudando um pouco o código do Redis) já está muito bom. ;)

2º encontro do NoSQLBrasil e reflexões

 

    Tenho que agradecer o Alexandre Porcelli pela a oportunidade de participar com um lighting talk. O evento foi excelente, apresentações muito boas e técnicas (exceto a minha. :P ).

    Algumas palestras como da Microsoft e da Oracle fizeram-me refletir sobre algumas coisas do mercado de TI. Basicamente no mundo da Operação ou Sustentação:

 

- Big Data e Storages
   Com cada vez mais equipamentos conectados a Internet ou sistemas corporativos, está cada vez mais complexo gerenciar sistemas e infraestrutura. Tem-se informação demais e a necessidade de extrair tendências, relações, histórico, etc. Qualquer sistema a ser pensando (principalmente que envolva a internet) pode ter volume de transação ou acesso muito acima do que tinha-se planejado. 

    Os dados para armazenar, principalmente informação histórica ou legado crescerá exponencialmente. Storage do jeito tradicional, com a preocupação de Raid Group, Raid Type e etc. terá a importância menor. Pensarão em Provisionamento Dinâmico, Virtualização de Storages e robôs de Fitotecas.  

    Também ficará cada vez mais usado a "Tierização" ou seja, conforme o uso de um determinado dado tem acesso recorrente, o Storage automaticamente movimenta este de discos mais lentos para mais rápidos. 

    Nunca pensei em afirmar isso com grande convicção mas cada vez mais o uso de NFS (arquitetura Network Attach Storage) ou outro sistema de arquivo distribuído será cada vez maior pois conectar tantos equipamentos com "fibra ótica"  (SAN)  tem um custo operacional de crescimento do que uso de sistema de arquivo distribuído quando é necessário pensar em escalabilidade rapidamente.

    Só para deixar claro que transações OLTP ainda confio em Storages SAN mas confesso que a arquitetura Scale Out para armazenamento tem chamado minha atenção ultimamente, principalmente para uso de dado não estruturado como bancos de dados NoSQL, Áudio, Vïdeo, etc.

- NoSQL e Big Data

   Então, basicamente em qualquer sistema pode ocorrer o problema do sucesso além do esperado. Aí é cache, cache, cache onde puder ter para dar conta e ou abrir mão de alguma coisa de uma aplicação tradicional CRUD ou banco de dados relacional.

- Pradonização de produto não, processo:

  Isso é um pouco ainda difícil de aceitar mas é um fato. Se você é responsável por uma operação de infraestrutura ou serviço, perceberá que não adianta adotar um tipo de virtualização, um banco de dados, um tipo de sistema operacional, etc. Cada vez mais tem-se que encontrar soluções rápidas e adequadas para sustentar o negócio.

  O mais importante é o controle dos processo da operação de infraestrutura. Mesmo porque a operação não está, necessariamente na sede da empresa, está na nuvem.

- Virtualização é um commodite:

  Não sei se ambientes pequenos isso acontece/acontecerá mas em muitas situações tem hypevisor (Xen, KVM, VMware, Hyper-V, etc.) diferentes com ferramentas para gerenciar.  Felizmente existe algumas soluções interessantes para esse tipo de gerenciamento como Openebula e OpenStack.

-  Soluções poliglotas:

  Então fã de uma linguagem de programação, pode continuar encantado com ela mas a oferta é tanta de soluções que muitas delas estão desenvolvidas em uma linguagem diferente que você gosta. Terá que aprender como adequá-las para suas necessidades (Perl, Python, Ruby, Java, Scala, etc… ). Um aparte: Gostei muito do Elastic Search.

- DBA, é o fim

  Não é o fim do DBA mas tornara cada vez mais um nicho especifíco. Muito da responsabilidade do DBA com o Big Data está com o desenvolvedor ou arquiteto da aplicação. Principalmente com os bancos de dados NoSQL.

- Sysadmin/Sysops/Devops/FuckOps

  De certa maneira também o sysadmin tem suas funções alteradas, os conhecimentos de ferramentas de configuração (Chef, Puppet, Cfengine, etc…) e administração de servidores na "nuvem" é cada vez mais frequente. Ah, se você é um sysadmin que não tem caguete de programação é melhor rever seus conceitos senão também sua área de atuação ficará mais limitada.

- Enfim, ganhamos e não sabemos:

   Os grandes, aparentemente perderam o bonde da virtualização de servidores, estão brigando numa "camada" acima. A tal de Sky Computing, tanto que a Microsoft com o Azure, IBM com Smart Cloud, Oracle com a Public Cloud, Google com App Engine. E eu achando que Daas com PostgreSQL era o bacana. :)

 

Obs. Tá meio troll esse post. Se tiver afim de aprofundar algum assunto, comenta aí que depois comentou ou posto algo menos genérico. ;)

Revolução digital que nada…

    Não precisa de muitos comentários. Lembre-se que uma tempestade solar pode chegar sem avisar e o produto abaixo pode te salvar. :P

 

TODO: Minha agenda p/ PGBR 2011

       

  O temário da PGBR 2011 fez uma excelente escolha de temas. É muito difícil escolher qual assistir, de qualquer forma fiz uma seleção de palestras que tentarei assisti. (sem ordem de prioridade e com alguns comentários)

PostSemantic: Integrando dados legados através de semântica

     Está na moda ontologia e Web semântica. Um dos caminhos que para integração de sistemas "autônomos" é uso do SPARQL. Minha apresentação para PGBR tem isso na agenda mas sem a profundidade que o Rodrigo deva abordar. Um projeto interessante de uso do SPARQL e RDF é DBpedia.

- Meu ambiente cresceu e eu não planejei. E agora? 

     Sempre pensei em apresentar uma palestra dessa. Até rascunhei mas  fiquei adiando, adiando termirnar  e (finalmente) alguém mais qualificado (Flávio Gurgel) do que eu falará de um assunto tão bacana e que poucos dão atenção (só depois de ver o tamanho da fatura por não ter planejado direito…). :D :D

- PostgreSQL Performance Pitfalls

     Greg Smith é um dos desenvolvedores do PostreSQL e falará um "pouco" sobre performance. Escreveu um livro recomendadíssimo sobre o tema.

- Viva a Revolução Geoespacial

    Para quem acha que Geoespaciais é o Google Maps, Foursquare ou informações de uma galáxia, não perca a palestra do Bueno. Aliás, ele (ao menos para mim) é um dos pioneiros do Postgis no Brasil.  Se quiser de autógrafos dele, fale comigo no evento. :D

- Escalabilidade horizontal com PostgreSQL 9.0 e Pgpool II

    Escalabilidade horizontal, Grids e sistemas distribuídos são alguns dos meus temas preferidos. Alguns serviços da "nuvem" de PostgreSQL usam bastante os recursos que serão apresentados pelo Matheus.

- MVCC Unmasked

    Bruce Momjian falará uma das funcionalidades de um banco de dados mais fantásticas de um banco dedados, seja SQL ou não: MVCC.

- PostgreSQL at the center of your dataverse

    Implamentação da especificação ISO SQL/MED, talvez o Dave Page fale que é possível buscar informações online do telescópio Hubble. :) :) :)

- PostgreSQL: heavyweight locks, lwlocks, deadlocks, spinlocks, pg_locks, row locks … isálvese quien pueda!

    Locks, locks, deadlocks. O terror de qualquer pessoa que tem envolvimento com banco de dados. Álvaro Herrera falará de um pouco sobre magia negra chamada locks (bloqueios). 

- PostgreSQL and Postgres-XC in NTT Group

    A NTT é uma empresa de telecomunicações do Japão, vai ser interessante ver o que eles estão fazendo com PostgreSQL para manter seus serviços. Ah, os japoneses são os que mais usam telefone no mundo, imagina quanto um banco de dados é exigido???

- Fazendo uma manada de elefantes passar por baixo da porta 

  Provavelmente a palestra mais esperada da PGBR 2011. Dicas importantes de sobre hardware, sistemas de arquivos, etc.  Recomendado para qualquer um que é ou será responsável por banco de dados, principalmente para sistemas OLTP (Online Transaction Processing) e também, porque é o brasileiro que trabalha com PostgreSQL sensação de 2011. Também conhecido como Telles Demolidor (Homem sem medo). 


PS. Autógrafos do Telles, basta agendar comigo. :)

PS2. Hey, essa é a minha lista de intenção. As outras que não listei aqui serão apresentadas por pessoas de alta qualificação. Qual a sua lista?

Qual é a música?

    httpv://www.youtube.com/watch?v=QUwZ6FK5h0k&feature=related

    Caso não reconheça, pode abrir o vídeo no youtube ou marcar o espaço em branco na linha abaixo:

Metallica – Fade to Back

     httpv://www.youtube.com/watch?v=Xxz630u7YlQ&feature=related

     Caso não reconheça, pode abrir o vídeo no youtube ou marcar o espaço em branco na linha abaixo:

Radiohead – Nude

     Não reconheceu nenhum ainda? Agora é barbada. :P

httpv://www.youtube.com/watch?v=dmoDLyiQYKw&feature=related

    Colinha p/ quem não advinhou. Marque a linha abaixo.

Fantasma da Ópera

A arte em arduino e floppy disk

   

   Hey você que usa conexão de internet de 10 Mbits, Bluray disk e outras coisas modernosas. Sabe o que instalar um programa com mais de 20 disquetes? Pois é, alguns nerds com mais de dez anos de nerdices computacionais já usou. :P

    E não é que a turma que brinca com arduino fez algumas brincadeiras interessantes com os disquetes de 1/4. :D

httpv://www.youtube.com/watch?v=2z53N1EETMk&feature=related

 

httpv://www.youtube.com/watch?v=fVGOiSjVwJ0&feature=related

 

 

PS. Deu uma vontade de jogar Atari

Android é o novo DOS/Windows…

    Calma, calma…

    Tenho comentado que o Android é o novo DOS/Windows dos anos 10 (201X). A comparação é com os anos 80/90 do século passado, quando o existia algumas "versões" do DOS.

    Algumas coincidências:

- Versões modificadas:

   O Android tem versões levemente modificadas pelas operadoras de telefonia e/ou fabricantes de celular.  Um ecossistema com tantas versões modificadas força um trabalho extra para um desenvolvedor da aplicação para adequá-la.  Ainda existe celular novo com a versão 2.0 enquanto o upstream está na 2.3.4/5.

  O Windows tinha versões para idiomas diferentes. Se tentasse copiar uma "DLL" de um Windows para outro que tinha idioma diferente, sem dúvida que iria piorar a situação e corromper outra coisa.

-  Um montão de hardware diferente

   O Android funciona em celular "popular" à tablets. Lembra um pouco a arquitetura "PC" com sua grande ou enorme modificações.

- Versões inacabadas:

   Quem usou a 3.0 do Android comenta que está imatura ainda, lembra uma certa versão na transição do DOS/Windows para XP.

- Vulnerável:

   Este post do Meio-Bit mostra algumas estatísticas de que o Android é mais vulnerável que outras plataformas para celular. Por muitos anos, qual foi/é a plataforma desktop com maior número de vulnerabilidade  conhecidas? :X

   Ok, ainda é bizarro para mim ter um antivírus (Endpoint ou qualquer outro nome buzzword…) p/ celular Linux.  A sensação que de que a tecnologia tem ciclos cíclicos (Isso existe?) parece mais em voga do que nunca, vide o NoSQL (slomesquita que diz: "Eu programava NoSQL(Mumps) quando vcs usavam fraldas…").

 

 

Obs: Claro que uma comparação rasa e se aprofundar as diferenças mostrarão que as comparações acima são minimamente tolas ou infantis. Alguns mais experientes fazem uma analogia parecida da Nuvem com os Mainframes (Amazon AWS e Mainframes cobram por processamento…). :P

Obs. 2:  Só para registrar, uso Android mas ficaria feliz com um Freerunner.

Obs. 3: Esta nota merece trollagem. :P

Cidadão de Código Aberto

AAJU001132

    Desde uma conversar do meio do ano passado com o Fábio Petrillo sobre modo de desenvolvimento (produção), Software Livre/Código Aberto e o que como indivíduo para onde ir, tem modificado um pouco a forma de pensar sobre como a filosofia de Software Livre/Código Aberto é muito mais abragente que nosso dia a dia (tecnológico) nos faz pensar.

    O Creative Commons é uma demonstração de como a filosofia ou ideologia de Software Livre/Código Aberto abrange um pouco mais do que código, compiladores e servidores.

    A cerveja livre (freebeer) também uma outra evidência do Software Livre, mas digamos que ainda não é algo que altere significativamente o modo de produção coletivo, exceto pela embriaguez.. :P

    Estava assistindo algumas apresentações do TED sobre astronomia e abri uma apresentação despretenciosamente, era de um polonês radicado nos EUA de nome Marcin Jakubowski, falando sobre agricultura e Open Source Ecology (algo como Ecologia do Código Aberto). 

    Open Source Ecology? Que??? Como??? Onde???

 

    Pois é, depois do primeiro minuto assistindo o vídeo, reli com a atenção o título da palestra no TED (Open-sourced blueprints for civilization) e deu um estalo: Hã, Isso parece com Open Source Bridge!

    

    Jakubowski apresenta no TED a motivação de "abandonar" a área científica e virar fazendeiro com todas as dificuldades de trabalhar como um agricultor "tradicional". A dificuldade financeira o fez criar engenhosamente máquinas  e equipamentos para agricultura a custo muito mais baixo do que se comprasse no mercado. Ele compartilhou como criar as máquinas, os custos, etc…

  

    Para mim, ele é um Open Source Citzens! Provavelmente deve haver outros projetos e exemplos mais antigos mas o do Jakubowsku é primeiro (que leio) que altera a forma de produção (entenda-se produção não cultural, mas agrícula ou industrial) mais aberta e colaborativa. Paralelamente em Portland, EUA, acontece o Open Source Bridge que é "uma conferência para desenvolvedores que trabalham tecnologias de código aberto e pessoas interessadas em aprender o caminho do código aberto"

   No Brasil, Portal do Software Público é uma boa iniciativa mas é restrito ao mundo abstrato (TIC). Se existe iniciativas como Open Source Ecology ou Open Source Bridge no Brasil, confesso que desconheço ainda. Mas entendo que para existir iniciativas assim é preciso que os nerds/geeks trabalhem em outras áreas de conhecimento além do padrão (TIC), ou que as pessoas de outras áreas os provoquem e crie uma sinergia para um trabalho em uma completamente diferente e desafiador.

  Ah, estava esquecendo de um trabalho que aconteceu e acontece algum tempo: criação de cisternas em regiões de agricultura familiar. Se não estou enganado, a popularização de cisternas em regiões  de agricultura familiar (especialmente no nordeste) começou  como um projeto universitário. Isso seria o mais próximo de Open Source Citzens.

  Outro dia, postei sobre grupo de usuários e voluntariado, ser um Cidadão de Código Aberto é ter a motivação para compartilhar, fazer e colaborar em qualquer campo do conhecimento. Talvez para muito de nós, o domínio da tecnologia informacional já esteja completo ou não represente algum desafio, porém a ainda muito por fazer neste mundão.

  Se tiver mais alguns doidos, acho que é possível realizar um Open Source Bridge. Ou você que lê agora, pode se antecipar e começar a organizar. ;)

Grupo de usuário tem prazo de validade?

  

   Grupo de usuários de tecnologia, principalmente que são software livre/código aberto são bastante diversificados, pulverizados e voláteis. O Telles postou na lista que organiza o grupo de usuários brasileiro do PostgreSQL uma pequena provocação com o título "A comunidade brochou?".

    Ele assumiu como Big Kahuna a organização do Conferência PostgreSQL em 2011. (já disse que a ele que gosta muito de emoção. ;) )

    A grande questão em seu post é a motivação das pessoas no grupo de usuários. Para ajudar, eu postei umas bobagens como resposta, segue-a com uma ligeira adaptação:

  Que tal fazer algo menos penoso que as pessoas que são voluntárias se divertam?

  Fazer evento para o público grande, gerar repercussão, etc. é legal, mas fazer por voluntário e fazer exigindo a mesma qualidade de evento "corporativo" é transformar uma ação voluntária em uma ação desmotivante e tediosa.

  A questão principal em voluntários em qualquer projeto de software livre é o prazer em ser voluntário e a reconhecimento pelo que fez. Ao deixar um desses pontos de lado, principalmente o primeiro, a desmotivação em fazer é maior que a necessidade de acontecer.

voluntario1

  Particularmente, gosto de um item do Contrato Social do Debian:

"4- Nossas prioridades são nossos usuários e o software livre"

   Qual a prioridade (prazer como voluntário) de cada um com o PostgreSQL?

    Exemplos disso são meus pacotes no Debian e o patch que entrou no PostgreSQL, são atividades voluntárias que me satisfazem. Apesar de não ter mais tanto tempo, ainda faço alguma coisinha em projetos de Software Livre, isso é a minha maior motivação como um voluntário e entusiasta.

   No Catedral e Bazar  tem uma citação que reflete em como um voluntário de um projeto fica por período maior.

"18. Para resolver um problema interessante, comece achando um  problema que é interessante para você…"

   A grande questão é a motivação (algo interessante a dedicar-se) para fazer. Se não existir motivação pessoal e motivação/prioriodade/diretriz/etc… do grupo de usuário que guie as pessoas fazer ações voluntárias que sejam interessantes. Senão, serão atividades momentâneas do voluntário, dificilmente se repetirão.

voluntario2

   A ação prioritária deste grupo de usuários é realizar uma conferência todo anual?

   Uma analogia tosca é os multirões de doação de brinquedos no natal e no dia das crianças. A motivação é a entrega dos brinquedos, todo o restante (campanha p/ doar os brinquedos, triagem, etc).

   De um grupo de usuários pode ser qualquer coisa, como por exemplo, as festas de mapeamento de ruas e locais do pessoal do OpenStreetMap. O comprometimento do voluntário depende muito da motivação dele, pouco ou sem motivação não se tem ação para que mantenha a motivação de ser voluntário.

   No Catedral e Bazar analisa como o fluxo de mensagens de email na lista de discussão do fetchmail é ascendente até que a maior parte das funcionalidades que os usuários solicitaram foram contemplada. Depois, iníciou um declínio do fluxo de mensagens na lista de discussão pois as necessidades dos usuários interagirem com os desenvolvedores diminuiram e hoje em dia, poucas pessoas usam fetchmail (alguém que lê usa ainda?).

   Num passado não tão distante, existiam poucas alternativas de banco de dados com licenças abertas, hoje a concorrência é muito grande ao PostgreSQL. Desde os tradicionais MySQL, Firebird, SQLite aos em moda atualmente (NOSQL): Cassandra, Lucene, CouchDB, MongoDB e etc. O aumento de opção  de banco de dados não é ruim, é bom a diversificação de opções porém gera um reflexo aparente (não mensurei) de interesse menor ao PostgreSQL. Menos interessados,  menos voluntários, menos participantes nas listas, etc.

   Talvez devesse haver uma adaptação da visão do grupo de usuários ao cenário de banco de dados atual? Na minha opinião, sim! :)

   Bom, depois do monte de bobagem escrita acima tenho que ao menos propor algo. Uma idéia simples é reunir mensalmente em cada cidade que tem usuários de PostgreSQL num evento informal para trocar idéia, bater papo. Atividade de pouca complexidade para organizar que a maioria gosta de fazer e que pode render alguns pgday's ou voluntários para a Conferência PostgreSQL 2011. :)

  

Produtividade em documento: Google Docs

  

 

   Google Docs era para mim somente uma aplicação na internet para abrir alguns documentos, nada de mais.
   Até que alguns dias atrás precisava trabalhar num documento extenso com algumas outras pessoas e ao mesmo tempo. Descartamos de cara o LibreOffice por ser uma aplicação desktop. Decidimos por testar o Google Docs.
   Logo no início do trabalho, fiquei impressionado com a possibilidade de edição simultânea de três pessoas num documento. Era possível ver a onde estava e a edição de cada um, ver todas as modificações realizadas (possibilidade de voltar para uma revisão)  e comentar os trechos que deveriam ser alterados/revisados.
    Os comentários foram que mais me impressionou, sei que as suites de escritório para desktop já tem essa funcionalidade. Mas ali, em tempo real, comentávamos um trecho do texto e o responsável por pelo trecho aceitava a mudança ou não. (Realmente achei fantástico)
  Também usamos muitos lembretes de revisão e o principal: um chat entre os três para deixar recados.
   
    Sem dúvida, não teríamos feito um documento extenso e de boa qualidade se não tivéssemos trabalhado ao mesmo tempo no Google Docs. O único inconveniente é de que a semana de trabalho, o Google estava atualizando o Docs e sofremos um pouco com a estabilidade do serviço.
    Eu ainda prefiro wiki, mas não era a ocasião. :P