Archive for julho \26\+00:00 2010

Impacto Econômico da Cloud Computing

julho 26, 2010

Outro dia, recordando as origens da minha formação básica, que foi Economia,  estive estudando alguns relatórios do World Economic Forum que abordavam as implicações estratégicas e econômicas do modelo de Coud Computing na sociedade. Para mim está claro que no longo prazo este modelo vai ter uma contribuição fundamental para melhoria da eficiência de empresas privadas e públicas, bem como impulsionará a criação e o crescimento de novos negócios. O impacto nas empresas e nos usuários finais será significativo. Cidadãos poderão acessar seus documentos, fotos, caixa de correio e quaisquer outros dados a partir qualquer dispositivo, seja de seu laptop em casa, de seu smartphone ou mesmo do equipamento de um amigo.  As empresas não precisarão mais investir up-front em equipamentos, mas alugarão “computing power” e storage de provedores externos e pagarão apenas pelo seu uso, como já fazem hoje com energia elétrica. Esta mudança terá profundo impacto na estrutura dos custos das empresas e portanto poderá ocasionar um efeito significativo na criação de novos negócios e até mesmo no desempenho  macroeconômico de um país. A publicação The Economist, em 2008, em uma excelente reportagem foi direto ao ponto: “the Internet disrupted the music business; Google disrupted the media; cloud-based companies could become disrupters in other inefficient industries”.

 Um exemplo? A disseminação massiva de ofertas de Cloud Computing pode promover a criação de novos negócios em setores onde os custos de TI são altamente relevantes e impeditivos pelo modelo atual. Um exemplo são setores altamente intensivos em computação como games, animação e produção de vídeos. Dois exemplos: o jornal New York Times precisava escanear todas suas edições de 1851 a 1989 e ao invés de adquirirem novos hardwares ou usarem seus recursos computacionais já sobrecarregados, eles transferiram os arquivos TIFF para a nuvem EC2 da Amazon. O processamento, em cima de um dataset de 3 terabytes levou 24 horas usando 100 instâncias (servidores virtuais) e custou 240 dólares. Se não fosse em cloud, seriam necessários vários meses apenas para adquirir e instalar 100 servidores, e a um custo de dezenas de milhares de dólares. Outro caso, no Brasil da PUC-RJ com os vídeos para o próximo programa BBB da Rede Globo. Os candidatos enviarão seus mais de 200.000 arquivos que precisarão ser convertidos para um único formato e arquivados. De maneira geral 60% das submissões de vídeos ocorrem nos últimos dias do prazo de inscrição. Isso cria a necessidade de processar rapidamente um volume gigantesco de vídeos. Na última edição do BBB foi preciso comprar vários servidores, que depois da seleção não tiveram mais utilidade. Com o uso de Cloud Computing o custo para processar mil vídeos caiu para cerca de 500 dólares.

 Mas, além destes setores envolvidos diretamente com mídia digital, a adoção massiva de Cloud Computing pode incentivar a criação de novos e inovadores negócios que tenderão a usar com mais intensidade a Internet. Torna-se cada vez mais comum o uso da Internet e redes sociais em praticamente todos os setores de negócio. A cada dia surgem novidades, como os recentes sites de compras coletivas como o Groupon nos EUA ou o PeixeUrbano no Brasil.

