Archive for novembro \26\UTC 2009

Cloud Computing ontem e hoje…

novembro 26, 2009

Outro dia, em uma animada conversa com alguns colegas, me perguntaram se houve muita mudança no cenário de cloud computing, desde que eu comecei a pesquisar o tema em profundidade para escrever meu livro, isto é, de uns dois anos atrás, para hoje.

 Para mim, o que mudou é que já está claro para os principais atores da indústria de TI que Cloud Computing vai transformar a maneira como as empresas adquirem e consomem as suas soluções. E que vendedores de tecnologia que obtém sua receita exclusivamente da venda de licenças de software ou hardware terão que adotar este novo paradigma, sob pena de correrem sérios riscos de sobrevivência.

 Por outro lado, esta mudança não ocorrerá de um dia para o outro, mas será gradual.  Rupturas não são bem aceitas pelo mercado e portanto a adoção de cloud ocorrerá aos poucos. Mas, em 3 a 5 anos cloud computing estará bem disseminado. E provavelmente em 10 anos o modelo atual será apenas lembrança…

 Veremos também não apenas nuvens públicas, as mais conhecidas (como Google e Amazon), mas muitas nuvens privadas, operando dentro do firewall das empresas. Provavelmente as pequenas empresas terão toda sua TI em nuvem. As grandes corporações viverão um cenário mixto, com alguns serviços como email e ambientes de colaboração em nuvens públicas e os sistemas críticos, que demandam alta integração, em nuvens privadas.

 Também acredito que os questionamentos atuais referentes a segurança e privacidade serão resolvidos à medida que as tecnologias que compõem cloud computing amadurecem. Também veremos evoluções nos aspectos de legislação e políticas de segurança e auditoria, que deverão evoluir para abranger este novo cenário. Afinal, segurança é basicamente questão de risk management e cloud computing não é inseguro por natureza. Nada é 100% seguro, mesmo sistemas em imensos e protegidos data centers dentro das empresas.

 Outra mudança que observei é que hoje já se olha cloud computing não apenas como infra-estrutura, mas também como plataforma e software como serviços. Na verdade, depende muito do ponto de vista e interesse da pessoa. Um profissional envolvido com infra, refere-se a cloud como infrastruture-as-a-service. É seu ponto focal e interesse. Já uma empresa de software se interessa pela camada de software-as-a-service. E os desenvolvedores estão interessados em desenvolver aplicações para nuvens e portanto se interessam por platform-as-a-service.

 Mas, o que acredito, seja mais significativo é que aos poucos, as empresas e os profissionais de TI já acreditam que cloud computing veio para ficar, que o conceito está amadurecendo rapido e que tem irrefutáveis vantagens em relação ao modelo atual. Portanto, é apenas questão de tempo!

Anúncios

É possivel aparecer outro Salesforce?

novembro 24, 2009

Em dos inúmeros eventos de Cloud Computing, o CEO de uma pequena empresa de software brasileira me perguntou se existiria possibilidade de outro negócio (e porque não o dele?) alcançar um sucesso similar ao Salesforce. Pergunta interessante. Claro, que se eu soubesse a resposta, ela valeria alguns milhões de dólares. Mas a conversa fluiu e discutimos os principais aspectos, que no meu entender, foram a razão de sucesso do Salesfoce.  

