Archive for the ‘informativo’ Category

XMPP na Oscon

Friday, August 1st, 2008

Na oscon participei de duas palestras que falavam do uso de XMPP para criação de serviços web. O Etevaldo participou da primeira, e juntos organizamos este post.

As palestras foram “Open Source XMPP for Cloud Services” da Jive e “Beyond REST? Building data services with XMPP PubSub” do Flickr.

Ambas as apresentações estão online:
http://www.slideshare.net/mattjive/open-source-xmpp-for-cloud-services

http://www.slideshare.net/kellan/beyond-rest

Em ambas a indicação do uso de XMPP é para subistituir aplicações que façam HTTP Polling. HTTP Polling é o método que se baseia em requests periódicos a uma url para realizar o sincronismo entre duas aplicações, ou entre o cliente e o servidor. Segundo a apresentação do Flickr, isto seria equivalente a uma criança chata que fica perguntando ao pai de cinco em cinco minutos: “falta muito?” durante uma longa viagem de carro, e simplesmente não escala.

Nos casos em que o perído do polling é pequeno, ou seja, novos requests são gerados em poucos minutos ou segundos, é mais fácil enxegar a fonte de dados como um fluxo contínuo e ao invés de ficar abrindo e fechando conexões HTTP manter uma conexão persistente onde sejam trocadas mensagens. É assim que funciona o XMPP.

Bom ainda não estudei muito de XMPP, além de saber que é um protocolo aberto para “instant messaging” dei apenas uma lida no wikipedia . Acho que é o sufuciente por agora.

O problema encarado pelo Flickr era que o Friendster fazia HTTP Polling para sincronizar as fotos de seus usuários. Isso gerou uma grande volume de acesso no Flickr, que precisava de uma melhor alternativa. A solução do Flcikr foi criar um serviço via XMPP no padrão PubSub, ou seja, O Friendster abre uma conexão com o Flickr e a cada nova foto uma mensagem é enviada do Flickr para o Friendster.

Como se fazer um serviço web usando XMPP?
O que vc precisa fazer é criar um componente de acordo com o padrão XEP-0114 . Felizmente já existem APIs que implementam este protocolo em diferentes linguagens como a Whack API em Java e a gloox em C++ (deve existir para outras linguagens, mas não procurei).

Pelo que entendi do exemplo da Jive, vc vai criar um daemon que vai ficar rodando independente do servidor Jabber e que se conectará ao servidor Jabber, publicando algum tipo de serviço, como o que informa as condições do tempo.

Entre os servidores jabbers mais populares são o openfire (citado pela jive), o ejabberd, e o jabberd (citados no Flickr). Neste site tem um market share dos servidores jabbers, mas acho que não é mto confiável.

Acredito que em breve estaremos testando estes servidores jabber para entender melhor o funcionamento e saber como eles escalam aqui nas equipes de infra, pois provavelmente irão surgir aplicações que se utilizam deste protocolo.

Para o caso da Globo.com, precisamos pensar em como gerar clientes web para xmpp. Existe já uma API em javascript que faz a comunicação com Jabbers. Infelizemente, browsers não implementam o protocolo XMPP e este terá que ser encapsulado em HTTP. A técnica utilizada para isso é o BOSH (Bidirectional-streams Over Synchronous HTTP) da especificação XEP-0124 e com um post explicativo neste site.

Desta forma, as conexões persistentes teriam que ser feitas a um web-server que faria o papel de “proxy” com o servidor jabber???? Não necessariamente, o openfire e o ejabberd implementam bosh e saberiam lidar com “HTTP binding”.

Há também outras intefaces “não web”, por exemplo, que poderíamos utilizar, como a possibilidade de externar a funcionalidade de chat via XMPP, como está sendo feito pelo Facebook.

Antes que este post fique longo demais (já está), vou passar só mais uma referência que é este post interessante que discute pontos levantados na palestra do Flickr: http://redmonk.com/sogrady/2008/07/30/xmpp_rest/

Peço que sinalizem nos comentários caso exista interesse, para que eu possa tentar organizar um workshop para discutir idéias e implementações XMPPs.

Firefox entra no guinness!

Wednesday, July 16th, 2008

Do site da mozilla:

“Graças ao apoio da sempre sensacional comunidade da Mozilla, nós conseguimos estabelecer um Recorde Mundial no Livro dos Recordes Guinness pelo software mais baixado em 24 horas. Em 18 de junho de 2008 8,002,530 de pessoas baixaram o Firefox 3 e estão usando a Internet de maneira mais segura e inteligente.”