Um exemplo de uso da computação em nuvem é a loja virtual Camiseteria.          Como todas pequenas empresas em crescimento estava enfrentando seu limite, quando o crescimento da empresa demandava mais capacidade que os então dois servidores da firma. Estes servidores já estavam hospedados em um provedor externo e daí para utilizar o conceito de nuvem foi um passo. A Camiseteria não precisa mais saber onde estão seus dados, em quais servidores e discos. Na verdade, na Computação em Nuvem, o usuário não precisa saber onde está o servidor e isto não vai fazer a menor diferença para ele.

 A Camiseteria é um exemplo típico dos clientes do modelo de Computação em Nuvem. De maneira geral as maiores empresas são mais lentas na adoção de novos conceitos e embora reconheçam o potencial da Computação em Nuvem ainda preferem ficar com seus servidores guardados em salas bem fechadas. Mas, pequenos empresários não podem se dar ao luxo de serem céticos, pois com pouco capital não podem investir em caras instalações para seus servidores. Este é o grupo que mais cresce em uso da Computação em Nuvem.

 Portanto, a computação em nuvem remove um grande obstáculo a criação de novas e inovadoras empresas, principalmente as intensivas em uso de TI, pois elimina os investimentos up-front, diminuindo sensivelmente os custos de  entrada do negócio. Como transfere os custos de capital para custos de operação, tende a sincronizar as despesas da empresa com as suas receitas.

 Na minha opinião é exatamente esta elasticidade e o modelo pay-as-you-go, traduzidos pela simplificação do planejamento e gestão dos recursos computacionais, e a significativa redução de custos que impulsionarão este modelo. No modelo atual as empresas são obrigadas a investir em recursos computacionais em excesso (para os períodos de maior uso) e pagar por este valor máximo. Com a computação em nuvem as empresas terão a seu dispor a elasticidade necessária para acomodar a capacidade computacional de acordo com a demanda. E pagar exatamente pelo uso dos recursos consumidos. Cloud Computing soluciona um dos mais cruciais problemas atuais da industria de TI: alinhar a capacidade instalada com a demanda.

 Provavelmente, como a adoção do modelo de Cloud Computing será gradual, apenas sentiremos o seu impacto macroeconômico a médio e longo prazo. Já houve um caso similar, que foi a expansão da infraestrutura de comunicações durante a bolha da Internet, nos anos 2000. Só sentimos o potencial da disponibilidade desta infraestrutura algum tempo depois do estouro da bolha. Mas ela é que permitiu a criação e disseminação de novos negócios na Web.

 Para uma aceleração da adoção de Cloud Computing, diversos fatores restritivos atuais devem ser minimizados como o próprio entendimento do que é e da potencialidade da computação em nuvem, e as questões de segurança e privacidade. Para isso entendo que seja necessário, entre outras ações, uma política de incentivo ao cloud computing que inclua:

 a)     Incentivar o estudo de conceitos e aplicações práticas pela academia, formando profissionais que conheçam as tecnologias que envolvem este modelo,

b)     Criação de normas e regulamentos que orientem o uso de dados em nuvens, uma vez que os data centers que oferecem estes serviços podem estar residentes em países com legislações de privacidade e confidencialidade diferentes e até conflitantes,

c)     Incentivo à adoção de padrões abertos que garantam interoperabilidade entre as nuvens,

d)     Expansão da cobertura e capacidade da rede de banda larga do país,

e)     Adoção de uma política de incentivos fiscais para adoção da computação em nuvem e sua promoção para setores que possibilitem a criação de novos e inovadores negócios,

f)      Incentivo ao uso da computação em nuvem para incubadoras de novos negócios,

g)     Incentivo ao uso do modelo SaaS para a indústria de software, e

h)     Incentivo ao uso de computação em nuvem nos laboratórios  e data centers das universidades.

Nuvens públicas: quando usar.

julho 19, 2010