Antes de mais nada, lembrei que o modelo SaaS está em franca expansão. Segundo o próprio Gartner, em 2011, 25% dos novos softwares de negócio serão entregues como SaaS. Este modelo, abre, sem sombra de dúvidas espaço para novos ISVs entrarem no mercado.

 Mas, quais foram as condições que permitiram o Salesforce decolar? Na minha opinião o principal impulsionador foi o momento do mercado. As empresas estavam insatisfeitas com os modelos de entrega de softwares de Sales Force Automation (SFA) e CRM. Os custos de upgrade, obrigatórios e impostos pelos fornecedores, chegavam a mais de 30% dos custos iniciais de aquisição e implementação. Além disso, a aquisição de diversas empresas de CRM e SFA pela Oracle acabou quase que monopolizando o mercado. Os custos de serviços de implementação também estavam assustadoramente altos. Algumas experiências apontavam que para cada dólar gasto no software outros cinco eram gastos em serviços. E, para fechar a conta, os provedores dominantes, Oracle à frente, não entenderam o que era o modelo SaaS e simplesmente ignoraram o movimento. Ora, as condições de mercado criam oportunidades que um novo entrante pode explorar. A alternativa proposta pelo Salesforce chegou na hora certa. O Salesforce hoje já tem receita de mais de um bilhão de dólares e é um negócio consolidado.

Mas, identificar que o momento do mercado é propício é uma coisa. Explorá-lo de forma adequada é outra. Para mim, os fatores críticos de sucesso do Salesforce e que podem ser copiados por outras empresas que queiram entrar no mundo SaaS são:

 a)     Investimento na operação. Hospedar uma aplicação SaaS significa que você tem que garantir que a operação dos seus clientes não sofra interrupções. Na modalidade concencional (venda de licenças), se o cliente não implementar uma política de recuperação de desastres não é culpa sua. Voce simplesmente forneceu o software. Mas na modalidade SaaS a responsabilidade é toda sua. Isto significa investir em data centers seus ou de parceiros bem preparados para garantir a disponibilidade e oferecer facilidade para rápida recuperação em caso de descontinuidades operacionais.

b)     Escalabilidade e elasticidade. O provedor de SaaS tem ter oferecer recursos computacionais que permitam um rápido crescimento (ou até diminuição, daí a elasticidade) das demandas de recursos computacionais. Se o seu cliente adquirir uma nova empresa e neste processo inserir mais 500 usuários, eles deverão ser acomodados de um dia para o outro.

c)     Funcionalidade. Não adianta nada oferecer uma alternativa mais barata em termos de modelos de negócio se o software não atender às necessidades dos usuários. As funcionalidades embarcadas devem ser no mínimo iguais às das alternativas convencionais.

d)     Foco no modelo SaaS. O Salesforce é 100% voltado ao modelo SaaS. Na minha opinião ter alternativas híbridas pode gerar confusão no cliente e até mesmo desavenças e competições “desleais” entre as próprias equipes de vendas do provedor.

e)     Aplicações que demandam pouca integração com sistemas legados. Um sistema de CRM ou SFA não demanda muita integração com sistemas legados, o que facilita sua implementação em ambientes externos.

 Mas, e a sustentabilidade da operação? O modelo SaaS baixa as barreiras de entrada para novos ISVs e surge o fenômeno do “churn rate”, que é a taxa de desconexão de clientes. Comum na telefonia celular e que pode vir a acontecer no mercado SaaS. O que significa um “churn rate” elevado? Imaginemos uma taxa de desconexão de 10% ao ano, em uma base de 100.000 usuários. Significa que apenas para se manter no mesmo lugar a empresa precisa adquirir 10.000 novos usuários por ano.

 Aliás, este fenômeno já foi identificado em algumas empresas, como um relatório de uma empresa de investimentos que analisou os resultados de uma empresa SaaS. A análise mostrou que apesar do anúncio da aquisição de novos clientes, no final do ano, o relatório da empresa para os acionistas mostrava que ela estava no mesmo lugar em número de usuários.

 Outra estratégia a ser pensada. A Salesforce investiu na expansão de seu ecossistema, criando uma plataforma (Platform-as-a-Service), chamada Force.com e um diretório de aplicativos chamado AppExchange. Com isso, milhares de novas aplicações complementares aos seus sistemas foram desenvolvidos, o que aumenta a barreira de saída para seus clientes. Claro, se o cliente estiver mais envolvido com o ecossistema Salesforce, mais dificil para ele sair e recriar o contexto de soluções em outra nuvem.

 Mas, voltando a pergunta original…Se as condições do mercado em que a empresa de meu amigo CEO atua forem favoráveis, porque não adotar uma estratégia baseada em SaaS? Que condições são estas? Abundância de usuarios insatisfeitos com o atual modelo de aquisição e implementação de software, poucas opções de escolha (poucos provedores confiáveis) e falta de visão SaaS destes provedores. Se estas condiõçes existirem, vejo boas oportunidades de entrar forte no SaaS, mas lembrei a ele que precisa, no minimo, considerar os fatores críticos de sucesso que fizeram a Salesforce chegar onde chegou.

 Para mim está claro que a sustentabilidade do modelo e dos atores SaaS já existentes não está mais em questão. A questão agora é saber a sustentabilidade futura das empresas tradicionais de software que não tem uma estratégia SaaS.