Notícia completa, com mapa indicando downloads por país:

http://www.spreadfirefox.com/pt-BR/worldrecord/

Outro link, mostrando até o momento o firefox oficialmente com 19% do market share mundial em browser:

 http://marketshare.hitslink.com/report.aspx?qprid=0

Blog “interno” com grande visibilidade

Friday, June 13th, 2008

Resolvi escrever sobre dois fatos isolados que aconteceram comigo ao pesquisar no google (do brasil) sobre problemas que tinha que resolver:

- O primeiro problema era sobre a comunicação entre processos no unix, pois não estava conseguindo que a comunicação entre unamed pipes ficasse assíncrona. Coloquei no google: ‘unnamed pipe assincrona’ e logo no segundo resultado estava o que queria. Era um post do Luis de webmedia explicando como ele havia resolvido isto.

- O segundo foi sobre um segmentation fault do mod_cache que aconteceu num teste de carga do TR. Coloquei no google ’segmentation fault mod_cache’ e o primeiro post era do Gustavo sobre correções na nova versão do apache.

Resolvi então testar algumas buzz-words.

Façam o teste: ‘relacionamento scrum itil’ ou ‘distance matters scrum’ … e vejam os primeiros resultados.

Além disso, olhem nos comentários, mtos deles na parte de moderação ainda. Mtos possuem feedbacks positivos de pessoas da internet.

Duas a cada três empresas adotam o ITIL

Friday, May 16th, 2008

Uma pesquisa feita com 370 CIOs de 14 países aponta que 66% das empresas adota a metodologia ITIL para gerenciar a área de TI.

O estudo foi realizado pela empresa sul-africana de serviços de TI Dimension Data, que avaliou quais são as melhores metodologias de gerenciamento de ativos de TI adotada pelas corporações.

Além do ITIL (Infrastructure Technology Information Library), uma biblioteca de procedimentos criada no final dos anos 80 por uma fundação vinculada ao ministério britânico do comércio, o estudo da Dimension Data avaliou outras metodologias, como Microsoft Operations Framework (MOF, adotada por 47% das empresas) e Six Sigma (41%).

Entre 28% e 34% surgem as metodologias Prince 2, ISO, CMMi, ASL, Cobit e TQM. Abaixo dos 20% estão as metodologias Super e Agile. O ITIL obteve também a melhor nota entre todas as metodologias, 3 em uma escala de 1 a 5.

Segundo os entrevistados, o ITIL ganha das outras metodologias porque um grupo de empresas e consultores independentes faz a atualização periódica e sistemática dos processos envolvidos na gestão de TI, que são documentados como uma biblioteca, com termos previamente definidos e padronizados.

Essas metodologias de gerenciamento de TI documentam e padronizam processos de uso de tecnologia da informação para criar uma matriz de serviços oferecidos pela área de TI a toda a empresa.

Retirado do INFO Online.

KICKFIRE: O problema para as queries lentas acabaram?

Wednesday, April 16th, 2008

Está sendo apresentando na MySQl Conference um hardware que promete acabar com os problemas das queries lentas. O que tem esse hardware de especial? Bom, ele tem um chip adicional chamado de “SQL Chip”, além de já vir com o CentOS 5.1 instalado.

O SQL Chip é um dispositivo que pode executar queries em paralelo e ao mesmo tempo acelerar o seu tempo de execução. E como isso é feito diretamente pelo SQL Chip, tira a carga da base e do servidor.

Existem 3 componentes básicos nessa solução de hardware e o que eles proveem respectivamente:

MySQL:

  • Conectividade
  • Segurança
  • Administração

Kickfire Software:

  • otimizador
  • “column store” e cache
  • “transactional engine”

SQL Chip:

  • Execução do SQL
  • Gerenciamento de memória
  • Acelerador de carga

Mais informações no site do fabricante Kickfire.

Agora é esperar pra ver se o hardware vai fazer o que promete e ver o que o mercado irá dizer dele nos próximos meses.

that’s all folks.

Interop Router

Sunday, March 2nd, 2008

Data de Publicação: 26 de fevereiro de 2008

