01 February 2009 ~ 5 Comments

Nas nuvens

CloudsÉ sabido que nós, os humanos, precisamos de referências para evoluirmos, faz parte da nossa natureza e sem elas temos imensa dificuldade em nos orientarmos e ficamos perdidos sem sabemos se estamos no caminho certo. As referências, sejam pessoas, líderes, datas, nomes ou simplesmente coisas, são assim como as bombas de gasolina e os cafés da Mimosa na altura da antiga IC1 que ligava Lisboa ao Algarve quando não havia auto-estrada: sem elas era impossível fazer a viagem.

Na Internet há várias referências ao longo da sua história e quase todas corroboram o meu raciocínio. Uma das mais recentes e mais conhecidas é o fenómeno da Web 2.0. Se o Tim O’Reilly não tinha inventado o nome, não tivesse ele o brilhantismo de constatar que estava em curso uma significativa mudança de comportamento dos utilizadores e de a baptizar e a bradar atempadamente aos sete ventos, e nada de tecnologicamente significativo teria acontecido nos últimos 5 anos, o que seria muito triste. Porque a realidade é que de facto, tecnologicamente falando não houve realmente nenhum “breakthrough”. Mas o que é importante reter é que o simples facto de alguém ter criado um nome e assinalado o momento com um chavão tão “catchy” como Web 2.0 foi o combustível suficiente para fazer explodir uma nova geração de serviços na Internet. Uma simples constatação que estimulou uma evolução e que praticamente criou uma nova indústria de startups e serviços, a dos websites em tons de pastel, com urls terminados em …kr ou ..tr, que usam e abusam do xmlhttprequest (vulgo ajax, outra referência), que têm apis, são “open”, têm um blog e que de uma forma ou de outra se dizem ter características de “social networking” (e vai outra).

As referências são fixes, é seguro dizer. Sem elas não andamos para a frente, e não é sarcasmo, juro.

Isto tudo para me levar ao tema do post: The Cloud, a buzzword do momento. Não há fabricante, fornecedor ou consultora da área que se preze que não tenha hoje uma vincada opinião sobre a clara tendência da migração dos serviços para a Cloud. E aí está uma oportunidade perfeita e a aparecer na melhor altura para potenciar uma nova vaga, vigorosa e revitalizada, de produtos, serviços e projectos para meter as empresas modernas e com olho para o futuro dentro da bem-fadada nuvem.

Mas o que é fascinante para mim e talvez o que distinga esta referência de outras, é que esta é completamente feita de vapor e parece-me servir um único propósito: o dos vendedores. Ou eu sou muito cego ou não há nenhuma ruptura de comportamentos ou tecnologias a acontecer, há simplesmente um tendência linear que não mereceria ser assinalada se não fosse a oportunidade de colocar a malta nas nuvens, só para manter a metáfora. Senão vejamos:

“The Cloud” vem da velha representação nos slides e nas apresentações da Internet, que seria tão complexa e grande para desenhar que se convencionou uma simples núvem aonde tudo estaria, desde o site do museu do louvre à página de entrada de Portugal. O resto torna-se óbvio, hoje temos tudo na Internet, a nossa agenda, as nossas fotos, os vídeos, o blog, saiu tudo do computador, emanciparam-se e foram viver para a nuvem aonde todos os podem ver comodamente em qualquer lado e de qualquer forma. E para suportar esta visão surgiu o “Cloud computing”, que é uma espécie de computador que também vive nos céus.

Só que, ao contrário do que se diz por aí agora, “Cloud computing” é um modelo não é uma tecnologia nem um produto. É uma arquitetura que consiste em utilizar um conjunto de tecnologias que já existem há anos e amadureçam naturalmente: APIs, serviços, a Web e o browser como uma plataforma de aplicações, computação remota e/ou distribuída, os nossos dados e a nossa vida na Internet  (literalmente para alguns). Não há um produto de “Cloud computing” chave na mão e quem vos disser o contrário está a enganar-vos. E justiça seja feita, se alguém merece reconhecimento por anos de advocacia e pelas suas iniciativas que nos permitem hoje conceber este paradígma com clareza e robustez não são certamente os mesmos que hoje se aproveitam da moda.

  • A Amazon através da  AWS disponibiliza produtos como o SimpleDB, o EC2 ou o S3, entre muitos outros, e o seu CTO Werner Vogels é um dos grandes evangelistas e visionários deste modelo. Respect.
  • O Google fez o Google Apps (goste-se ou não), lançou o App Engine, tem uma série de aplicações riquíssimas que mostram claramente que a web como plataforma existe e sempre deram o exemplo ao abrirem APIs à comunidade. Respect.
  • A Big Blue IBM tem tido um papel moderado na adopção deste tipo de arquiteturas, no entanto tem apoiado uma série de projectos Opensource relacionados. Respect.