O que é elasticidade em Cloud?

novembro 21, 2009

Uma das caracteristicas principais do modelo de cloud computing é a elasticidade. Mas, curiosamente, ainda é um conceito que suscita algumas dúvidas. Assim,  volta e meia alguém me pergunta que é realmente elasticidade e quais suas vantagens.  Bem, elasticidade é a capacidade do ambiente computacional da nuvem aumentar ou diminuir de forma automática os recursos computacionais demandados e provisionados para cada usuário. É a escalabilidade em duas direções: tanto cresce quanto diminui a capacidade ofertada.

 A elasticidade é vista de forma diferente pelo consumidor de serviços de cloud e pelo provedor destes serviços. O usuário ou consumidor de serviços de cloud não olha as entranhas das tecnologias que fazem a nuvem acontecer, mas visualiza apenas o seu interface. Ele interage com uma nuvem apenas pelo portal de acesso no qual solicita provisionamento e alocação dos recursos computacionais. Os detalhes técnicos ficam escondidos. Já o provedor precisa colocar em operação toda a parafernália tecnológica que faz a elasticidade acontecer.

 A elasticidade aparece em nuvens públicas, quando o usuário não precisa dispor de nenhuma capacidade computacional por si. Usa apenas os recursos provisionados pela nuvem, de acordo com sua demanda. Se precisar de muita capacidade, requisita muita capacidade. Quando esta capacidade não for mais necessária ele a libera. O provedor, por sua vez, usa toda a sua capacidade para compartilhá-la por todos os usuários da nuvem, e a capacidade liberada por um usuario é imediatamente alocada a algum outro usuário que a demande. Esta alocação dinâmica de recursos é que permite a economia de escala e possibilita que o provedor oferte seus serviços com preços mais baratos que no modelo de hospedagem pura e simples.

 Já nas nuvens privadas, a empresa precisa adquirir e implementar os recursos computacionais que serão alocados via modelo de nuvem para os seus usuários. A elasticidade é sentida apenas no nivel dos usuários internos, mas não no data center, que precisa ainda investir em capital, como servidores e sistemas operacionais. De qualquer foma, esta infraestrutura dinâmica, permitida pela nuvem privada, é um grande benefício quando comparado ao modelo tradicional de gestão de recursos computacionais, como feito hoje pelos data centers.

Ontologia de Cloud Computing

novembro 18, 2009

Existem ainda muitas dúvidas sobre Cloud Computing. Aliás, todo novo paradigma gera muitas incertezas e desconfianças quando aparece. Até mesmo vemos dúvidas em como classificar sistemas de Cloud Computing. Bem, se não falarmos a mesma linguagem fica dificil entendermos e pesquisarmos  o assunto!

 Neste contexto recomendo a leitura do paper “Toward a Unified Ontology of Cloud Computing”, acessável em http://www.cs.ucsb.edu/~lyouseff/CCOntology/CloudOntology.pdf. Uma boa e esclarecedora leitura.