A tendência atual de alto poder de processamento, demonstrada por aplicações científicas e comerciais, gera a necessidade de utilizar supercomputadores para execução destas tarefas de processamento maciço. Uma alternativa aos elevados custos para montagem e manutenção de um supercomputador é a utilização de um cluster, sendo este, um conjunto de dois ou mais computadores que simultaneamente realizam o processamento de uma aplicação.

Todo cluster é baseado em um único tipo de sistema operacional: Windows, Linux ou outro. Isto porque em cada tipo de sistema existe alguma peculiaridade que impede a integração com os outros. Podemos afirmar que cada infra-estrutura tem suas vantagens e desvantagens. Em um cenário mais abrangente poderíamos unir os benefícios de conjuntos de computadores com diferentes sistemas e gerar um Cluster unificado à partir de outros já consolidados com sistemas distintos.

Dentre os diferentes tipos de clusters que se destacam, temos os baseados em Beowulf, uma arquitetura multicomputador idealizada pela NASA em 1994 para processar a grande quantidade de informações da entidade. Estes clusters são bastante populares por basearem-se em softwares livres (como o Linux) e por funcionarem também em máquinas obsoletas. E, lternativamente, o Windows Compute Cluster da Microsoft, lançado em 24 de Abril de 2003 que, pesar das restrições de arquitetura (necessariamente x64), conta com instalação simplificada e uma interface gráfica para seu gerenciamento.

Atualmente encontramos clusters em muitas empresas. Estes equipamentos poderiam ser interligados e aumentar o seu poder de processamento. No meio acadêmico não é diferente: existem diversos pequenos clusters que poderiam ser interligados e assim maximizar a capacidade de recursos disponíveis aos pesquisadores. Mas, muitas vezes essa união é inviabilizada pela falta de integração entre os sistemas operacionais distintos em cada cluster.

Uma linha de pesquisa que está em andamento no Microsoft Innovation Center/Interop da Unicamp, tem como objetivo é criar meios de interoperação entre os diferentes clusters existentes, e prevê a criação de um conjunto de aplicativos que formarão uma camada transparente entre usuários e diversos clusters controlados por um núcleo, aumentando a escalabilidade e poder de distribuição. Atualmente os desenvolvedores trabalham em versões
intermediárias, realizando acréscimos gradativos aos recursos.

Conhecido como Interop Router, o projeto, que está na versão 2.0, já opera com clusters Windows e Linux e está em fase de testes e aprimoramento. Ao final, o projeto terá configuração genérica para suportar mais plataformas além de Windows e Linux e utilizará a Internet como meio de comunicação, aumentando o potencial de integração.

- Página do Projeto: Interop Router

- Página do Laboratório: LMSU

Por Bruno A. Melo, Daniele R. Santos, Henrique Baggio, Raul Kist e Ivo Trivella

Fonte: Dicas-L

GrandCentral all-in-one phone

Monday, February 25th, 2008

Já pensou em ter um único número de telefone que respondesse por todos os seus outros phones, incluindo Skype, Gizmo??

Sim, é isso mesmo que você pensou! Quando ligarem na sua casa irá tocar nesse número, quando ligarem para o seu celular será atendido nesse número.

Você não só pode receber, mas como também fazer ligações usando qualquer número, você pode estar na rua e fazer uma ligação com o número da sua casa… muito interessante.

Infelizmente ainda não está disponível para o Brasil, mas você pode fazer uma reserva de número em: grandcentral.com

Mais uma vitória ao mundo open source com ‘gol’ marcado pela Microsoft!

Thursday, February 21st, 2008

Quem trabalha com informática, sabe que existem duas grandes fronteiras quanto a licenciamento, desenvolvimento e uso de software: O Software Proprietário e o Software Livre. Acho que dispenso em explicar o que é cada conceito. Como estamos num processo de usar tecnologias abertas e gratuitas, sabemos quão importante ter a liberdade de criar e recriar algo, para que possamos moldar um produto final da forma como desejamos. Coisa que, com produtos proprietários, nos deixa a desejar em alguns pontos.

É natural que critiquemos a Microsoft. Afinal, é a maior empresa de software do mundo, com diversos segmentos nos quais ela ou ela é líder ou então está quase líder. Isso é perfeitamente natural, mas nós defensores de software livre nos decepcionamos quando a Microsoft quer impor tecnologias e não deixar nós escolhermos a forma como aplicar.