Uma pergunta que sempre ouço nos eventos de Cloud Computing é se vale mesmo realmente a pena adotar uma nuvem pública, uma vez que ainda existem algumas dúvidas sobre segurança e disponibilidade.

 De maneira geral observo que as grandes empresas estão mais propensas a começar o caminho em direção a Cloud Computing através de nuvens privadas e não públicas. Uma pesquisa do IDC, de janeiro deste ano mostrou que para a classificação “very appealing or appealing” as nuvens privadas tiveram 64% de respostas contra 30% das nuvens públicas.  Por que? Pensando alto, posso imaginar algumas razões…Uma delas é que as nuvens públicas oferecem muitos benefícios, mas por outro lado apresentam os maiores desafios de segurança e privacidade. Além disso, muitas das aplicações internas das empresas, como ERPs, tem alto grau de previsibilidade de demanda, minimizando o valor do modelo em cloud. As aplicações com demandas menos previsiveis são as que interagem diretamente com os clientes, como as de comércio eletrônico, pois uma promoção comercial pode afetar a demanda num piscar de olhos.  Estas aplicações tem muito a ganhar com o modelo elástico das nuvens. Mas, estas aplicações não só demandam requisitos elevados de segurança, como são altamente dependentes de integração com outras aplicações. Assim, colocá-las em uma nuvem publica poderia gerar mais dificuldades que benefícios, pelo menos por enquanto.

 Outra observação é que as motivações para adoção de nuvens publicas são diferentes das consideradas para nuvens privadas. Para nuvens publicas o principal motivador é a redução dos custos de propriedade (software, hardware, pessoal e data center). E o modelo “pay-as-you-go” é um dos mais citados nas pesquisas para adoção destas nuvens. Imaginemos a seguinte situação: uma empresa apresenta uma demanda de pico de 500 servidores, mas na média o consumo equivale a uma utilização de 300 servidores. O custo por dia é de 300 x 24 ou 7200 servidores/hora. Mas a empresa configura seu data center para a carga de pico e paga 500 x 24 ou 12.000 servidores/hora. É um fator 1.7 maior que o necessário. No modelo pay-as-you-go você paga o que usa realmente e assim, se o TCO for menor que 1.7 vezes o custo de adquirir e manter os servidores, passa a ser um bom negócio usar uma nuvem pública.

 O principal questionamento quanto as nuvens publicas é a segurança e privacidade dos dados. Interessante que para muitas pequenas e médias empresas um data center de um provedor como a Amazon oferece muito mais segurança que seu próprio data center, que opera sem politicas e processos adequados. Por outro lado, empresas de grande porte, geralmente operam sob politicas bem rígidas de segurança e aderência a normas e padrões de auditoria, que inibem o uso de nuvens públicas. Para estas a solução é adotar nuvens privadas.

 Claro que à medida que o conceito e as tecnologias de nuvem evoluirem, estes questionamentos tendem a diminuir. Mas, apesar dos esforços conjuntos em padronizar as nuvens entre a DMTF (Distributed Management Task Force)  e a Cloud Security Alliance (http://www.dmtf.org/newsroom/pr/view?item_key=8ab9b59e8219def51b9110833c1a1084bd9f4183 ) vemos que os principais provedores de nuvens publicas como Amazon e Google não participam deste processo. Na minha opinião é uma pena, pois esta ausência pode atrasar significativamente a evolução  e adoção de padrões de interoperabilidade entre nuvens e consequentemente facilitar os processos de segurança.

 O resultado é que as nuvens públicas tendem a atrair primeiro o interesse das pequenas e médias empresas, enquanto as grandes empresas vão se concentrar, em um primeiro momento, nas nuvens privadas. Vamos analisar algumas destas situações para melhor entender este fenômeno:

a) Uma pequena empresa não tem escala suficiente para virtualizar e consolidar seus servidores para operarem em nuvem privada, como em uma empresa de maior porte. Estas podem, por exemplo, agregar a demanda de suas unidades de negócio em um data center de porte e conseguir niveis elevados de utilização dos servidores adotando o modelo de nuvem privada. A alternativa para as pequenas empresas é adotar uma nuvem pública.

b) As grandes empresas tem melhor poder de negociação com os fornecedores de tecnologia, conseguindo melhores preços para seu ativo de hardware e software. As nuvens públicas suprem esta deficiência para as pequenas empresas, oferecendo uma economia de escala que se reflete em preços menores de uso dos recursos computacionais.

c) As pequenas empresas tem maiores dificulades de conseguir staff técnico preparado para os desafios de adoção de novas tecnologias, segurança, etc, o que impulsiona a adoção de nuvens públicas para se manterem atualizadas.

 Enfim, ainda muita água vai rolar no mundo da computação em nuvem. Podemos pensar em cenários futuros, onde pequenas empresas estariam majoritariamente operando em nuvens publicas e as grandes corporações em nuvens privadas ou híbridas, com parte de seu processamento em nuvens publicas e parte em nuvens privadas. Neste contexto, o próprio papel do data center estaria sendo modificado. Podemos imaginar um data center atuando como um broker, com os seus usuários solicitando recursos e o data center os alocando, seja a partir dele (nuvem privada) ou em uma nuvem publica. O usuário não se preocuparia de onde o recursos estaria sendo providenciado, apenas faria a solicitação seja ela uma aplicação ou um servidor virtual. De onde o broker ou data center vai prover os recursos não interessa diretamente a ele, usuário. Em resumo, a computação em nuvem vai mudar tudo…

Pesquisando Cloud Computing na Internet

julho 13, 2010