Mais uma entrevista…Agora no YouTube…

novembro 18, 2009

O assunto Cloud está bem aquecido… Dei nova entrevista sobre este tema e também um pitaco de Open Source no YouTube: http://www.youtube.com/watch?v=yO0zrr5jbIo

Globo News e Cloud Computing

novembro 12, 2009

Neste segunda feira o programa Espaço Aberto Ciência e Tecnologia da Globo News foi dedicado a Cloud Computing. Eu dei uma entrevista para eles. Querem ver? Está em http://especiais.globonews.globo.com/cienciaetecnologia . O programa ficou muito bem feito e dá uma boa visão do que é computação em nuvem.

Segurança em Cloud Computing

novembro 10, 2009

Nesta segunda feira estive em Brasilia apresentando um tutorial sobre Cloud Computing. Como na maioria dos outros eventos sobre este assunto, um dos tópicos que mais chamam atenção é a questão da segurança nas nuvens computacionais. Também já recebi diversos emails questionando aspectos de segurança em nuvem. Portanto, creio que chegou o momento de debater um pouco mais o tema aqui no blog.

 No modelo tradicional, a empresa tem controle sobre todos ou quase todos os fatores que afetam a segurança. Mesmo no outsourcing tradicional, onde voce hospeda seus servidores no data center do provedor, voce sabe exatamente onde seus dados e aplicações estão operando. O modelo de computação em nuvem desconecta os dados e aplicações da infraestrutura e você não tem mais nenhuma visibilidade dos detalhes operacionais. Onde estão rodando seus aplicativos? Além disso, a arquitetura multitenancy (multi-inquilino), típica do SaaS sob cloud  aumenta mais ainda a preocupação dos CIOs e CTOs com adoção de nuvens públicas. Cloud computing, sem dúvida, levanta novos desafios para segurança e risk management, como também abre novas discussões no âmbito legal, discussões que acredito a maioria dos departamentos jurídicos das empresas não estão preparados para debater.

 Fazendo pesquisas informais com o publico das minhas palestras sobre cloud, identifiquei que as maiores dúvidas e receios estão em:

 a)     Segurança e privacidade. Algumas perguntas que coletei são: quão vulnerável estarão meus dados em uma nuvem pública? Existem riscos de privacidade? Como a nuvem de um provedor pode atender empresas concorrentes, que garantias existem que dados de uma empresa não serão vistas pela outra?  Como fazer uma auditoria nos processos do provedor de nuvem?

b)     Compliance. Empresas que precisam satisfazer regulamentos rígidos como os demandados por SOX ou outros, podem ser impactadas quando colocam seus dados em uma nuvem pública?

c)     Aspectos legais e contratuais. Uma questão levantada em uma palestra foi “se eu desfaço o contrato com o provedor da nuvem, que garantias eu tenho que os dados serão realmente apagados e não ficam de posse dele?”. Outro questionamento refere-se ao aspecto legal da jurisprudência de onde o dado está armazenado. Um dado em uma nuvem, contratada no Brasil, pode ser armazenado, a critério exclusivo do provedor, em seu data center na China e portanto sujeito aos aparatos legais deste país. E se os entendimentos jurídicos forem diferentes?

 Muitas destas questões ainda não tem respostas satisfatórias. O fato de não termos visibilidade e controle da infraestrutura que hospeda nossos dados e aplicações aumenta a complexidade das questões de segurança. O provedor da nuvem deve ser rigidamente avaliado quanto a eficácia das suas práticas de segurança e privacidade. Este é um ponto importante. No longo prazo o mercado de nuvens públicas deve se concentrar em uma meia dúzia de provedores de escala global e uma constelação de provedores regionais. Nem todos oferecerão os mesmos recursos de segurança e privacidade. Assim, ao contratar um provedor de nuvem, devemos avaliar detalhadamente as suas práticas e medidas de segurança e privacidade, para não termos surpresas mais adiante.