E depoia hoje qualquer um pode construir a sua própria “Cloud” com a sua  infra-estrutura de tecnologias e serviços baseada exclusivamente em componentes Opensource, a saber:

  • Hadoop, uma espécie de versão Opensource do GFS, implementa MapReduce e pode processar Petabytes de informação.
  • CouchDB, uma base de dados acessível por APIs REST/HTTP/JSON, distribuída e fault-tolerant.
  • Xen, virtualização para todos.
  • E claro, um catálogo de APIs. No SAPO, a título de exemplo, construímos o BUS e o Broker que foram fulcrais para o nosso futuro. Há outras soluções.
  • Adicione-se OpenID e OAuth e uma pitada de Microformatos.

E termino citando o Anton Ego: “Since you’re all out of perspective and no one else seems to have it in this BLOODY TOWN, I’ll make you a deal. You provide the food, I’ll provide the perspective…”.

Ou em Português, não se deixem levar pelo recente hype do “The Cloud”, metam pespectiva nisso, compreendam o que significa e o que está na sua base. Os modelos são isso mesmo, são opções não são verdades absolutas nem inevitáveis. Há multiplos cenários possíveis, construam o vosso gradualmente (e de forma modular) e não se deixem levar pelas “gordas” dos estudos nem pelas “silver bullets” dos fabricantes. You’ll regret.

  • http://abertoatedemadrugada.com Carlos Martins

    Nos próximos tempo vai ser o mesmo “folclore” tal como o se gerou com o Ajax.
    Eu bem dizia a toda a gente: “ó meus amigos! isto já existe há N, é simplesmente o xmlhttprequest”… mas o poder do “mediatismo” era imparável.
    E com o “cloud” irá ser a mesma coisa, sendo a única solução esperar que as pessoes estejam mais informadas e não se deixem ir em cantigas (mas, quanto a isso não ponho a mão no fogo.)

    E por muito que eu seja apologista do “cloud”, e dos serviços web – é preciso estar preparado para não desesperar no dia (que invitavelmente acontecerá, mais cedo ou mais tarde) em que, por erro humano ou não, as pessoas deixarem de ter acesso aos seus dados/serviços na web.
    (Tal como o recente apocalipse no mag.nol.ia, ou o “erro” no google que marcou todos os sites como perigosos.)

  • http://www.phpclasses.org/ Manuel Lemos

    Celso, não ficou muito claro onde querias chegar com este artigo. Não sei estás a encorajar ou desencorajar o uso de serviços dos fornecedores da dita “Cloud”.

    Quanto a mim cada vez mais serão as ofertas de serviços na nuvem que irão viabilizar projectos, que de outra forma seriam comercialmente inviáveis, dado que iriam requerer investimentos brutais de quem quisesse criar esses projectos do zero.

    O Jeff Bezos da Amazon farta-se de explicar isso. Ele usa uma metáfora que explica que é como se ele estivesse a gerar energia eléctrica para que quem precisa dela não tenha de construir mecanismos próprios para a criar. É para isso que serve o S3, EC2, Simple Queue, e o CloudFront (CDN) que não mencionaste.

    O Google propõe-se a ir mais longe, que é oferecer escalabilidade imediata, ou seja, não tens que ficar a configurar clusters para lidar com escalabilidade infinita. Pena que só suportem Python e não dão perspectiva se e quando vão suportar outras linguagens.

    O Azure da Microsoft é mais uma cópia do que os outros estão a fazer. A Microsoft sim é que talvez não tenha grande perspectiva, a não ser copiar para não ficar fora desse mercado. Curiosamente, ao implementar tudo em .NET acabam por suportar indirectamente várias linguagens de uma vez só para além de C#, VBScript, PHP, Perl, Python, Ruby, etc., coisa que o Google App Engine não suporta.

    Agora a oportunidade que vejo na nuvem, é que ao alojar sites e serviços na mesma infraestrutura, acaba-se por viabilizar o dito SOA (Software As a Service). Quero dizer que uma empresa pode disponibilizar serviços pagos a outras que estão na mesma nuvem sem os problemas de lentidão ou latência dos Web Services fornecidos por sites que estão em redes distintas.

    Por exemplo, a Amazon tem o Simple Queue e o EC2. O Simple Queue pode ser usado para criar filas de trabalhos de grandes volumes de dados que ficam à espera de vez para serem processados. O EC2 pode alojar aplicações que vão consumir e processar os dados dos trabalhos nas filas do Simple Queue. Se ambos os serviços não estivessem na mesma rede, a transferência dos dados de um serviço para o outro ia atrasar muito o processamento, especialmente quando o volume de dados é grande.

    Não sei se foi um bom exemplo, mas acho que deu para dar uma perspectiva da importância de estar tudo na mesma nuvem.

    Há uma teoria a circular que alega que o Google apenas comprou o YouTube para forçar os ISP a aumentar a oferta e baixar os preços de banda larga. Assim a latência de acesso ao Google Apps deixaria de ser um problema de adopção por parte dos clientes potenciais da versão paga. Mas pronto, é apenas uma teoria.

    Agora a pergunta que te ia fazer, se é que podes responder, é que me ao parecer que estás a desdenhar a nuvem, será que isso quer dizer que o SAPO não tem em perspectiva oferecer serviços de nuvem?

  • Celso

    @Manuel Lemos

    Não estou a desencorajar nada. Só estou a meter em perspectiva o hype todo dos últimos meses e a constatar que tudo o que constitui hoje a definição mais comum da “Cloud” já é tecnologia que anda por aí há uns anos. By the way, SOA quer dizer service oriented architecture.

    As modas têm este problema, por um lado criam referências para darmos o próximo passo, mas por outro podem criar desinformação e levar as pessoas e as empresas a tomarem decisões erradas, o que me parece que começa a ser o caso, daí o post.

    Quanto ao SAPO oferecer serviços na nuvem já o fazemos há bastante tempo, aonde tens andado? http://services.sapo.pt/ Ou se quiseres o modelo SaaS temos por exemplo: http://messenger.sapo.pt/im/

  • http://www.phpclasses.org/ Manuel Lemos

    @Celso
    Desculpa lá, não fui muito claro na minha pergunta. Quando mencionei oferecer serviços de nuvem, não estou a falar de API de Web services gratuitas, mas sim de serviços pagos que geram lucros para a empresa.

    É preciso não esquecer que obviamente o SAPO e todas as outros são empresas, não instituições de caridade. Logo por definição, uma empresa é uma instituição com fins lucrativos, e por isso toda a sua actividade deveria visar o lucro.

    Nesse sentido, a Amazon parece ser a que mais tem os pés no chão. Não só foi pioneira em vender serviços na nuvem, como lucra bem com esses serviços. Para além disso são serviços bem pensados porque apesar de independentes, podem ser usados uns com os outros para que clientes implementem novas aplicações com o mínimo de latência dado que o servidores estão dentro da mesma nuvem.

    Portanto, refazendo a minha questão “será que o SAPO não tem em perspectiva oferecer serviços pagos (ou Software As A Service se preferires) dentro da sua nuvem?”

  • Celso

    @Manuel Lemos

    O modelo de negócio do SAPO é assumidamente o da publicidade, e temos de nos manter muito focados para não perdermos competitividade num mercado que ainda está a crescer, muito por via da transferência dos investimentos nos meios tradicionais para os novos, mas que vai estabilizar em breve. Dito isto, tirando algumas experiências de B2B que devemos fazer este ano, não está nos nossos planos de curto prazo vender serviços.