O assunto Cloud Computing está disseminado pela Internet. Uma pesquisa no Google pela keyword “Cloud Computing” me retornou 14.800.000 resultados.  Indiscutivelmente que a Internet é uma excelente fonte de pesquisa sobre este assunto. O problema é separar o joio do trigo.

 O primeiro desafio é fazer as buscas e obter resultados.  Como fazer isso? Googlando. Sim, o Google é hoje um sinônimo de acesso à Web. Sua página inicial, em branco com o famoso logotipo das letras coloridas é hoje um simbolo valorizadissimo. Todos a conhecem…Praticamente todo o acesso à Internet começa com uma visita ao Google.  

 Mas existem diversos outros motores de busca (search engines), menos conhecidos, mas que podem ser muito interessantes e que podem nos ajudar em muito na pesquisa por textos sobre “cloud computing” ou “computação en nuvem”. Na verdade, o resultado gerado pelos diversos mecanismos de busca é bastante diferente.

 Uma pesquisa feita pelo DogPile em conjunto com universidades americanas em abril de 2007 (http://www.infospaceinc.com/onlineprod/Overlap-DifferentEnginesDifferentResults.pdf), trouxe um resultado surpreendente para muitos: apenas 0,6% dos resultados das queries mostradas na primeira página dos quatro principais motores de busca (Google, Yahoo, MSN e Ask) eram comuns a todos. E cerca de 88% dos resultados obtidos por um motor eram únicos a este motor, não aparecendo nos outros. Claramente vemos que limitar a pesquisa a um único motor de busca genérico vai apenas arranhar a superfície da Web. Muitas informações continuarão inacessíveis. Assim, caso você queira uma pesquisa mais abrangente, usar outros motores de busca pode ser uma experiência bem interessante e frutífera.

E já começam a aparecer metamotores de busca, que executam a busca em um variedade de motores de busca. O Dogpile (www.dogpile.com ), por exemplo, faz a sua pesquisa acionando uma busca em paralelo nos quatro maiores motores de busca, como o Google, Yahoo, MSN e Ask.

Imperdível como fonte de pesquisa é o http://www.ibm.com/developerworks/cloud . São dezenas de artigos técnicos de excelente qualidade.

De maneira geral os sites dos principais fornecedores de soluções e serviços de Computação em Nuvem disponibilizam artigos e cases de sucesso. Recomendo, por exemplo, visitar o www.ibm.com/cloud, que disponibiliza vários artigos e videocasts interessantes.

E, é claro, existem também alguns sites e revistas eletrônicas dedicadas ao assunto Cloud Computing como o Journal of Cloud Computing, em http://cloudcomputing.sys-con.com .

E recomendo também a leitura do livro The Big Switch, de Nicholas Carr, que foi publicado no Brasil sob o título “A Grande Mudança: reconectando o mundo, de Thomas Edison ao Google”.

Sugiro adicionalmente a leitura do livro “The Economics of Information Technology” de Hal Varian, Joseph Farrel  e  Carl Shapiro. Este  livro aborda alguns dos mais importantes fatores econômicos que afetam a indústria de TI e mostra de forma muito interessante como os custos fixos altos, custos marginais de produção, altas barreiras de saída e o efeito de rede afeta a dinâmica desta indústria e de seus atores. Embora escrito em 2004, está perfeitamente atualizado e nos ajuda a entender um pouco mais o efeito do impacto do  modelo de Computação em Nuvem na indústria.

Cloud Computing e as oportunidades de serviços profissionais

julho 5, 2010

Outro dia, conversando com um amigo, CEO de uma pequena empresa de serviços profissionais de TI, ele perguntou como Cloud  Computing afetaria seu negócio no futuro. Bem, naquele dia minha bola de cristal deu “tela azul”, mas mesmo assim conjecturamos alguns cenários, que gostaria de compartilhar aqui.

Antes de mais nada, vamos esclarecer o que são serviços profissionais em Cloud Computing. São serviços de consultoria e/ou integração que ajudam os clientes a planejarem e implementarem estratégias de escolha e uso de computação em nuvem, e a operarem suas empresas  nestes ambientes.

 Na prática, os serviços profissionais em Cloud Computing são um subset das atividades hoje comuns em serviços profissionais em TI. Assim, estes serviços poderão ser de consultoria, como planejamento estratégico para escolha e uso de nuvens (públicas, privadas ou híbridas), integração (integrar sistemas legados aos sistemas em nuvens ou migração de sistemas on-premise para nuvens), desenvolvimento de aplicativos desenhados para rodarem em nuvens, usando tecnologias com Hadoop e plataformas (PaaS) como Azure, GAE (Google AppEngine) e force.com, treinamento, e serviços de suporte para infraestrutura em nuvem, como monitoração da segurança e performance em ambientes IaaS como o da Amazon. Um exemplo da necessidade de conhecimentos específicos são as funções Load balancing, CloudWatch (monitoração) e auto-scaling oferecidas pela nuvem da Amazon.

 Nos EUA este mercado já se mostra bem promissor. O IDC estima que até o fim deste ano serão gastos cerca de 1,8 bilhão de US$ em serviços profissionais relacionados com Cloud Computing. A maior parcela refere-se a serviços de migração, integração e entrega de aplicativos em nuvens, com cerca de 600 milhões de dólares. Para 2014 estima-se que valor total dos serviços profissionais em nuvem seja de 4,3 bilhões de US$.

 Aqui no Brasil ainda estamos engatinhando e os serviços profissionais em Cloud Computing estão restritos aos prestados pelas grande empresas de serviços, como os oferecidos pela IBM. A maioria dos projetos são de assessments e planejamentos (e alguns projetos piloto), típicos de oportunidades emergentes, como é exatamente o caso da computação em nuvem. Minha expectativa é que nos próximos anos já tenhamos serviços mais focados na construção e deployment de ambientes de nuvens computacionais públicas e privadas, bem como o surgimento de empresas menores, especializadas em Cloud Computing. Muitas destas empresas vão atuar junto a fornecedores de nuvens Open Source, como a Eucalyptus. Outras vão se aglutinar aos grandes provedores de nuvens e de tecnologias como a IBM e suas ofertas voltadas para construção de nuvens privadas, como o CloudBurst. Vejo também uma boa demanda futura para serviços voltados ao desenvolvimento de aplicativos em nuvem, na modalidade SaaS. A maioria das empresas de software vão trilhar este caminho (“SaaSerização” dos seus produtos) e muitas delas precisarão de apoio em técnicas multi-tenancy.

 Também vamos ver serviços voltados à implementação de processos de governança em nuvens, demanda ainda meio distante hoje. Como governança imagino não apenas as questões de estabelecimento de níveis de serviços (SLA), disponibilidade, auditoria, segurança e desempenho, mas também orquestração de como gerenciar a coexistência de ambientes on-premise e em nuvens, sejam estas públicas e/ou privadas. Este ambiente híbrido vai apresentar fatores específicos na sua composição de custos, que geralmente não estão afeitos ao “conhecimento institucional” das áreas de TI tradicionais e que devem ser analisados nos estudos de road map de Cloud Computing. Um exemplo: na maioria das organizações, nenhum workload é isolado, mas relaciona-se com outros workloads. Na prática os workloads apresentam interdependência de dados e processos. Isto pode significar que um workload X vai processar dados que foram criados ou modificados pelos workload A e B, e após o término desta execução de X, serão processados pelo workload Y. Agora imaginem que o workload X esteja em uma nuvem pública e os demais sejam aplicações on-premise.  Os dados criados por A e B devem ser enviados à nuvem e depois de seu processamento, estes dados devem retornar aos servidores da empresa, para serem processados pelo workload Y. Existem diversos custos que precisam ser analisados, como custos de transmissão de /para a nuvem, custos de armazenamento na nuvem e o próprio custo de processamento do workload X. Os provedores cobram por estas transmissões e armazenamentos. Por exemplo, nos EUA, a Amazon, nos preços praticados em maio de 2010, cobrava 15 centavos de dólar para cada GB transmitido, em um volume de até 10 TB por mês. Também registrava que o custo de gravar uma informação no serviço S3 era dez vezes maior que o custo de ler esta mesma informação. Para efeito de compração, o custo hora de um típico servidor virtual no EC2, “extra-large”, baseado em Linux era de 68 centavos de dólar. Muitas vezes as análises de custos podem mostrar que os custos de processamento do servidor são uma parcela minúscula diante dos custos de armazenamento e transmissão de dados. Portanto, o desenho de uma solução híbrida deve considerar todos estes aspectos para se tornar uma opção adequada.

 A performance em ambientes de nuvens também apresenta características próprias. Na Amazon, por exemplo, a variação de desempenho dos servidores no EC2 estão muito mais relacionados com a variação da carga de I/O que ao uso de memória ou capacidade de CPU. E como vimos,  monitoração do bandwith de dados transmitidos tem reflexo direto nos custos de utilização da nuvem e portanto devem ser monitorados de perto.

 Mas, ficou claro na conversa que Cloud Computing é um novo paradigma de uso e entrega de TI e que será o modelo dominante para as próximas décadas. É uma evolução do modelo client-server atual e qualquer empresa de serviços profissionais de TI deve colocar este modelo em seu radar. Hoje, como os conceitos ainda são recentes, os serviços estão concentrados em desenhos de road map e assessments, mas passaremos em breve para serviços mais operacionais como governança, suporte e desenvolvimento de aplicações. Portanto, a nossa conclusão foi que ele deveria começar desde já a desenhar seu próprio road map para ser um ofertante de serviços em nuvem e aproveitar as oportunidades de negócio que inevitavelmente surgirão.