Por exemplo, antigamente a Microsoft criava padrões que só ela entendia e só com os produtos delas é que era possível criar algo que só funcionava em seus produtos. Exemplo: DirectX. O SDK do DirectX, até aonde entendo, só pode ser desenvolvida em cima do Visual Studio e apenas usada no Windows, não tendo suporte algum a outros sistemas operacionais. Diferente de, por exemplo ao SDL, que é similar ao DirectX, mas está disponível a dezenas de sistemas operacionais.

No início do século 21, a Microsoft adotou outra postura, com o crescimento do mercado de software livre: ela passou criar padrões certificados e mostrava como interconectar aos seus produtos, mas já criava métodos que só eles poderiam mexer a 100%. Exemplo disso seria o OpenXML, do pacote Office. O OpenXML foi uma tentativa da Microsoft de padronizar a criação de documentos, planilhas e apresentações; deixando livre a escolha do usuário se queria manipular este documento no Microsoft Office ou através do Open Office. A principal falha da Microsoft, em não ter conseguidos homologar este padrão, é ter criado diretivas que tornavam este padrão fechado, com o emprego de tags como “Parágrafo formatado como no Word 97 formatava”.

Agora, você se pergunta: “Ok, muito legal em ter me contado esses assuntos passados, mas qual a novidade”? Bem, eis a novidade: Hoje,  A Microsoft estará liberando API’s para que desenvolvedores e usuários de software livre possam criar interfaces de conexões ao seus produtos. E a melhor das notícias: Ela não mais processará quem realizar tais operações, como o caça às bruxas que ela fez ao dizer que Linux inflige patentes da Microsoft, sem revelar quais.

Pessoalmente eu vejo a notícia de maneira positiva. Afinal, não sou contra a Microsoft de criar e vender produtos. Afinal, cada um pratica a forma como faz seus programas e como deve ser seu licenciamento. Eu acredito que o produto é que não deva criar restrições à seus usuários. Por exemplo, uma corporação que use rede Microsoft de interconexão de desktops e servidores não poder usar o serviço Samba para conectar a um ‘file server’ e pegar aquele documento de Office e não poder editá-lo usando OpenOffice porque a Microsoft dizia que isso era uma violação dos produtos por ela oferecidos. Tornar essa prática licenciada e, principalmente, documentada e aberta ao público, trará benefícios mútuos a todos. Poderemos escolher qual a forma que desejamos utilizar nossos computadores e como podemos interagir com os programas para manipular algum arquivo.

Hoje é um dia histórico. Para tornar as coisas ainda mais interessantes, só faltava o Windows ser gratuito. :)

What’s EC2 ?

Tuesday, January 22nd, 2008

Amazon Elastic Compute “Cloude” ou mais conhecido como EC2, é o serviço de application hosting da Amazon, sim a Amazon! o site que vendia livros e hoje vende tudo na Internet.

Já tinha ouvido falar do serviço mas não do alias EC2, como o serviço é conhecido por ai.

O EC2 usa servidores virtualizados com o Xen. Cada instância,ou cada virtual server privado, pode ter 3 tamanhos: pequeno, grande e extra grande.

A instância pequena, que é o default, tem:

  • 1.7 GB memória
  • 1 EC2 compute unit[1] (1 virtual core com 1 EC2 compute unit)
  • 160GB de storage
  • Plataforma de 32bits

A instância grande tem:

  • 7.5 GB memória
  • 4 EC2 compute units[1] (2 virtual cores com 2EC2 compute units cada)
  • 850GB de storage
  • Plataforma de 64bits

E a extra large tem:

  • 15 GB memória
  • 8 EC2 compute units[1] (4 virtual cores com 2 EC2 compute units cada)
  • 1690GB de storage
  • Plataforma de 64bits

[1] Cada EC2 Compute Unit é equivalente a uma CPU de 1.0-1.2 GHz 2007 Opteron ou 2007 Xeon processor.

Que tal um torrent server em um desses?

Mais informações acesse: Amazon AWS

Aumentando a Produtividade

Tuesday, January 22nd, 2008

Pra quem prefere controlar suas atividades pela linha de comando ao invez de usar softwares gráficos, vou dar uma dica aqui de um script que pode ajudar nessa tarefa.

Vou falar um pouco do “todo.sh”. O todo.sh é um script shell, que auxilia na manipulação de tarefas dentro de um arquivo TXT. Sua principal função é facilitar a manipulação das suas atividades, seja ela adicionar, editar, priorizar, buscar.

Para baixar o script e assistir um video de exemplo, acesse o link:

http://todotxt.com