Na questão de compliance, recomendo avaliar se o provedor tem procedimentos eficazes de “business continuity and disaster recovery” e se registra trilhas de auditorias e logs. Logs e trilhas de auditoria são fundamentais para uma investigação forense e a arquitetura multi-inquilino nem sempre permite geração de logs. Se a sua empresa demandar necessidade de registro de logs e trilhas de auditoria deve negociar esta questão com o provedor. O lembrete para compliance é que a responsailidade pela aderência é da empresa. Serviços de cloud são apenas um meio e portanto cabe únicamente a empresa selecionar um provedor que consiga manter esta aderência.

 Recomendo acessar o paper “Cloud Security Guidance”, em http://www.redbooks.ibm.com/redpapers/pdfs/redp4614.pdf .

 Cloud computing tem imenso potencial e no longo prazo será o paradigma dominante de uso de TI, mas ainda precisa evoluir bastante nas questões de segurança, risco e interoperabilidade. Mas, é questão de tempo e maturidade. Como os vinhos e a Internet, cloud computing vai ficando melhor à medida que for ficando mais maduro…

Teremos padrões em Cloud Computing?

novembro 5, 2009

A indústria de TI está sempre diante de um pêndulo, onde em um extremo temos padrões e no outro inovação. Inovação, é antes de mais nada, quebra de regras para se fazer alguma coisa de forma melhor, mais rápida e barata. Por outro lado, sem padrões fica dificil compartilharmos dados, evitar interpretações errôneas e dispormos de interoperabilidade.

Padrões sendo impostos cedo demais, enquanto o mercado ainda está tentando descobrir como usar uma nova tecnologia ou conceito provoca inibições e cerceia o ambiente exploratório. 

 Esta é a situação hoje da computação em nuvem. Impor padrões rígidos antes que tenhamos uma compreensão maior de seu potencial e alcance de transformações será limitante. Mas, é inquestionável que precisamos de interoperabilidade entre as diversas propostas de nuvens. Como resultado já vemos algumas primeiras iniciativas buscando definir um consenso mínimo que garanta esta interoperabilidade.

 Como exemplo de esforços neste sentido temos o Open Cloud Manifesto, (www.opencloudmanifesto.org) que se propõe a   aglutinar empresas em torno da especificação de um padrão aberto para interoperabilidade na Computação em Nuvem. Outra iniciativa é o  projeto open source chamado Simple Cloud API ou por extenso, Simple API for Cloud Application Services (http://www.simplecloud.org/). A proposta deste projeto é criar um conjunto de APIs abertos que poderão ser usados pelos desenvolvedores para escreverem aplicações em PHP em nuvens computacionais diversas.

Desta forma o desenvolvedor escreve apenas uma API e pode usar o mesmo programa em diversas nuvens. As nuvens que estão sendo consideradas nesta primeira versão são as da Amazon (Amazon AWS), Azure da Microsoft, Nirvanix Storage Delivery Network (http://www.nirvanix.com/) e Rackspace Cloud Files (http://www.rackspacecloud.com/).

Inicialmente está orientada à linguagem PHP, mas no futuro deverá ampliar-se para outras linguagens como Java, Python e Perl.

 Uma outra iniciativa é o Cloud Standard Coordination (http://cloud-standards.org/). Há também uma polêmica tentativa da FSF (Free Software Foundation) em criar uma licença de cloud, chamada “CloudLeft Public License” (http://docs.google.com/Doc?id=dxr5cbn_03ghsr8ft).

 Para organizações de padrões serem efetivas é importante que o mercado, as empresas e as pessoas as conheçam. Não é o caso destas iniciativas. Ainda estão em um estágio muito incipiente e portanto, ainda é cedo para sabermos quais delas vão (e se vão…) realmente deslanchar. Antes de mais nada, precisamos aprender a explorar a potencialidade da computação em nuvem!