228
1

Computacao Em Nuvem Cezar

Embed Size (px)

DESCRIPTION

computacao das nuvens

Citation preview

Page 1: Computacao Em Nuvem Cezar

1

Page 2: Computacao Em Nuvem Cezar

Prefácio

Todas as industrias sofrem transformações ao longo do tempo. Sejam por mudanças na maneira como as pessoas interagem, sejam pela invenção de uma nova tecnologia, sejam pela descoberta de novos recursos ou pressões pela falta deles.

A industria de Tecnologia da Informação não é diferente. Ao longo de sua existência, ela passou por uma série delas, notadamente a criação do Mainframe, onde na década de 50 iniciou-se a computação comercial, a criação e disseminação dos PCs na década de 80 que estabeleceu a computação distribuída ou client-server e o advento da Internet na década de 90, que gerou o que chamamos da Era da Informação ou Era Digital, fazendo com que os indivíduos do nosso planeta pudessem acessar e compartilhar os mais variados tipo de informação.

Estamos novamente presenciando uma outra grande mudança na industria da Tecnologia da Informação. Agora relacionada com a gerência para a entrega e o consumo de serviços de tecnologia, conhecida como Computação em Nuvem. Essa transformação terá um impacto muito grande não só para a industria de Informação, mas tambem para a sociedade em geral, fazendo com que os recursos sejam rapidamente otimizados, provisonados e acessados e desta forma acelerem não só o desenvolvimento intelectual, mas tragam benefícios ambientais e tambem diminuam as desigualdades que existem entre as diversas geografias.

Como cada transformação que ocorre traz junto uma serie de questões e duvidas sobre quais reflexos ela vai ter, existem indivíduos que se propõe a nos ajudar para traduzir os impactos no nosso dia-a-dia. Em meus quase 30 anos de dedicação a Tecnologia da Informação, não conheço alguém melhor que o Cezar Taurion para fazer esse papel. A maneira como ele aborda um assunto e consegue fazer o paralelo entre o nosso conhecimento atual e o novo conceito é notável. Acompanho a trajetória de Cezar desde a década de 80 e a cada interação me surpreendo com a vastidão do seu conhecimento e principalmente sua capacidade de assimilar e demonstrar novos conceitos de maneira didática.

O que temos aqui é um material riquíssimo, de experiências e ponderações de Cezar ao longo dos últimos 2 anos, acompanhando o estabelecimento deste novo modelo computacional e analisando os reflexos que isso esta gerando para as empresas.Convido você a participar junto com o Cezar, desta experiência maravilhosa, em desvendar o próximo marco na História da Computação.

Jose Luis SpagnuoloDirector, Cloud Computing BrazilIBM Distinguished Engineer

Outubro 2011

2

Page 3: Computacao Em Nuvem Cezar

Introdução

Em outubro de 2009 publiquei um livro sobre Cloud Computing.

O assunto vinha e vem despertando muito interesse, como vocês mesmo podem comprovar simplesmente acessando o Google Insights (http://www.google.com/insights/search/# ) e pesquisando pelo termo “Cloud Computing”. Vejam que o interesse vem crescendo de 2009 até hoje. Uma pesquisa feita em fins de 2010 pela comunidade MydeveloperWorks, entre 2.000 desenvolvedores mostrou que 91% deles acreditam que cloud computing sobrepujará o tradicional modelo de “on-premise computing” como principal modelo computacional para as empresas adquirirem tecnologias por volta de 2015.

No livro de 2009 procurei mostrar que a computação em nuvem não é apenas hype. Na minha opinião, a computação em nuvem vai transformar o modelo econômico da TI, tanto do lado consumidor de TI, quanto do lado dos fornecedores de tecnologias e serviços. Claro que estamos dando os primeiros passos e vemos ainda muita incertezas e indefinições. Basta ver o imenso número de definições, às vezes conflitantes entre si, que existem. Na pesquisa para o livro identifiquei dezenas delas!

No livro procurei fugir de definições e me concentrei em focar nos conceitos e nas carateristicas que fazem a computação em nuvem ser disruptiva. Se olharmos as nuvens pelos modelos de serviços vemos três modelos que são IaaS (Infrastructure as a Service), PaaS (Platform as a Service) e SaaS (Software as a Serice). Esta classificação de modelos é a mais comumente adotada, e inclusive, o NIST (US National Institute of Standards and

3

Page 4: Computacao Em Nuvem Cezar

Technology), que define padrões para o governo americano, liberou documentação onde se baseia nestes modelos para classificar as nuvens computacionais. Vejam o documento em http://csrc.nist.gov/publications/drafts/800-145/Draft-SP-800-145_cloud-definition.pdf .

Olhando pelo prisma da entrega ou deployment (deployment models) podemos classificar as nuvens em privadas (operada dentro do firewall da empresa), comunitária (compartilhada por determinadas empresas), públicas (abertas a todos, via Internet) e híbridas, que é a composição de duas ou mais destas nuvens. Esta classificação é a mesma, que basicamente adotei no livro.

A proposta deste blogbook é coletar os pricnipais posts que publiquei no blog www.computingonclouds.wordpress.com , que criei na época de lançamento do livro. Esta coletânea que vai mostrar a evolução do conceito ao longo destes dois anos. E dois anos em tempos de Internet é muito tempo! O blogbook se propõe a compartilhar com vocês as idéias e comentários que refeletiram a evolução de cloud computing e colaborar para o debate de como e quando adotar a Computação em Nuvem nas empresas. Nem todos os posts publicados originalmente no blog foram incluidos neste blogbook, mas apenas os mais importantes. Para oferecer uma visão cronológica e histórica da rapida e contínua evolução do Cloud Computing, os posts foram divididos em blocos, cada um deles cobrindo um ano, de setembro de 2009 até outubro de 2011. Procurei manter estes posts, na medida do possivel iguais aos publicados originalmente. Corrigi alguns crassos erros ortográficos, que passaram em branco quando foram inicialmente levantados.

Lembro também que as opiniões expressas neste blogbook e como foram os posts publicados no blog original, www.computingonclouds.wordpress.com, são fruto de estudos, análises e experiências pessoais, não devendo em absoluto serem consideradas como opiniões, visões e idéias de meu empregador, a IBM, nem de seus funcionários. Em nenhum momento, no blog e aqui, falo em nome da IBM, mas apenas e exclusivamente em meu nome.

Finlamente tenho que agradecer aos diversos colegas e amigos que me incentivaram a criar o blogbook e em especial ao Brunno Campos que se aventurou e criou uma capa muito bonita.

4

Page 5: Computacao Em Nuvem Cezar

2009

Em 2009 a Computação em Nuvem era vista como curiosidade. Muita gente falava mas pouca ação estava realmente acontecendo. Foi um ano em que participei de inúmeros eventos e as dúvidas eram sempre as mesmas: segurança, segurança, segurança e no final se Cloud era viável ou apenas hype...os posts do ano refletem este momento, que podemos considerar como a infância, quando aprendíamos ainda a dar os primeiros passos. Mas ainda engatinhavamos na maior parte do tempo...

Algumas dúvidas comuns sobre Computação em Nuvem

Setembro 1, 2009

Desde o ano passado venho apresentando e debatendo o assunto Cloud Computing ou Computação em Nuvem, tanto em eventos como em reuniões e conversas com clientes. Aliás, está ficando dificil participar de qualquer conversa sobre TI sem que este tema não apareça.

Mas, ainda sinto que o desconhecimento é grande. Muita curiosidade, mas pouca ação. Bem, nestas conversas coletei um questionamento sempre recorrente, que vou compartilhar com vocês aqui no blog.

Uma pergunta é “O que posso colocar (operar) em um nuvem?”. Na prática um ambiente de nuvem não vai resolver todos os problemas de TI de uma empresa. Vão existir aplicações que irão funcionar muito bem em nuvens e outras que não. Um exemplo típico de aplicações que podem ser deslocadas para nuvens são aplicações Web 2.0, ambientes de colaboração (como emails, webconferencing, wikis e blogs), e-learning, simulações, sistemas de computação analíticas e ambientes de desenvolvimento e teste. Além disso, uma nuvem pode ser usada para as aplicações que demandem os chamados “cloud burstings”, que são ocasiões especáficas nas quais a demanda computacional cresce muito. Um exemplo: uma aplicação de comércio eletrônico que ofereça promoções “imperdíveis” por curtos periodos de tempo.

Outras, principalmente as que demandam um nível de integração grande com sistemas legados ou que tenham limites rigidos de desempenho ficarão melhor nos servidores operados de forma tradicional.

Entretanto, quando falamos em nuvem não estamos falando apenas de nuvens públicas, mas também de nuvens privadas ou internas ao firewall da empresa. Uma nuvem interna é, portanto, uma nuvem computacional confinada ao data center da companhia. Algumas aplicações podem ficar em nuvens publicas como mashups que fazem uso intenso de plataformas externas como Facebook. Mas, outras, que demandam maior necessidade de controle e estrita aderência à restrições regulatórias ou de compliance devem ficar dentro do firewal, em nuvens privadas.

5

Page 6: Computacao Em Nuvem Cezar

Quando se usa uma nuvem pública, transferimos a responsabilidade da operação para o provedor da nuvem. Para empresas de pequeno porte, com procedimentos de segurança e recuperação frágeis (o que é bastante comum), pode ser uma alternativa bastante atraente. Mas, para empresas de maior porte, com regras e procedimentos de controle, o uso de nuvens publicas é mais restrito. Para estas empresas, o uso de nuvens privadas ou hibridas, em que apenas parte dos serviços está em nuvens publicas é a estratégia mais adequada.

Aliás, a questão da segurança e privacidade sempre aparece nas conversas sobre cloud computing. Usar uma nuvem publica ou externa é bem diferente de se usar um serviço de hosting tradicional. Neste último você sabe exatamente onde estão seus servidores e o que você compartilha e o que você não compartilha com outras empresas. Em uma nuvem externa isso não acontece. Voce não sabe em que data center do provedor e muito menos em que servidores, seus arquivos e aplicações vão rodar. Nem mesmo se eles se encontram no seu próprio país. Outra dúvida é quanto a atividade de auditoria. Auditores começam a questionar como auditar aplicações e serviços em nuvens públicas. Alguns provedores de nuvens públicas não gostarão de abrir seus procedimentos operacionais, considerados “segredos de estado” para auditores externos ou investigações forenses.

Outro aspecto importante que deve ser considerado: a capacidade do provedor de nuvem em oferecer serviços adequados em termos de segurança e privacidade. Como o assunto Computação em Nuvem ainda é novidade, nada impede que muitos provedores de serviços de hosting se auto-rotulem provedores de nuvens. Cabe aos usuários ter certeza que ele podem ser confiáveis, questionando e analisando as suas técnicas de proteção de dados, procedimentos de controle e autenticação, segregação de dados entre os usuários, e se possuem documentação adequada para os processos de auditoria.

Compliance é outro fator a ser considerado na questão de se usar nuvens públicas ou privadas. Algumas restrições regulatórias e jurídicas podem impedir uma empresa de usar nuvens publicas para determinadas aplicações ou serviços. E os aspectos legais dos contratos com as nuvens publicas devem ser bem avaliados. Por exemplo, o que acontecerá caso voce não continue usar determinado provedor? Em quanto tempo ele vai disponibilizar os dados de sua empresa para voce rodar em outra provedor e se existem garantias que as cópias armazenadas nos seus data centers serão destruídas. Como vemos, muitas vezes torna-se necessário que o jurídico deve ser envolvido.

Enfim, estamos dando os primeiros passos em direção a um ambiente de computação en nuvem. E temos ainda muita estrada pela frente.

6

Page 7: Computacao Em Nuvem Cezar

Bate papo sobre Cloud Computing

Setembro 4, 2009

Bate papo animado sobre cloud computing… Aliás, hoje quase não vemos conversas entre profissionais de TI que não envolvam o assunto cloud computing.

O que saiu de bom da conversa? Alguns insights interessantes! O primeiro insight, óbvio, é que cloud computing ou computação em nuvem, é um estilo de computação. Um novo paradigma computacional, como antes foram o modelo centralizado e o cliente-servidor. É também um novo modelo econômico de TI.

Depois, rascunhamos nos guardanapos alguns atributos ou características que expressam o que é cloud computing.

São eles:

a) Recursos de TI ofertados como serviços. O usuário se abstrai das questões mundanas das platformas tecnológicas. A infraestrutura na retaguarda não precisa e nem deve ser conhecida pelos usuários.

b) Elasticidade. Um atributo quente, melhor até que escalabilidade, pois este último nos remete a um crescimento eterno. Elasticidade é a própria essência da computação on demand. Elasticidade significa que os serviços podem adicionar ou remover recursos, de forma automática, à medida do necessário.

c) Compartilhamento de recursos. Os serviços compartilham recursos para obter economias de escala. A infraestrutura é compartilhada pelos usuários, sem que estes precisem saber disso.

d) Pagamento por uso. Os usuários pagam apenas pelo que usarem da nuvem. Similar à energia elétrica, só que em vez de Kw/hora, o usuário paga por ciclo de CPU, bytes transferidos, etc…

e) Uso da Internet como meio de comunicação entre o usuário e a nuvem.

Claro que existem variações sobre o tema, como por exemplo, a classificação em modelos de serviços, como nuvens públicas e nuvens privadas. Uma nuvem privada fica dentro do firewall e tem algumas características próprias, como restringir acesso apenas aos usuários (e parceiros de negócio) da empresa, e esta tem o controle dos niveis de serviço, aderência a regras e procedimentos de segurança. Claro que uma nuvem privada tem elasticidade mais restrita, pois fica sujeita ao parque tecnológico da empresa. E também existe a opção de nuvem híbrida, que permite expandir para determinadas situações e serviços a nuvem privada para acessar uma nuvem publica, expandindo assim a escalabilidade.

7

Page 8: Computacao Em Nuvem Cezar

De maneira geral, uma nuvem privada é criada quando é necessário ter controle explícito da disponibilidade da aplicação (não ficar dependente da Internet), niveis mais rigorosos de segurança e privacidade (compliance com exigências regulatórias) e performance (não pode ter o inevitáveis delays de acesso via Internet).

Bem, lá se vai outro guardanapo: uma lista de tipos de aplicações adequadas para nuvens públicas. São ambientes de desenvolvimento, teste e pré-produção de sistemas, email e demais ferramentas de colaboração, aplicações batch sem maiores restrições de segurança, aplicações isoladas onde latências não impactam os usuários, backup/restore as a service, anti-spam as a service, e assim por diante. Por outro lado, aplicações com dados altamente sensíveis à regras de segurança e privacidade, ou que sejam sujeitas à regulamentos como Sarbanes-Oxley ainda estão fora das nuvens públicas.

Comentário final: acessem o texto do New York Times (IBM to help clients fight cost and complexity) em http://www.nytimes.com/2009/06/15/technology/business-computing/15blue.html , que aborda a entrada da IBM em cloud computing. O artigo lembra de como a IBM transformou o Linux de sistema de nicho a sistema usado amplamente pelas empresas, como antes já tinha tornado o PC também ferramenta empresarial, saindo do uso exclusivo do mercado de usuários finais. Tem um comentário interessante de Frank Gens, analista chefe do IDC que disse o seguinte sobre a estratégia da IBM em cloud: “Its strategy is all about making cloud computiung safe for enterprise customers”.

8

Page 9: Computacao Em Nuvem Cezar

Cloud Computing no IBM Forum 2009

Setembro 8, 2009

Em 2 e 3 de setembro aconteceu o IBM Forum 2009. Foram dois dias de densas atividades e um tema quente foi, indiscutivelmente Cloud Computing. Ministrei uma palestra, com mais de 160 pessoas presentes, o que demonstra o grande interesse pelo assunto.

Uma das coisas boas de qualquer grande evento são as conversas de corredor, as trocas de idéias e opiniões. No IBM Forum não foi diferente. Mantive várias conversas sobre o tema. E vou compartilhar com vocês um resumo destas trocas de idéias.

Interessante que computação em nuvem é visto por ângulos bem diversos. Para uns é a panacéia que vai resolver todos os problemas de TI. Esta corrente é incrementada pela mídia popular, onde o assunto já foi inclusive capa de revistas semanais como a Veja. Do outro extremo, vemos os céticos, que dizem que nada de novo vem com a computação em nuvem e que ela é apenas uma nova faceta dos velhos birôs de serviços dos anos 60 e 70.

Na minha opinião não é a panacéia universal, e muito menos os birôs maquiados. Na minha opinião, a computação em nuvem vai transformar o modelo econômico da TI, tanto do lado consumidor, quanto do lado dos fornecedores de tecnologias e serviços. Entretanto, devemos extirpar preconceitos e tentar entender o que será esta mudança. Primeiro, Cloud Computing não é uma inovação tecnológica, pois se baseia em diversas tecnologias já existentes, como SOA, virtualização e grid computing, mas é uma verdadeira disrupção na maneira de se gerenciar e entregar TI! Existe todo um novo ecossistema sendo construído em cima destes novos modelos. As relações entre provedores de tecnologias e serviços e seus clientes, bem como as relações dos fabricantes com seus distribuidores e VARs deverá mudar ao longo dos próximos anos, à medida que a computação em nuvem se dissemine.

Uma mudança significativa no modelo é a constatação que o modelo econômico atual, onde o consumidor de TI tem que dispender previamente elevados custos de capital (capex ou capital expenditure) começa a ser substituído por um modelo de opex (operational expenditure). Você pode, como já vemos acontecer na nuvem da Amazon, criar startups com capacidade computacional elástica, sem investir em ativos. Tem um case interessante de uma inovadora empresa para criação de vídeos, chamada Animoto (http://animoto.com/ que começou sua operação com 50 instâncias na Amazon. Ao lançarem o serviço também via Facebook o sucesso foi estrondoso. Em três dias tiverem que aumentar o numero de instâncias para 3.500! Podemos imaginar, no modelo atual, uma empresa precisando pular de 50 para 3500 servidores em apenas três dias? Existe possibilidade de você contactar um fornecedor, negociar e contratar estes servidores, instalá-los e os colocar em operação neste curto espaço de tempo? Não é um novo paradigma?

9

Page 10: Computacao Em Nuvem Cezar

Na computação em nuvem não precisamos mais discutir GHz de processadores, porque não me interessa mais saber onde meus aplicativos vão rodar. A escolha da plataforma de execução vai se deslocar de caraterísticas técnicas para variáveis como custo, nivel de segurança, disponibilidade, confiabilidade e privacidade, e, importante, a brand do provedor. E tudo isso feito por self-service, através de um portal. Eu posso provisionar e operar um servidor na Amazon sem falar absolutamente com ninguém e pagar o que consumi de recursos computacionais com meu cartão de crédito.

Sintomático deste quadro foi a interessante conversa com um CIO que me disse que começava a ficar assustado com cloud computing, pois poderia ser “bypassado” pelos usuários. Estes poderiam reservar uma máquina virtual na Amazon e contratar algum desenvolvedor externo para criar uma aplicação, usando softwares open source, sem mesmo pagar licenças de uso. Sim, é verdade. A “desintermediação” da área de TI pode ocorrer, desde, e enfatizei a ele, desde que o CIO se abstenha de entender a computação em nuvem. Por outro lado, se ele desenhar uma estratégia de cloud computing, com um road map adequado, ele não irá mais manter o controle absoluto e centralizado dos recursos computacionais como faz hoje, mas vai assumir um novo papel, o de coordenar e orquestrar estes recursos, sejam eles obtidos de nuvens públicas ou de nuvens privadas.

Falando em nuvens privadas, a idéia é que a empresa crie uma infraestrutura dinâmica, com os usuáros internos alocando seus recursos computacionais da mesma forma que os provisionariam em uma nuvem pública, através de portais. Não precisariam mais solicitar servidores e esperar anuência dos administradores de sistemas. TI passa a ser um fornecedor de serviços, que seriam alocados de acordo com um “manual de políticas de uso de serviços computacionais”. Bem diferente do que vemos hoje!

Outro aspecto que discuti em algumas conversas foi por onde cloud computing vai começar a se disseminar nas empreas. É bem provavel que em muitas o movimento começará pelos usuários, que usando nuvens computacionais públicas ou contratando aplicativos pelo modelo SaaS forçarão a área de TI a aceitar o modelo de computação em nuvem…

Um questionamento que me chamou a atenção foi de um amigo meu que perguntou por onde e como começar a usar cloud computing. Na minha opinião as melhores chances de sucesso de introduzir novos paradigmas é não começar batendo de frente com as práticas arriagadas. Começar pelos ambiente de desenvolvimento e testes, ou mesmo por novos serviços como aplicações colaborativas (wikis e blogs) é um caminho que não substitui sistemas tradicionais e diminui-se drasticamente o risco de encontrarmos resistências, sejam culturais ou das politicas e hábitos já entranhados na organização.

E vejam bem…foram apenas dois dias de debates e conversas. Imginem o que não teremos pelos próximos meses!

10

Page 11: Computacao Em Nuvem Cezar

Discutindo segurança em Cloud Computing

Setembro 11, 2009

Indiscutivelmente que a computação em nuvem veio para ficar. Seus apelos (elasticidade dos recursos, que são pagos pelo modelo “pay-as-you-go” e facilidade de acessar serviços de dados e aplicações de qualquer dispositivo e de qualquer lugar) são bastante atrativos. Entretanto, nos traz novos desafios em termos de segurança, privacidade e resiliência. Um provedor de nuvem pública, por questões estratégicas, não abre sua tecnologia, organização e processos. Alguém sabe como funciona em detalhes a nuvem do Google ou da Amazon? Além disso, por concentrarem milhares de clientes e seus valiosos dados, tendem a atrair os indesejáveis crackers.

Só para lembrar, uma nuvem pública é uma nuvem computacional oferecida por provedor externo, que provê recursos acessados via Internet. Como todo processo de outsourcing (computação em nuvens públicas é também um modelo de outsourcing), embora coloquemos nas mãos do provedor a responsabilidade pela segurança dos nossos dados, ainda somos os responsáveis pelo cumprimento das normas de auditoria e aderência as normas regulatórias. Assim questões práticas como por exemplo garantia de privacidade de informações pessoais, períodos de retenção de dados históricos para propósitos legais, possibilidade de revisão de processos pelas áreas de auditoria e investigações forenses em sistemas devem estar claramente definidas nas contratações externas de computação em nuvem.

Em muitas situações, principalmente quando falamos em empresas de pequeno e médio porte, com restrições orçamentárias e carência de skills especializados, é bem provável que o provedor ofereça um nível de segurança e resiliência muito superior ao do data center interno. Mas, nenhum sistema é 100% seguro. Devemos estar atentos quanto à qualidade dos serviços em nuvem oferecidos pelo provedor. Uma nuvem computacional, embora seja um conceito, é criada em cima de estruturas físicas como data centers e seus servidores. A qualidade desta infraestrutura e dos processos do provedor é que desenharão o nivel de segurança, disponibilidade e resiliência da nuvem contratada.

Muitos dos provedores de nuvens públicas enfrentam, vez ou outra, problemas de disponibilidade. O Google AppEngine por exemplo, como podemos ver em http://www.datacenterknowledge.com/archives/2009/07/02/google-app-engine-hit-by-outage/ já teve problemas de desempenho. O mesmo já aconteceu com a Amazon, em seu serviço EC2 (http://www.datacenterknowledge.com/archives/2009/06/11/lightning-strike-triggers-amazon-ec2-outage/).

A possibilidade de acesso indevido é real. Recentemente o blog TechCrunch postou um texto abordando a violação das bases de dados do Twitter por um hacker. No post, que pode ser acessado em http://www.techcrunch.com/2009/07/19/the-anatomy-of-the-twitter-attack/ é descrito em detalhes como foi feito o ataque, a partir de entrevista com o próprio hacker.

11

Page 12: Computacao Em Nuvem Cezar

Incrível que o hacker não usou nada sofisticado. Mostrou que com paciência e um pouco de conhecimento de comportamento social consegue-se descobrir muita coisa. O que ele fez? Primeiro usando motores de busca como o Google e acesso a redes sociais, criou um banco de dados sobre a empresa alvo (no caso a Twitter) pesquisando informações públicas disponiveis na Web. Neste banco de dados coletou informações sobre os funcionários, endereços de email, funções na empresa e dados diversos como datas de nascimento e nomes dos animais de estimação.

O passo seguinte seria obter um ponto de entrada no Twitter. Sabia que se conseguisse entrar no email de um funcionário, teria, a partir daí, acesso aos demais. O Twitter usa Gmail como seu sistema de correio eletrônico. Conseguiu a conta Gmail de um funcionário, embora sem senha. Mas como muitos sistemas, o Gmail busca ajudar o usuário que perdeu a senha enviando uma nova para um email alternativo. Assim o fêz e este email era o Hotmail. No Hotmail ele descobriu que o userid já estava desativado, mas que ele poderia recriá-lo com mesmo ID. Ele registrou novamente o ID (era o mesmo ID do Gmail, hábito que nós geralmente adotamos) e pode receber então o email do Gmail com nova senha. Entrou no Gmail do funcionário e pesquisou algum serviço que ele houvesse contratado e que tivesse enviado a senha em texto aberto. Muitos sistemas fazem isso: enviam a senha em texto aberto para o usuário da conta. Ele precisava retornar a senha original do Gmail para que o seu dono não soubesse que sua conta havia sido invadida, o que aconteceria quando o dono da conta fizesse login no Gmail! Achou alguns serviços e como geralmente usamos a mesma senha para todos os serviços online que assinamos (contas de email alternadas, Amazon, newsletters, etc) ele conseguiu restaurar senha original do Gmail. Estava dentro da rede do Twitter.

Com acesso a este email, ele conseguiu fazer downloads de dezenas de arquivos e usando a mesma senha acessou o Google Apps, ferramental de escritório usado pelo Twitter, conseguindo outras valiosas informações.

Lições aprendidas? Novas tecnologias nos trazem muitos benefícios, mas não devemos desprezar as questões de segurança. Computação em nuvem é uma mudança no modelo computacional, mas o uso de nuvens públicas deve ser visto com atenção. Não que as nuvens públicas sejam inerentemente inseguras, geralmente não o são, mas nossos hábitos muitas vezes facilitam os acessos indevidos. Uma alternativa? Usarmos nuvens privadas (nuvens computacionais internas ao “firewall”, quando podemos ter controle das normas e procedimentos de segurança) ou mesmo usarmos nuvens híbridas, onde temos nuvens privadas para aplicações e dados críticos, mas também usamos alguns serviços providos por nuvens externas.

12

Page 13: Computacao Em Nuvem Cezar

Cloud Computing no CIAB

Setembro 13, 2009

Participei algumas semanas atrás de um painel sobre Cloud Computing ou Computação em Nuvem no CIAB. E um dos itens que foram abordados no debate foi “por onde começar minha caminhada em direção à Computação em Nuvem?”.

Bem, de maneira geral, quando se fala em Computação em Nuvem lembramos logo das nuvens públicas como a do Google ou a oferecida pela Amazon, a EC2 (Elastic Compute Cloud).

Mas, com as atuais soluções de virtualização e algumas tecnologias de software como o Tivoli Service Automation Manager da IBM (http://www-01.ibm.com/software/tivoli/products/tsam-facts.html) é perfeitamente possivel construir um ambiente de Computação em Nuvem dentro do data center de uma empresa. Claro que ainda existem peças faltantes no jogo, mas com a tecnologia disponivel já dá para começar a fazer muita coisa interessante.

Inclusive existe, desde que sua empresa tenha tempo e expertise suficiente, tecnologia Open Source para construir uma nuvem privada. É o projeto Eucalyptus, que simula o ambiente EC2 da Amazon. Começou como um projeto criado para fins acadêmicos e agora é uma empresa à parte (http://www.eucalyptus.com/), que além de ser um distribuidor para o software, busca gerar receita para serviços de implementação da nuvem. Mas, como a empresa começou agora e não tem ramificação no Brasil, caso você opte por usar o Eucalyptus, ainda vai assumir toda a responsabilidade por mantê-lo em seu data center.

Uma nuvem interna ou privada, operando dentro do firewall, entrega alguns dos beneficios das nuvens publicas, como melhor aproveitamento dos ativos computacionais e menor time-to-market para novas aplicações, ao mesmo tempo que mantém os processos e procedimentos internos de padrões, segurança, compliance e niveis de serviço.

Mas, por onde começar a jornada em direção à Computação em Nuvem? Uma sugestão é começar pela “nuvenização” do ambiente de desenvolvimento e teste.

Imagine os desenvolvedores tendo à sua disposição um ambiente de auto-serviço, onde através de um portal ele requisita uma determinada capacidade computacional e a obtém em minutos e não em dias ou semanas, sem precisar passar pela área de produção e operação. E sem a necessidade de esperar a compra e instalação de um novo servidor para testar novas aplicações…Aliás, estes ambientes geralmente recebem a menor prioridade da produção. O resultado será uma maior produtividade do desenvolvimento de sistemas.

13

Page 14: Computacao Em Nuvem Cezar

Para a produção, o ambiente de desenvolvimento e teste ocupa cerca de 20% dos recursos computacionais, mas dá 80% das dores de cabeça. Para ela, não ter mais que se ocupar desta questão é um grande ganho. Em resumo: os dois lados saem ganhando!

Como os ambientes de desenvolvimento e teste geralmente são isolados do ambiente de produção, são risk-free para o processo de aprendizado de criação e operação de uma nuvem interna.

A computação em nuvem chegou para ficar, assim, é melhor começar a aprender como criar e usar este modelo computacional. Taí um bom primeiro passo.

14

Page 15: Computacao Em Nuvem Cezar

Como cloud computing vai afetar as suites de escritório

Setembro 16, 2009

Um dias destes, em mais uma das minhas apresentações sobre Cloud Computing, surgiu uma pergunta bem interessante. Me foi indagado se eu achava se no futuro ainda haveria espaço para suites de escritório nos moldes tradiconais, a lá PC…

Bem, embora a suite Office tenha se tornado padrão de fato do ambiente de produtividade de escritórios, o surgimento de alternativas baseadas em cloud, como o Google Applications e o Zoho abre uma nova e viável alternativa em contraponto ao modelo tradicional de suites de escritório.

A principal mudança é a mudança de conceitos. O modelo tradicional de suites de escritório surgiu no contexto do computador pessoal, onde o trabalho era individualizado e as trocas de documentos efetuadas por email. Aliás, no início a troca de arquivos era por disquetes…lembram?

O PC era o centro do universo e as premissas de criação da suite de escritório eram que elas poderiam (e geralmente era o caso) funcionar de forma independente, em offline, sem necessidade de conexão à Internet. O modelo de computação pessoal não foi criado com colaboração em mente e portanto tarefas como sincronismo de versões de documentos nunca foram seu forte.

O modelo de cloud, por outro lado, está alinhado com a visão do trabalho colaborativo. Este modelo demanda uma intensa troca de idéias entre os envolvidos na criação e atualização dos documentos, o que não era enfatizado no modelo anterior. O compartilhamento dos documentos está no cerne de sua proposta.

Claro que uma comparação direta entre as ofertas de suites em cloud com o Office vai mostrar que o Office tem mais funções, embora a maioria delas seja dispensável para a imensa maioria dos seus usuários. As alternativas em cloud são, por sua vez, “good enough”, o que significa, na prática, que atendem a maior parte das necessidades de um usuário típico. O modelo em cloud também cria uma maior independência de equipamentos. O acesso ao documento pode ser feito por qualquer dispositivo, via browser. Ou seja, posso criá-lo no meu notebook e acessá-lo via um smartphone, um thin-client PC ou por qualquer outro notebook. O documento não reside no disco rígido do computador onde foi criado. E o documento acessado é sempre a ultima versão. Não exisem problemas de sincronismos e conciliação de versões, como no modelo de PCs.

As proposições de valor são diferentes. O modelo atual tem como proposta de valor sua riqueza funcional, que permite criar documentos sofisticadíssimos. Claro que existe um preço para isso! Entretanto, na minha opinião, esta riqueza funcional caracteriza fundamentalmente um excesso de capacidade, ou seja, extrapola a necessidade da maioria dos seus usuários.

15

Page 16: Computacao Em Nuvem Cezar

O modelo de suites em cloud (nuvem) oferecem uma proposta diferente, baseada em menos funcionalidades (pelo menos por enquanto…) e concentrada em colaboração e compartilhamento de documentos.

E voltando a pergunta inicial… Na minha opinião, ao longo dos próximos anos veremos a convivência de ambos o modelos, mas também assistiremos a um lento declínio do modelo tradicional de suites, ampliando-se o uso das alternativas em cloud.

16

Page 17: Computacao Em Nuvem Cezar

Alguém tem uma boa definição para Cloud Computing?

Setembro 18, 2009

Quando pesquisando para escrever o livro sobre Cloud Computing descobri que existem dezenas de definições diferentes. É um paradigma ainda em evolução e portanto nada mais natural que suas definições ainda não estejam bem claras. Aliás, na computação em nuvem, suas definições, atributos e características, bem como as suas tecnologias de sustentação ainda vão evoluir muito e se modificar com o tempo.

Já vivemos isso antes. Basta olhar para a Internet em 1999, dez anos atrás. Alguém imaginava que ela seria como hoje? Tivemos a fase de empolgação, o estouro da bolha, a descrença e agora vemos que ela é a base das comunicações do planeta. Mas, ninguém imagina mais um mundo sem a Internet.

Mas, voltando a Cloud Computing. Aliás, o termo em português que eu adoto é Computação em Nuvem, embora também vejamos outros termos como Computação nas Nuvens ou Computação na Nuvem…De qualquer maneira, é um ecossistema que compreende vários modelos de negócio, centenas de fonecedores e diferentes nichos de mercado. É um paradigma bem abrangente e muito mais amplo que simplesmente infraestrutura como serviços.

Querem um exemplo? Bem, como modelos de serviços, além de infraestrutura como serviços (IaaS), podemos ter também Platform-as-a-Service (PaaS) e Software-as-a-Service (SaaS). Além disso, se olharmos pelo prisma dos modelos de entrega, as nuvens podem ser públicas (as mais conhecidas, como a nuvem do Google ou Amazon), mas também privadas (operada por uma única empresa), comunitárias (compartilhadas por um conjunto de empresas) ou híbridas (um mix de nuvens públicas e privadas).

Indo mais além…Uma “cloud” ou “nuvem” é um conceito abstrato e portanto não se compra como um produto. É construída. E para construí-la precisamos de muito mais esforços em serviços que só adqurindo tecnologias. Como o ecossistema que envolve Cloud Computing é amplo, surgem diversos fornecedores com definições diferentes e muitas vezes discrepantes entre si. Rotular seus produtos e serviços como Cloud é hoje uma ação comum de marketing. Qualquer produto ou serviço hoje é “cloud”…Um simples hosting de servidores passa a ser chamado de oferta de Cloud Computing!

Enfim, hoje ainda temos muito mais interesse que ações ocorrendo no mundo da Computação em Nuvem. Mas, à medida que os conceitos forem se firmando, as tecnologias evoluindo e os casos de sucesso se disseminando, mais e mais veremos as ações se concretizando.

Adotar o conceito de nuvem é uma trilha a ser perecorrida passo a passo. É uma evolução gradual, não se acorda em “nuvem” de um dia para o outro. O primeiro passo?

17

Page 18: Computacao Em Nuvem Cezar

Entender os conceitos e separar o que é puro hype da realidade. Cloud Computing não é hype, tem substância.

Algumas dicas de papers sobre Cloud Computing

Setembro 23, 2009

Escrever um livro é um trabalho que demanda muita leitura e pesquisa. E, para escrever meu livro, sobre Cloud Computing, garimpando na Internet consegui encontrar textos muito bons.

Um paper que recomendo a todos interessados em estudar o assunto Computação em Nuvem é “Above the Clouds: a Berkeley View of Cloud Computing”, que pode ser acessado em http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.pdf .

O paper foi escrito por diversos pesquisadores da Universidade da California, Berkeley, e procura responder a varias questões como o que é Computação em Nuvem, por que surgiu e porque está se disseminando pelo mercado, quais as oportunidades de exploração deste conceito, quais os novos modelos de negócio que poderão advir do seu uso e assim por diante. Vale a pena ler.

Também recomendo ouvir uma série de palestras apresentadas no Workshop “Computing in the Cloud”, realizado na Princeton University. Vejam http://citp.princeton.edu/cloud-workshop/#panel1.

Enfim, o assunto Cloud Computing merece atenção. Jornais de negócios como o New York Times (http://www.nytimes.com/2007/10/08/technology/08cloud.html?_r=4&ref=technology&oref=slogin&oref=slogin&oref=slogin&oref=slogin), Wall Street Journal (http://online.wsj.com/public/article/SB119180611310551864-55slpWwDncT1vmG_6OJJdxxeF4E_20071107.html?mod=tff_main_tff_top) e Business Week (http://www.businessweek.com/print/magazine/content/07_52/b4064048925836.htm) também escreveram sobre o assunto.

O que concluímos? No mínimo devemos acompanhar com atenção a evolução do conceito e das tecnologias de Cloud Computing para não sermos surpreendidos com o CEO indagando “qual é mesmo nossa estratégia para Cloud Computing?”. E não termos resposta.

18

Page 19: Computacao Em Nuvem Cezar

Cloud computing e mainframes: tudo a ver!

Setembro 28, 2009

Um dia destes estive envolvido em um animado debate sobre Cloud Computing e mainframes. Um profissional de uma outra empresa alegou que com a computação em nuvem os mainframes não teriam mais espaço.

Minha opinião é totalmente contrária. E aqui estão meus argumentos…Na verdade quando se fala em nuvens computacionais, uma primeira percepção que vem à mente de muitos são os imensos data centers tipo Google, onde centenas de milhares de servidores de baixo custo, baseados em Intel, constituem a sua plataforma de hardware.

Mas, será que todas as empresas podem ter estes data centers? Para mim fica claro que não. Mesmo um grande banco não pode criar e manter diversos data centers com mais de 500.000 servidores distribuídos. Estes data centers corporativos atuam de forma diferente das nuvens públicas, pois precisam manter determinados processos e controles internos, sejam por questões regulatórias, sejam por obediência à normas de auditoria. Por outro lado precisam construir uma infra-estrutura dinâmica, baseada nos conceitos de cloud computing. São as nuvens privadas, que oferecem muitas das facilidades das nuvens computacionais publicas, mas que operam internamente ao firewall da empresa. São nuvens disponibilizadas e acessadas apenas internamente.

E em quais plataformas de hardware deveriam construir suas nuvens? As grandes corporações, como grandes bancos já usam mainframes. E porque não usá-los também como plataforma para suas nuvens? Vamos pensar um pouco sobre o assunto.

Os novos mainframes não apenas rodam aplicações legadas baseadas em Cobol, mas processam com eficiência programas Java e sistemas Linux. Um exemplo prático são as facilidades CMMA (collaborative memory management assist) e DCSS (discontinuous shared segments). O CMMA expande a coordenação da paginação entre o Linux e o z/VM ao nível das páginas individuais, otimizando o uso da memória. Com o DCSS, porções da memória podem ser compartilhadas por várias máquinas virtuais. Desta forma, programas que sejam usados por muitos ou todas máquinas virtuais Linux podem ser colocadas em DCSS, de modo que todas compartilhem as mesmas páginas. Outra questão interessante que afeta as nuvens construídas em servidores distribuídos é a latência que ocorre quando os programas estão em máquinas distantes umas das outras. Em um único mainframe podemos ter milhares de servidores virtuais, conectados por comunicação memória a memória, eliminando este problema.

Ok, e tenho outros argumentos? Sim…vamos lá. Os mainframes incorporam naturalmente muitos dos atributos que são necessários a uma nuvem, como capacidade escalonável, elasticidade (você pode criar e desligar máquinas virtuais sem necessidade de adquirir hadware), resiliência e segurança. E sem falar em virtualização, que faz parte dos mainframes desde 1967!

19

Page 20: Computacao Em Nuvem Cezar

A gestão automática de recursos já está incorporada há muito nos softwares do mainframe. Aliás, o System z Integrated Systems Management Firmware gerencia de forma integrada recursos, workloads, disponibilidade, imagens virtuais e consumo de energia entre diversos mainframes.

Vamos olhar agora a distribuição de carga. Um mainframe consegue processar muitos mais servidores virtuais por metro quadrado que em um ambiente de servidores Intel. Em média o espaço ocupado por um mainframe para uma nuvem de milhares de servidores pode ser 1/25 do que seria necessário com servidores Intel. Alem disso, por cada processador de mainframes conseguimos colocar, dependendo da carga, dezenas de servidores virtuais. Outra consequencia é que o consumo de energia pode ficar em torno de 1/20 do que seria consumido pelos milhares de servidores fisicos.

Um exemplo prático: a nuvem criada pelo Marist College nos EUA, que em um mainframe de quatro processadores opera mais de 600 máquinas virtuais.

No aspecto econômico, o zEconomics, ou economia do mainframe (System z) pode apresentar um custo de propriedade extremamente vantajoso. As aplicações Java (que executam em um processador específico chamado zAAP) e os sistemas Linux (que rodam em processadores IFL) usam processadores que custam muito menos que os processadores tradicionais que rodam os sistemas z/Os e as aplicações legadas.

Um último argumento, como controles automaticos já estão inseridos no mainframe e porque existem muito menos elementos físicos para gerenciar, a demanda de profissionais de administração da nuvem pode se situar em torno de 1/5 do que seria necessário em sistemas distribuidos fisicamente.

Moral da história: cloud computing e mainframes, tudo a ver!

20

Page 21: Computacao Em Nuvem Cezar

Open Cloud Manifesto

Setembro 30, 2009

O assunto Cloud Computing ou Computação em Nuvem é extremamente fascinante. Na minha opinião o mundo da tecnologia está às portas de uma transformação profunda e no cerne desta transfomação está exatamente este conceito. Com o movimento em direção à Computação em Nuvem a Internet passa a ser o repositório de arquivos digitais e o usuário pode criar documentos, planilhas e apresentações sem precisar instalar nenhum software em sua máquina. A proposta da Computação em Nuvem é permitir que um mesmo arquivo possa ser acessado independentemente do equipamento, sejam estes PCs, notebooks, netbooks ou celulares, pois todos os arquivos estarão guardados em servidores na Web.

Porém, a Computação em Nuvem ainda tem muito que evoluir e amadurecer. As nuvens públicas ainda precisam oferecer mais garantias de segurança e disponibilidade. Além disso é problemático a falta de padrões de interoperabilidade. A tentação dos grandes fornecedores é criar sistemas fechados que na prática impedem seus clientes trocar de provedor de nuvem, dada a complexidade e os riscos envolvidos. A criação destes padrões abertos de interoperabilidade são, portanto, essenciais para o uso corporativo da Computação em Nuvem.

Até o momento, as ofertas mais conhecidas de nuvem, como o Amazon Web Services, Salesforce, o Google Docs são proprietárias. Isto significa que só podemos usar o Google Docs na nuvem do Google e não em nenhuma outra nuvem. Esta limitação à tecnologias proprietárias gera aprisionamento do usuário, restringindo sua liberdade de migrar de uma nuvem para outra.

Entretanto, recentemente começaram a surgir alguns movimentos em direção a um padrão aberto para interoperabilidade entre nuvens e foi, inclusive, criado um manifesto, chamado “OpenCloud Manifesto” (www.opencloudmanifesto.org) que se propõe a aglutinar empresas em torno da especificação de um padrão aberto para a Computação em Nuvem.

O manifesto estabelece um conjunto de princípios, denominados princípios para nuvens abertas, que asseguram que as organizações que usarem nuvens computacionais não ficarão restritas a padrões fechados, mas terão liberdade de escolha, flexibilidade e abertura para não ficarem aprisionadas a nenhuma nuvem. Embora a Computação em Nuvem traga claros benefícios, existe o potencial (como hoje acontece) de aprisionamento e perda de flexibilidade, caso padrões abertos não sejam adotados.

Diversas empresas já fazem parte deste manifesto, como a IBM, Sun Microsystems e EMC, mas algumas outras, como Microsoft, Google e Amazon não haviam acordado nenhum compromisso com esta proposta. Pena, pois padrões abertos são garantia de interoperabilidade entre nuvens.

21

Page 22: Computacao Em Nuvem Cezar

Cloud Computing e Open Source: pura sinergia!

outubro 1, 2009

Em uma das minhas várias palestras sobre computação em nuvem, me fizeram uma pergunta interessante, que gerou um bom debate e gostaria de compartilhar minha opinião pessoal sobre o assunto com vocês. A pergunta foi “com a crescente popularização do modelo SaaS (leia-se Cloud Computing) como fica Open Source?”.

Na minha opinião, o modelo SaaS já está saindo do “se” para “como”, impulsionado até pela crise de crédito, quando as empresas procuram trocar capex (capital expenses) por opex (operating expenses).

Na prática, SaaS e Open Source compartilham o mesmo modelo econômico, de baixo custo de capital e custos operacionais variáveis. Isto gera sinergia entre ambos os modelos e um impulsiona o outro. Os mesmos argumentos que atraem os usuarios para o Open Source são usados pelos provedores de softwares como serviços. Que argumentos são esses? Simplesmente não haver necessidade de aquisição prévia de licenças de uso antes de usar o software. No SaaS voce paga pelo que consumiu de recursos. No Open Source, o software também é visto como serviços e as receitas das empresas envolvidas neste setor são obtidas por serviços prestados, como por exemplo, empacotamento e distribuição de um conjunto de softwares, como uma distribuição Linux.

A computação em nuvem é um acelerador do Open Source. A combinação de uma infra-estrutura “pay-per-use” associado com uso de softwares abertos vai reduzir significativamente as necessidades de capital e os custos de desenvolvimento de aplicações, e acelerar o time to market. É um cenário que vai permitir às pequenas e médias empresas entrarem mais rapidamente no mundo da Tecnologia da Informação. Portanto, para mim, acho que Open Source e Cloud Computing vão criar um interrelacionamento e gerar sinergias, um impulsionando o outro. O resultado final será um outro modelo computacional, que vai mudar em muito o atual cenário da indústria de TI.

Após o debate, aproveitei para reler alguns pedaços do livro “A Cauda Longa” de Chris Anderson e comecei a pensar na relação deste conceito com a atual transformação da indústria de TI, com o crescente interesse pelo Open Source, SaaS e Cloud Computing.

O conceito de Cauda Longa propõe que determinados negócios podem obter uma parcela significativa de sua receita pela venda cumulativa de grande numero de itens, cada um dos quais vendidos em pequenas quantidades. Isto é possível porque a Internet abre oportunidades de acesso que antes não existiam. É um modelo diferente do mercado de massa, onde poucos artigos são vendidos em quantidades muito grandes. Na indústria de livros, música e de mídia faz todo o sentido. Por exemplo, a Amazon reporta que parcela

22

Page 23: Computacao Em Nuvem Cezar

signficativa de sua receita vem de produtos da Cauda Longa que não estão disponíveis (e jamais estariam) nas livrarias tradicionais, limitadas pelos caros espaços físicos das lojas.

E como Open Source, SaaS e Cloud Computing vão afetar a indústria de TI? Nestes modelos, o custo de capital é substituído por custos operacionais.

Softwares que tem seu projeto de desenvolvimento cerceado pelo pequeno tamanho do seu mercado potencial (seu custo de produção não gerava retorno financeiro suficiente) podem agora, se desenvolvidos em Open Source e operados em nuvens computacionais, entrar no mercado. Os custos de comercialização destes softwares também tendem a zero, pois não é necessário hordas de vendedores, mas simples downloads e marketing viral (blogs e outros meios de disseminação de informação). A receita dos desenvolvedores dos softwares Open Source será obtida pelo seu uso (pay-as-you-use), típico do modleo SaaS. A imensa maioria das empresas não vai investir tempo e dinheiro modificando código, a não ser quando absolutamente necessário. Aliás, situação raríssima.

Será muito mais pragmático e lucrativo para qualquer empresa pagar pelo uso de um sofware que esteja hospedado em uma nuvem computacional. Afinal, não queremos uma máquina de lavar e sim, a roupa lavada…

Temos, portanto, um vasto campo para explorar o mercado da Cauda Longa no software.

Então, isto tudo significa que o mercado de software tradicional, baseado em licenças vai morrer? Na minha opinião, não! Pelo menos no horizonte visível…Acredito que conviveremos em um contexto onde os modelos de vendas de licença e software como serviços vão compartilhar os palcos por algum tempo ainda…

23

Page 24: Computacao Em Nuvem Cezar

Segurança em Cloud Computing

outubro 5, 2009

Nesta terça feira estarei em Brasília, participando do painel “Computação em Nuvem: Desafios para a Segurança Cibernética”, no SicGov2009, evento organizado pelo Gabinete de Segurança Institucional da Presidência da República.

Segurança cibernética é um assunto muito interessante e desafiador. É um verdadeiro paradoxo da sociedade digital que a tecnologia da informação nos abre inúmeras oportunidades de melhorar a própria sociedade, ao mesmo tempo que pode se tornar uma ameaça à esta mesma sociedade. E Cloud Computing, conceito ainda bem recente, que para empresas e governos traz diversos benefícios, por outro lado abre novos desafios no tocante à segurança e privacidade.

Alguns dos questionamentos sobre Computação em Nuvem que mais ouvimos abordam a localização dos dados (onde os dados das nuvens distribuídos geograficamente são hospedados?), segurança (um data center que hospeda nuvens, pela concentração de empresas que compartilham a mesma infraestrutura, pode atrair ataques concentrados), recuperação de dados (os provedores de nuvens conseguem assegurar que os dados são replicados geograficamente e que em caso de perda de um data center, os dados podem ser recuperados?), arquivamento de dados (por quanto tempo os dados poderão ser armazenados para fins legais?), possibilidade de permitir auditagem externa a processos, possibilidade de investigações forenses diante de atos ilegais, e até mesmo os riscos de aprisionamento forçado por parte de nuvens proprietárias (quão fácil ou difícil é sair de uma nuvem e migrar para outra?).

Neste contexto observamos que grande parte destes questionamentos referem-se a nuvens públicas. Uma nuvem pública é uma caixa preta onde a eventual falta de transparência sobre a sua tecnologia, seus processos e organização podem tornar muito dificil a uma empresa avaliar com o grau de detalhamento necessário o nível de segurança e privacidade que o provedor é capaz de oferecer. Ou seja, os impulsionadores para adoção de nuvens são ao mesmo tempo os seus principais fatores de preocupação.

Quando se usa uma nuvem publica, transferimos a responsabilidade da operação da infraestrutura e aplicações para o provedor da nuvem. Mas, as responsabilidades legais continuam conosco. Para empresas de pequeno porte, com procedimentos de segurança e recuperação frágeis (o que é bastante comum), pode ser uma alternativa bastante atraente. Mas, para empresas de maior porte e órgãos de governo, com rígidas regras e procedimentos de controle, o uso de nuvens publicas será bem mais restrito. Para estas empresas, o uso de nuvens privadas geralmente é a estratégia mais adequada. E o que é uma nuvem privada? É uma nuvem que opera dentro do firewall da empresa, entregando alguns dos beneficios das nuvens publicas, como melhor aproveitamento dos ativos computacionais e menor time-to-market para novas aplicações, mas ao mesmo tempo que

24

Page 25: Computacao Em Nuvem Cezar

mantém os processos e procedimentos internos de padrões, segurança, compliance e niveis de serviço.

O uso dos modelos de Computação em Nuvem exige novos cuidados de governança, principalmente nos quesitos de segurança, privacidade e disponibilidade. Eventualmente novos processos deverão ser definidos, novos tipos de contratos deverão ser implementados e eventualmente novos tipos de relacionamentos com os provedores terão que ser construídos. E como estamos nos estágios iniciais de uso de Cloud Computing ainda teremos muito o que aprender!

25

Page 26: Computacao Em Nuvem Cezar

SicGov2009: bate papo animado!

outubro 7, 2009

Como em todos eventos, o SicGov2009 abriu boas oportunidades para conversas de corredor. Como o tema de minha apresentação foi Cloud Computing e as questões de segurança e privacidade, o intervalo para o café reuniu diversas pessoas em um animado bate papo…Da conversa extraí alguns insights que quero compartilhar com vocês:

a) Embora se fale muito nos riscos de segurança em nuvens, existem alguns aspectos positivos que merecem atenção. Um deles é que no modelo de computação em nuvem, o valor dos desktops e notebooks estará na nuvem e não em seus HDs. Ora, como as estatísticas apontam que 1/3 dos problemas de violação de segurança devem-se ao uso de informações obtidas em laptops roubados, o fato das informações estarem nas nuvens e não mais nos HDs é bastante positivo. Outros aspectos positivos (sob a ótica de segurança), decorrentes de uso de nuvens são que os upgrades de software que corrigem brechas de segurança são feitas automaticamente (no modelo atual uma grande parcela dos usuários não atualiza seus softwares adequadamente, deixando os bugs que permitem vulnerabilidades ainda ativos), e a uniformidade dos padrões de segurança, pois todos passam a ter os mesmos padrões, ao contrário do modelo atual, quando os usuários podem ter mais ou menos recursos de segurança ativos em seus PCs e laptops.

b) Também lembrou-se que muitos data centers de empresas de pequeno a médio porte não tem bons procedimentos de segurança implementados e que nuvens ofertadas por provedores de alto nivel possuem, não só procedimentos e recursos sofisticados e auditados, mas também um staff técnico com uma expertise acumulada que nenhuma empresa de pequeno porte teria.

c) Mas, claro que os desafios de adoção de nuvens, principalmente nuvens públicas são muito grandes. Por exemplo, citou-se questões ainda não resolvidas de segurança e privacidade como a problemática da jurisdição (quando os dados são processados e armazenados em nuvens, que extrapolam territórios nacionais, que leis de proteção e privacidade destes dados se aplicam?), uma vez que uma nuvem pode residir em data centers localizados em diferentes países, com legislações diferenciadas.

d) A segurança foi um tópico bem debatido. Afinal, embora os dados estejm nas nuvens, a responsabilidade final ainda é da empresa contratante. Algumas legislações como as da União Européia são enfáticas em apontar a empresa contratante como responsável.

e) Outro debate interessante ocorreu por conta das dificuldades de se proceder a investigações forenses quando não se tem controle de onde os programas são executados. A tecnologia das nuvens públicas é uma caixa preta e os programas e dados podem estar sendo processados em servidores espalhados pelo mundo todo.

26

Page 27: Computacao Em Nuvem Cezar

Enfim, foi um debate bem animado e mostrou que ainda estamos começando a entender que “negócio de Computação em Nuvem é este”?

27

Page 28: Computacao Em Nuvem Cezar

Selecionando um provedor de Cloud

outubro 9, 2009

Após o evento SicGov2009 recebi diversos emails, sendo que um dos quais, me questionando como selecionar um provedor de cloud, gerou um texto que será interessante compartilhar aqui.

Selecionar um provedor de serviços computacionais externos como uma nuvem passa por alguns itens já conhecidos como a competência e reputação do provedor, acrescido de outros específicos como:

a) Custos de troca do provedor. Sim, as nuvens públicas ainda são proprietárias e nem sempre será fácil migrar de uma nuvem para outra, embora os custos possam variar de acordo com o tipo de serviço contratado no modelo de cloud. Por exemplo, trocar um serviço de SaaS é muito mais complicado que trocar de fornecedor de storage-as-a-service.

b) Politica de preços. Uma das vantagens do modelo de cloud é pagar apenas pelos recursos utilizados. Assim é importante validar o nivel de transparência da politica de preços do provedor e sua aderência a este modelo.

c) Desempenho e disponibilidade da nuvem. Usar serviços computacionais em nuvem fazem com que o seu desempenho seja resultante de diversos fatores, alguns deles externos ao provedor. Um bom contrato de SLA, com penalidades para situações de não cumprimento das cláusulas contratuais é sempre bem vindo!

d) Transparência da cadeia de valor da nuvem. Um provedor de SaaS pode estar usando ele mesmo uma nuvem de terceiro para sua infraestrutura como base computacional para sua oferta. Saber disso e ter uma avaliação da qualidade deste subcontratante é importante para validar o seu provedor do SaaS.

Um item que mereceu atenção especial foi a questão da segurança. Como avalair segurança do provedor de nuvem? Bem, existem diversos itens que devem ser analisados. Vamos por exemplo considerar uma nuvem no qual usaremos serviços de infraestrutura (como as ofertadas pela Amazon). O que devemos analisar antes de fechar contrato?

a) O provedor tem certificações externas de segurança e governança?

b) Quais os recursos e procedimentos de segurança física? Lembre-se que um provedor de cloud concentra muitas empresas clientes e portanto é um alvo e tanto para hackers.

c) Segurança dos servidores virtuais. Neste caso avalie a segurança do sistema host bem como dos sistemas operacionais guest. Na Amazon, os sistemas guests são controlados pelos clientes e portanto devem implementar eles mesmos os procedimentos

28

Page 29: Computacao Em Nuvem Cezar

de segurança. Este modelo tenderá a ser usado por muitos provedores de nuvens de IaaS (infrastructure-as-a-Service) públicas.

d) Segurança da rede e dos firewalls. Por exemplo, o provedor está protegido por mecanismos de mitigação de ataques DoS (Denial of service) ou impedimento de IP spoofing?

e) Backups. Quem é responsável por eles? Na Amazon o cliente é que é responsável pelos backups de seus servidores virtuais.

Estamos dando os primeiros passos na direção ao mundo da computação em nuvem, com seus grandes benefícios, mas também muitos desafios. Como os provedores de nuvens não são iguais e que seu nivel de maturidade é bem diferenciado, devemos definir critérios bem detalhados de avaliação. E ir em frente!

29

Page 30: Computacao Em Nuvem Cezar

O CFO e a Computação em Nuvem

outubro 13, 2009

Há algumas semanas debati o assunto Cloud Computing com executivos de uma multinacional do setor automotivo.

Preparando o material para a reunião, coletei diversas definições, algumas das quais valem a pena compartilhar aqui. Por exemplo, o Gartner Group define Cloud Computing como “a style of computing in which massively scalable IT-enabled capabilities are provided “as a service” to external customers over the Internet”. E vai mais, estimando seu impacto nos data centers: “Cloud Computing is a natural outcome of next-generation data centers. Infrastructure and operation organizations are striving toward service-orientation, a more variable pay-per-use chargeback model, and more virtualized and automated architecture”.

O Forrester tem definição parecida: “a pool of highly scalable, abstracted infrastructure, capable of hosting end-customer applications, that is billed by consumption”. Segundo o Forrester “Cloud Computing is a massive, abstracted and scalable infrastructure where the provider decides what components that infrastructure needs…not the user. In fact, users don’t have to worry about hardware or software at all. The operating system and applications are independent of one another and applications are dynamically allocated, scaled and moved within the infrastructure to optimize the performance of those applications. For the user, there are no long term commitments and you pay only for what you use”.

Pesquisando na Web achei um blog muito interessante sobre clouds, o de John Willis (www.johnmwillis.com/groundwork/cloud-vendors-a-to-z-revised/, que inclui uma lista de empresas que fornecem soluções de Cloud Computing. O blog tem posts muito legais e uma seção de podcasts sobre Cloud Computing que vale a pena ouvir.

Vale a pena também visitar o site da 3Tera (www.3tera.com), que é um bom e inovador exemplo de Cloud Computing. Esta empresa, aliás, foi apontada como a “Top company to watch in 2008” pela Linux Magazine.

Mas, voltando à nossa conversa com os executivos do cliente em Hortolândia, uma das perguntas que surgiram é se “a crise econômica não acelerou a adoção de Cloud Computing”? Bem, para chegar a uma resposta vesti a camisa de um CFO. Todo CFO fica vivamente interessado em soluções como Cloud Computing e seu modelo “pay-as-you-go” porque este modelo troca investimento em capital (capex ou capital expenditure) por opex (operating expense). O resultado é um cash flow muito melhor que no modelo tradicional, principalmente em tempos de crédito escasso. O CFO não precisa assinar nenhum cheque antes de poder dispor da capacidade computacional. Pelo contrário, ele assina os cheques à medida que consome os recursos computacionais. O risco financeiro também é bem menor, pois no modelo tradicional ele gasta antecipadamente o dinheiro

30

Page 31: Computacao Em Nuvem Cezar

em tecnologia sem saber se o resultado obtido será mesmo o esperado. No modelo Cloud Computing o risco financeiro é mensal (usa e paga) e ele pode acompanhar mais de perto como o dinheiro está sendo gasto. Enfim, do ponto de vista do CFO, Cloud Computing é o modelo dos seus sonhos…e a crise acelerou o interesse pelo modelo Cloud Computing.

Mas, é claro que não são apenas os aspectos financeiros que contam (embora sejam cada vez mais importantes…). Ponto positivo: o modelo Cloud Computing retira da empresa todo o trabalho e custo de administrar toda a parafernália tecnológica, que geralmente não é o seu “core business”. Por outro lado é um modelo ainda em suas fases iniciais de evolução. Existem ainda poucas experiências concretas e o mercado ainda está tentando entender melhor o conceito e as tecnologias embutidas nele.

Entretanto, quando vemos empresas como a IBM e outros grandes players da indústria adotando o modelo e implementando soluções, e analistas de indústria como o Gartner prevendo que “80% of Fortune 1000 companies will leverage some applications of cloud computing by 2012; 30% will use cloud infrastructures services”, no mínimo temos que prestar atenção no assunto.

31

Page 32: Computacao Em Nuvem Cezar

A longa estrada para SaaS

outubro 16, 2009

Outro dia tive uma animada conversa sobre SaaS com um CEO de uma empresa de software brasileira. Ele está pensando seriamente em adotar este modelo de negócios em sua empresa e queria trocar idéias sobre o assunto. Bem, o tema é quente, não existem verdades definitivas e acho que vale a pena compartilharmos o que debatemos aqui.

Para mim, SaaS implica em uma mudança fundamental na indústria de software e seus modelos de receita (e mesmo sobrevivência) e não é a toa que meu amigo está bem preocupado com o assunto. Pode ser um risco para empresas de software estabelecidas, mas também abre amplas oportunidades, pois usuários de menor porte podem usufruir de aplicações antes inacessiveis. SaaS permite implementar o conceito de cauda longa para a base de clientes. Abrem-se também oportunidades para novos entrantes, com modelos de negócio e estratégias de marketing diferentes dos modelos tradicionais.

Bom, vamos aos principais pontos da conversa. SaaS não é um produto por si, mas uma combinação de um produto (software) com um mecanismo de distribuição e receita. O ecossistema SaaS inclui os produtores dos softwares, os implementadores e os fornecedores das plataformas. Em alguns casos o provedor da platforma tecnológica é o mesmo do software, mas na minha opinião um bom desenvolvedor de software não necessariamente é um bom gestor de infraestrutura. São skills diferentes. Na minha opinião, é melhor que o ISV desenvolva uma boa parceria com quem sabe gerenciar de forma eficiente uma infraestrutura tecnológica que assumir para si esta tarefa. Foi minha primeira sugestão para ele. Deixe infraestrutura em nuvem com quem sabe e concentre-se no seu core business, que é desenvolver e entregar o aplicativo.

Outra sugestão foi de de alavancar parcerias com integradores e implementadores. Como o ciclo de vendas torna-se bem menor, existem mais oportunidades de negócio em menor espaço de tempo. Isto implica que mais integradores e implementadores serão necessários. Tentar fazer tudo em casa, com equipe própria pode resolver quando são poucas as implementações. Mas quando o seu número aumenta, é melhor ter um ecossistema disponível. Não esqueça que projetos SaaS, quando comparados com projetos de implementações de software tradicionais, tendem a ser em maior número, mas de menor porte. Bem, e a terceira sugestão foi de não esquecer de desenhar um modelo adequado de distribuição de receita entre todos os participantes do ecossistema.

Outro ponto a considerar. Não é necessário ser tudo ou nada. A empresa pode ofertar software no modelo tradicional, por licença, como também pelo modelo SaaS e/ou mesmo como appliance, um meio termo, onde empacota e gerencia o software (como no SaaS), mas que este vai rodar em uma máquina dentro do firewall do cliente. Aqui entra uma parceria com um fornecedor de hardware.

32

Page 33: Computacao Em Nuvem Cezar

Outra sugestão: se for adotar diferentes modelos, não esqueça que a força de vendas deverá atuar de forma diferente. O SaaS é altamente transacional e muitas vezes pode ser acionado por telemarketing. Nem sempre os pontos de contato serão os profissionais de TI. Comprar software pelo modelo SaaS vai ser cada vez mais uma atividade conduzida pelos próprios usuários.

O modelo de remuneração dos vendedores é diferente. Não existem (salvo rarissimas exceções) comissões monstruosas. Como a receita vem de “seats” (usuários) por mês, o mecanismo de comissionamento é diferente do modelo de vendas de licenças. Espelhe-se, por exemplo, no modelo de remuneração de assinaturas de revistas.

Entrar no mercado SaaS não é apenas disponibilizar o mesmo software de forma diferenciada. Pode ser necessário reescrever toda a aplicação para explorar de maneira adequada o ambiente Web, inclusive tornando o software o mais possível auto-gerenciável! Adotar o modelo SOA será um plus! Os ganhos em termos de flexibilidade e facilidade para incorporar novas funcionalidades vai aparecer rapidamente.

Sugestões adicionais: incentive uma maior participação dos usuários envolvendo-os em comunidades e obtendo idéias e sugestões para melhorias e inovações. Acelere o processo de inovação, pois ao contrário do modelo tradicional, não serão mais necessárias longas implementações para o usuário incorporar estas inovações. Elas podem entrar in-flight, com o sistema no ar.

Além disso existem alguns custos adicionais como recrutar e treinar uma nova rede de canais e parcerias, e uma nova força de vendas.

Uma outra e importante sugestão: repense o business model. O cash flow é diferente e a retenção de clientes é mais dificil. A barreiras de saída são mais baixas. Termos e siglas como “churn rate”, ARPU e custo de aquisição de clientes, comuns no meio das operadoras de celulares, passam a fazer parte da terminologia dos ISVs envolvidos com SaaS.

O que retém um cliente SaaS? Funcionalidade, é claro, mas também agilidade, suporte, serviços adicionais, qualidade de atendimento, nivel de serviço…Enfim, imagine-se como uma empresa de serviços onde o software está escondido no serviço. Você deixa de ser um vendedor de software para ser um vendedor de serviços.

E uma recomendação final: estudar alguns cases de sucesso como salesforce.com, Intacct (que atua em sinergia com o salesforce), cujo site pode ser visitado em http://us.intacct.com/, Open-Xchange (http://www.open-xchange.com/), Projity (www.projity.com) e Zoho (http://www.zoho.com/). Recomendei também dar uma olhada no Etelos (www.etelos.com) e no OpSource (http://www.opsource.net/) que se propõem a serem plataformas paras ISVs disponibilizarem seus aplicativos no modelo SaaS. E, claro, desejei boa sorte a ele!

33

Page 34: Computacao Em Nuvem Cezar

Privacidade em Cloud Computing

outubro 19, 2009

Há poucas semanas levantei diversos posts abordando a questão da segurança em tempos de cloud computing. Hoje pretendo explorar outro assunto correlato que é a privacidade na computação em nuvem.

Indiscutivelmente que com o advento da Web 2.0 e todas as suas tecnologias como blogs, microblogs, wikis, etc, nossa pegada digital já está se espalhando em terabytes de informação por dezenas de sites diferentes. E cresce à cada novo serviço que usamos!

O advento do modelo de computação em nuvem vai acelerar esta tendência. Será cada vez mais fácil criar novos serviços, uma vez que a barreira da infraestrutura deixa de existir. Vejamos o exemplo do Twitter. Já temos novas alternativas como o Meme do Yahoo (//qdwch.tk) e o Woofer (//xd7iu.tk). O Meme vai além dos 140 caracteres do Twitter: permite compartilhamento de qualquer tipo de conteúdo multimídia, como texto, vídeo, áudio e fotos. O Woofer, por sua vez, vai no caminho inverso do Twitter: os textos devem ter no minimo 1400 caracteres. Neste ritmo em breve teremos outros lançamentos.

Com cloud computing não estamos mais limitados à capacidade física dos nossos PCs e notebooks: temos agora acesso ilimitado à capacidade computacional e armazenamento. Podemos guardar milhares e milhares de documentos e fotos e acessá-los, via Internet, de qualquer dispositivo, desde um notebook a um celular. Podemos usar qualquer software e criar novos aplicativos (as mashup applications) com alguns poucos cliques do mouse.E compartilhar tudo isso muito facilmente.

Mas, e a nossa privacidade? Vamos explorar um pouco mais este assunto. O grau de privacidade e segurança que queremos vai depender de nossa intenção em não compartilhar informações e com as regras, procedimentos e políticas adotadas pelos provedores de serviços Web 2.0 e de cloud computing que usamos. Dependendo do provedor da nuvem e seu tipo (pública ou privada, por exemplo) teremos maior ou menor grau de risco quanto à nossa privacidade.

Um exemplo que pode ser ou não preocupante: Quando uma informação é armazenada em uma nuvem, em última instância será armazenada em um servidor e um dispositivo de armazenamento residente em algum local físico, que pode ser em outro país, sujeito à legislações diferentes. Além disso, por razões técnicas esta informação poderá migrar de um servidor para outro servidor, ambos em países diferentes. Nada impede que a lei de um destes países permita o acesso à estas informações armazenadas, mesmo sem consentimento de seu “dono”. Por exemplo, a legislação antiterrorista ou de combate à pedofilía em diversos paises permite o acesso a informações pessoais, sem aviso prévio, em caso de evidências legais de atos criminosos.

34

Page 35: Computacao Em Nuvem Cezar

Outro ponto interessante é que usamos as nuvens públicas e seus serviços sem prestar atenção aos seus contratos de uso, isto é, quando existirem estes contratos. Para usuários finais, dificilmente vemos contratos de uso de serviços prestados por nuvens. E quando existem, são condições impostas pelos provedores, que podem se dar ao direito de mudar as cláusulas sem aviso. A privacidade pode deixar de existir se uma cláusula constar que a propriedade da informação armazenada na nuvem será do provedor. Neste caso, ele poderá usar e divulgar aquela belissima foto tirada por você em alguma ação de marketing sem aviso prévio.

A questão é que o conceito de computação em nuvem é recente e a legislação em vigor ainda mal entendeu a Internet. Ainda está no paradigma da época em que os PCs viviam isolados e no máximo se trocava disquetes. Apreender para investigação forense um PC cujo conteúdo estará nas nuvens será totalmente irrelevante. E como obter as informações de discos rígidos virtuais, espalhados por diversos provedores de nuvens?

Que será necessário fazer? Bem, de forma “arrogante” algumas poucas sugestões:

a) Desenvolver novas práticas e políticas de segurança e privacidade que contemplem o paradigma da computação em nuvem.

b) Rever a legislação que aborda privacidade e segurança eletrônica de modo que o modelo de nuvem seja considerado.

c) Ñós, usuários de nuvens públicas, devemos estar alertas quanto as consequencias de seu uso e dos termos dos seus contratos de serviço.

35

Page 36: Computacao Em Nuvem Cezar

SaaS redesenhando a indústria de software

outubro 22, 2009

Fim de semana chuvoso, um bom vinho na varanda e de repente vem um pensamento: Como será indústria de software daqui a uns dez ou doze anos? Como estará a indústria de software em dez anos?

Bem, como depois de algumas taças de vinho as idéias fluem muito mais livremente, vou colocar algumas opiniões pessoais, que não necessariamente coincidem com as do meu empregador (a IBM) ou meus colegas…

Vejo dois movimentos que já estão transformando decisivamente esta indústria, o Open Source e o Sofware-as-a-Service (SaaS), que, na minha opinião, em menos de dez anos serão modelos dominantes.

O modelo Open Source afeta diretamente a cadeia de valor da indústria pois atua nas mais importantes variáveis que entram na composição dos seus preços como os custos de desenvolvimento (diluídos pelo trabalho colaborativo) e marketing/comercialização (via Internet). Oferecendo alternativas “good enough”, custos de propriedade mais competitivos (em alguns casos os custos de aquisição tendem a zero) e modelos de negócio mais flexíveis, o resultado gerado pelo Open Source é uma pressão maior nas margens, obrigando a muitos produtos terem seus preços sensivelmente reduzidos. Um exemplo típico tem sido a contínua redução de preços de pacotes como o Office.

Ah, “good enough” significa uma solução tecnológica que não necessariamente tenha todas as funcionalidades de um produto líder de mercado, mas que contém as funcionalidades que atendem a uma imensa maioria de usuários.

Software-as-a-Service é outro modelo disruptivo. Sua proposição de valor é funcionalidade oferecida e não a “propriedade” do produto. A idéia básica é que você na verdade não quer uma máquina de lavar roupa, mas quer a roupa lavada. SaaS oferece isso. Você não necessita instalar um pacote de CRM ou ERP, mas precisa das suas funcionalidades.

O cliente não adquire licença de uso, mas paga uma taxa mensal baseada no número de funcionários que acessem o serviço.

O mercado vem dando sinais de grande receptividade a este modelo. Algumas estimativas apontam que SaaS pode chegar a 25% ou 30% do mercado total de software já nos próximos 3 a 4 anos. Outra estimativa aponta que já em 2010 pelo menos 65% das empresas americanas terão pelo menos uma aplicação rodando no modelo SaaS.

36

Page 37: Computacao Em Nuvem Cezar

Como estamos falando de um horizonte de uns dez anos, podemos imaginar que um percentual bem significativo do mercado de software será baseado em SaaS e Open Source.

O resultado final é que a indústria de software precisará ser reinventada. Porque comprar uma licença de uso de um caríssimo software se existir uma solução “good enough” mais barata e que não precisa ser instalada em suas máquinas? A questão é que atrás destas mudanças estão novos modelos de negócio que provavelmente não terão margens de lucro tão altas quanto hoje. A dificuldade maior vai aparecer para as empresas já estabelecidas, que precisam mudar seu modelo de negócios e provavelmente sua estrutura organizacional, de vendas e de custos. E recriar o ecossistema de parceiros…Ou sejam, existem barreiras culturais e organizacionais a serem vencidas!

O modelo de negócios SaaS é bem diferente do modelo de licenças tradicional. No modelo tradicional a lucratividade vem das taxas anuais de manutenção e não necessariamente da venda de novas licenças.

Já a lucratividade do negócio SaaS depende de três variáveis básicas, muito similares ao do setor de celulares: quanto custa atrair um novo cliente (custo de aquisição), quanto estes clientes renderão com suas assinaturas (ou a receita média por usuário ou ARPU, que significa Average Revenue Per User), e com que frequência os assinantes vão embora e precisam ser substituídos (taxa de rotatividade ou churn rate). As operadoras de celular conhecem bem este jogo…

A transição para o modelo SaaS não é simples. Os custos de vendas e marketing ainda são muito altos. Um exemplo é que a empresa SaaS mais bem sucedida até o momento, a Salesforce.com gasta metade de suas receitas em vendas e marketing. E como o modelo ainda é novidade, a maioria dos clientes ainda está testando o serviço pela primeira vez e não existem garantias que ficarão muito tempo. No modelo tradicional a troca de um software é mais complexa e o aprisionamento do usuário é quase uma regra da indústria. Quantos usuários de ERP trocam de fornecedor? No SaaS a barreira de saída é muito mais baixa. Voce poderá trocar muito mais facilmente de fornecedor.

A consequência uma competição mais acirrada e preços menores. Resultado final: margens e lucratividades menores. Definitivamente que em dez anos (ou menos) a indústria de software deverá ter uma “cara” bem diferente da atual e as empresas lucrativas de hoje (como as fornecedoras de ERP) provavelmente estarão ganhando dinheiro com outros modelos de negócio (mais focados em serviços de consultoria e integração) ou simplesmente estarão fora do jogo.

37

Page 38: Computacao Em Nuvem Cezar

Cloud Computing: hype ou novo paradigma computacional?

outubro 31, 2009

Tenho feito várias palestras sobre cloud computing, tanto abertas, como as do Ideti (www.ideti.com/br/cloud), que fiz em São Paulo e nas próximas semanas em Brasilia e no Rio de Janeiro, como em clientes e parceiros de negócios.

Destas palestras extraí algumas das questões mais recorrentes, que gostaria de compartilhar aqui.

A primeira, naturalmente, é “o que é cloud computing”? Na minha visão é um estilo de computação que provê recursos de TI “as a service”, de forma elástica, via Internet. As nuvens podem ser públicas ou privadas, estas restritas a própria empresa. De forma simplista, como se fosse uma intranet. E como reconhecer uma nuvem? Seus cinco atributos básicos são:

a) “Service based”, ou seja, através de um portal de auto-serviço os usuários provisionam e alocam recursos computaconais. Este interface esconde do usuário a grande complexidade que são as tecnologias que fazem uma nuvem existir.

b) Escalável e elástica. Os recursos (ou serviços) são provisionados e alocados de acordo com a demanda. Se a demanda aumentar, mais recursos serão adicionados. Por outro lado, se a demanda diminuir, menos recursos serão necessários. Eu, pessoalmente, prefiro o termo elasticidade, pois visualiza melhor o aumenta-diminui no uso de recursos.

c) Compartilhável. Os serviços compartilham um pool de recursos, de modo que o provedor da nuvem obtenha economias de escala e consiga repassar estes ganhos para os seus usuários.

d) “Pay as you use”. O usuário paga pelos recursos utilizados e não como hoje, quando tem que arcar com investimentos prévios em tecnologia.

e) Uso da Internet como interface de acesso.

Uma outra questão é sobre que tipos de nuvens existem…Muitos imaginam que uma nuvem computacional é apenas infra-estrutura como serviços, como a oferecida pela Amazon. Mas, existe também platform-as-a-service, como a oferecida pelo Google Application Engine e naturalmente SaaS, como o conhecido salesforce.com e o Lotus Live da IBM.

Me perguntam também se cloud é hype ou se tem substância. Bem, entendo que um novo paradigma computacional (como cloud computing) evolui e se dissemina pelo mercado se satisfaz plenamente determinadas características relacionadas com valor para o negócio. O primeiro quesito e eliminatório é o fator econômico. O novo paradigma traz

38

Page 39: Computacao Em Nuvem Cezar

benefícios econômicos e financeiros em relação ao modelo atual? Bem, cloud computing muda o modelo financeiro de capex para opex (reduzindo investimentos em capital) e otimiza os custos operacionais (oferecendo o modelo pay-as-you-use e minimiza ciustos desnecessários, pois não se paga por funcionalidades não utilizadas). Portanto, tem claro valor econômico e financeiro. Outro quesito são os benefícios diretos para o negócio, como permitir mais agilidade (elesticidade é um plus, mas através do auto-serviço permite que os usuários provisionem recursos quando precisam, sem necessidade de burocracias intermediárias e longas esperas pela liberação de recursos computacionais). Facilita a inovação e a criatividade, pois permite que a empresa se concentre no seu negócio e na construção de soluções que tragam resultado direto para o negócio, sem perder tempo e energia em upgrades de hardware e software.

Um outro quesito pode ser a simplicidade de uso. Muitos usam uma nuvem sem saber…Exemplos são o Gmail, Google Docs e o Facebook. Com computação em nuvem podemos iniciar uma empresa start-up sem necessidade de preocupação com infra-estrutura fisica. Fica muito mais fácil iniciar um novo negócio baseado ou suportado por TI.

Outro quesito é a confiança e a percepção de risco do novo paradigma em relação ao modelo atual. Confiança vai sendo adquirida com o tempo. Quando surgiu o modelo cliente servidor as inseguranças e o temor de se colocar aplicações em servidores distribuidos era muito grande. Hoje, é o paradigma dominante. O mesmo aconteceu com o surgimento do B2C e B2B, quando havia muito receio de se “colocar cartão de crédito” na Internet. Ou quando começou-se a usar Linux nos servidores. Ouvia-se muito a frase “eu não vou cloocar meus sistemas em um software que não sei quem é o dono”…Hoje Linux é usado comumente. Portanto, à medida que mais e mais casos de uso de cloud computing forem se disseminando, os temores irão diminuindo.

E finalmente, o impacto social do novo paradigma. O modelo computacional baseado em PCs levou a informática para dentro das casas, quando antes ela era restrita apenas às grandes empresas. O paradigma de cloud computing vai abrir novos espaços no uso de tecnologia. Mas, para este ponto quero levar a discussão para o crescente mercado dos países emergentes. Embora representem apenas 21% dos investimentos globais em TI, mais da metade dos novos investimentos em tecnologia ao longo dos próximos quatro anos virá dos países emergentes. Isto sugere que no ciclo tecnológico que está apenas começando os países emergentes irão pela primeira vez exercer influência forte na demanda e nas características dos modelos computacionais a serem ofertados. O modelo cliente-servidor, centrado no PC, aconteceu porque o modelo econômico dominante era do primeiro mundo onde as pessoas podiam adquirir os então caros PCs. Hoje a inclusão digital nos países emergentes não se dá apenas pelo PC mas, principalmente, por outros dispositivos como o celular ou até mesmo a televisão interativa. Com o uso disseminado de equipamentos de informática menos potentes, como os celulares, haverá um uso maior de serviços rodando nas nuvens estruturadas nos centros de dados das empresas. A mudança para este modelo de serviços resultará em uma radical mudança do atual modelo, que impõe que os usuários paguem previamente pela tecnologia.

39

Page 40: Computacao Em Nuvem Cezar

Enfim, na minha opinião estamos vivendo os primeros passos de uma mudança significativa no modelo computacional. Cloud computing vai se tornar o paradigma do proximos anos, embora não vejamos uma explosão de uso tipo “big bang”, mas sim mudanças graduais. Mas estas mudanças graduais criarão ao longo dos próximos cinco a dez anos um novo modelo computacional. Querem apostar?

40

Page 41: Computacao Em Nuvem Cezar

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

41

Page 42: Computacao Em Nuvem Cezar

se vão…) realmente deslanchar. Antes de mais nada, precisamos aprender a explorar a potencialidade da computação em nuvem!

42

Page 43: Computacao Em Nuvem Cezar

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

43

Page 44: Computacao Em Nuvem Cezar

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…

44

Page 45: Computacao Em Nuvem Cezar

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.

45

Page 46: Computacao Em Nuvem Cezar

É 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

46

Page 47: Computacao Em Nuvem Cezar

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.

47

Page 48: Computacao Em Nuvem Cezar

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.

48

Page 49: Computacao Em Nuvem Cezar

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á

49

Page 50: Computacao Em Nuvem Cezar

amadurecendo rapido e que tem irrefutáveis vantagens em relação ao modelo atual. Portanto, é apenas questão de tempo!

TCO em Private Cloud

dezembro 4, 2009

Uma pergunta recorrente que ouço é “como começar um projeto de cloud privada?”. Na minha opinião, o primeiro passo é saber exatamente quais serviços a área de TI fornece para seus usuários. Depois, mensurar os níveis de serviço obtidos hoje. E identificar quais os niveis de serviço que os usuários necessitam. Nesta análise é importante medir também quanto custa para a empresa oferecer estes niveis de serviço. De posse destas informações pode-se avaliar o impacto da implementação de uma nuvem privada nestes serviços.

Uma primeira observação. Como estamos nos estágios iniciais no uso de Cloud Computing e muitas das suas tecnologias ainda não estão maduras o suficiente, alguns destes serviços poderão não se mostrar viáveis para serem usados em nuvens, pelo menos no momento.

Mas, com certeza existem diversos serviços que poderão migrar para nuvens, com resultados bastante positivos. Um exemplo simples: imagine o processo em que as equipes de desenvolvimento solicitam recursos fisicos para seu projeto. Vamos supor que um servidor fisico demore de 45 a 60 dias para ser contratado e entregue operacionalmente. Neste periodo detempo, a equipe de desenvolvimento fica subutilizada e o prazo de entrega do projeto é deslocado pelo mesmo periodo de tempo, talvez até sacrificando alguma vantagem competitiva que os dois meses trariam. Suponha agora uma nuvem privada criada para atender os desenvolvedores de forma dinâmica, onde eles requisitariam recursos (servidores virtuais) através de um portal de self-service e o provisionamento destes recursos se desse em algumas horas, em vez de dois meses? Agora imagine que são uns 200 projetos por ano…Os beneficios tornam-se claramente tangíveis.

Outras variáveis podem ser usadas no estudo dos “business case” utilizados para avaliar se o serviço poderá ou não se adotado em nuvem. Uma melhor utilização dos servidores é um exemplo. Os servidores usados para ambientes de desenvolvimento tendem a ter uma utilização muito baixa, passando por periodos de quase ociosidade. Um gerenciamento automático, que permita provisionamento e liberação destes recursos aumenta em muito a sua utilização e com isso eventualmente menos servidores (menos capital) serão necessários. Também consegue-se postergar eventuais ampliações deste parque (novamente melhor aplicação do capital). Com certeza os CFOs agradecerão!

A produtividade da equipe técnica é um fator que merece bastante atenção. Já falamos das equipes de desenvolvimento, mas devemos olhar também o staff técnico, responsável

50

Page 51: Computacao Em Nuvem Cezar

pela manutenção destes servidores. Quanto tempo eles gastam fazendo upgrades de hardware e software? E se grande parte deste trabalho for automatizado? Os beneficios também serão facilmente tangibilizados.

Para finalizar recomendo leitura de alguns papers bem interessantes. Um deles é chamado “Advantages of a Dynamic Infrastructure: A Closer Look at Private Cloud TCO”, acessado em ftp://public.dhe.ibm.com/software/systemz/pdf/whitepaper/PrivateCloudTCO-042109.pdf. Outro é “Cloud Computing: Save Time, Money, and Resources with a Private Test Cloud”, disponível em http://www.redbooks.ibm.com/redpapers/pdfs/redp4553.pdf.

51

Page 52: Computacao Em Nuvem Cezar

Oportunidades com CloudSourcing

dezembro 8, 2009

Happy hour com um amigo que é CEO de uma pequena empresa de integração de sistemas. O assunto? Como será o futuro do negócio dele à luz das mudanças provocadas pelo Cloud Computing.

O negócio outsourcing começa a se transformar, aos poucos, em cloudsourcing. Mas os usuários precisam de niveis de serviço nos seus contratos de nuvem, como faziam nos contratos de outsourcing tradicionais.

Nas grandes empresas já existe uma estrutura formada para gerenciar os prestadores de serviço e gerenciar serviços em cloud será apenas uma reciclagem de skills. Mas, as pequenas empresas, que poderão (e geralmente o farão) colocar todos seus sistemas em cloudsourcing?

Vamos imaginar um cenário hipotético de uma pequena empresa que vai usar uma nuvem pública como a da Amazon. Se por acaso houver uma interrupção temporária dos serviços, como ela vai enfrentar a situação? Existem procedimentos de continuidade do negócio frente a este contexto?

Esta é uma oportunidade futura que me parece bem atrativa para os integradores: serem os responsáveis pela gestão dos niveis de serviço acordados entre os provedores de nuvem e seus clientes. Para isso deverão ser instrumentados com pessoal conhecedor das características dos negócios do cliente e suas necessidades de continuidade das operações de TI, bem como das soluções de nuvem disponiveis no mercado. E de suas limitações e potencialidades!

O que estes integradores farão? Desenvolverão atividades que podemos chamar de “cloud engineering” que é de desenvolver serviços adicionais agregados aos já oferecidos pelas nuvens, como continuidade do negócio, segurança, integração com sistemas legados, etc.

Enfim, existe vida e vida saudável no cloudsourcing. É saber explorar as oportunidades!

52

Page 53: Computacao Em Nuvem Cezar

SaaS e cloud vão estar no seu futuro…

dezembro 11, 2009

Um colega me perguntou recentemente porque eu acredito que o modelo SaaS vai se tornar dominante nos próximos anos. Na minha opinião um dos principais impulsionadores para sua adoção é a crescente preocupação das empresas em melhor utilizar os custos operacionais de TI, bem como, é claro, buscar reduzir os investimentos em capital. As empresas cada vez mais não querem comprar tecnologias e sim investir em soluções de negócio. Continuar gerenciando o budget de TI focado apenas em hardware, plataformas, middlewares e aplicações não é otimizar as operações do negócio… Esta tendência se acelerou com a crise de crédito em 2008 e não deve diminuir no horizonte próximo.

Além disso, não podemos esquecer que existe uma relação circular e intensa entre dinâmica de negócios e adoção de TI. As empresas adaptam suas operações às tecnologias disponíveis, bem como buscam tecnologias que se adaptem aos seus modelos operacionais. O uso mais intenso de SaaS permite as empresas mudarem suas estratégias de TI. SaaS e cloud computing mudam a maneira como TI é comercializada e gerenciada e isto afeta os modelos operacionais das empresas. Saas e cloud computing, ao mudar o foco de capex (capital expenses) para opex (operating expenses), oferecer respostas mais rapidas às mudanças do mercado e diminuir os custos operacionais, permitem as empresas mudarem suas operações e estas mudanças mudam também a maneira como elas usam TI.

E em um mundo cada vez mais interconectado, o fenômeno da reverberação é intensificado. Isto significa que se mais e mais empresas tornam-se adeptas do SaaS, elas mesmo vão demandar mais e mais alternativas em SaaS. Além disso, elas influenciam as demais, gerando um efeito de rede. Os provedores de tecnologia, por sua vez, vendo este cenário, vão se movimentar mais aceleradamente para se inserir neste modelo, ampliando o número de ofertas SaaS no mercado. O vetor resultante é uma maior aceleração na adoção de SaaS nos próximos anos.

Que consequencias veremos? Bem, um pouco de percepções pessoais..não de previsões!

1) As empresas de software que ficarem paralizadas, esperando o mercado sinalizar a rota para SaaS para então se moverem, vão ficar para trás. Provavelmente poderão perder espaço para as empresas mais inovadoras e que adotam SaaS de forma mais audaciosa.

2) As empresas usuárias vão evoluir gradualmente no seu uso de soluções SaaS, saindo da primeira onda, onde as aplicações são isoladas, chegando a niveis de maturidade maior, com aplicações integradas e inseridas no core business. É um processo de evolução gradual e na minha opinião este nivel mais alto de maturidade só deverá ser alcançado em 5 ou 6 anos. Estes niveis mais altos de maturidade implicam entre outras coisas, em modelos de governança mais adequados para SaaS e cloud computing.

53

Page 54: Computacao Em Nuvem Cezar

3) A adoção de SaaS é mais intenso nas empresas de pequeno a médio porte, mas aos pouco vai se inserindo também nas grandes corporações. Este contexto faz com que as empresas de software focadas no segmento de empresas menores tenham que adotar SaaS muito mais rapidamente que as focadas nas grandes corporações.

54

Page 55: Computacao Em Nuvem Cezar

Um pouco de Azure

dezembro 15, 2009

Recentemente a Microsoft anunciou sua oferta de Cloud Computing, o Azure. Como o assunto é de grande interesse, pesquisei na Web e cheguei a algumas conclusões, que gostaria de compartilhar com vocês.

Para mim ficou claro que a Microsoft construiu uma oferta que compete diretamente com Amazon, Google e Force.com. Querem ver?

Vamos começar pela briga com a Amazon. Os preços da nuvem pública Azure Platform são muito similares aos oferecidos pela Amazon. E a Amazon não vai ficar parada, esperando a Microsoft entrar em seu espaço…Será uma briga de gente grande, boa de se ver!

Outra iniciativa, o Pinpoint.com, se propõe a ser um marketplace onde ISVs colocarão à venda suas aplicações para rodarem na nuvem Azure Platform. É similar a oferta do Salesforce (AppExchange), AppStore da Apple ou Android Marketplace do Google. A idéia é fazer o Pinpoint.com o principal mecanismo de “Go to market” para cloud dos ISVs parceiros da Microsoft.

E finalmente o Dallas, que é a oferta de “data as a service”. Esta iniciativa bate de frente com a estratégia do Google de organizar as informações do mundo e torná-las universalmente acessiveis. O Dallas se propõe a ser um canal de armazenamento de conteúdo, que seria disponibilizado através da nuvem Azure Platform. Se esta oferta de “data as a service” for bem sucedida, vai abrir as portas da Microsoft para uma nova fonte de receitas, além de venda de software: a venda de conteúdo.

Tenho algumas percepções sobre estas ofertas…A Microsoft definou sua estratégia de Cloud como “software plus services” e na minha opinião ela vai retardar ao máximo as funcionalidades disponibilizadas na sua nuvem para sustentar sua forte presença no mercado de software baseado no modelo tradicional (on-premise). Provavelmente serão criadas e mantidas dependências entre as ofertas em nuvem e seus softwares on-premise. Quem sabe se a sua estratégia de cloud não é um “Trojan horse” que sustentará seus contratos de software do modelo atual?…pensem no assunto!

55

Page 56: Computacao Em Nuvem Cezar

Comentando o Chrome OS

dezembro 18, 2009

Este ano vimos o anuncio do Chrome OS pelo Google, que na minha opinião é o primeiro sistema operacional desenhado para rodar em nuvens. Este sistema é orientado para netbooks (ou cloubooks) e não para robustos PCs e desktops. As aplicações que vão rodar no Chrome OS estarão em nuvens e não no computador do indivíduo. É uma maneira diferente de olhar os computadores pessoais.

Tradicionalmente um sistema operacional é uma peça de software extremamente grande e complexa. Consome parcela signficativa do hardware. Cada nova versão, demanda mais hardware, novas versões de aplicativos…Basta lembrar o Vista que demandava PCs maiores que a média do mercado. O Chrome OS quebra este paradigma. O Chrome move toda a complexidade e custo para a nuvem. Na máquina do usuário vai residir apenas uma pequena parte do sistema.

O Chrome vai pegar? Claro que existem muitos desafios…um deles é que o Chrome precisa das nuvens. Ou seja, sem conexão nada ou quase nada acontece. Os netbooks vão usar memória solid-state para armazenar algumas informações criticas e algum aplicativo que possa funcionar sem conexão. Mas, é só!

Entra o segundo desafio. Serão necessárias conexões banda larga, de custo baixo, 100% do tempo. Em alguns países como o Brasil este é um problema…

O Chrome vai impactar o mercado? A curto prazo não…Mas daqui a cinco anos poderá ter uma base instalada expressiva.

Porque? Bem, o dinheiro fala alto…Os custos de propriedade das empresas com a manutenção dos equipamentos atuais, como desktops e notebooks vai diminuir sensivelmente com os netbooks. Os custos de suporte vão se resumir a questões ligadas ao browser (componente basico do netbook) e a resolução de problemas de hardware e conexão. O fato de não existir software para ser instalado e configurado (e mantido) na máquina de cada usuário é um fator de redução de custos significativo.

Na minha opinião o Chrome OS não vai matar os sistemas operacionais atuais como o Windows. Os dois paradigmas, o da computação pessoal (modelo Windows) e o do Chrome (nuvem) vão coexistir por muito tempo. É provavel até que futuras versões do Windows caminhem também nesta direção…quem sabe?

De qualquer modo, na minha opinião, nos próximos anos não deveremos ignorar ou subestimar o impacto do Chrome, pelo menos no médio prazo.

56

Page 57: Computacao Em Nuvem Cezar

Diferenças entre Cloud Computing e ASP

dezembro 21, 2009

Este ano apresentei o tema Cloud Computing e SaaS em diversos eventos. E ao final das palestras sempre juntavamos um pequeno aglomerado de participantes para um animado batepapo. Destas conversas extraí alguns pontos interessantes que gostaria de compartilhar aqui.

a) Ainda existe muita confusão entre ASP (Application Service Provider) e SaaS. O SaaS entrega funcionalidade da aplicação por modelos de negócio baseados em assinatura. O cliente não tem a propriedade da aplicação, mas a utiliza remotamente. Ela fica hospedada na nuvem do provedor. O ASP, por sua vez, é um “application hosting”, onde o cliente adquire a licença do software e o hospeda em algum provedor. Neste modelo, se o cliente quiser trazer o software para dentro de casa, o fará sem problemas, pois ele tem a licença de uso. Isto não acontece com SaaS, pois o cliente tem apenas assinatura que o permite a usar o software. Não tem como traze-lo para dentro de seus servidores.

b) Uma outra característica fundamental do SaaS é que o cliente não precisa se preocupar com a infraestrutura física que hospeda a aplicação. É responsabilidade do provedor. No modelo tradicional o cliente tem que instalar o software em seus servidores e precisa se preocupar com configuração destas máquinas. É responsabilidade dele manter e atualizar o aplicativo. No SaaS quem faz isso é o provedor. Este é que se responsabiliza pela infraestrutura fisica e por manter o software sempre atualizado.

c) Uma pergunta que me fizeram outro dia foi “e os canais, como ficam com este modelo?”. Na minha opinião como o modelo de distribuição muda, um canal que é um simples “box mover” deixa de ter papel importante na cadeia de valor. Ele terá que assumir o papel de consultor, não mais de distribuidor.

Como vemos, a cada dia desbravamos mais um pouco este novo mundo…2010 será bem interessante para Cloud Computing e SaaS…

No mais, este blog estará em férias até a semana que se inicia em 11 de janeiro. Desejo a todos em Feliz Natal e um Grande 2010. Nos veremos de novo em 3 semanas.

57

Page 58: Computacao Em Nuvem Cezar

2010

Em 2010 a Computação em Nuvem começou a sair da curiosidade e entrar no mundo real. Começamos a ver aqui no Brasil alguns primeiros projetos de prova de conceito e protótipos. Muitas pequenas empresas começaram a operar direto da nuvem. Mas, claro, as dúvidas e questionamentos continuaram persistindo, como podermos ver refletidos nos posts escritos no decorrer do ano.

De volta à ativa: proposições de valor para Cloud Computing

janeiro 11, 2010

De volta à ativa. Primeiro post de 2010. O tema, claro que é Cloud Computing! Lemos todo ano reportagens e artigos sobre tendências tecnológicas para o ano novo. Bem, para não ficar de fora, tirei do armário a minha bola de cristal e a lustrei para dar uns pitacos sobre o que esperar de Cloud Computing em 2010.

Provavelmente veremos Cloud sair da fase de curiosidade e entrar aos poucos nas estratégias de TI das empresas. Será um ano de experimentações e de projetos proof-of-concepts. Alguns aspectos da computação em nuvem já passaram desta fase, como aplicações SaaS de automação de força de vendas, como proposto pelo Salesforce. Vemos, também aos poucos, os usuários finais começando a se acostumar com Google Docs, embora ainda muito arraigados ao velho modelo (e hábito) de instalar no seu micro o pacote Office.

É indiscutível que muitas empresas estão prestando atenção à Cloud Computing, embora estejam receosos quanto aos seus aspectos de segurança, privacidade e disponibilidade. Este cenário aponta para um interesse maior em nuvens privadas. Nuvens privadas podem ser consideradas como um passo posterior e evolutivo dos processos de virtualização já em andamento em muitas empresas. Portanto 2010 será um ano bem interessante para Cloud Computing.

Mas, um questionamento bastante comum quando se aborda este assunto é sobre sua proposição de valor. Existem muitas e diferentes perspectivas e uma única certeza: confusão e desinformação ainda estão muito disseminados. Redução de custos de infraestrutura e transformação de custos fixos de TI em variáveis vem sendo um dos mais importantes discursos da computação em nuvem. Mas será que todas as empresas esperam estes mesmo beneficios e na mesma intensidade?

Vamos tentar avançar um pouco. Primeiro, vamos fatiar o elefante em bifes. Vamos falar das soluções de nuvens de infraestrutura, modelo Infrastructure-as-a-Service. Mas, mesmo concentrando o foco, a proposição de valor destas nuvens é diferente quando olhamos sob a ótica das pequenas ou das grandes empresas.

58

Page 59: Computacao Em Nuvem Cezar

As pequenas empresas, com áreas de TI informais, geralmente com budgets minimos ou até mesmo inexistentes, esperam que cloud computing seja a solução para reduzir seus investimentos em capital. Adquirir alguns servidores e mantê-los em operação pode representar um custo elevado para estas empresas. O uso de nuvens públicas permite pensar de forma diferente. Usar uma infraestrutura já montada e com niveis de segurança e disponibilidade melhores que os limitados recursos que a pequena empresa geralmente dispõe é uma proposição de valor bastante significativa.

Por outro lado, as grandes empresas tenderão a adotar nuvens privadas ou mesmo híbridas, e portanto buscam proposições de valor diferentes. Como ainda investem em capital (conservam e evoluem seu parque de servidores) as proposições de valor concentram-se principalmente na redução dos elevados custos de gerenciamento e suporte desta infraestrutura e na melhoria dos niveis de serviço e velocidade de implementação de novos projetos.

Portanto, cloud computing pode e provavelmente será adotado por proposições de valor diferentes. Reduzir custos de infraestrutura física em uma grande empresa que se proponha a adotar uma nuvem privada não vai representar valor significativo pois ele ainda terá que investir e manter seus servidores. Por outro lado, eliminar os investimentos em servidores e staff técnico de uma pequena empresa, colocando sua infraestrutura em uma nuvem pública tem forte apelo financeiro. Os CFOs vão adorar!

59

Page 60: Computacao Em Nuvem Cezar

Cloud Computing: um survey informal

janeiro 21, 2010

Participei, no ano passado, de vários eventos sobre Cloud Computing. Nestes eventos tive a feliz oportunidade de debater o assunto com diversos executivos de TI e de negócios. Estas conversas me permitiram criar um survey informal sobre o que eles consideram como principais benefícios, mas também quais são suas principais preocupações.

Entre as expectativas de benefícios, além da redução de investimentos em capital e custos operacionais, que aparece em primeiro lugar, observei que muitos executivos consideram também o potencial da empresa obter mais flexibilidade e velocidade às demandas por recursos de TI, principalmente quando se fala em aplicações SaaS. Curioso que alguns executivos de negócios (não TI) tem expectativa de poderem, inclusive, byapassarem as áreas de TI e adquirirem recursos computacionais e softwares (modalidade SaaS) diretamente dos provedores de nuvens. É mais ou menos o que aconteceu quando do surgimento do modelo cliente-servidor no início dos anos 90. Na minha opinião isto é uma verdadeira bomba relógio em potencial, pois pode levar a inúmeros problemas de integração entre sistemas nas nuvens públicas e os legados, estes residentes em servidores in-house. Portanto a área de TI não pode, em absoluto ficar omissa diante do crescimento da onda de Cloud Computing/SaaS. Tem que liderar o processo.

Nas conversas identifiquei que existem muitas preocupações e receios quanto ao uso de Cloud Computing. Muitos dos receios são causados pelo desconhecimento e o clássico e conhecido “medo do novo”. Lembram-se que dez anos atrás muitos diziam que “jamais colocarei o número do meu cartão de crédito na Internet?”. Mas muitas das preocupações tem fundamento. Por exemplo, a maior preocupação dos executivos é quanto às questões de segurança e privacidade. Depois vemos os desafios de integrar nuvens computacionais e aplicações SaaS à infraestrutura já existente nas empresas, a falta de padrões que permitam interoperabilidade entre nuvens de diferentes provedores (e o receio do aprisionamento forçado a um determinado provedor), as dúvidas de como definir ROI para a implementação de nuvens e de como exigir garantias de niveis de serviço dos provedores de nuvens.

Interessante que não observei preocupações com modelos de governança referentes ao uso de nuvens. O que é bem compreensível, pois ainda estamos na fase de aprendizado. Com certeza, à medida que as empresas forem adotando nuvens computacionais veremos as questões referentes à governança e práticas de gestão surgirem com mais ênfase.

Mas, identifiquei também que existe quase um consenso que Cloud Computing vai afetar em muito a maneira como TI é adquirida, gerenciada e utilizada. Para mim é um sinal claro que os executivos com quem conversei olham o assunto com seriedade e não apenas como mais um hype, típico do mundo da TI. Acredito que agora em 2010 veremos muitas empresas colocando nuvens públicas e privadas nas suas estratégias de TI. Deveremos

60

Page 61: Computacao Em Nuvem Cezar

sair das questões básicas tipo “o que é Cloud Computing” para discussões mais aprofundadas de como e quando implementar nuvens e com isso veremos acontecer muitas experimentações e provas de conceito.

61

Page 62: Computacao Em Nuvem Cezar

Cloud Computing em Open Source

janeiro 25, 2010

Cloud Computing começa, aos poucos, a se disseminar e já vemos as primeiras experiências baseadas em Open Source, existindo, inclusive diversos projetos muito interessantes, como:

a) Hadoop. É a versão open source do MapReduce do Google. http://hadoop.apache.org/

b) OpenCirrus: https://opencirrus.org/

c) Reservoir: http://www.reservoir-fp7.eu/

d) Enomalism: www.enomalism.com

e) Eucalyptus: www.eucalyptus.com

Na medida do possível vou, em futuros posts, detalhar um pouco mais cada um destes projetos. Neste, vou analisar resumidamente um deles, que é o Eucalyptus, que significa “Elastic Utility Computing Architecture Linking Your Programs To Useful Systems”. Curioso como estes nomes aparecem, não?

O Eucalyptus surgiu como um projeto Open Source acadêmico, na UCSB (University of California, Santa Barbara). O Eucalyptus Open Source é encontrado em http://open.eucalyptus.com/. Mas, recentemente foi criada a Eucalyptus Systems para oferecer suporte e desenvolver produtos adicionais ao sistema Open Source (www.eucalyptus.com).

Uma boa descrição técnica do projeto, Technical Report Number 2008-10, pode ser obtido em http://open.eucalyptus.com/documents/nurmi_et_al-eucalyptus_tech_report-august_2008.pdf . Também podemos ver uma descrição mais sucinta do sistema em um paper disponibilizado no IBM developerWorks: http://www.ibm.com/developerworks/opensource/library/os-cloud-virtual1/ .

O Eucalyptus implementa o conceito de IaaS (infrastructure-as-a-Service), implementando nuvens privadas (nuvens on premise). Também, por ser um ambiente compatível com o EC2 da Amazon, permite que as nuvens privadas criadas por ele, interajam com a nuvem publica da Amazon, pois usa o mesmo interface de programação. A NASA tem um projeto de Cloud Computing baseado no Eucalyptus, que é o NEBULA. Este projeto pode ser visto em http://nebula.nasa.gov/. A empresa farmacêutica Lilly também é um case interessante, pois criou uma nuvem privada que interage com a nuvem da Amazon. Recentemente o Eucalytpus foi incorporado à iniciativa de Cloud Computing Open Source do Ubuntu, que é uma bem conhecida distribuição Linux. A base desta iniciativa, o Ubuntu Enterprise Cloud (UEC), é o

62

Page 63: Computacao Em Nuvem Cezar

Eucalyptus (http://www.ubuntu.com/cloud). O Eucalyptus pode também ser instalado em outros ambientes Linux, como os das distribuições RedHat e Debian.

Segundo algumas estimativas, o Eucalyptus Open Source tem uma média de 15.000 downloads mensais. Na minha opinião é uma alternativa de implementação de Cloud Computing que deveria ser vista com atenção pelas universidades, projetos acadêmicos e empresas de serviços que pretendem disponibilizar nuvens públicas para seus clientes e que tem condições (leia-se investimentos e técnicos capacitados) de implementar soluções de Cloud Computing baseadas em projetos Open Source.

63

Page 64: Computacao Em Nuvem Cezar

Google ou Amazon?

fevereiro 2, 2010

Em um dos inúmeros eventos de Cloud Computing em que apresentei uma palestra, surgiu uma pergunta interessante por parte de um CIO de uma pequena empresa: “Na minha opinião, qual seria a melhor opção em Cloud Computing, Amazon ou Google?”.

A resposta é simples: “depende do que se pretende fazer com computação em nuvem, porque Amazon e Google tem propostas de cloud computing muito diferentes”.

O Google oferece o Google Applications, oferta de SaaS e o Google Application Engine (GAE, www.appengine.google.com ), que é um serviço de PaaS (Platform-as-a-Service). A Amazon oferece um serviço de IaaS (infrastructure-as-a-Service), chamado de AWS (Amazon Web Services, http://aws.amazon.com/) que é uma oferta de recursos de infraestrutura. Na Amazon para se conseguir elasticidade automática e um serviço de PaaS é necessário utilizar componentes adicionais oriundos outros fornecedores. Estes componentes são fornecidos como AMI (Amazon Machine Image), como o IBM WebSphere sMash, para desenvolvimento de aplicações situacionais (http://tinyurl.com/y9m2tha). A Amazon criou um ecossistema de parceiros que disponibilizam diversos recursos complementares à sua oferta. Existem cerca de 450.000 desenvolvedores gravitando em torno deste ecossistema. Assim, por exemplo, quando se desjea facilidades de elasticidade automática pode-se recorrer à RightScale (http://www.rightscale.com/ ) ou Elastra (http://www.elastra.com/). A IBM disponibiliza diversos softwares como AMI na Amazon, cuja lista completa e instruções para download podem ser obtidas no developerWorks Cloud Computing Resource Center em http://tinyurl.com/ycounhf .

Um dos recentes anúncios da Amazon foi a facilidade de se criar Virtual Private Clouds, usando a sua nuvem pública. Este recurso, chamado VPC, é uma demanda de empresas que questionam questões de segurança em nuvens públicas, e que pode ser visto em http://aws.amazon.com/vpc/.

Já a proposta de valor do GAE é permitir que desenvolvedores criem aplicações Web muito rapidamente (em suas estações de trabalho) e as coloquem para operar na nuvem do Google. O custo para rodar a aplicação é “free”, sim, grátis, até cinco milhões de page views por mês. A partir deste volume, é cobrado um valor por recursos computacionais utilizados.

O GAE permite que os desenvolvedores construam e testem suas aplicações em um ambiente simulado (como Linux e Windows), que suportem versões das linguagens Python e Java. Para colocar o aplicativo em produção usa-se um script de upload que transfere o código fonte para os servidores da nuvem do Google, de onde a aplicação rodará. O GAE utiliza a mesma infraestrutura de hardware e software do engine de buscas do Google. Os desenvolvedores não tem acesso direto a estes recursos, pois existe

64

Page 65: Computacao Em Nuvem Cezar

uma camada de interface entre a aplicação e a nuvem. Os recursos disponiveis à aplicação são o Big Table (mecanismo de persistência não relacional), Google File System (sistema de arquivos distribuidos) e uma variante do Linux adaptada pelo Google. O site IBM developerWorks disponibiliza diversos artigos sobre como usar o GAE. Vejam em http://tinyurl.com/yde7qk9 .

Estima-se que existam mais de 300.000 desenvolvedores gravitando em torno do GAE, mas as aplicações que estão sendo atualmente escritas são de pequeno porte, departamentais. Embora a nuvem do Google permita que uma aplicação possa escalar de forma automática para milhões de page views e milhares de usuários, os temores quanto às condições de segurança, disponibilidade e privacidade de nuvens abertas, como a do Google, são ainda fatores restritivos. Assim, na minha opinião, e o que respondi a ele com relação ao GAE é considerar esta alternativa apenas para novas aplicações de pequeno porte, escritas em Java ou Python, desenvolvidas por equipes pequenas, estilo “agile development”. Deverão ser aplicações stand-alone (embutidas em si mesmo, sem integração com aplicações legadas). Nem pensar em considerar o GAE para migrar aplicações corporativas legadas, que constituam a base do suporte ao negócio.

Por sua vez recomendo a nuvem da Amazon para aplicações “one-way”, aquelas que voce vai usar uma ou pouquissimas vezes e para as quais não compensa contratar mais recursos computacionais. Também pode ser usada como infraestrutura para pequenas empresas que não tem budgets para manter uma estrutura fisica de TI interna ou mesmo para aplicações situacionais de grandes empresas que não tenham necessidade de maiores integrações com sistemas legados. O AWS permite utilização de aplicações convencionais, pois na prática simplesmente simula servidores fisicos através de virtualização. Entretanto, ainda não está adequada para suportar aplicações de missão critica da maioria das grandes empresas.

No developerWorks vocês podem ver diversos artigos sobre o uso da AWS da Amazon. Recomendo olhar a série de papers “Cloud Computing with Amazon Web Services”, no site IBM developerWorks, em http://tinyurl.com/ya7lop2 .

Em resumo, vimos que Amazon e GAE tem aplicabilidades diferentes e não são necessariamente excludentes. Podemos até utilizar simultaneamente as duas alternativas.

65

Page 66: Computacao Em Nuvem Cezar

Cloud Computing vai repetir o fenomeno cliente-servidor?

fevereiro 4, 2010

Em um post anterior lembrei que a curva de adoção do Cloud Computing me lembrava a do cliente-servidor, que aconteceu no início dos anos 90. Hoje vou voltar ao assunto, detalhando um pouco mais a idéia e quem sabe, conseguiremos tirar algumas lições do passado. É sábio não cometer os mesmos erros…

Quando o modelo cliente-servidor surgiu, vimos no início, uma reação negativa muito grande por parte dos setores de TI. Por outro lado, surgiu um movimento muito intenso das áreas usuárias em buscarem soluções neste modelo, bypassando a própria TI. O modelo c/s prometia romper com o monopólio da área de TI, permitindo que os usuários, livres da burocracia e demoras nas respostas dos data centers centralizados, buscassem por conta própria suas soluções.

O que aprendemos após mais de uma década usando o modelo c/s? Hoje é fácil dizer que os dois lados assumiram posições erradas. A área de TI por inicialmente negar ou ignorar o modelo c/s em seu inicio. E as áreas usuárias por o adotarem de maneira afoita, sem uma visão mais abrangente de seus impactos ao longo do tempo. O problema é que na época era dificil dizer quem estava com a razão…

O resultado é que as expectativas de redução de custos não foram alcançadas, por uma razão muito simples. No início, concentrou-se a discussão exclusivamente no custo de aquisição e não no custo de propriedade. Depois é que descobrimos que manter sistemas distribuídos era muito caro. Além disso, o ativo era mal utilizado, causada pela ociosidade muito grande dos servidores. Surgiram movimentos direcionados ao uso mais racional dos recursos computacionais, como disseminação da virtualização e projetos de consolidação de servidores e data centers. Inúmeros outro efeitos colaterais surgiram com o uso do modelo c/s, como maiores vulnerabilidades e proliferação de sistemas incompatíveis entre si, criando ilhas de informação e automação, gerando problemas seríssimos de integração e custos elevados de suporte e upgrades. Por outro lado o modelo c/s trouxe beneficios incomensuráveis, como maior popularização no uso de TI e uma maior aproximação da própria TI com o negócio.

E chega a Cloud Computing com suas promessas de romper com os modelos computacionais atuais, permitindo que os usuários possam bypassar suas áreas de TI, adquirindo soluções por si mesmo, soluções que irão residir nas nuvens dos seu provedores. Acende-se um sinal de alerta: Cloud Computing tem o potencial de criar impactos muito maiores que os criados pelo c/s. Isto significa que se repetirmos os mesmos erros quando da adoção de c/s, os problemas gerados serão muito mais significativos.

O que os setores de TI devem fazer? Quando ignoraram o c/s, permitindo que as áreas usuárias criassem seus próprios sistemas departamentais, geraram ilhas isoladas de

66

Page 67: Computacao Em Nuvem Cezar

automação, com os inevitáveis problemas de integração. Não podemos repetir os mesmos erros. Ignorar o modelo Cloud Computing é fomentar um imenso problema futuro, pois Cloud Computing vai entrar nas empresas, queira ou não queira a área de TI.

Algumas recomendações simples:

a) Desenhar uma estratégia de Cloud Computing que oriente os usuários a selecionarem as ofertas de nuvens e SaaS, observando questões de segurança e integração com os sistemas legados.

b) Apoiar os usuários na negociação de niveis de serviço e na seleção de provedores de nuvens. Nos próximos anos, Cloud Computing vai ser o termo hype do momento e qualquer provedor que oferte um simples “collocation” vai rotular seus serviços de Cloud Computing. Cuidado com as armadilhas!

c) Implementar nuvens híbridas, adotando nuvens públicas e privadas de acordo com as características dos workloads. Lembro que não será fácil, pelo menos por enquanto, integrar as aplicações que rodam nas nuvens públicas com os sistemas que irão operar em nas nuvens privadas.

d) Implementar tecnologias e modelos de governaça adequados para a gestão das nuvens, sejam elas públicas, privadas e híbridas. Um exemplo: ao adotar uma nuvem pública, a equipe técnica não precisará mais se preocupar com detalhes de hardware e sistemas operacionais. Portanto seus skills deverão ser focados na gestão dos processos e não nas tecnologias.

Para estes desafios, a área de TI deve estar preparada, capacitando seus técnicos e explorando o modelo Cloud Computing o mais cedo possivel.

67

Page 68: Computacao Em Nuvem Cezar

Mais um pouco de Cloud Computing

fevereiro 11, 2010

Nas duas últimas semanas participei de algumas entrevistas com a midia abordando Cloud Computing. E este mesmo tema foi assunto dominante de algumas reuniões com executivos de empresas clientes. A conclusão óbvia é que o tema está bombando. Que tal então, resumirmos um pouco do que debatemos?

Na minha opinião, Cloud Computing vai se tornar mainstream em 3 a 5 anos, mas enquanto isso muitas pedras terão que ser retiradas do caminho. Hoje, por exemplo, ainda não vejo uma clara percepção de seus beneficios e mesmo restrições por parte de muitos executivos de TI. A percepção de valor da computação em nuvem ainda não está clara para muita gente.

O problema deste ainda “desconhecimento” é a possibilidade de empresas embarcarem em projetos de cloud que poderão ser custosos em tempo e investimento, sem conseguirem obter os resultados desejados. Aliás, já vimos este filme antes. Quando o cliente-servidor surgiu, várias empresas afoitadamente desligaram seus mainframes, sem uma estratégia adequada para uso e gestão da computação distribuida. O resultado foi um TCO muito alto e inesperado…

O que venho abordando nas reuniões é que o valor da computação em nuvem seja claramente percebido, antes de iniciar qualquer projeto mais abrangente. Disparar um projeto de prova de conceito (proof-of-concept) é uma boa estratégia para se consolidar estas percepções. Recomendo, portanto, um projeto POC.

Venho observando também que os executivos de TI tendem, na média, a serem mais cautelosos que os executivos das áreas de negócio quanto ao uso da computação em nuvem. Sua percepção de valor muitas vezes concentra-se na redução de custos (infra e suporte) e de capex (investimentos em capital). Em muitas das conversas identifiquei que nem sempre estão buscando serem proativos na estratégia de cloud.

Por sua vez, os usuários com quem venho falando mostram-se mais animados e olham a computação em nuvem (principalmente Software-as-a-Service ou SaaS e Infrastructure-as-a-Service ou IaaS) como uma boa alternativa para conseguirem mais agilidade e flexibilidade para seus projetos de TI. Provavelmente, alguns destes executivos estão mais concentrados em obter resultados de curto prazo e nem sempre consideram adequadamente os problemas típicos de TI, como a integração entre os sistemas em nuvem e os legados, ou mesmo a possibilidade de um “platform lock-in” devido a atual ausência de padrões de interoperabilidade entre as nuvens.

Uma dúvida sempre presente é a possibilidade da computação em nuvem permitir o processamento de aplicações de negócios, como ERP e outros sistemas. Claro que aplicações que não demandam integração, em princípio, não apresentarão maiores

68

Page 69: Computacao Em Nuvem Cezar

problemas para rodarem em nuvens. Serão as primeiras a rodarem em nuvem. Uma olhada rápida no diretório do Force.com (AppExchange) já nos mostra diversas aplicações interessantes e para mim é apenas a ponta do iceberg do que veremos nos próximos anos. Neste diretório vocês verão, inclusive, uma solução da Totvs, para gestão de frotas. Interessante vermos que o Force.com já aponta novas funcionalidades provocada pela flexibilidade gerada pela computação em nuvem, como a sinergia entre aplicações de negócios e as redes sociais. É o exemplo o “Chatter”, plataforma que pemite aos usuários do Force.com a compartilharem aplicações de negócios, como um CRM, com redes sociais, criando SRM (Social Relationship Management)

Mas as aplicações que demandam integração com outros sistemas, principalmente sistemas legados que operam fora do modelo de cloud computing, devem ainda serem vistos com cuidado redobrado. De qualquer maneira já temos muitos casos de sucesso em CRM (exemplo do Salesforce) e algumas primeiras iniciativas de sistemas ERP (Compiere, um sistema open source, NetSuite e a brasileira Zipline). Na minha opinião a adoção de ERP no modelo de computação em nuvem será adotado, em princípio, por empresas de pequeno porte, devido a sua alta sensibilidade à custos. Cloud Computing tem a possibilidade de mudar de forma radical a maneira como as pequenas empresas adquirem e usam tecnologia. Em vez de equipes pequenas e subdimensionadas, com poucos servidores, nem sempre configurados e gerenciados da forma mais adequada, poderão ter como unico staff seu próprio gestor de TI e com toda a infra de hardware e software residindo em nuvens públicas.

Já as grandes corporações não deverão adotar de forma entusiástica o modelo de computação em nuvem para seus sistemas ERP, pelo menos nos próximos 3 anos. Depois, só bola de cristal…mas, não será fantasioso vermos os principais fornecedores de ERP oferecendo versões em nuvem ao lado do modelo tradicional, on-premise. A estratégia deles será, naturalmente, fazer uma migração lenta e gradual. Uma disrupção afeta seus modelos de negócio atuais e como os seus clientes, grandes corporações, também não são adeptas de rupturas, o acordo tácito entre as duas partes vai direcionar o ritmo de adoção da computação em nuvem para estas suites.

Algumas conclusões…Primeiro computação em nuvem não deve ser vista apenas pela ótica de redução de custos, mas os benefícios potenciais das áreas de TI permitirem mais agilidade e flexibilidade aos usuários devem ser considerados com atenção.

Outra conclusão: as áreas de TI não devem ignorar ou subestimar a pressão que os usuários, logo que perceberem o valor da computação em nuvem farão.

Quanto aos ERP. A situação de hoje não pode ser cristalizada, como em uma foto. A evolução do mercado e a mitigação de eventuais problemas que impedem uma empresa de migrar para um ERP corporativo em nuvem vai acontecendo a cada dia. Sugestão: olhar o cenário dos sistemas ERP em nuvem não como uma foto mas como um webcast.

E finalmente: computação em nuvem não deve ser um projeto específico de TI nem exclusivo dos usuários, de forma independente. É uma mudança no modelo

69

Page 70: Computacao Em Nuvem Cezar

computacional da empresa e portanto, um projeto corporativo. E, importantíssimo, não pode haver desconexão entre TI e seus usuários.

70

Page 71: Computacao Em Nuvem Cezar

Um pouco do GAE (Google Application Engine)

fevereiro 23, 2010

Ultimamente tenho recebido alguns emails indagando minha opinião sobre o GAE (Google Application Engine) e sua aplicabilidade em ambientes corporativos. Então, para começar, vamos detalhar um pouco o que é o GAE e suas funcionalidades. O GAE é a oferta do Google para a camada de cloud computing que chamamos de PaaS ou Platform-as-a-Service. O GAE se propõe a criar uma plataforma para desenvolvimento e execução de aplicativos Web, que rodarão na nuvem do próprio Google.

É uma tecnologia bastante recente, apresentada ao mercado em abril de 2008, tanto que com algumas exceções, como o Google Moderator (http://moderator.appspot.com/), as aplicações do próprio Google Apps não foram escritas usando o GAE.

A integração com sistemas on-premises é feita via um recurso chamado SDC (Secure Data Connector), mas que é viável apenas para integrações relativamente simples. Na verdade, a estratégia do Google tem sido claramente bottom-up, oferecendo o GAE basicamente para desenvolvedores, sem propor seu uso para ambientes corporativos. A sua proposição de valor não tem alcançado os CIOs ou CTOs das grandes corporações. Aliás, o DNA cultural do Google não é voltado para grandes empresas e sim para usuários finais e desenvolvedores.

Mas, o que o GAE propõe aos desenvolvedores? Que eles construam e testem suas aplicações em máquinas locais (fazendo o download do AppEngine Software Development Kit) e uma vez tendo a aplicação pronta, com um simples upload, torná-la disponível diretamente da nuvem do Google. Estas aplicações podem estar abertas ao mundo todo ou serem limitadas apenas aos funcionários de sua empresa. Existe um domínio especifico para estas aplicações, chamado appspot.com, onde a aplicação pode ter qualquer nome que o usuário deseje.

Uma caracteristica interessante do modelo GAE é que o custo para começar a usá-lo é zero. Todas as aplicações podem usar uma quota de até 500 MB de memória e um razoável tempo de CPU, bem como atender até 5 milhões de page views por mês, sem pagar absolutamente nada. Mas o consumo de recursos acima das quotas vai obrigar ao que o usuário pague os excedentes ao Google.

Existem vantagens e desvantagens. Com o GAE o desenvolvedor não precisa se preocupar com questões como disponibilidade de middleware ou gerenciamento do sistema. Estas facilidades são disponibilizadas de forma automática e transparente para os seus usuários.

Por outro lado, algumas restrições incomodam, como por exemplo, a possibilidade de se apenas escrever programas em Python e Java (até agora nada se falou em PHP ou Perl…), voltadas para Web, e que devem retornar resultados em uma janela de tempo de

71

Page 72: Computacao Em Nuvem Cezar

30 segundos. Se a aplicação demorar mais, o request é encerrado e a nuvem retorna um código de erro ao usuário. Outra restrição é o numero de resultados que podem retornar em resposta a uma query: máximo de 1000.

Também a ausência de uma base de dados relacional é outra restrição bem desconfortável. A persistência dos programas GAE é feita via BigTable, sistema de banco de dados não relacional, que suporta a própria estrutura de dados da nuvem do Google. Embora o BigTable seja amplamente escalável, é otimizado para operações de leitura, típicas dos acessos do motor de busca do Google. O acesso ao BigTable é efetuado por um conjunto de APIs que não suportam a linguagem SQL. Além disso, por não ter visão relacional, deixa a validação da integridade dos dados a cargo do desenvolvedor.

Outro ponto negativo é que o GAE não suporta aplicações baseadas no estilo SOA (Service Application Architecture), no qual existe uma clara separação entre as camadas de software através de interfaces formais e abertos. SOA é fundamental para integração entre sistemas e o GAE, não suportando padrões SOAP e WSDL cria um grande entrave, pois não se imaginam aplicações corporativas, salvo raras exceções, que não tenham grande demanda de integração com outras.

Na minha opinião, estas restrições impedem que uma aplicação GAE evolua para ser corporativa e integrada a ambientes legados. Além disso, ainda não existem casos práticos de uso em aplicações corporativas e eu, pessoalmente, recomendo que o GAE seja usado, pelo menos por enquanto, apenas para aquelas novas e pequenas aplicações Web de âmbito departamental ou stand-alone, sem integração com aplicações legadas.

72

Page 73: Computacao Em Nuvem Cezar

Usando cloud no EC2 da Amazon

fevereiro 26, 2010

Com a crescente popularidade do modelo Cloud Computing e da proposta da Amazon (como a plataforma EC2), tenho observado que varios fornecedores de software anunciam ofertas especificas para este ambiente. Entretanto, estes anúncios muitas vezes tendem a ser um tanto exagerados e acabam criando uma percepção um tanto enganosa para o mercado. Vamos analisar um pouco mais detalhadamente o que é a oferta EC2 da Amazon e validar se estas ofertas são realmente tão milagrosas assim.

A plataforma EC2 oferece basicamente um ambiente virtualizado de servidores x86, suportado pelo sistema de virtualização Xen. Um servidor virtual ou uma instância (Amazon Machine Image ou AMI) é na verdade é uma imagem virtualizada de um servidor com sistema operacional como o Linux. Quando um fornecedor de software diz que suporta a plataforma EC2 ele está criando uma ou mais AMIs, adicionando seu software e os middlewares necessários.

Na imensa maioria das vezes estas ofertas são os mesmos softwares que rodam em servidores x86 tradicionais, com pequenas alterações para suportar os sistemas de arquivos da Amazon (Elastic Block Store, EBS) ou S3 (Simple Storage Service). Isto é necessário, pois ao contrário dos servidores tradicionais, uma AMI não embute automaticamente persistência em disco. Além disso, o software pode ser otimizado para rodar no EC2, como por exemplo considerando que os discos virtuais (S3, por exemplo) não são locais e portanto demandam latência tipica de discos remotos. Também, uma vez que a Amazon cobra por numero de operações de I/O no EBS, otimiza-se o código diminuindo a demanda do software aos discos. Taí uma boa questão: o fornecedor ao dizer que suporta EC2 está fazendo alguma otimização para este ambiente ou está deixando o software exatamente como funciona nos servidores fisicos?

Outra carateristica tipica do EC2 é que a escalabilidade da Amazon é horizontal, ou seja, abre-se mais instâncias. Mas, de maneira geral os softwares tradicionais aumentam sua escalabilidade através de mais recursos computacionais da mesma máquina, ou seja explorando a capacidade de servidores de maior potência. O problema é que a Amazon, ao detetar que a utilização de CPU de uma determinada instância atingiu um limite determinado, abre automaticamente uma nova instância. O efeito prático é o de instalar um novo servidor fisico quase instantaneamente. A questão é: o software consegue tirar proveito deste novo servidor? Na verdade estamos concluindo que colocar uma aplicação no EC2 não a torna automaticamente uma aplicacao “cloud”, mas sim que ela usa uma infraestrutura em cloud. A escalabilidade da infraestrutura não se reflete automaticamente na escalabilidade da aplicação.

Outro aspecto que nem sempre é “lembrado” nas ofertas dos fornecedores: que modelo ou modelos de licença são adotados? Aí podemos ter vários tipos, como licenças voltadas para usos exploratórios, ou seja, propostas para testar o software no ambiente de cloud,

73

Page 74: Computacao Em Nuvem Cezar

mas sem permissão ou condições para uso em produção, ou licenças específicas para o EC2, como cobrança por instância e/ou por tamanho da AMI. Recomendo olhar as licenças com atenção, para evitarmos surpresas nos custos de propriedade.

E já que falamos em custo de propriedade (TCO), sugiro enfáticamente avaliar o TCO da solução EC2 versus o modelo tradicional. Apenas pelo fato de estar na Amazon não garante à empresa que seus custos de TI serão menores. Instâncias virtuais não tem capex (capital expenses), como servidores físicos, mas dependendo de como serão gerenciadas e das licenças de softwares adotadas, podem até apresentar opex (operating expenses) mais elevados.

Um bom exemplo de flexibilidade no uso da plataforma EC2 da Amazon é o da IBM. Vejam em http://aws.amazon.com/ibm/ .

Mas, é indiscutível que o modelo de cloud computing ainda é um work in progress e a cada dia aprendemos um pouco mais. Recentemente a Amazon criou uma oferta bem interessante chamada de Spot Instances. A idéia é simples: a Amazon faz leilão automático de recursos computacionais. Se a demanda pela nuvem da Amazon diminui, os recursos tendem a baratear. Caso aumentem, os recursos tornam-se mais caros. É uma estratégia de precificação dinâmica. Funciona assim: baseada na lei da oferta e procura a Amazon determina um valor mínimo para as intâncias. Estes preços flutuam livremente, de acordo com a demanda, influenciados, por exemplo, pela hora do dia. O usuario dá seu lance. Se o seu lance é maior que o preço esperado pela Amazon, a instância é alocada a ele, que pode começar a executar. Quando o preço da instância torna-se maior que o lance oferecido, a instância é suspensa e só volta a rodar quando o lance se tornar maior novamente. Toda a operação é automática. Claro que esta oferta só vale para determinados tipos de aplicação, que não sejam dependentes de tempo.

O que isto sinaliza? Que ainda estamos dando os primeiros passos de novos e inovadores modelos de negócio em cloud, quebrando a mesmice dos modelos atualmente praticados. Teremos dias bastante interessantes.

74

Page 75: Computacao Em Nuvem Cezar

Segurança em Cloud Computing

março 4, 2010

O tema Cloud Computing vai ser o assunto dominante neste e nos próximos anos. Mas, um dos seus principais questionamentos é com os aspectos de segurança. Recentemente foi criada uma associação chamada Cloud Security Alliance (http://www.cloudsecurityalliance.org/) que entre outras coisas produz um relatório muito interessante, que aliás todos os interessados em segurança nas nuvens deveriam ler. Este relatório é o “Security Guidance for Critical Areas of Focus in Cloud Computing”. Está na sua versão v2.1 e está disponível para download gratuito desde dezembro do ano passado.

O relatório é um work-in-progress, pois Cloud Computing ainda é um conceito e um modelo computacional em evolução. De um lado, nos obriga a estar permanentemente atentos às suas evoluções tecnológicas e conceituais. De outro, nos leva a tomar decisões de algum risco, pois nem sempre as tecnologias envolvidas estão no nivel de maturidade que gostariamos que estivessem. Mas, olhando de forma positiva, em vez de riscos, que tal visualizarmos as oportunidades que a computação em nuvem nos abre?

A questão de segurança é de fundamental importância. O ritmo e disseminação da computação em nuvem está diretamente relacionado com o grau de confiança no modelo e nas tecnologias envolvidas. Sem se sentir confortável com o nivel de segurança obtido, os gestores das empresas não tomarão decisões favoráveis. Assim, conhecer os múltiplos aspectos que envolvem segurança em Cloud Computing é obrigação de todo gestor ou profissional de TI. O relatório começa com um nivelamento dos aspectos conceituais da computação em nuvem, seus modelos de serviço (Infrastruture-as-a-Service, Platform-as-a-Service e Software-as-a-Service) e de entrega (public ou private clouds). A partir daí descreve os aspectos críticos que se relacionam com segurança, divididos basicamente em dois domínios: o domínio da governança (incluindo fatores como riscos, compliance, auditoria, inreoperablidade entre nuvens e assim por diante) e operacional, que inclui variáveis como operação do data center em cloud, continuidade do negócio, gerenciamento de identidades de acesso, virtualização, etc.

À medida que mais e mais experiências práticas sejam obtidas com cloud computing, o relatório sera expandido e acrescido de mais e mais detalhamentos. A CSA é aberta a filiados empresas ou individuos (eu sou um filiado individual) e vale a pena estar ligado a ela.

Mas, para finalizar este post, quero chamar atenção para um fato. Ainda é comum ver muita gente achando que Cloud Computing vai demorar para se disseminar, principalmente porque muitos analistas de industria fazem estimativas conservadoras de sua adoção pelo mercado. É verdade que os relatórios de analistas de indústria com estimativas em relação as tendências e perspectivas de Cloud Computing tendem a ser

75

Page 76: Computacao Em Nuvem Cezar

bem conservadoras. Gartner, por exemplo, diz que o mercado de Cloud Computing será de 150 bilhões de dólares em 2013.

Mas, eu não concordo com eles…Este valor será muito mais alto. Minhas razões para esta discordância: estou lendo um livro muito interessante, chamado de “The Singularity is Near”, de Ray Kurzwell e ele me dá insights que me fazem acreditar que a disseminação da computação em nuvem será muito mais rápida e abrangente que os analistas de indústria propõem em seus relatórios.

Vamos começar do princípio. Von Neumann, o lendário criador da computação, fez duas importantes observações: uma que o progresso humano é exponencial e não linear. A outra é que este crescimento exponencial começa devagar e muitas vezes passando desapercebido, até que atinge um ponto critico, quando se transforma em algo explosivo e profundamente transformador.

O que acontece é que geralmente fazemos nossas previsões baseadas na perspectiva de um crescimento linear e não exponencial. Mas o ritmo de mudanças está se acelerando. Por exemplo, os ultimos 20 anos de progresso do século XX seriam conseguidos hoje em 14 anos. Em breve em apenas 7 anos e assim sucessivamente. Em termos práticos, o seculo XXI terá um ritmo de progresso tecnológico pelo menos 1000 vezes maior que o que vimos no século que acabou recentemente.

Mas, intuitivamente, consideramos como nosso modelo mental nossa experiência dos ultimos anos e replicamos os seus ritmos de crescimento. Assim, se um modelo computacional anterior, como o cliente-servidor, se disseminou em 15 anos, tomamos este tempo como base e projetamos de forma similar o crescimento da computação em nuvem. Mais ainda, geralmente esquecemos que muitas outras mudanças tecnológicas afetam o cenário, contribuindo mais ainda para a aceleração dos processos de mudança. Um exemplo foi o crescimento da Internet. Em meados dos anos 80, como a Internet era constituída de apenas algumas dezenas de milhares de servidores, ninguem imaginava o que ela seria hoje. Mas com um ritmo de crescimento que dobrava o numero de servidores a cada ano (eles se tornavam mais baratos e poderosos em periodos de tempo cada vez mais curtos) hoje temos centenas de milhões de maquinas interconectadas. Se considerassemos apenas o estado da arte da tecnologia de 1985, a Internet seria apenas uma pequenissima fração do que é hoje.

Quando as mudanças se aceleram, o novo paradigma se torna rapidamente dominante e substitui o anterior. Um exemplo foi a completa substituição do modelo computcional centralizado, que dominou a TI até meados dos anos 80, pelo modelo distribuido, cliente-servidor. Hoje não existe nenhuma empresa que baseie sua computação unicamente no modelo centralizado. Mesmos as empresas que dependem fortemente do antigo símbolo tecnológico deste modelo, o mainframe, usam estas máquinas em conjunção com outros servidores. O que significa? Que em algum tempo (cinco ou dez?) o que teremos será basicamente a computação em nuvem.

76

Page 77: Computacao Em Nuvem Cezar

Na minha opinião este é o cenário da Cloud Computing. O seu crescimento será muito mais rápido e intenso que os analistas dizem e mesmo que muitos dos atores atuais da indústria de TI gostariam que fosse…

Qual será a velocidade de adoção de Cloud Computing?

abril 5, 2010

Fim das férias e de volta ao batente…Retornando ao assunto que me motiva cada vez mais, que é Cloud Computing. O modelo de Cloud Computing é bem recente, com o próprio termo sendo criado há poucos anos, mais precisamente em 2006.

A velocidade de sua adoção será regulada pelas próprias forças de mercado. De um lado, usuários que estão cada vez mais propensos a reduzir seus custos e melhorar a utilização do seu parque computacional, vêem a computação em nuvem como a melhor alternativa para isso. Os seus impulsionadores são bastante atrativos para serem menosprezados, como redução dos investimentos em capital (as empresas estão favorecendo cada vez mais o OpEx contra o CapEx), modelo “pay-as-you-go” ou “subscription-based” (típico do SaaS), elasticidade (infraestrutura alinhada com a flutuação da demanda) e maior agilidade na entrega de serviços de TI.

De outro lado, agindo de forma mais conservadora, os tradicionais fornecedores de TI, que receiam ver suas atuais margens sendo reduzidas. Por exemplo, a margem dos fornecedores de SaaS é bem menor que as margens conseguidas atualmente com o modelo tradicional de licenciamento de software on-premise. Também as margens do “storage online” são bem menores que as obtidas com a venda de sistemas físicos de armazenamento.

Em princípio, vemos que os mais afoitos em adotar Cloud Computing são pequenas empresas e start-ups sem sistemas legados. As grandes corporações tendem a ficar em espera, observando o cenário, mas fazendo algumas experiências e provas de conceito….Mas, já vemos alguns sinais de mudança no ar, vindo destas grandes corporações. Por exemplo, a Panasonic assinou com a IBM (Lotus Live) um contrato para colocar em nuvem seu ambiente de colaboração e email para seus 380.000 funcionários no mundo todo. Em outro exemplo, a cidade de Los Angeles, nos EUA, contratou o Google para colocar em nuvem o email dos seus 34.000 funcionários. Estes movimentos sinalizam que não são apenas pequenas empresas que estão mergulhando na onda do Cloud Computing. À medida que outras grandes empresas embarquem neste trem, e mais e mais experiências positivas sejam divulgadas, o ritmo tenderá a se acelerar de forma exponencial.

Quando falamos em provedores dos vários serviços em nuvem, como IaaS, PaaS e SaaS, vemos diferentes doses de entusiasmo. Por exemplo, ao falar em IaaS, temos os “pure play”, como as empresas da Internet como Amazon e Google, que aproveitam seu imenso parque computacional, já gerenciado em nuvem, para prover parte desta capacidade para clientes externos e portanto ansiosos para disseminar o conceito. Mas também temos os

77

Page 78: Computacao Em Nuvem Cezar

provedores de outsourcing, que buscam atualizar seu portfólio de ofertas, mas tentando encontrar o ponto de equilíbrio, para não canibalizar suas ofertas atuais. Em software vemos este mesmo cenário. Os primeiros provedores de SaaS foram empresas criadas com este objetivo, como a Salesforce, enquanto os fornecedores tradicionais ficaram à espera para ver o que ia dar. A IBM é um caso peculiar. É uma empresa que atua no mercado tradicional de TI, obtendo receitas imensas com outsourcing, venda de hardware e licenciamento de software on-premise, mas que consegue, apesar de seu imenso tamanho (mais de 400.000 funcionários no mundo todo), agir com rapidez e se colocar como forte player em novos segmentos. Está sendo assim com Cloud Computing. Sugestão: acompanhem de perto as estratégias e ofertas de Cloud Computing da IBM.

Na minha opinião, o que veremos nos próximos anos será a operação conjunta dos modelos atuais e o de cloud computing, uma vez que será praticamente impossivel uma grande corporação mergulhar de cabeça em uma mudança estilo Big-Bang. Veremos nuvens híbridas, com parte de aplicações e infraestrutura operando em nuvens privadas e parte em nuvens públicas, e mesmo alguns servidores e aplicações sendo ainda operados da forma tradicional.

Como se preparar para este novo tsunami? O SaaS, por exemplo, oferece uma liberdade muito grande aos gestores de linhas de negócio que estejam insatisfeitos com os tempos de entrega do setor de TI de suas empresas. Com simples pesquisas aos “application markets” como o AppExchange da Salesforce e mesmo com o desenvolvimento de aplicações mashup, que não demandam pós-graduados para serem escritas, podem, com muita rapidez terem seus anseios satisfeitos. Bypassando a área de TI.

Mas existe um risco incubado. A adoção livre e irrestrita de soluções em SaaS podem gerar problemas de integração com sistemas legados e mesmo entre si. O que fazer? Impedir adoção de aplicações SaaS? Nem pensar. O setor de TI não conseguiu segurar a onda do modelo cliente-servidor, que começou nas áreas usuárias e só depois é que foi relutantemente aceito (o mesmo aconteceu com as aplicações web), e não terá cacife para segurar o fortíssimo apelo do modelo Cloud e SaaS.

A sugestão é criar um modelo de governança que permita gerenciar de forma eficaz as iniciativas de aquisição e gestão de cloud computing, sejam IaaS ou SaaS, que inevitavelmente se espalharão pela organização. O preço de não fazer isso será um TCO mais alto. Haverá um alto risco de milhares de usuários acessando diversas nuvens publicas diferentes com os inevitáveis problemas de integração e eventuais quebras dos protocolos de segurança e auditoria da empresa. Portanto, as áreas de TI não devem ficar à margem do Cloud Computing. Devem criar politicas de governança de Cloud Computing, explicitando os procedimentos de seleção, aquisição e utlização. Ficar à espera signfica deixar uma bomba relógio ser armada, pois mais cedo ou mais tarde os problemas cairão no seu colo. É muito mais inteligente prevenir que remediar a situação.

78

Page 79: Computacao Em Nuvem Cezar

Linux em Cloud Computing

abril 8, 2010

Outro dia estava conversando com um amigo sobre o Linux, sistema que fará 20 anos no ano que vem. O Linux já representa hoje uma força econômica considerável, com um ecossistema estimado em 25 bilhões de dólares. Está em praticamente todos os lugares. Quando fazemos uma pesquisa no Google ou lemos um livro no Kindle é o Linux que roda nos bastidores.

O Linux demonstrou de forma inequívoca o potencial do desenvolvimento de sistemas de forma colaborativa, que é o cerne do modelo Open Source. Seria praticamente impossível para qualquer empresa de software, sózinha, criar um sistema operacional de seu porte e complexidade. Estima-se que o custo de desenvolvimento de uma distribuição como a Fedora 9, com seus mais de 204 milhões de linhas de código corresponda a quase 11 bilhões de dólares. Para chegar ao kernel 2.6.30 (mais de 11 milhões de linhas de código) o investimento seria de mais de 1,4 bilhão de dólares.

Para se ter uma idéia do volume de trabalho em cima do kernel, nos ultimos 4 anos e meio, a média foi de 6.422 novas linhas de código adicionadas por dia, além de outras 1.687 alteradas e 3.285 removidas. Do 2.6.24 ao 2.6.30 a média subiu para 10.923 linhas de código adicionadas por dia. Quem teria cacife financeiro para sustentar, por si, um empreendimento bilionário destes?

Portanto, o Linux é uma força no presente. É usado não apenas em web servers e print servers, mas a cada dia vemos mais e mais aplicações core das empresas operando em plataformas Linux. A IBM, por exemplo, consolidou seu ambiente de computação interno (seus sistemas internos) em plataformas mainframe System Z, rodando Linux.

O Linux ainda tem muito espaço para crescer. É bem provavel que vejamos uma migração mais intensa de ambientes Unix como Solaris e HP-UX para Linux, devido a incerteza quanto ao futuro destas plataformas. Qual será o futuro dos servidores Solaris sob a nova administração de uma empresa de software como a Oracle, que não conhece os meandros dos modelos econômicos do setor de hardware?

E as plataformas baseadas em Itanium? Manter uma linha de processadores demanda muito investimento e é necessário que haja escala suficiente para haver retorno financeiro. Em comparação com a linha Xeon, o Itanium não é um produto de alto volume para a Intel. Embora a Intel não publique o seu volume de produção, analistas de indústria estimavam que em 2007 o ritmo de produção era de 200.000 processadores por ano. Segundo o Gartner, em 2007 o número de servidores Itanium vendidos foi de 55.000. Número muito pequeno quando comparado com os 417.000 servidores RISC (da familia Power da IBM e das demais tecnologias) e os 8,4 milhões de servidores x86.

79

Page 80: Computacao Em Nuvem Cezar

Mas, e o futuro? Com as mudanças que já estão acontecendo, como a crescente disseminação da computação móvel e o modelo de computação em nuvem (Cloud Computing), como o Linux se posiciona?

É uma resposta fácil. O Linux, que não conseguiu muito espaço nos desktops está se posicionando como plataforma dominante na computação móvel, como smartphones, netbooks e tablets. No seu último ano fiscal que se encerrou em 30 de junho do ano passado, a Microsoft pela primeira vez reconheceu em seu relatório para os acionistas que os sistemas Linux para máquinas cliente, basicamente netbooks, da Red Hat e Canonical seriam ameaças ao seu negócio. Anteriormente, só havia reconhecido a ameaça do Linux nos servidores. O relatório está em http://tinyurl.com/kr723z. Também nos smartphones está claro que o sistema Windows, que dominou a era dos desktops não conseguiu decolar na computação móvel, com o Windows Mobile perdendo espaço a cada dia.

E quanto aos servidores? Nestas máquinas o Linux está altamente alinhado com as tendências de virtualização e cloud computing. Alguns pontos positivos sobre o Linux chamam a atenção, quando falamos em cloud. Primeiro, o Linux opera em praticamente qualquer plataforma de hardware, o que facilita o provisionamento, alocação e gerenciamento de recursos computacionais em nuvem. Podemos criar desde uma nuvem baseada em plataforma x86 como o Google até nuvens em mainframes IBM, aproveitando o alto throughput e facilidade de virtualização destas máquinas. O custo de licenciamento é outro fator interessante. Embora existam distribuições licenciadas, um provedor de infraestrutura em nuvem, pelo grande numero de servidores que deverá dispor (falamos aqui em milhares ou dezenas de milhares de máquinas), poderá adotar, pela escala, versões Linux não comerciais. Virtualização é outro plus do Linux, com diversas tecnologias disponiveis como Xen (base da arquitetura de cloud da Amazon) e KVM.

Hoje, se olharmos Linux em cloud já vemos seu uso como base tecnológica da nuvem do Google, da Amazon, do Force.com do Salesforce e de startups como 3Tera (recém adquirida pela CA), Elastra e Mosso, entre outros. E com certeza seu uso se alastrará pelas futuras ofertas de nuvens.

80

Page 81: Computacao Em Nuvem Cezar

SaaS e o direito dos clientes

abril 14, 2010

Recentemente li um documento muito interessante, chamado “Customer Bill Of Rights: Software-as-a-Service”, em http://tinyurl.com/yza2qs3, onde são debatidos os direitos dos usuários de SaaS.

O modelo SaaS vai ser adotado muito mais rapidamente que os analistas prediziam porque seus impulsionadores são bem atrativos, como menor tempo de implementação quando comparado ao modelo tradicional on-premise (que demanda instalação nos servidores das empresas), ciclos de atualização e inovação mais frequentes e menos dores de cabeça quando dos upgrades, pois todo o trabalho é efetuado nos bastidores, nos servidores do próprio provedor, e não mais nas máquinas dos clientes. Além disso, os seus contratos são por assinatura e não mais de licenciamento, deslocando os capex para opex. E adicione-se a isso a crescente insatisfação dos clientes com as altas taxas de manutenção e upgrades praticadas por muitas das empresas de software. Tudo isso são impulsionadores quase irresistiveis.

Por outro lado, as empresas de software tradicionais, empurradas pelo mercado, buscam rapidamente criar alternativas SaaS para seus produtos. Algumas chegaram a demitir seus CEOs por não ter articulado uma estratégia de SaaS. Neste momento, de tempos ainda um tanto pioneiros, surgem inevitavelmente alguns desconfortos e desentendimentos. De maneira geral, a história tem mostrado que poucas empresas da industria de TI conseguem fazer uma transição bem sucedida quando de uma quebra de paradigmas. Por exemplo a maioria dos fornecedores de banco de dados e aplicações dos anos 80 não conseguiram sobreviver à mudança para o mundo relacional e cliente-servidor. Lembram-se da Cincom e seu banco de dados Total ou da Cullinet e seu IDMS? E da McCormack&Dodge, no setor de aplicativos? Pois bem, estamos às portas de uma nova ruptura e muitas das empresas de software que ficaram 20 anos desenvolvendo e aperfeiçoando seus modelos de negócio sob o conceito on-premise terão muita dificuldade para se transformar.

Por isso este documento de Bill Of Rights vem na hora certa. Embora ainda seja um work-in-progress, põe um pouco de luz no cenário e ajuda, tanto aos provedores quanto aos usuários de SaaS a pensarem um pouco melhor em como fornecerem e contratarem estes serviços. É melhor que o relacionamento entre os provedores de SaaS e seus clientes comece corretamente, sem os vícios das relações anteriores. Prevenir é melhor que remediar e tentar posteriormente consertar contratos defeituosos.

Alguns hábitos adotados por algumas empresas de software do modelo on-premise podem contaminar os novos relacionamentos e não devem ser aceitos pelos usuários. Por exemplo, exigências de contratos de confidencialidade que impeçam o usuário de debater ou obter assessoria externa na análise de contratos e politicas de preço praticados pelo provedor. O documento, que merece ser estudado mais detalhadamente, aborda diversas

81

Page 82: Computacao Em Nuvem Cezar

questões importantes. Uma delas é que a essência da relação muda de licença perpétua (on-premise) para “uso perpétuo” (SaaS) e para criar uma relação win-win é necessário validar alguns pontos como:

a) No modelo SaaS multi-tenancy os provedores detém o código e os usuários são “donos” apenas de seus dados e metadados. Mas, se o provedor sair do mercado? Ou for adquirido por um competidor de sua empresa? Quais são as estratégias de saída que você vai adotar e como impedir o aprisionamento forçado (lock-in)?

b) No SaaS os upgrades e inovações são disponibilizados automaticamente a todos os usuarios, pois são efetuados na nuvem do proevdor. Mas, o provedor está comprometido (e tem cacife financeiro) para manter um ritmo de evolução e inovação adequado? Estas inovações representarão mudanças contratuais?

c) Quais são as técnicas e procedimentos de disponibilidade e backup implementados pelo provedor?

d) Quais são as práticas de governança adotadas pelo provedor? Ele tem preocupação em estabelecer relações duradouras e não meramente transacionais? É uma relação que incentiva a transparência, debatendo-se de forma aberta eventuais problemas?

O documento detalha aspectos que o usuario deve esperar de um provedor, em todas as fases de seu relacionamento, que são as fases de seleção do software, deployment, adoção, otimização e renovação ou cancelamento contratual. Sem entrar em detalhes, podemos destacar os seguintes pontos:

a) Na fase de seleção, é adequado esperar uma politica de “try before buy” e cláusulas bem claras e explicativas de licenciamento e precificação. É de se esperar também que o provedor auxilie na análise de TCO, disponibilize acesso a comunidades de usuarios (para referências e troca de opiniões isentas) e permita uma “due diligence” quanto aspectos financeiros, legais e de riscos.

b) Na fase de deployment os usuarios devem esperar que seus provedores SaaS disponibilizem por conta própria ou por terceiros treinamento, especialistas e um claro reporte do andamento do projeto de implementação.

c) Quando da adoção, espera-se que o software tenha qualidade adequada, suporte eficiente e cumpra os niveis de serviço contratados.

d) Otimização. De forma similar aos usuários de celulares, espera-se que clientes mais fiéis sejam recompensados e que inovações sejam periodicamente disponibilizadas.

e) e finalmente, na renovação ou eventual cancelamento do contrato, espera-se que o provedor facilite a transição para outro provedor e apague os dados armazenados em seu cloud center.

82

Page 83: Computacao Em Nuvem Cezar

O modelo SaaS abe uma oportunidade para clientes e fornecedores de software repensarem seu relacionamento. O modelo on-premise muitas vezes incentiva, por razões comerciais (pressão pelo fechamento da cota do trimestre), a criação de relacionamentos transacionais. O modelo SaaS substitui estas relações transacionais por prestação de serviços onde a relação win-win é essencial para continuidade do contrato. Os dois lados devem entender e garantir que seus direitos e deveres sejam cumpridos. Novos tempos, nova maneira de se pensar software!

83

Page 84: Computacao Em Nuvem Cezar

Implicações financeiras do SaaS

abril 20, 2010

Esta semana almocei com um amigo, empresário da industria de software. Ele tem uma empresa que desenvolve e comercializa pacotes de software e está muito preocupado com o imenso desafio que é o tsunami da Cloud Computing e SaaS para seu negócio. A conversa fluiu na direção dos aspectos financeiros (afinal, minha formação foi economia e só depois é que fiz o mestrado em ciência da computação) e nas necessidades de transformação que sua empresa irá sofrer.

Na minha opinião já está claro que Cloud Computing e SaaS irão (aliás, já estão…) transformando industria de TI e abre novas e desafiadoras oportunidades para empresários e empreendedores. Por outro lado, toda mudança apresenta riscos e a relutância em adotar novos modelos é sempre alta. Explica-se: de maneira geral não aceitamos mudanças em grande escala com facilidade, sobretudo quando estas mudanças abalam nossas crenças e modelos mentais. Geralmente apenas quando a crise se instala é que as resistências são vencidas. A empresa de meu amigo ainda não está em crise, mas se ele nada fizer, ela inevitavelmente, virá.

Um dos desafios, o tema principal de nossa conversa, foi como mudar seu modelo de cash-flow sem impactar seus negócios. Hoje quem financia sua operação são seus clientes, quando adquirem licenças perpétuas dos seus pacotes, antes mesmo de implementá-los e usá-los. No modelo SaaS este cash-flow é diferente. Receber pequenos pagamentos mensais ou trimestrais em vez de um polpudo cheque na venda do produto é o principal motivo da mudança do aspecto financeiro de seu negócio. Na prática, mesmo que ele conseguisse receber todas as “prestações” do primeiro ano adiantado, este valor ainda seria bem inferior ao que ele recebe na venda do pacote, pelo modelo atual.

O modelo SaaS mostra algumas características próprias. Uma delas é o elevado “selling cost” com relação ao faturamento. O “selling cost” é o custo de adquirir um cliente. Analisei rapidamente alguns IPOs de empresas SaaS americanas e vi que o investimento na operação (vendas, marketing, hosting do aplicativo e suporte técnico) para suportar o negócio tende a ser bem elevado, chegando algumas vezes a 2x o faturamento previsto. Um exemplo foi o IPO da Netsuite (www.netsuite.com). O documento mostrou que enquanto o faturamento da empresa tinha sido de 17,7 milhões de US$ em 2004, 36,4 em 2005 e 67,2 em 2006, os seus custos de marketing e vendas tinham sido de 27 milhões em 2004 e 39,2 milhões em 2005. Em 2006 foi menor que o faturamento, mas mesmo assim foi de 53% deste valor. Bem, uma pequena explicação. Este valor alto não significa que o “selling cost” real seja mais elevado que no modelo atual, mas apenas que reflete como o faturamento acontece no SaaS. Por exemplo, no modelo atual, venda de licença perpétua, se a empresa de meu amigo tivesse um vendedor, custando a ele 300.000 reais por ano (claro que é hipotético…) e apenas no Q4 ele conseguisse uma venda de um milhão e meio de reais, o seu “selling cost” como percentual do faturamento do ano será de cerca de 20%. Por outro lado, se for no modelo SaaS ele teria vendido um contrato de

84

Page 85: Computacao Em Nuvem Cezar

3 anos, com o pagamento sendo efetuado em 36 parcelas mensais. O “selling cost” seria então de 240% do faturamento do ano! A razão é simples: apenas uma pequenissima parcela do faturamento seria reconhecido naquele ano. Como muitas despesas são efetuadas antes da chegada de receitas, estima-se que empresas SaaS demandem um tempo muito maior que as empresas tradicionais para se tornarem lucrativas.

Mas, ele não poderá ficar inerte, pois o mercado está demandando a mudança. Tem que agir e planejar desde já como migrar para o novo modelo. Na verdade, a mudança não é apenas de redesenho de produtos, mas de modelo de negócios e cash-flow. A equação financeira tem papel importantissimo e fundamental na transformação para SaaS. Mas, existe o lado positivo. O modelo SaaS tende a gerar cash-flows mais estáveis, menos sujeitos a crises que afetam o ciclo de vendas. Afinal os contratos já estão assinados e o modelo pay-as-you-go é bem mais atrativo para os clientes, principalmente em épocas de crises.

No fechamento de nossa conversa acordou-se também que ele deverá estudar a criação de um novo modelo de vendas, que enfatizasse uma relação mais duradoura com o cliente e menos focada no transacional e desenhasse novos modelos de remuneração para sua equipe de vendas envolvida no SaaS. Como ele não poderá fazer a transição no estilo “big bang”deverá manter duas operações simultâneas, um para o modelo tradicional on-premise e outra para o SaaS. Além disso, como o SaaS joga o financiamento da operação do negócio do cliente para a empresa dele, ele precisa repensar seu modelo de desenvolvimento (e hosting) dos pacotes, pois seu custo não poderá ser recuperado pela venda de licenças “upfront”.

Outra mudança é criar um modelo de atendimento e suporte ao cliente muito mais eficiente que hoje, pois o envolvimento com o cliente passa a ser diário. As alterações e upgrades nos seus pacotes serão feitas diretamente nos seus servidores e podem afetar, em caso de falhas, todos os seus clientes ao mesmo tempo.

Um comentário final. Todas as empresas de software conseguirão fazer a transição? Na minha opinião, toda mudança mata empresas e cria outras. Isto também vai acontecer com o Cloud Computing e SaaS. Entendo que as empresas que conseguirão fazer a mudança mais facilmente são as que de alguma maneira já atuam forte em serviços. Explicando. A indústria de software pode ser dividida em três grupos: companhias de produtos, companhias de serviços e híbridas. As empresas focadas em produtos tem mais da metade de seu faturamento oriundas exclusivamente da venda de licenças e manutenção de seus produtos. As empresas de serviços obtém a maior parte de sua receita vinda da customização, instalação, integração e consultoria, ajudando os seus clientes a implementarem os pacotes. As híbridas tem um balanceamento entre as duas modalidades de receitas. Cada grupo tem modelos de negócio próprios.

As empresas de produto tendem a obter rentabilidade mais rapidamente, porque usufruem da economia de escala. Podem aumentar sua receita sem o correlato aumento substancial de seus custos. Mas, não entendem de serviços…na minha opinião terão

85

Page 86: Computacao Em Nuvem Cezar

dificuldades para se tornarem empresas de serviços, caracteristica padrão do modelo SaaS.

Empresas mais focadas em serviços, para crescer precisam aumentar sua equipe de suporte e consultoria, que implementa seus contratos de serviços. Mas, estas empresas já estão acostumadas com prestação e serviços e suas peculiaridades, o que irá facilitar signficativamente a futura adoção do modelo SaaS.

86

Page 87: Computacao Em Nuvem Cezar

Lock-in em Cloud Computing

abril 27, 2010

Venho observando que o conceito de cloud computing vem amadurecendo a cada dia. Passamos pela empolgação inicial e já começamos a entender que existem muitas coisas boas, mas que também existem algumas restrições. Quando falamos em nuvens públicas, alguns dos principais receios e questionamentos referem-se a questão da segurança e da disponibilidade dos serviços. A segurança, por exemplo, pode muitas vezes ser endereçada com o uso de nuvens privadas, desde, é claro, que a empresa tenha uma política de segurança aprimorada. Mas, existe um aspecto preocupante nas nuvens públicas que ainda não tem sido considerada com a devida atenção, que é o alto risco de aprisionamento forçado ou “cloud lock-in”.

O lock-in em nuvens públicas aparece porque cada provedor implementa seu próprio conjunto de APIs e muitas vezes seu próprio banco de dados e ambiente de programação. O resultado é que o usuário acaba ficando aprisonado na nuvem deste provedor, uma vez que o trabalho de mover suas aplicações para outras nuvens não será muito simples e nem será barato. Porque isto acontece? Uma caracteristica diferenciadora do ambiente de cloud computing com relação ao ambiente tradicional é que a infraestrutura em cloud, por si, é programável. Por exemplo, para usarmos os serviços S3 ou SimpleDB da Amazon usa-se um conjunto de APIs próprias. O mesmo acontece quando usamos o GAE (Google Application Engine) e seus recursos proprietários de banco de dados (BigTable). O problema é que estas APIs implementam acesso a recursos especificos e proprietários e não são padronizados. Migrar de uma nuvem como a da Amazon para a do Google ou do Azure da Microsoft para o Google demandará um belo trabalho de conversão.

Observamos um fato interessante: quanto maior o nivel de abstração da nuvem, maior seu potencial de lock-in. Ou seja, uma nuvem SaaS oferece maior risco de lock-in que um PaaS e este maior potencial que uma nuvem IaaS. Exemplo prático: o Force.com cria um lock-in bastante intenso pois as aplicações devem ser desenvolvidas na linguagem proprietária do Salesforce que é o Apex, que não está disponivel em outros ambientes de nuvem. Já no GAE, voce pode pegar seu código Java ou Python e usar o programa em outra nuvem, mas caso use (e acaba-se usando) os recursos proprietários como o banco de dados BigTable, tem-se o lock-in.

O que fazer? Bem, já existe uma alternativa a este aprisionamento, que foi a criação das chamadas Open APIs, como as criadas pela RedHat (Deltacloud, que pode ser acessada em http://deltacloud.org/), Apache (Libcloud acessado em http://incubator.apache.org/projects/libcloud.html) e Zend SimpleCloud API (http://www.simplecloud.org/). Outra proposta é a da OGF (Open Grid Forum) Open Cloud Computing Interface, que pode ser vista em http://www.occi-wg.org/doku.php?id=start). Estas APIs criam uma camada de abstração permitindo que o desenvolvedor não tenha que se procupar com APIs de nuvens específicas. A proposta é que uma OpenAPI se encarregue de fazer automáticamente a tradução para as APIs especificas. As

87

Page 88: Computacao Em Nuvem Cezar

suas limitações são ainda o fato que continua persistindo o problema da interoperabilidade entre as nuvens públicas (uma aplicação rodando na nuvem EC2 da Amazon não fala com a nuvem Azure da Microsoft) e obriga a que o desenvolvedor aprenda este novo conjunto de APIs. Mas, é um bom primeiro passo.

E o futuro? Creio que o modelo de aprisionamento atual é decorrente de um conceito e tecnologias que estão na sua infância e portanto ainda na fase dos provedores destes serviços buscarem consolidar seu espaço no mercado. Históricamente novas tecnologias e mercados na Internet evoluem da seguinte maneira:

a) Um novo mercado ou tecnologia surge baseado no modelo fechado e proprietário.

b) Por pressão de um mercado em crescimento, começam os primeiros sinais de abertura.

c) Quando o mercado ou tecnologia já está maduro, torna-se aberto (open) ou “open enough”.

Na verdade, o conceito de aberto tem perspectivas diferentes quando falamos em serviços, como as nuvens públicas e quando falamos em software. A essência de uma nuvem pública é que o usuário está alugando os recursos computacionais de outra empresa, o provedor de serviços em nuvem. Claro que em um contexto destes o usuário não poderá ter 100% de controle e os serviços de nuvem continuarão fechados (infraestruturas, métodos e práticas proprietários).

Mas, nuvens não interoperáveis serão uma limitação muito grande à própria expansão do mercado de public clouds. A pressão do próprio mercado e a tendência para sistemas abertos vai obrigar a que no futuro estas nuvens públicas sejam realmente abertas. Será absolutamente essencial permitir interoperabilidade entre todas elas. Uma aplicação rodando no Azure deverá demandar acesso a outra que esteja rodando no GAE ou no EC2, sem limitações. Portanto, na minha opinião será questão de tempo vermos APIs abertas e a interoperabilidade entre nuvens.

Para fechar, vale a pena lembrar a iniciativa chamada Open Cloud Manifesto, que mostra a preocupação do mercado com este risco de lock-in. O Open Cloud Manifesto pode ser lido em www.opencloudmanifesto.org) e se propõe a aglutinar empresas que oferecem tecnologias e serviços de cloud em torno da especificação de um padrão aberto.

O manifesto estabelece um conjunto de diretrizes, denominados princípios para nuvens abertas, que asseguram que as organizações que usarem nuvens computacionais não ficarão restritas a padrões fechados, mas terão liberdade de escolha, flexibilidade e abertura para não ficarem aprisionadas a nenhuma nuvem. Dezenas de empresas já fazem parte deste manifesto, como a IBM, CA e EMC, mas algumas outras como Microsoft, Google e Amazon ainda não acordaram nenhum compromisso com esta proposta. Pena, pois padrões abertos são garantia de interoperabilidade entre nuvens.

88

Page 89: Computacao Em Nuvem Cezar

Cloud Computing em governos

maio 5, 2010

O assunto cloud computing é um dos temas mais quentes que apareceram nos ultimos anos, e vem despertando muita curiosidade e interesse. Não poderia ser diferente para os órgãos e gestores de governos. Nos ultimos meses participei de vários e alguns até mesmo apaixonantes debates com gestores públicos onde o tema foi cloud computing e sua aplicabilidade no governo.

Os interesses em cloud computing são óbvios: o setor público está sempre as voltas com restrições orçamentárias, mas ao mesmo tempo recebe mais demanda de serviços a serem prestados a seus usuários, sejam estes servidores públicos ou cidadãos. Além disso, vem investindo em tecnologias de virtualização, o que é o primeiro passo para se pensar em cloud computing. Surge então a questão: cloud computing se aplica aos governos e se sim, como?

Tem sido mais ou menos acordado que os governos tenderão a se concentrar, pelo menos no início, na adoção de nuvens privadas. Entretanto, aqui e ali aparecem algumas primeiras experiências em nuvens públicas, como o contrato que a cidade de Los Angeles assinou com o Gmail, serviço de nuvem pública do Google. Pode ser um sinal de quebra de paradigma.

Mas o uso de nuvens públicas ainda abre muitos questionamentos para o setor público, principalmente no tocante a segurança e privacidade dos dados e a disponibilidade do serviço. Também a questão dos aspectos legais, uma vez que o órgão de governo deixa de ter controle sobre a jurisdição de onde os dados estarão residindo.

Governos, claro estão preocupados em reduzir custos de suas atividades, mas também se preocupam com as questões de privacidade, acesso a dados e segurança, uma vez que estão na maioria das vezes tratando de informações que dizem respeito aos seus cidadãos.

A Computação em Nuvem traz benefícios claros para os órgãos de governo, como:

Economia de escala. As organizações e empresas governamentais podem comoditizar suas infraestruturas de TI, criando nuvens computacionais que extrapolem empresas e departamentos.

Gestão. Uma infraestrutura comoditizada e operando em nuvem permite que os gestores de TI se preocupem muito mais com as necessidades do negócio em si e menos com questões técnicas.

Elasticidade. Os governos tem dificuldades em adquirir tecnologias de forma rápida. Os processos de compra são burocráticos e lentos. Muitas vezes são obrigados a superdimensionar as configurações contratadas, para minimizar o problema das futuras expansões ou para atender períodos específicos de alto utilização, como por exemplo, o

89

Page 90: Computacao Em Nuvem Cezar

último dia do recolhimento do Imposto de Renda. Com a infraestrutura tecnológica concentrada em nuvens computacionais, conseguem expandir ou reduzir suas necessidades computacionais sem necessidade de passar pelos demorados processos de compra.

Mas, por outro lado, existem alguns riscos e cuidados que os governos devem atentar:

Localização dos dados. De maneira geral os usuários não precisam saber onde os seus dados estão armazenados nas nuvens computacionais públicas. A premissa das nuvens é ser transparente. Pelo fato de muitos dos provedores serem empresas globais, estes dados podem estar residindo em outros países. Esta é uma situação que pode gerar alguns questionamentos legais.

Segurança. É absolutamente necessário ter garantias que os dados classificados como confidenciais estejam armazenados de forma segura e que sejam acessados apenas pelos usuários autorizados.

Auditoria. É necessário que seja plenamente possivel rastrear as movimentações em cima dos dados para atender eventuais demandas de investigações.

Disponibilidade e confiabilidade. Os dados precisam ser sempre acessados quando necessário. Mas, se o provedor de uma nuvem sair do mercado, o que acontecerá com os dados armazenados em seus data centers?

Portabilidade e aprisionamento. Os governos não podem ficar presos à determinado fornecedor de tecnologia ou provedor de srviços. Muitas nuvens ainda são fechadas, impedindo que as aplicações interoperem com outras nuvens. Algumas nuvens forçam inclusive que a linguagem de programação a ser usada na sua platforma seja proprietária, como a Force.com. Outras plataformas, como o Google AppEngine impõem um banco de dados proprietário (BigTable).

Portanto, os gestores de TI de governo devem tomar cuidados redobrados, quando desenhando suas estratégias de Computação em Nuvem. De qualquer maneira podemos pensar em algumas alternativas de uso de computação em nuvem no âmbito de órgãos de gverno. Talvez a modalidade que se tornará mais comum seja a de órgãos de governo adotando este conceito nos seus próprios data center. Estamos falando aqui de uma nuvem privada para uma única entidade. Mas existem outras opções. Veremos também empresas públicas de serviços de TI criando suas nuvens e as oferecendo para seus clientes, também entidades públicas. Outra opção, esta inovadora, poderá ser a de um agrupamento de entidades de governo que pertençam a um mesmo setor (como um ministério) reunindo seus recursos de infraestrutura e criando uma nuvem. A gestão desta nuvem será das próprias entidades e a diferença é que não será uma empresa, mas sim uma junção dos seus recursos computacionais criando um data center virtual.

E quem sabe não veremos, embora, provavelmente apenas em um horizonte um pouco mais distante, o uso de nuvens públicas para determinadas aplicações como email,

90

Page 91: Computacao Em Nuvem Cezar

colaboração (webcasts, blogs e wikis) e mesmo desenvolvimento de aplicações? O uso da Web 2.0 como interface de interação com o serviço público deverá aumentar significativamente nos próximos anos e seu uso a partir nuvens públicas pode ser uma boa opção em termos de custos e flexibilidade.

O cenário mais provavel será similar ao que veremos em empresas privadas, um cenário híbrido, com algumas aplicações em nuvens públicas, e a maioria ou em nuvens privadas ou em servidores dedicados, como vemos hoje no modelo tradicional. Um bom exemplo de uso de cloud computing em governo é a iniciativa do governo americano chamado de Apps.gov, que pode ser visto em https://apps.gov/cloud/advantage/main/start_page.do.

Outro exemplo de uso de cloud é o do próprio portal do governo americano, o USA.gov (www.usa.gov), que reside em um provedor de nuvem pública, chamado Terremark. Este web site foi projetado para concentrar a interação dos cidadãos com o governo americano, direcionando as pessoas aos diversos serviços prestados pelo governo, serviços estes que residem nos sites específicos das diversas agências governamentais. É muito acessado, contabilizando mais de 100 milhões de visitas diárias. Como o site é um hub para acesso às informações críticas do governo, o volume de tráfego varia substancialmente. Com o modelo de nuvem (Iaas ou Infrastructure-as-a-Service) o governo americano mantém um contrato pagando por uma infraestrutura que atende ao volume médio e só dispendendo mais dinheiro quando e se o tráfego aumenta. Não precisam ter uma infraestrutura dimensionada para os volumes de pico. Segundo seus gestores, os custos anuais com o USA.gov cairam de 2,5 milhões de US$ para 800.000 US$. Baseado nos resultados positivos, o governo americano projeta expadir o uso de cloud para o Data.gov (www.data.gov), site que hospeda informações do governo disponibilizadas para os cidadãos e também criar APIs para o USA.gov e Data.gov de modo que os usuários possam desenvolver suas próprias aplicações mash-up, acessando informações sem ter que passar pelo cardápio oferecido pelos sites. Vale a pena dar uma olhada nestes exemplos.

Para finalizar, uma das mais completas e claras definições de cloud computing estão dsponiveis no NIST (US National Institute of Standards and Technology), que define padrões para o governo americano, Vejam o documento em http://csrc.nist.gov/groups/SNS/cloud-computing/cloud-def-v15.doc.

91

Page 92: Computacao Em Nuvem Cezar

Cloud Computing e os canais de vendas

maio 17, 2010

Cloud Computing e SaaS vão afetar profundamente o atual modelo de negócios dos canais de vendas de hardware e software de middleware. Com certeza alguns destes canais vão sobreviver e até se expandir, mas muitos ficarão pelo caminho…Porque?

Bem de maneira geral entendo que existem 3 modelos básicos de canais: (a) o simples “box mover”, que basicamente vende hardware e software, sem maiores envolvimentos com serviços de suporte e integração, competindo unicamente por preço, (b) os que oferecem além da venda, serviços de suporte e integração, e (c) os canais voltados a serviços, que podem ser ISVs (provedores de aplicações ) ou empresas integradoras, que agregam à venda de harware e software um ou mais aplicativos e os serviços de implementação correlatos. Estes ultimos canais competem na base do valor agregado da solução.

Embora as proposições de valor dos três tipos de canais difiram entre si, a base de seus modelos de negócios é uma parceria com o provedor de hardware e software de middleware, de modo que possam comprar seus produtos um preço menor que os clientes pagariam indo diretamente a estes provedores. Dependendo do tipo de canal a lucratividade depende basicamente do valor do desconto fornecido pelo provedor de hardware e software e pelo tamanho do contrato de implementação e suporte.

Dos três tipos de canais me parece óbvio que o primeiro tipo, “box mover”, corre um imenso risco de sofrer desintermediação e simplesmente desaparecer. Os do segundo tipo ainda correm riscos. Principalmente quando os seus clientes migrarem para aplicações SaaS. Já os canais focados em serviços tem grande oportunidade de se transformarem em parceiros para os provedores de Cloud e SaaS.

Mas, o que veremos de mudanças nos modelos de negócios? A tabela abaixo resume o que é hoje o modelo de negócio de um canal atual e o que deverá ser no mundo Cloud e SaaS:

Modelo atual Modelo Cloud/SaaSFluxo de caixa Recebimento na entrega Pagamentos mensaisModelo de atuação Vendas transacionais e papel

técnicoParceiro de negócios

Ênfase das vendas Produto ServiçosÊnfase do suporte “Break/fix” Orientado por SLA

92

Page 93: Computacao Em Nuvem Cezar

O que estas mudanças signficam? Olhemos por exemplo o fluxo de caixa. O modelo SaaS implica em receitas “pingadas” ao longo do tempo e provavelmente margens menores que as atuais. Este modelo também elimina os serviços de implementação e upgrades de versões, uma vez que o software já está hospedado na nuvem do provedor do aplicativo. Os canais que ganham dinheiro com esta atividade terão que substitui-la por serviços de integração do SaS com outros aplicativos. Deverão se focar mais nas funcionalidades dos aplicativos (mais focado no negócio do cliente) e menos nas questões tecnológicas. Os clientes que contratavam servidores e suporte técnico para instalar e atualizar seus sistemas operacionais, com uso de nuvens públicas, dispensam estas atividades, que ficam agora a cargo do próprio provedor da nuvem.

O relacionamento torna-se menos transacional e muito mais voltado a uma parceria de negócios. A venda deixa de ser meramente um produto (como o cliente vai usá-lo é hoje indiferente ao canal…) para ser um contrato de serviços, com valor agregado. Por exemplo, para softwares comercializados pelo modelo SaaS não é necessário um canal intermediário de vendas, pois estas são feitas diretamente pelo provedor. Mas o canal pode prover aditivos, como extensões de funcionalidades próprias, treinamento e consultoria no uso do aplicativo.

Uma analogia muito simples pode ser a comparação com agências de viagens. Antes da Web, o usuario precisava destes intermediários. Com as empresas aéreas vendendo diretamente pela Internet, o papel das agências teve que mudar radicalmente. Só vender passagens tornou-se totalmente dispensável. Vamos olhar agora o segmento de venda de servidores. Antes do modelo Cloud Computing o cliente do segmento de pequenas a médias empresas (SMB) precisava de um canal de vendas pois os provedores de hardware não tinham capilaridade para atendê-los. No modelo em nuvem, para adquirir um servidor virtual, basta ir ao portal do provedor da nuvem e em minutos tem-se um servidor. Para que então o canal? Os canais, para sobreviver, devem, portanto, se transformar em empresas de valor agregado.

Claro que toda mudança traz alguns desafios. Os canais devem antes de mais nada repensarem a si mesmos, definindo o que querem ser. E podem surgir alguns conflitos, como por exemplo, um overlap dos papéis entre os canais e os provedores de SaaS. Onde termina o papel de um e começa o do outro? De quem é o cliente? Quem pode assinar um contrato de SLA com o cliente?

Enfim, os canais tem pela frente desafios e oportunidades. Os canais que fizerem a transição bem sucedida podem se tornar atores de peso no novo cenário. Os outros…

93

Page 94: Computacao Em Nuvem Cezar

Cloud Computing e os desenvolvedores

maio 24, 2010

Cloud Computing está se disseminando e impactando modelos de negócios de empresas de TI já estabelecidas. No curto prazo provavelmente veremos as implementações de soluções em Coud complementando as soluções já existentes no modelo tradicional. Mas no longo prazo o modelo em nuvem deverá substituir gradualmente o modelo computacional atual. Entretanto, seus efeitos já se fazem sentir. Recentemente a Microsoft teve que se dobrar a este novo cenário e começou também a ofertar neste modelo a sua suite Office, sua principal fonte de receita, que gerou 18,9 bilhões de dólares em 2009.

As estratégias de adoção variam de acordo com o porte e maturidade das áreas de TI das empresas. As grandes corporações estão dando seus primeiros passos na direção do Cloud Computing adotando nuvens privadas, enquanto pequenas empresas optam por nuvens públicas. Entretanto, os provedores de nuvens públicas criaram plataformas próprias para desenvolvimento de aplicações em nuvem e neste momento ainda inicipiente de mercado, tentam conquistar as corações e mentes dos desenvolvedores. Aliás, estamos começando a reviver uma outra guerra por espaço (lembram-se do debate interminável entre .Net e Java?), mas agora com Amazon, Google, Salesforce (com force.com) e Microsoft (Azure) tentando conquistar este mercado. Sim, é um alvo importante, pois os desenvolvedores é que na prática, são os responsáveis por conectarem as organizações à suas nuvens. A IBM, por sua vez, tem um approach diferente, que a deixa fora desta briga por ferramentas para nuvens públicas. Aposta que, pelo menos no início, os desenvolvedores usarão sim o modelo de cloud, mas para criar aplicações que rodarão no ambiente tradicional ou em nuvens privadas. Não foca no desenvolvimento de aplicativos para rodarem em nuvens públicas. Pessoalmente, eu acredito que esta opção seja bem interessante para empresas de médio a grande porte, que tenderão a manter seus data centers internamente, usando-os em nuvens privadas.

O cenário atual ainda está indefinido. Os desenvolvedores tem que criar aplicativos para uma plataforma em nuvem pública específica, aplicativos estes que não rodarão automáticamente nas outras nuvens. O risco de lock-in está bem presente. Estes desafios são barreiras que acabam impedindo uma maior e mais rápida disseminação da computação em nuvem.

E o que os desenvolvedores precisam e demandam para que o cenário de Cloud Computing deslanche? Não fiz nenhuma pesquisa exaustiva, mas conversando aqui e ali com amigos que ganham a vida desenvolvendo sistemas, coletei alguns insights. Antes de mais nada eles querem ferramentas fáceis de usar para desenvolver seus aplicativos para rodar em nuvens, ferramentas estas que também estejam disponíveis neste modelo, ou seja, “pay for use”. Além disso, de maneira geral os desenvolvedores que trabalham em ISVs e em pequenas empresas não tem muito budget à sua disposição e como muitas vezes defrontam-se com falta de suporte em seus próprios data centers querem soluções

94

Page 95: Computacao Em Nuvem Cezar

self-service. Também é necessário que exista uma API universal e aberta, que lhes permita escrever uma aplicação que rode em qualquer nuvem. Não querem ficar submetidos à lock-ins. Precisam também que existam ferramentas que permitam integrar de forma fácil, aplicativos que rodem em uma nuvem a sistemas que estejam rodando em outras nuvens, sejam estas públicas ou privadas. E a sistemas que já estejam rodando em ambiente on-premise. E o que eles encontram hoje? Se adotam IDEs (Integrated Development Environment) acoplados a uma plataforma específica, como GAE (Google Application Engine) ou force.com descobrem que estas ferramentas são boas apenas para desenvolver aplicativos para estas nuvens especificas e proprietárias. A Microsoft recruta os desenvolvedores para nuvens dentro de sua comunidade de desenvolvedores que conhecem .Net e querem (ou são forçados) continuar com esta tecnologia. Enfim, todos eles buscam criar e expandir os lock-ins para suas nuvens.

Então, o que os desenvolvedores querem são sonhos de uma noite de verão? Esperam que a indústria crie soluções que lhes permitam desenvolver aplicações para rodar nas nuvens, mantendo o maior grau possivel de similaridade com as atuais ferramentas. Claro que, pelo menos no início, querem criar aplicativos para as nuvens sem mudar a maneira como fazem aplicativos hoje, mas ao longo do tempo demandarão novas ferramentas, mais adequadas ao desenvolvimento para cloud. Na verdade muita coisa já está sendo feita. Por exemplo, em integração, a recente aquisição da Cast Iron pela IBM é um passo na direção de disseminar o Integration-as-Service ofertado pela Cast Iron como parte fundamental do processo de integração de aplicativos em nuvens. Esta integração é necessária tanto com aplicativos que estejam em outras nuvens ou com os que que estejam rodando on-premise em servidores localizados nos data centers das próprias empresas.

De maneira geral que ações posso sugerir aos meus amigos desenvolvedores? Bem, antes de mais nada seria bom que eles compreendessem mais profundamente o que é Cloud Computing, suas restrições (cuidados com lock-ins e as questões de segurança em nuvens públicas) e beneficios. Devem manter-se bem informados sobre a rapida evolução do conceito e de suas tecnologias e ofertas. Sugerir também que comecem a desenvolver pequenos aplicativos em nuvem, testando e validando seus conceitos. Usar uma nuvem para desenvolver um aplicativo é uma boa maneira de se entender o próprio conceito de Cloud Computing e dominá-lo.

E como estamos falando em desenvolvedores, uma tecnologia que os desenvolvedores para nuvens devem aprender a usar é a Hadoop. À medida que a computação em nuvem se dissemina, entender e dominar esta tecnologia vai se tornar mais e mais importante.

Um bom sinal da sua importância são os investimentos dos VCs em start-ups nesta área. Agora há pouco uma start-up focada em Hadoop chamada Karmasphere (www.karmasphere.com) obteve 5 milhões de dólares. Uma outra, Cloudera (www.cloudera.com), já havia levantado 11 milhões de dólares. Quando VCs se interessam por algo é que acreditam que irão recuperar este investimento muitas vezes e em pouco tempo.

95

Page 96: Computacao Em Nuvem Cezar

A evolução do Hadoop tem sido bem rápida. Ele se tornou um projeto top-level da Apache Software Foundation em janeiro de 2008 e em março de 2009 saiu o anúncio oficial da Cloudera, start-up originária deste projeto.

Tem um case muito interessante de uso prático do Hadoop que é o projeto BigSheets da IBM (http://www-01.ibm.com/software/ebusiness/jstart/bigsheets/). É um “insight engine”, construída em cima de um conjunto de várias tecnologias como Hadoop e outras, além do ManyEyes (tecnologia de visualização) que permite extrair montanhas de dados e visualizá-los rapidamente. Um dos primeiros clientes a usar esta tecnologia é a British Library, que a está usando para analisar imensos volumes de dados não estruturados. Este projeto é muito interessante. Parte do princípio que a vida média de um site na Web tem sido de 44 a 75 dias e portanto, a cada seis meses, 10% do conteúdo das Web pages do Reino Unido se perdem. A idéia é usar o BigSheets para extrair, anotar e visualizar estas páginas, para que seu conteúdo, que faz parte da cultura digital do país, não seja perdido. Não é uma tarefa simples. A British Library recebe uma cópia de cada publicação produzida no Reino Unido e além do material em papel, ela vem arquivando páginas selecionadas da Web desde 2004. O BigSheets, além do Hadoop usa outras plataformas open source como o Nutch (http://nutch.apache.org/), para pesquisas na Web e o Pig (http://hadoop.apache.org/pig/), para análise de grandes volumes de dados. O BigSheets é um projeto que roda em uma nuvem privada e é um bom exemplo de software concebido para operar em nuvem desde seu início. Ah, querem ver um test drive do BigSheets? Acessem os arquivos Web da própria British Library em http://www.webarchive.org.uk/analytics/analytics.htm.

96

Page 97: Computacao Em Nuvem Cezar

Cloud Computing: pensando alto

maio 31, 2010

As últimas conversas com executivos de TI e de negócios envolvidos com iniciativas de cloud computing me permitiram criar alguns insights que gostaria de compartilhar aqui. Uma questão é porque Cloud Computing e SaaS tem despertado tanto interesse? Quando analisando a proposta da computação em nuvem vemos que ela conecta o preço que o cliente paga por uma solução ao valor da própria solução e não ao dos componentes de tecnologias que estão por trás. Explicando melhor. Imaginem uma área de negócios que precisa de um determinado aplicativo. Para operar este aplicativo ela tem que comprar alguns servidores e seus softwares basicos. Tem que fazer um estudo comparativo entre tecnologias e analisar o custo de propriedade envolvido. Ela tem que analisar com cuidado este custo de propridade pois um servidor de maior capacidade pode significar um custo de licença maior, mesmo que a funcionalidade do aplicativo seja exatamente a mesma. Mas, este é o modelo tradicional de compra de software aplicativos praticado hoje pela indústria. O que este modelo faz? Faz com que o usuário tenha que se preocupar com a plataforma tecnológica no qual seu aplicativo irá rodar. O custo total da solução envolve o aplicativo e toda a parafernália tecnológica por trás.

Com o modelo de SaaS em computação em nuvem a atenção se desloca para as funcionalidades da aplicação. Ou seja a preocupação passa a ser com o que a solução vai fazer e não como ela vai ser implementada. Não é necessário comprar servidores ou fazer estudos de custo de propriedade.

O modelo de computação em nuvem desloca o foco de produto para o de serviços. O usuário deixa de prestar atenção nos produtos (e tecnologias) em si e começa a se focar nos serviços prestados. Ou seja para ter sua roupa lavada, seu objetivo, em vez de comprar máquina de lavar, ele busca alguém que lave a roupa para ele. Esse alguém é que passa a ter a responsabilidade de comprar e operar a máquina de lavar roupa. Qual marca e qual sabão será usado será responsabilidade do provedor. O cliente recebe e paga apenas o serviço.

Outra consideração interessante é que a maioria das iniciativas de cloud que tenho visto se concentram ou na camada de IaaS (infastruture-as-a-Service) como ofertado pela Amazon ou na camada de SaaS (Software-as-a-Service) como o modelo Salesforce. A camada de PaaS (Platform-as-a-Service) tem andado bem mais devagar. Na minha opinião o modelo SaaS é o de mais fácil implementação e tende a ser o ponto de entrada das empresas no conceito de cloud computing. Outros cenários que começam a despertar interesse para operarem em cloud são aplicações web (quase não existem razões para não colocar em cloud as aplicações web), email e colaboração (vale a pena pensar seriamente no assunto) e desenvolvimento e teste de aplicações (gol dentro).

De maneira geral estimo que as iniciativas de IaaS serão, por parte de grandes empresas, criações de nuvens privadas, com objetivo de reduzir custos. A IBM por exemplo oferece

97

Page 98: Computacao Em Nuvem Cezar

uma solução que se propõe a criar nuvens privadas, chamada CloudBurst, que pode ser vista como um “Amazon EC2 dentro de casa (private cloud)”. Já as SaaS começarão por aquelas aplicações com poucas exigências de integração. Quanto mais stand alone, mas fácil colocar em SaaS. Quanto a PaaS vemos que ainda é um setor imaturo, com poucas empresas conhecidas do mundo de TI atuando forte. Mesmo a iniciativa do Google (Google Application Engine) tem apelo limitado para o ambiente empresarial (não tem suporte para bancos de dados relacionais, por exemplo), sendo mais focado no usuario final. Para o PaaS ser encarado mais seriamente no contexto empresarial será necessário o surgimento de um ecossistema mais vibrante, com empresas conhecidas do setor de TI atuando de forma mais consistente.

Por outro lado, as questões de segurança e privacidade aparecem em primeiro lugar quando abordam-se as duvidas e temores. A lista de preocupações é extensa e inclui localização dos dados, isolamento dos dados de uma empresa de outra, os aspectos regulatórios e suas restrições, o risco de lock-in e as condições de portabilidade de uma nuvem para outra, integração entre aplicações nas nuvens e on-premise, a imaturidade da maioria dos provedores, falta de padrões, falta de skills, questões de licenciamento de software e mesmo se o provedor terá sustentabilidade econômica para manter o modelo ao longo do tempo. Claramente cloud computing é um “work in progress” e muitas das respostas só virão com a maturidade do conceito e de suas tecnologias. Mas o importante é começar.

E como começar? Primeiro analise quando de ganho você teria ao deslocar os custos de capital para custos operacionais (trocar capex por opex). Analise se você teria condições de manter opex menor que o provedor. Um exemplo prático: o Salesforce opera 77.000 clientes em 3.000 servidores, espalhados por 3 data centers. No modelo tradicional, com cada cliente tendo seus próprios servidores, provavelmente seriam necessários cerca de 100.000 ou mais servidores para atender esta demanda. No modelo de cloud são necessários apenas 3% desta capacidade. Este mesmo raciocínio pode se aplicar a uma empresa, que poderia simplificar em muito sua base de servidores. Assim, se seu opex for maior que o do provedor, identifique alguns workloads que sejam candidatos à operarem em nuvens publicas. Comece por eles e aprenda a usar a nuvem. Existe muita a coisa para aprender.

Por exemplo o modelo de pay-as-you-go vai exigir que você saiba antecipadamente quanto terá que pagar. Como na conta do celular. Você não gostará de ser surpreendido com uma fatura de mil reais porque usou o celular além da conta…o mesmo acontecerá com cloud computing em nuvens publicas. O fato dos recursos computacionais estarem à disposição e é só usar, não significa que não precisamos conhecer sua estrutura de custos e validar se estaremos dentro do budget ou não. Surge um fenômeno chamado “on-demand overspending” que é exatamente usar o modelo pay-as-you-go sem limites.

E ao migrar para nuvens publicas, você já planejou como ficará sua área de TI? Uma empresa operando em nuvens publicas ainda terá sua área de TI, embora com papéis diferenciados. As atividades que requerem alto grau de expertise tecnológica sem maiores necessidades de conhecimento do negócio (analistas de suprte e operadores, por exemplo)

98

Page 99: Computacao Em Nuvem Cezar

saem de dentro de casa e vão se concentrar nos provedores. A área de TI passará a concentrar profissionais que dominam o negócio e que interagirão com os provedores de nuvens, como analistas de negócios e arquitetos de software. Enfim, muitas mudanças à vista.

99

Page 100: Computacao Em Nuvem Cezar

Mais papos sobre Cloud Computing

junho 10, 2010

Estive ontem no CIAB participando de um painel sobre Cloud Computing. Durante o painel e após, surgiram diversas perguntas que são emblemáticas dos questionamentos dos CIOs e CTOs. Vale a pena compartilhá-las aqui.

Mas, antes de mais nada é importante frisar que na minha opinião Cloud Computing não é hype mas um novo modelo computacional que requer imediata atenção dos executivos de TI.

Bom, mas indo para as questões, o primeiro questionamento que surge em eventos como CIAB e outros geralmente é “Me explica o que realmente é Cloud Computing”. Existem inúmeras definições, mas uma que podemos adotar foi a criada pelo NIST (National Institute of Standards and Technology), órgão de padrões do governo americano que definiu Cloud Computing como “Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. This cloud model promotes availability and is composed of five essential characteristics, three service models, and four deployment models”.

As características essenciais são auto-serviço, compartilhamento de recursos, elasticidade, acesso via rede de alta velocidade e serviços mensuráveis. Os serviços da nuvem são SaaS (Software as a Service), PaaS (Platform as a Service) e IaaS (Infrastructure as a Service). Já os modelos de entrega destes serviços são Private cloud, Community cloud, Public cloud e Hybrid cloud. Os documentos do NIST podem ser acessados em http://csrc.nist.gov/groups/SNS/cloud-computing/.

Depois desta resposta vem inevitavelmente a questão “mas, onde cloud computing é diferente do velho e tradicional outsourcing?”. Para mim está claro que Cloud Computing é um novo modelo computacional que apresenta algumas diferenças fundamentais em relação ao outsourcing como conhecemos. Por exemplo, a elasticidade é vital para permitir o modelo pay-as-you-go (pagar pelo que consome) e as economias de escala oferecidas pelos massivos data centers dos provedores de nuvem. Outras diferenças são um gerenciamento automático (em escala muito maior que os tradicionais data centers, onde muitas operações, como provisionamento de recursos, são manuais), workloads padronizados (economia de escala é conseguida quando se reduz a variedade de configurações), provisionamento automático (voce requisita e obtém de imediato um recurso através de um portal de auto-serviço e não precisa passar por negociações e demoras até que um servidor físico seja instalado e configurado) e um billing similar ao da telefonia móvel, onde você paga pelos recursos devidamente consumidos e não por configurações ociosas.

100

Page 101: Computacao Em Nuvem Cezar

Surge então a pergunta “afinal cloud computing é uma revolução ou evolução?”. Do ponto de vista tecnológico é evolucionário, pois é construído em cima de tecnologias já existentes como a nossa conhecida virtualização. Por outro lado a arquitetura multitenant (um texto ainda incipiente pode ser encontrado no Wikipedia, em http://en.wikipedia.org/wiki/Multitenant) e mesmo ferramentas de análise massivamente paralelas como o Hadoop (http://hadoop.apache.org/) são revolucionárias. Mas podemos considerar Cloud Computing como uma revolução na maneira de se gerenciar e entregar TI. Provavelmente em breve consideraremos capacidade computacional como mais uma das utilities, ao lado de energia, água, gás e comunicação. Para isso acontecer cloud computing terá que ter sido adotado massivamente.

Um dos questionamentos mais comuns é “quais os benefícios e riscos de Cloud Computing?”. Começando pelos benefícios posso destacar aqui alguns itens como a velocidade de resposta para o “time-to-application”, pois a computação em nuvem permite implementar uma aplicação em muito menos tempo, seja adotando uma já pronta no modelo SaaS ou desenvolvendo uma nova via PaaS e/ou IaaS. Basta comparar com quanto tempo se demora para selecionar, adquirir, instalar e configurar um novo servidor. Três meses? Quatro meses? Outros benefícios são o alinhamento dos investimentos (leia-se budgets de TI) com a demanda (você não precisa comprar uma máquina para ser usada daqui a seis meses), a substituição do capex pelo opex (não precisa investir seu capital antes de usar os ativos) e a possibilidade de usar a computação em nuvem como válvula de escape para aquelas situações de demanda de pico, que ultrapassa a capacidade do data center. Não se precisa mais configurar um data center para o período de pico, mas para sua utilização média, usando-se por exemplo, uma nuvem pública para os períodos excepcionais. Quanto aos riscos, lembramos de imediato das questões de segurança e privacidade (principalmente quando falamos em nuvens publicas), aderência a restrições regulatórias (questões de compliance), lock-ins por parte de determinados provedores de nuvens, e a dificuldade de integração entre as aplicações em nuvens publicas e as que continuarão operando no modelo on-premise. Um outro desafio é a qualidade e disponibilidade de banda larga, que no Brasil é cara, lenta e mal distribuída.

Uma pergunta que aparece de vem em quando é “que tipos de aplicação posso colocar em uma nuvem?”. Algumas são mais propícias e podem ir de imediato para nuvens, como aplicações de colaboração e email. Outras, principalmente as que demandam muita integração com sistemas on-premise devem ser deixadas para um segundo momento. Para começar sua jornada em direção a Cloud Computing sugiro começar com aplicações de baixo risco, como uma aplicação Web, que não requeira maiores integrações com outros sistemas e nem demande acesso a dados sensiveis em termos de segurança e compliance.

E afinal, perguntam, “devo ir para nuvem pública ou privada?”. A resposta é “depende”. Talvez os dois…Uma nuvem privada opera dentro do data center e pode ser a resposta para aquelas empresas ou aplicações altamente sensiveis à aspectos de segurança e compliances regulatórios, e que não podem em princípio, serem hospedads em nuvens públicas.

101

Page 102: Computacao Em Nuvem Cezar

E no final, faço questão de lembrar que ir para Cloud Computing não é mais questão de “se”, mas apenas de “quando e como”. E aproveito para sugerir que vocês se mantenham atualizados com o assunto e uma das fontes para isso é o CCIF (Cloud Computing Interoperability Forum) em http://www.cloudforum.org/. Boa jornada!

102

Page 103: Computacao Em Nuvem Cezar

The Future of Cloud Computing

junho 21, 2010

Li atentamente o relatório produzido pela Pew Internet, chamado de “The Future of Cloud Computing”. A idéia central deste relatório foi analisar e consolidar as visões de centenas de especialistas sobre se eles concordavam ou não com a afirmativa: “By 2020, most people won’t do their work with software running on a general-purpose PC. Instead, they will work in Internet-based applications such as Google Docs, and in applications run from smartphones. Aspiring application developers will develop for smartphones vendors and companies that provide Internet-based applications, because most innovative work will be done in that domain, instead of designing applications that run on a PC operating system”. Uma sólida maioria dos entrevistados (71%) concordou com a afirmativa. Esta também é minha visão e analisando mais profundamente o relatório gostaria de compartilhar alguns insights pessoais com vocês. O relatório pode ser lido em sua íntegra em //pewinternet.org/Reports/2010/The-future-of-cloud-computing.aspx.

Há no relatório uma frase bem interessante do Nicholas Carr, autor do livro “The Big Switch: rewiring the World, from Edison to Google”, que diz “We don’t have to wait until 2020 for this shift. It’s already happened. The browser (a cloud interface) is already by far the most possible PC application, and cloud services like Facebook are the most popular computing services, whether accessed by PCs, netbooks, or smartphones. For consumers, the cloud revolution has already happened”. Sim, é verdade. Muita gente já usa cloud computing. Basta ver os usuários das redes sociais como Facebook, Orkut e Twitter. Os usuários do Gmail, Hotmail, WordPress, YouTube e Flickr. E de muitas outras aplicações como Delicious ou TripAdvisor. E os que compram livros na Amazon. Outras aplicações seguirão este rumo. A Netflix já anunciou que vai eliminar a necessidade de fazer downloads de filmes. O streaming passará a ser o padrão para ver vídeos e ouvir músicas. Armazenar fotos, vídeos e músicas não será mais no seu PC mas em nuvens, acessáveis por quaisquer dispositivos.

O uso de cloud computing se dissemina em ritmos variáveis, dependendo das características de cada país. No Brasil, por exemplo, ainda temos sérias limitações de banda larga, inibindo uma maior disseminação da computação em nuvem. Cloud computing tem uma relação de dependência direta com a banda larga. Por aqui, já vemos que a banda larga móvel ultrapassou a fixa. Nos primeiros três meses deste ano o numero de assinantes de banda larga móvel chegou a 11,9 milhões, sendo 100.000 a mais que o acesso fixo. As estimativas apontam que até o fim deste ano serão 18 milhões de usuários de banda larga móvel contra 13 milhões de assinantes de banda larga fixa. Neste primeiro trimestre, o numero de celulares 3G já chegou a 8,7 milhões. Mas, a banda larga móvel no Brasil ainda apresenta problemas como uma densidade abaixo da média mundial e preços maiores que os praticados na América Latina e Europa. Também o subdimensionamento das redes, em especial em relação à capacidade de transmissão faz com que os niveis de serviço estejam aquém do desejado.

103

Page 104: Computacao Em Nuvem Cezar

Uma coisa é a crescente utilização da computação em nuvem e o deslocamento de funções computacionais para smartphones, tablets e outros dispositivos móveis. Estes dispositivos estão cada vez mais poderosos. Outra é o desaparecimento dos PCs. Estes, assim como a telefonia fixa, estão em uma rota declinante, mas não desaparecerão, pelo menos nos próximos 5 a 10 anos. Os PCs podem ser considerados como telefones fixos, ainda existem, mas caminham lentamente para desaparecerem completamente.

É provavel que o cenário mais comum seja um ambiente híbrido, com a maioria das funções sendo obtidas a partir das nuvens computacionais, mas algumas outras ainda resistindo nos PCs.

Na minha opinião, a disseminação da computação em nuvem será mais lenta nas grandes empresas, por questões de segurança e controle. Estas provavelmente trilharão inicialmente o caminho das nuvens privadas. Mas empresas de pequeno porte e a maioria dos usuários finais usarão mais e mais nuvens publicas, muitas vezes sem o saber. Um usuário acessando um PC usará uma aplicação sem ter noção se ela está no seu computador ou residindo em uma nuvem publica, que esteja mesmo em um outro país. Na prática ele usará o PC e a cloud ao mesmo tempo, e de forma indistinta.

De maneira geral superestimamos os apelos tecnológicos de curto prazo (ciclo do hype) e subestimamos os impactos na sociedade a médio e longo prazo. Basta vermos os exemplos anteriores do próprio PC, do email, da Web, do Google e agora do Facebook. Não compreendemos seu alcance no início, mas que, indiscutivelmente foram, ao longo do tempo, agentes de dramáticas mudanças nos comportamentos e hábitos sociais. Cloud computing vai se tornar mais e mais importante, mudando a relação de uso das empresas e das pessoas com a computação. Os proprios gate-keepers de acesso à Internet, hoje os ISP (Internet Service Providers) serão substituídos por empresas como Google e Apple. Os conceitos já quase obsoletos do PC e de seus sistemas operacionais e softwares residentes em discos rígidos (que precisam de download para instalação e aplicações de patch) perderão espaço para smartphones, tablets e outros dispositivos móveis e nas nuvens. E quem sabe se o futuro Windows não será o Chrome OS?

Mas, prever futuro é sempre uma incerteza. Para mim a essência dos conceitos e idéias da computação em nuvem ainda vai evoluir bastante. Estamos ainda na sua infância, sujeitos a erros e acidentes de percurso. Ao longo do tempo ajustes e refinamentos no próprio conceito e nas tecnologias que o suportam devem mudar em muito a “cara” do que é hoje considerado Cloud Computing. Mas, em uma coisa eu aposto: o conceito vai “pegar”.

104

Page 105: Computacao Em Nuvem Cezar

A Internet das Coisas e Cloud Computing

junho 28, 2010

Um assunto que começa a despertar interesse é a chamada Internet das Coisas. Nos últimos dois meses fui convidado a dar quatro ou cinco entrevistas sobre o tema. Assim, vamos abordar assunto aqui e mostrar qual a relação entre a Internet das Coisas e Cloud Computing.

Bem, para começar podemos definir a Internet das Coisas como uma infraestrutura de rede global baseada em padrão IP onde coisas físicas (objetos) ou virtuais, com suas identidades únicas a atributos interoperam entre si e com sistemas de informação. Na Internet das Coisas, as coisas e objetos participam ativamente dos processos sociais e de negócios, compartilhando dados e informações “sentidas” sobre o ambiente em que se encontram, reagindo de forma autônoma aos eventos do mundo fisico, influenciando ou modificando os proprios processos em que se encontram, sem necessidade de intervenção humana.

A interação com as coisas ou objetos inteligentes (“smart things”) dá-se geralmente na forma de interfaces para serviços, uma vez que estes objetos fazem parte de um conjunto maior. Por exemplo, um semáforo inteligente pode ter seu controle de tempo modificado por variáveis simples como hora (maior ou menor fluxo do trânsito) ou data (feriado ou dia da semana), bem como a partir de uma central que, baseado em algoritmos sofisticados, analisa outras informações e variáveis, oruindas de outros semáforos ou de incidentes como uma colisão em ruas próximas, que alteram o fluxo do trânsito. O semáforo faz parte de um serviço de controle de trânsito. Por curiosidade, além do nome Internet das Coisas podemos achar também na literatura os termos Computação Pervasiva (Pervasive Computing) ou Computação Ubíqua (Ubiquitous Computing).

Na Internet das Coisas a comunicação se dará principalmente entre objetos e data centers, onde infraestruturas de computação em nuvem (Cloud Computing) disponibilizarão capacidade computacional elástica e flexível o suficiente para acomodar esta grande demanda por recursos de armazenamento e processamento. O uso de recursos computacionais em nuvens é necessário, pois à medida que a computação vai se tornando cada vez mais onipresente, com objetos interagindo uns com os outros e etiquetas de produtos contendo chips com Identificação por Radio Freqüência (RFID) colados em latas de cerveja e pacotes de sucrilhos, o volume de dados que irão trafegar pelas empresas e que precisarão ser manuseados em tempo real será absurdamente maior que o atual. A imprevisibilidade da demanda aumentará também de forma exponencial e será impossível implementar sistemas pelo tradicional método de dimensionamento de recursos pelo consumo no momento de pico, pois os custos serão simplesmente astronômicos. Juntando a necessidade de acompanhar a flutuação das demandas de mercado com o crescimento dos volumes e serviços prestados, e com a subtilização dos recursos computacionais hoje disponíveis nas empresas, chegamos à constatação de que precisamos de um novo modelo computacional, mais flexível e adaptável à velocidade

105

Page 106: Computacao Em Nuvem Cezar

das mudanças que ocorrem diariamente no mundo dos negócios. Nuvem computacional significa que toda uma rede de computadores estará disponível ao usuário para executar seus programas, sem que ele precise saber exatamente qual ou quais computadores estarão fazendo o trabalho.

A Internet das Coisas vai criar uma rede de centenas de bilhões de objetos identificáveis e que poderão interoperar uns com os outros e com os data centers e suas nuvens computacionais. A Internet das Coisas vai aglutinar o mundo digital com o mundo físico, permitindo que os objetos façam parte dos sistemas de informação. Com a Internet das Coisas podemos adicionar inteligência à infraestrutura física que molda nossa sociedade.

Com tecnologias cada vez mais miniaturizadas podemos colocar inteligência (leia-se software) nos limites mais externos das redes, permitindo que os processos de negócio sejam mais descentralizados, com decisões sendo tomadas localmente, melhorando o seu desempenho, escalabilidade e aumentando a rapidez das decisões. Por exemplo, sensores que equipam um automóvel enviam sinais em tempo real para um algoritmo sofisticado em um processador no próprio veículo, que pode tomar decisões que melhoram a segurança da sua condução, evitando colisões ou mau uso dos seus componentes. Outras informações podem ser repassadas a uma central que monitore o percurso, gerenciando a forma do usuário dirigir o veiculo e retribuir esta forma de direção em descontos ou taxas adicionais de seguros. Podem enviar informações que mostram que o veículo está sendo furtado e portanto decisões como o bloqueio de sua condução e acionamento da força policial podem ser tomadas.

A Internet das Coisas implica em uma relação simbiótica entre o mundo físico e o mundo digital, com entidades fisicas tendo também sua única identidade digital, podendo com esta comunicar-se e interagir com outras entidades do mundo virtual, sejam estes outros objetos ou pessoas. E não é futurologia, mas algo que já é realidade.

106

Page 107: Computacao Em Nuvem Cezar

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

107

Page 108: Computacao Em Nuvem Cezar

(“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

108

Page 109: Computacao Em Nuvem Cezar

para ser um ofertante de serviços em nuvem e aproveitar as oportunidades de negócio que inevitavelmente surgirão.

109

Page 110: Computacao Em Nuvem Cezar

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.

110

Page 111: Computacao Em Nuvem Cezar

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.

111

Page 112: Computacao Em Nuvem Cezar

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.

112

Page 113: Computacao Em Nuvem Cezar

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…

113

Page 114: Computacao Em Nuvem Cezar

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

114

Page 115: Computacao Em Nuvem Cezar

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

115

Page 116: Computacao Em Nuvem Cezar

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.

116

Page 117: Computacao Em Nuvem Cezar

Cloud Computing como Utility

agosto 2, 2010

Recebi um email interessante. Nele, um colega me perguntava porque Cloud Computing pode ser considerado similar a energia elétrica e que argumentos existem para demonstrar que Cloud Computing pode ser visto como uma utility. Este assunto já foi debatido no livro de Nicholas Carr, “The Big Switch”, onde o autor faz uma boa analogia entre Cloud Computing e a energia elétrica. Vale a pena a leitura.

Mas, podemos ir mais à frente e analisar quais os pontos em comum entre um serviço de utility como energia, água e telefonia e a computação em nuvem. Quais são as características básicas de um serviço de utilidades? Vamos olhar água, energia e telecomunicações como exemplo.

Logo no início lembramos da alta dependência do serviço. Não podemos viver sem água ou energia. Basta ver os efeitos de um apagão elétrico na sociedade, os transtornos que causa. Outra característica é a confiabilidade no serviço. Água, por exemplo, ao abrirmos a torneira nossa expectativa natural é que a água caia. Não se espera que o serviço não esteja disponível. Usabilidade é outra característica. Uma torneira é muito fácil de usar. Uma tomada só necessita que se conecte o plug do aparelho elétrico. Um celular é algo que uma criança de dois anos sabe usar para fazer uma ligação. E, outro aspecto relevante é a elasticidade. Pagamos estes serviços pelo que consumimos e sabemos que podemos consumir mais ou menos. Podemos consumir muita energia no verão carioca, com aparelhos de ar condicionado ligados 24 horas e deixar a casa às escuras quando saimos em férias.

Para o provedor existe uma outra característica relevante que é o nivel de utilização. Ele precisa gerenciar os picos e vales pois as demandas dos usuários dos serviços de utility flutuam amplamente no tempo. Se ele mantiver uma infraestrutura configurada para a demanda de pico vai arcar com um custo elevado. Por outro lado, se a infraestrutura for insuficiente, não irá atender à crescimentos rapidos da demanda.

E quanto aos modelos de negócios? Basicamente as utilities cobram pelo uso (pay-as-you-use), como água e energia, ou por assinatura, como provedores de banda larga, que ofertam serviços ilimitados mediante assinatura mensal.

Se analisarmos, para efeito de comparação, o modelo SaaS, vemos muitas similaridades com o negócio das utilities, principalmente telecomunicações. Algumas métricas das telco como ARPU (Average Revenue Per User) e churn rate ou taxa de desconexão começarão a fazer parte do vocabulários das empresas de software. A preocupação em não perder o cliente deverá ser alta, pois é muito mais caro adquirir um novo cliente que mantê-lo dentro de casa, como as operadoras de celular já descobriram. Mas, como isto tudo impactará as empresas de software? Em um primeiro momento os custos de marketing e vendas das empresas SaaS tendem a ser maiores que no modelo tradicional,

117

Page 118: Computacao Em Nuvem Cezar

basicamente devido ao fato que o modelo de assinatura (subscrição) produz receitas menores durante a fase de crescimento, por que os pagamentos são distribuidos por um período bem longo de tempo, ao invés de imediatamente, como no modelo de compra de licenças de uso. Além disso, muitos dos clientes SaaS atuais são empresas de pequeno porte, que geram receitas ou tickets médios menores que os comumente encontrados nas vendas da maioria das empresas de software tradicionais, que concentram sua atenção nos clientes de maior porte. O modelo SaaS permite a adoção pela indústria de softrware do conceito de Long Tail ou cauda longa.

SaaS indiscutivelmente provocará mudanças na indústria de software e se o juntarmos com o conceito de Long Tail, vamos identificar novas e inovadoras oportunidades de mercado. O conceito da Cauda Longa ficou muito conhecido com o livro de Chris Anderson (“A Cauda Longa”), que resumidamente nos diz que muitos negócios baseados na Web obtém uma parcela significativa de sua receita, da venda cumulativa de um grande número de itens, cada um dos quais vendido em pequena quantidade. É um modelo econômico que contrasta com os negócios tradicionais, onde as limitações físicas das lojas impõem que estas vendam apenas uma variedade bem limitada de itens, mas que devem ser vendidos em grande quantidade. O modelo tradicional é “hit-based” ou de produtos blockbusters. Para se encaixar no Long Tail um mercado deve atender a alguns requisitos, como o valor total da cauda deve representar uma parcela significativa do mercado. No software vemos que ainda existem muitas e muitas empresas, principalmente as pequeno porte, que não adotam alguns softwares pelo seu custo de aquisição de licenças e pela necessária demanda de hardware que vem junto com o software. Esta parcela do mercado representa um pedaço substancial do mercado como um todo.

À medida que o mercado SaaS for sendo ampliado, a lucratividade das empresas deste modelo tenderá a aumentar, pela própria escala do negócio. Também veremos novas e inovadoras aplicações voltadas para explorar este modelo. Hoje as aplicações SaaS tendem a replicar a funcionalidade dos sistemas on-premise, levando para a nuvem o que já é comumente feito nos servidores dos data centers internos das empresas. No futuro as aplicações explorarão de foma mais abrangente as potencialidades do modelo de nuvem computacional.

Um primeiro exemplo de novas e inovadoras aplicações poderão ser encontradas na área de segurança de TI. Segurança e privacidade aparecem em primeiro lugar quando se fala em Cloud Computing. O modelo atual de segurança é basicamente sustentado pelo conceito de perímetros de defesa, com pontos de controle na entrada (contra invasões) e saídas da informação, como vigilância do conteúdo de email e canais de acesso à Web. O modelo Cloud Computing afeta este conceito, pois o perímetro deixa de existir. Assim, a segurança poderá ser embutida no proprio dado, através de criptografia, e não mais pelos controles nos pontos de entrada e saída dos perímetros de defesa. A virtualização, base do modelo de computação em nuvem, também é um novo desafio, pois a comunicação entre máquinas virtuais ocorre sem passar pela rede física de comunicações. Geralmente as tecnologias de segurança atuais adotam controles de monitoração das atividades das redes fisicas, inspecionando e filtrando o tráfego de dados. Como a comunicação entre as

118

Page 119: Computacao Em Nuvem Cezar

máquinas virtuais não toca esta rede física, o modelo em nuvem demandará novos conceitos e tecnologias.

Que podemos concluir? Sabemos que hoje em dia não precisamos de equipamentos para gerar nossa própria eletricidade. Nós apenas plugamos os aparelhos às tomadas. Também apenas abrimos as torneiras para termos água e não precisamos de bombas e poços artesianos em cada edifício. Porque a computação não pode ser uma utility também? Já é altamente relevante para a sociedade, espera-se que os sistemas estejam sempre disponíveis e sejam de fácil utilização. Por que não podemos plugar um dispositivo e ter acesso à aplicações, dados e serviços de computação? E pagar apenas pelo que usamos, sem necessidade de arcar com elevados custos de capital? À medida que os consumidores de TI sentirem-se cada vez mais frustrados com o tradicional ciclo de compras de licença de software, pagamentos por contratos de manutenção, e caros e demorados upgrades de versões, este modelo tenderá a se disseminar. Portanto, o modelo de computação em nuvem não é um buzzword, mas uma mudança significativa no modelo computacional, com impactos na indústria de TI como um todo.

Claro que sair do modelo atual (ownership model) para o modelo pay-as-you-use não é feito de um dia para o outro. É uma quebra de paradigmas e toda quebra de paradigmas não flui de maneira suave, mas enfrenta resistências e questionamentos. Mas, na minha opinião, a visão do futuro, onde o modelo dominante será a computação em nuvem, já está tomando forma. À cada dia vemos mais e mais ofertas aparecendo no mercado e mesmo empresas líderes do modelo de propriedade estão aos poucos embarcando neste cenário. Portanto, é uma questão de tempo de não de “se” a computação se tornar uma utility.

119

Page 120: Computacao Em Nuvem Cezar

Alguns cases reais de utilização de Cloud Computing

agosto 9, 2010

Em diversas palestras sou solicitado mostrar alguns cases reais de uso de Cloud Computing. Pensando um pouco, vou listar alguns aqui que me parecem bem interessantes e que foram desenvolvidos em parceria com a IBM. Um primeiro exemplo de aplicação em nuvem é o que foi desenvolvido em parceria com a Universidade de Pretoria, na África do Sul

Esta universidade mantém um grupo de pesquisas chamado de Computational Inteligence Research Group (CIRG) que atua focado no desenvolvimento, teste e implementação de algoritmos de inteligência computacional, aplicados na resolução de problemas do mundo real. O CIRG possui cerca de 50 pesquisadores e estudantes.

A inteligência computacional (IC) é um subconjunto da inteligência artificial, consistindo de algoritmos e técnicas que combinam elementos de aprendizado e aprendizado para criar softwares, que são, em alguns aspectos, inteligentes. Como exemplos de uso temos redes neurais, computação evolucionária e lógica fuzzy. As aplicações baseadas em IC são aplicadas em problemas como otimização de processos de engenahria, roteamento de linhas de comunicação, pesquisa médica, mineração de dados e assim por diante. No decorrer do tempo, o CIRG desenvolveu uma biblioteca de inteligência computacional, chamada de CIlib, composta de um framework de compontes escritos em Java.

O problema enfrentado pelo CIRG é comum a muitas universidades: os pesquisadores e estudantes precisam desenvolver seus trabalhos usando computadores. Os algoritmos de IC demandam massivos recursos de computação. Para obterem resultados estatisticos signficantes na aplicação dos algoritmos, são necessários milhares de experimentações, usando-se diferentes parâmetros e tipos de problemas. Cada teste pode levar dias ou semanas, havendo inclusive situações que demandaram meses para computar o algoritmo, usando uma workstation 24 horas por dia.

Uma solução paliativa foi rodar os experimentos em mais de uma workstation, em paralelo. Conseguiu-se um maior throughput, mas esbarrou-se no problema do número de workstations disponíveis, gerando “colisões” entre os estudantes, na disputa por estas máquinas.

O grande problema era dividir as cerca de 50 workstations pelos experimentos, quando cada um dos 50 estudantes e pesquisadores requisitando de 5 a 10 workstations ao mesmo tempo. Além disso, para rodar em paralelo, da forma mais eficiente possível os estudantes e pesquisadores gastavam parte do tempo otimizando o algoritmo para melhorar o seu despenho neste cenário, em vez de otimizar a eficiência da inteligência computacional do algoritmo, ou seja, sua proposta original.

120

Page 121: Computacao Em Nuvem Cezar

O projeto de Computação em Nuvem permite agora que os estudantes e pesquisadores reservem e usem as workstations, de forma dinâmica. Os experimentos não reservam mais uma ou mais máquinas especificas, mas requisitam determinada capacidade e o sistema, de forma automática, provisiona os recursos necessários.

Para operar de forma paralela em várias workstations, o sistema de nuvem utiliza o Hadoop. Com o Hadoop o sistema cria multiplas réplicas, distribuídas pelos diversos nodos da nuvem, retirando do programa a ser rodado a maior parte das tarefas relacionadas com a computação paralela. Estas tarefas ficam a cargo do próprio Hadoop. Assim, o estudante submete um único job, que o Hadoop distribui pelos nodos provisionados (em múltiplas máquinas virtuais Xen), executa-os nestes nodos e retorna o resultado, de forma única e consolidada.

Os benefícios obtidos com o uso da Computação em Nuvem e com Hadoop foram:

a) Os estudantes não precisam mais saber de antemão que workstations estarão disponiveis em tal momento. A nuvem permite que os estudantes reservem o período de tempo e a quantidade de recursos computacionais que serão necessários para rodar os experimentos.

b) Os estudantes não precisam mais perder tempo checando se a configuração de determinada workstation está adequada em termos de versão de software e biblioteca CIlib. A nuvem provisona e aloca os recursos de forma dinâmica, inclusive com as versões de softwares adequadas.

c) Os estudantes não tem mais que gastar tempo liberando os espaços e recursos alocados às workstations, para disponibilizá-las para os outros experimentos que rodarão a seguir. A nuvem, ao encerrar o experimento, libera todos os recursos alocados a ele.

d) Os tempos dos experimentos reduziram-se signficativamente, de semanas para dias.

e) Os estudantes e pesquisadores concentram seu tempo na eficiência do algoritmo e não nas questões secundárias de configurações de máquinas, reserva de recursos, etc.

Um outro exemplo interessante de uso de Computação em Nuvem foi o desenvolvido com o pólo tecnológico de software da cidade de Wuxi, cerca de 150 quilometros de Shangai, na China. Esta cidade criou um parque tecnológico, oferecendo entre outras vantagens incentivos fiscais. Mas, o desafio das start-ups que se interessaram em se instalar no parque era o alto investimento prévio para a infraestrutura de TI que eles precisariam para desenvolver seus produtos. É um dilema que afeta todas as start-ups: obter capital para investir em servidores e softwares antes de começarem a obter receita com seus produtos.

Para endereçar esta questão, o governo da cidade e a IBM desenvolveram um data center baseado em nuvem computacional. Desta maneira as start-ups provisionam servidores virtuais para seus desenvolvimentos, sem terem que arcar com inevstimentos em

121

Page 122: Computacao Em Nuvem Cezar

infraestrutura. A tecnologia oferecida às empresas são máquinas virtuais baseadas em Linux e um conjunto amplo de ferramentas de desenvolvimento e testes da família de produtos Rational. Um paper mais detalhado pode ser acessado em ftp://public.dhe.ibm.com/common/ssi/ecm/en/dic03005usen/DIC03005USEN.PDF

Um terceiro exemplo é a infraestrutura usada por um projeto interno da IBM, de incentivo a inovação, denonimado Technology Adoption Program (TAP). Este programa faz parte de um conjunto bem amplo de iniciativas que exploram o conceito de inovação aberta e colaborativa dentro da IBM. A base do TAP é o conceito de comunidade e crowdsourcing.

A propósito do assunto crowdsourcing, sugiro a leitura de um livro muito legal, chamado “Crowdsourcing, o Poder das Multidões”, de Jeff Howe. No livro ele descreve muitas experiências interessantes que mostram como amadores tem feito contribuições sem precedentes para as ciências. Aliás, “amadorismo” me parece muito mais um termo criado por classes profissionais para proteger a si mesmo…Afinal eles são profissionais e os outros que se atrevem a entrar em sua seara são simples amadores. Para eles profissionalismo é seriedade e amadorismo simples brincadeira.

Mas será que isto ainda tem valor? Em uma época de participação em massa na Internet precisamos redefinir o termo “amador” e “amadorismo”. Um químico sem treinamento prévio em biomedicina pode gerar uma inovação notável neste ramo. Um médico ou um arquiteto podem escrever um software fantástico e para isso não precisam ter formação acadêmica em ciências da computação. Bem, agora como opinião pessoal, não concordo com regulamentação da profissão de informático…Será necessário um diploma de computação para escrever um brilhante mash-up?

A colaboração alavancada pela computação e pela Internet muda muita coisa e inclusive a nossa própria maneira de pensar, além de, obviamente, transformar por completo setores de negócio baseados em informação. Alguns exemplos: indústria de música, fotografia, vídeos, editoração (lembram-se de um negócio antigo chamado tipografia?), jornalismo… Muitas bandas já colocam suas músicas nos sites de relacionamento como Facebook e vídeos no YouTube, não mais lançando CDs. As gravadoras já estão supérfluas na cadeia de valor da música.

Vale a pena investir algum tempo e entender como a força da coletividade está realmente remodelando o futuro dos negócios. E entender antes que seja tarde!

Mas, voltando à computação em nuvem, o TAP é um ambiente ideal para implementar uma prova de conceito de nuvem privada, pois é um ambiente isolado, sem maiores demandas de integração com aplicações legadas. O resultado obtido foi muito positivo. Usando-se o conceito de nuvem computacional, baseado em virtualização e provisionamento automático, conseguiu-se a redução da infraestrutura de 488 servidores dedicados para 55, e de 15 para 2 administradores de sistemas, com uma redução total no custo de hardware, software e pessoal de mais de 83%. Dêem uma olhada em

122

Page 123: Computacao Em Nuvem Cezar

http://www-935.ibm.com/services/in/cio/pdf/dic03001usen.pdf. Vale a pena pensar sobre isso, não?

123

Page 124: Computacao Em Nuvem Cezar

Bola de cristal: Cloud Computing em 2025

agosto 16, 2010

Participei de um evento muito interessante chamado Cloud Summit e após minha palestra fui questionado a opinar como o mercado de Cloud Computing deverá evoluir nos proximos anos. Como será Cloud Computing em 10 ou 15 anos? Bem, aqui vai minha opinião estritamente pessoal. Não falo em nome de meu empregador. Na minha visão o modelo Cloud Computing é um novo paradigma computacional, sustentável (ou seja, não é apenas um hype) que será o modelo dominante nos próximos anos, sucedendo os modelos anteriores, centralizado (mainframe), client-server e networking computing. Este modelo vai provocar mudanças signficativas na maneira como os fornecedores de tecnologia se engajarão com os seus clientes e vice versa. Mas, na minha opinião, a “ficha ainda não caiu”. O próprio conceito ainda está meio difuso e muitas das palestras que venho ouvindo por aí ainda causam mais confusão que exploram o potencial e, claro, as limitações do modelo.

O mercado de TI já passou por mudanças significativas nas últimos 40 ou 50 anos. O fim da era dos sistemas centralizados e o advento do modelo cliente-servidor provocou o desaparecimento de diversas empresas sólidas, e o surgimento de novas empresas, que dominaram grandes setores do mercado como a Microsoft no segmento de computação pessoal. Estas transformações provocaram mudanças significativas nos aspectos econômicos da TI, e trouxeram novas economias de escala. O custo de armazenamento caiu a quase zero, possibilitando que empresas como Google disponibilizassem espaço em disco gratuitamente em troca de receitas de advertising. O custo de processar uma transação eletrônicamente caiu significativamente assim como preço por GB de memória ou capacidade de processamento.

O que imagino para os próximos anos? Cloud Computing vai canibalizar parte dos investimentos atuais das empresas em hardware e data centers, que passarão a concentrar seus investimentos nas nuvens ofertadas pelo mercado. Parte dos atuais 2,4 trilhões de dólares que se estima ser o mercado anual de produtos e serviços de TI se deslocará do modelo tradicional (venda de hardware e licenças de software) para o modelo em nuvem. Pelo menos nos próximos anos não será dinheiro novo, mas canibalização da venda de hardware e licenças de software para o modelo em nvem. Mas, na minha opinião, no longo prazo veremos uma transformação do atual modelo de ownership de investimentos em TI (capex), por serviços (opex), o que vai provocar profundas mudanças no mercado como um todo.

Cloud Computing vai levar os patamares da economia de escala a novos valores e provocar uma onda de inovações no uso da TI. Empresas e negócios hoje limitados pela necessidade de investir previamente em recursos de hardware e software estarão livres desta restrição orçamentária e poderão inovar e ousar. O capital que hoje tem que ser reservado para adquirir computadores e softwares será liberado para a própria operação do negócio. Os riscos serão bem menores.

124

Page 125: Computacao Em Nuvem Cezar

Com a disseminação de Cloud Computing ou computação como utility, TI vai se tornar muito mais embutido nos próprios negócios, como hoje a energia elétrica está embutida em qualquer operação comercial ou industrial. Energia elétrica faz parte da “paisagem”, você nem lembra dela quando abre um negócio. Com o modelo de Cloud Computing o processo poderá ser similar: escolhe-se provedores e soluções tecnológicas e pronto a operação do negócio estará no ar. E, quem sabe, esta escolha será intermediada por Cloud Brokers, que escolherão as melhores alternativas de ofertas de nuvens para determinados casos. Claro, que é um cenário futurista, que poderá não ser 100% verdadeiro nos proximos dez anos, mas em quem sabe em 2025? Neste momento não terá mais sentido falar em IT (Information Technology), mas em BT (Business Technology). Uma implicação? Maior flexibilidade operacional. Hoje, para abrir uma filial é necessário instalar novos servidores e softwares, e montar um infraestrutura para operação destes equipamentos. Com o modelo em nuvem é só requisitar mais instâncias de recursos computacionais e mais assinaturas de softwares. Simples assim…

Mas como eu vejo o mercado hoje? Alguns provedores de tecnologia olham este cenário com receio, pelo medo de canibalização de seus atuais modelos de negócios. Outros já reconheceram que os sinais de mudança são claros e já que a mudança será inevitável, mudemos em primeiro lugar. Aqui na IBM, Cloud Computing é visto como o futuro inevitável e a empresa já começou a se mobilizar, o que não é fácil para uma companhia de 400.000 funcionários, para avançar nesta direção.

É um momento de muitas indefinições. Muitas empresas, as vezes simples provedores de ofertas de location se rebatizam como “Cloud Computing providers”. De maneira geral, nas fases iniciais de uma mudança de modelo surgem inúmeros ofertantes, sem sustentação econômica, que com o tempo vão sendo expurgados pelo próprio mercado.

Provavelmente também veremos diversos novo modelos de negócio de ofertas de Cloud. O nome Cloud esconde uma ampla gama de serviços diferentes, como IaaS, PaaS ou SaaS. Cada um deles demanda recursos e estruturas de tecnologias diferentes. Por exemplo, uma oferta de nuvem publica IaaS, como a Amazon, é voltada para mercado de massa. As nuvens publicas são altamente padronizadas e massivamente compartilháveis e não são as mais adequadas para serviços especializados, que exigem alto grau de customização às demandas de deteminados clientes. Estas nuvens tratam seus clientes de forma quase anônima, como hoje fazem as telcos, sem necessidade de conhecer mais a funbo as necessidades e demandas de cada um deles. A margem obtida de cada cliente é pequena e portanto precisam de altissimo volume de clientes para serem rentáveis. Demandam, por sua vez, imensos recursos computacionais para conseguirem ganhos de escala suficientes para se manterem no negócio. É um mercado para poucos e grandes provedores.

Um outro modelo inteiramente diferente é a empresa que se propõe a ofertar uma nuvem privada para um determinado cliente. Uma nuvem privada cria um novo modelo de engajamento entre a área de TI da empresa e seus usuários. A área de TI deixa de ser um centro de custos e passa a ser um provedor de serviços financiado pela utilização dos recursos computacionais ofertados às unidades de negócio da companhia. Um provedor

125

Page 126: Computacao Em Nuvem Cezar

de TI que se proponha a ajudar seus clientes a construirem nuvens privadas deve ter profundo conhecimento não só do conceito de nuvens, mas adotar tecnologias adequadas e modelos e práticas consultoria que ajudem o cliente a migrar para este modelo. É hoje o campo principal do foco de atuação em Cloud Computing da IBM.

Portanto, quando alguém me pergunta qual melhor opção de Cloud, comparando Amazon, Google, Microsoft ou IBM, não existe uma resposta única, pois são bichos inteiramente diferentes.

Mas, o que podemos arriscar e prever? Engraçado que sempre ouço perguntas do tipo “qual o futuro da tecnologia x” como hoje me perguntam sobre Cloud Computing. Na economia, na politica e na tecnologia existe a tendência de se alimentar o sonho que é possível ver o futuro antes que ele aconteça. O risco de errar é grande. Uma vez li, a tradução é claro, do “Nostradamus Vaticinia Code”, o livro de profecias de Michel de Nostradame, datado de 1629, que fala de um inevitável fim do mundo. Até agora nada deu certo, embora possamos interpretar suas profecias da maneira que quisermos. Ninguém previu a queda do muro de Berlim e suas consequencias para o mundo. Bill Gates achava em 2004 que o spam desapareceria em dois anos. Portanto falar de futuro é puro achismo, mas vou me arriscar a receber muitos apupos e tomates:

1) Com o modelo de Cloud Computing a indústria de TI vai passar do modelo de ownership para services-centric. Os investimentos em produtos e serviços de TI continuarão, mas as empresas os usarão no contexto de serviços. A idéia é “será que eu quero uma máquina de lavar ou quero minha roupa lavada?”. Assim, cada vez mas as empresas dependerão de provedores externos para suprir suas soluções de tecnologia, como hoje dependem de provedores externos para suprirem sua demanda de energia elétrica.

2) Os modelos de negócios da indústria atual de TI vão se transformar da venda de produtos de hardware e licença de softwares para oferta de serviços, onde o hardware e software estarão embutidos no próprio serviço.

3) Os ciclos de venda da indústria de TI estarão muito mais alinhados com as demandas dos negocios dos seus clientes do que de seus próprios ciclos de marketing e venda. Hoje as empresas de tecnologia anunciam novos modelos de hardware e novas versões de software sem maiores vinculos com as demandas do mercado. No contexto services-centric a força motriz para os ciclos de novos produtos e serviços virá basicamente do mercado.

4) BPO (Business Process Outsouring) também serão serviços ofertados em nuvem. Ou sejam, serão dinâmicos em suas ofertas, de foma similar aos recursos solicitados em nuvens publicas. Em vez de contratos de cinco a dez anos veremos contratos Pay-as-you-go.

5) Empresas com nuvens privadas podem agregar-se em torno de nuvens colaborativas, atuando em sinergia para determinados setores de indústria.

126

Page 127: Computacao Em Nuvem Cezar

6) Cloud Broker. Negócios que interagirão com os provedores de ofertas de nuvens e identificarão para cada cliente, a melhor oferta de serviços de nuvem. Provavelmente construirão uma camada de interface padrão que lhes permitirá acessar e interoperar com qualquer nuvem.

7) PasS será o novo campo de batalha das tecnologias de middleware. Quem dominar o contexto das PaaS terão a primazia de definir o padrão de fato dos novos middlewares para Cloud.

8) Em dez anos o modelo Cloud Computing será o modelo dominante e o próprio termo deixará de ser usado. Será o modelo computacional de uso corrente e portanto não precisará mais ser diferenciado. Hoje ninguém fala mais em computação pessoal ou cliente-servidor. Será o mesmo com Cloud Computing.

9) E não chegaremos lá via “Big Bang”, mas será uma evolução lenta e gradual, acelerando-se à medida que o conceito se solidifique e mais e mais casos de sucesso venham a público.

Conclusão? Cloud Computing terá um profundo efeito em como TI será adquirido, entregue e consumido. Novos modelos de negócios substituirão os tradicionais modelos de venda de hardware e licenças de software. Em vez de compradores de ativos os usuários serão “computing subscribers”, trocando investimentos em capital por budgets voltados à operação. Um novo mundo, com certeza.

127

Page 128: Computacao Em Nuvem Cezar

Email em nuvem: quando e como?

agosto 27, 2010

Nas minhas palestras e reuniões com diversas empresas venho observando que Cloud Computing já começa a se posicionar no radar dos executivos e fazer parte de seus planos de médio e longo prazo. E uma das questões que estão em busca de resposta é “por onde começar?”. Que tipo de aplicações colocar inicialmente nas nuvens?

Bem, muitos estão pensando em começar por “client in the cloud”. É um cenário que já é comum no ambiente de usuários finais, que já usam regularmente Yahoo!Mail, Gmail, Google Docs, Facebook, Flickr e outros serviços disponíveis em nuvem. Armazenar caixas postais, textos, fotos e vídeos em nuvem e acessá-los por qualquer dispositivo, sem estar preso aos discos internos de um único computador é um atrativo que atrai mais e mais usuários finais.

Me parece claro que este cenário pode e provavelmente será disseminado também no ambiente corporativo.

Vantagens? Acessar seus dados de qualquer dispositivo, seja de um veterano desktop a um smartphone ou tablet, pouca ou nenhuma demanda por desgastantes e pouco produtivos trabalhos de implementar e atualizar diversas versões de softwares, que vão de sistemas operacionais a suites de escritório em centenas ou milhares de máquinas, obter uma gestão centralizada dos aplicativos que rodam nos dispositivos cliente e, além de tudo, saber que se um laptop for perdido ou roubado, os dados estarão a salvo, pois não estão armazenados nele, são pontos extremamente positivos que despertam muito interesse.

O ponto de partida para se pensar em “client in the cloud” é o onipresente email. Uma das principais razões para se pensar em email na nuvem são as significativas economias de escala que se consegue com este modelo computacional. A maioria das empresas não tem mais que centenas ou milhares de usuários, enquanto um provedor de nuvem pode fornecer estes serviços para dezenas de milhões de usuários. Assim, com data centers com “lights-out operations” e imensa capacidade de processamento e armazenamento conseguem ofertar serviços de email a preços muito baixos, chegando no limite a zero! O resultado é que quando se compara o custo por usuário, o modelo em nuvem oferece custos muito menores. Além disso, devido às restrições orçamentárias e a economia de escala, o email interno não pode disponibilizar grandes capacidades de armazenamento. É comum compararmos um email interno restrito a 300 ou 500 MB por usuário com um email na nuvem com 25 ou 30 GB. O custo por GB na nuvem é imensamente menor pela economia de escala e portanto o provedor pode oferecer, a um custo mínimo, muito mais capacidade de armazenamento.

O custo de serviços de “client in the cloud” tende a baixar ainda mais, principalmente porque existe um disrupção no modelo de negócios da indústria de software tradicional

128

Page 129: Computacao Em Nuvem Cezar

que é o efeito Google. Para o Google, suas ofertas GAPE (Google Apps Premier Edition) não visam lucro, mas sim substanciar seu modelo de negócio baseado em receitas oriundas de advertising. É uma ação estratégica e não uma orientada à lucratividade. Se compararmos com as empresas típicas do modelo tradicional “client in the PC”, como a Microsoft, vemos que nestas sua receita vem da venda de licenças de seus softwares. Mesmo ofertando estes serviços no modelo em nuvem, sua fonte de receita será o serviço oferecido pelo software e não advertising e portanto não podem se dar ao luxo de chegar a preço muito baixo. É o modelo Freemium por excelencia. Sugiro lerem o livro do Chris Anderson, “Grátis” editor da revista Wired e autor do livro “A Cauda Longa”. A tese principal do livro é que o modelo “freemium” – no qual se dá a maior quantidade de um certo produto de graça, mas se cobra pela versão premium daqueles consumidores dispostos a pagar por uma versão mais sofisticada – é um dos modelos de negócio mais quentes atualmente.

Isso se torna ainda mais real quando temos bens com um custo marginal de quase zero, como os bens digitais (músicas, filmes, conteúdo). Esses bens são oferecidos gratuitamente com a intenção de se alcançar algum outro beneficio. O que o Google faz? Oferece o GAPE em troca da expansão de um novo modelo (nuvem) onde se posiciona favoravelmente no mercado, pois este modelo impulsiona seu modelo de negócios. Com esta assimetria no cenário de negócios, fica dificil competir com o modelo tradicional.

Mas, se o email está indo para a nuvem, como isto se dará? De um dia para o outro? Na minha opinião a evolução será gradual. Os pioneiros serão as empresas de menor porte. A razão é simples: tem custo por usuário maior pela ausência de economia de escala, e portanto o atrativo econômico de irem para a nuvem também é maior. Além disso geralmente demandam menor necessidade de customização. O modelo multitenancy do email na nuvem torna a customização mais difícil e é um complicador para empresas maiores, que além de terem um custo por usuário menor (maior escala) são mais demandantes de ambientes altamente customizados. As empresas maiores serão, salvo exceções, late adopters deste modelo.

Surge um questionamento. Será um modelo tudo ou nada, ou seja, 100% dos emails estarão nas nuvens? Eventualmente em um futuro longinguo pode ser, mas pelo menos no horizonte previsível não. Teremos desde empresas 100% com email nas nuvens, outras onde será mais vantajoso economicamente manter seus servidores de email internamente, e outras com o modelo híbrido, com parte de seu email na nuvem e parte onpremise. Um exemplo? Uma universidade pode colocar as caixas postais de seus milhares de alunos em uma nuvem e manter internamente o email de seus professores e staff administrativo.

Mas, como proceder? Definir uma estratégia de colocar o email na nuvem não pode ser feita de forma superficial. Existem alguns cuidados a serem observados. Um deles são os custos ocultos. Embora o email na nuvem tenha um preço por usuário muito menor, existem alguns custos que não aparecem de imediato. Exemplos? Maior uso de redes e banda larga, migração do ambiente interno para a nuvem, e não esquecer que ainda será necessario manter um staff mínimo de suporte, menor que no ambiente interno

129

Page 130: Computacao Em Nuvem Cezar

tradicional, mais mesmo assim, ainda necessário, principalmente Help Desk de nivel 1 e para gestão do interface com o provedor da nuvem.

O contrato deve ser bem analisado e alguns itens devem merecer atenção redobrada como custo para retenção longa de backup (archiving) e cancelamento do contrato (e migração para outra nuvem). Existe também a questão legal. Suas caixas postais podem ficar armazenadas em um data center localizado em outro país? Neste caso, sob qual jurisdição as questões legais serão resolvidas? E caso haja uma investigação forense, como os dados poderão ser disponibilizados?

Quando uma informação é armazenada em uma nuvem, em última instância será armazenada em um servidor e um dispositivo de armazenamento residente em algum local físico, que pode ser em outro país, sujeito à legislações diferentes. Além disso, por razões técnicas esta informação poderá migrar de um servidor para outro servidor, ambos em países diferentes. Nada impede que a lei de um destes países permita o acesso à estas informações armazenadas, mesmo sem consentimento de seu “dono”. Por exemplo, a legislação antiterrorista ou de combate à pedofilía em diversos paises permite o acesso a informações pessoais, sem aviso prévio, em caso de evidências legais de atos criminosos. A questão é que o conceito de computação em nuvem é recente e a legislação em vigor ainda mal entendeu a Internet e está muito mais distante de entender a computação em nuvem. Ainda está no paradigma da época em que os PCs viviam isolados e no máximo se trocava disquetes. Apreender um desktop para investigação forense, cujo conteúdo estará nas nuvens será totalmente irrelevante. E como obter as informações de discos rígidos virtuais, espalhados por diversos provedores de nuvens?

Um outro cuidado a mais: segurança e integração com aplicações que interajam com seu email. Enfim, entrar no mundo do email na computação em nuvem não deve ser feita de forma atropelada. Crie um projeto específico, determine claramente os objetivos (reduzir custos?), identifique seus custos internos por usuário e compare com os provedores, analise as diferenças de funcionalidade existentes entre os recursos oferecidos pelo email interno e os oferecidos pelos provedores de nuvem (como nível de disponibilidade), engaje o jurídico no processo, selecione o provedor mais adequado e estude atentamente o contrato. E boa sorte!

130

Page 131: Computacao Em Nuvem Cezar

A Computação em Nuvem e os profissionais de TI

setembro 13, 2010

Nos eventos e reuniões em que participo, vejo que se consolida pouco a pouco a idéia que o modelo de Cloud Computing representa uma verdadeira disrupção na entrega e consumo de produtos e serviços de TI. Absolutamente, não é um hype ou algo que sempre se fez, agora com outro nome.

Em uma destas ocasiões, em um painel realizado em uma universidade, surgiu a questão de como este modelo impactaria os profissionais de TI.

É um tema que merece um post e vamos aqui debater mais detalhadamente o assunto. Se lembrarmos que a base tecnológica da computação em nuvem se sustenta em três pilares, que são virtualização, padronização e automação, ou seja, industrialização de TI, e o alcance global dos provedores de nuvens (data centers espalhados pelo mundo), teremos todos os ingredientes pra reduzir sensivelmente a demanda por profissões mais técnicas e operacionais. Um único profissional, funcionário de um provedor de nuvem, pode desempenhar as mesmas funções que vários profissionais desempenham hoje em suas empresas.

Na minha opinião, cloud computing coloca em risco a sobrevivência de diversas funções operacionais. Não que elas acabarão, mas que sua demanda será sensivelmente reduzida.

Este fenômeno já ocorreu em diversos outros setores. A automação e robotização eliminaram postos de trabalho na industria automobilistica. Para se fazer um automóvel hoje precisa-se de muitos menos operários que há dez anos atrás. Na aviação também temos outro exemplo interessante. Na década de 50 haviam cinco tripulantes na cabine de uma aeronave que fazia vôos internacionais: o comandante, o copiloto, o engenheiro de vôo, o navegador e o rádio-operador. Com a evolução das comunicações e dos sistemas de navegação, tanto o rádio-operador como o navegador desapareceram. Depois, com os sistemas automáticos de controle de vôo, a função e o cargo de engenheiro de vôo desapareceu. Hoje são apenas dois tripulantes que operam gigantescos aviões como o Boeing 777 ou o Airbus 380.

Claro que as mudanças não ocorrerão de uma dia para o outro. A computação em nuvem ainda está nos seus primórdios e teremos ainda alguns anos para ela se disseminar de forma mais ampla. Portanto, o que recomendo aos estudantes e profissionais da computação? Ficarem antenados com o modelo de Cloud Conputing e se prepararem para as mudanças que virão.

Para mim as funções mais vulneráveis são as técnicas que requerem skill de nível médio, e que são mais especializadas e focadas. Um exemplo tipico são os profissionais de suporte técnico que dedicam seu tempo a instalar e dar suporte a versões de sistemas operacionais como Linux e Windows. Se os servidores fisicos da empresa forem

131

Page 132: Computacao Em Nuvem Cezar

transformados em servidores virtuais localizados em um provedor de nuvem publica, eles não serão mais necessários. Vejam este cenário: um provedor global como a Amazon pode assumir a computação de milhares de pequenas e médias empresas. Para fazer isso ela vai necessitar de alguns poucos administradores de sistemas, que substituirão os milhares que hoje estão nestas empresas. A função não acaba, mas o número de profissionais diminui. Claro que a empresa que terceiriza seus serviços para um provedor de nuvem provavelmente ainda terá um grupo técnico para gerenciar a gestão dos serviços em nuvem, mas será um número bem menor que no modelo on-premise, onde tudo é feito dentro de casa. Mesmo em nuvens privadas ou hibridas, pela padronização e automação dos processos onde antes seriam necessarios um administrador para 40 ou 50 servidores, podemos pensar em um para mil. É uma redução sensivel no numero de profissionais.

Por outro lado, os profissionais mais voltados à funções de negócios deverão permanecer dentro de casa. Uma empresa pode ter toda sua infraestrutura tecnológica operando em uma nuvem publica (IaaS), mas redesenhar ou criar novos processos não é função do provedor da nuvem. Quem conhece o negócio é a própria empresa e seus analistas de negócios. Estes geralmente são indispensáveis. Não dá para terceirizar o conhecimento e as estratégias da empresa. Funções como CTO (Chief Technology Officer) e arquitetos de sistemas, que conseguem aglutinar skills técnicos e de negócios tornam-se cada vez mais importantes.

Que podemos concluir? Funções estritamente técnicas e muito focadas como administradores e operadores de sistemas correm risco. Por outro lado funções que demandam skillls de negócio, criatividade e visão estratégica tendem a crescer em importância. E se eu estiver em uma profissão que está em risco? Como a mudança para a computação em nuvem não vai acontecer de um dia para o outro, terei tempo de me adaptar, buscar novos skills. Mas, não posso ficar parado, torcendo para que a computação em nuvem seja apenas uma nuvem passageira. Não será.

132

Page 133: Computacao Em Nuvem Cezar

Cloud Computing e os CIOs

setembro 20, 2010

Semana passada tive um excelente jantar com alguns CIOs onde o prato principal do cardápio foi Cloud Computing. Ficou claro que ainda existe muita curiosidade sobre o potencial e riscos de Cloud. E alguns executivos ainda estão meio céticos quanto se Cloud realmente será a “next big thing”. Assim, este jantar regado a Cloud pode ser um pequeno termômetro de como os CIOs estão encarando o assunto e que gostaria de compartilhar com vocês.

Um deles me disse que reconhece que muitos profissionais perderam o bonde do cliente-servidor e também foram supreendidos pela velocidade com que a Web se disseminou. Muitos já usam em casa o modelo em nuvens como o Gmail, Flickr e nas empresas algumas poucas aplicações SaaS isoladas. Estão realmente interessados em saber como a computação em nuvem poderia se disseminar mais profundamente nas suas empresas.

A maioria deles já leu sobre casos de sucesso lá fora e percebem sim, que Cloud Computing será uma mudança de paradigmas, afetando de forma significativa as relações entre produtores e consumidores de produtos e serviços de TI. Também identificam que entrarão em um novo patamar de custos e facilidade no uso da TI. Mas, confessaram, que ainda não deram um passo nesta direção.

Uma reclamação é que ainda existe muita desinformação e a própria terminologia não está bem definida e as vezes é até conflitante, dependendo do provedor . Um exemplo é o modelo de IaaS (Infrastructure-as-a-service). IaaS pode ser entregue pela própria área de TI da empresa (insourced) ou por um provedor de nuvens externo (outsourced). A infraestrutura fisica por trás pode estar hospedado no data center da própria empresa ou no data center do provedor. E esta infraestrutura pode ser de uso privado (private cloud), compartilhada entre um grupo ou consórcio de empresas (community cloud) ou compartilhada com os demais clientes do provedor externo (public cloud).

Uma conclusão que chegamos é que o setor de TI está caminhando para o que podemos chamar de industrialização, onde os parametros principais são padronização, automação, self-service e escala massiva. O modelo de computação em nuvem é a clara implementação desta tendência.

Mas conversa vai, conversa vem e chegamos a outras conclusões. Primeiro, a adoção da computação em nuvem não acontecerá de um dia para o outro. Identificamos também diversas oportunidades de criar valor com Cloud Computing. Uma delas será a redução de custos quando o modelo de TI (leia-se cloud) chegar ao nivel de ser uma utility, como energia elétrica. Os primeiros passos nesta direção podem ser, por exemplo, a transferência de algumas aplicações como email, para o ambiente de nuvens publicas.

133

Page 134: Computacao Em Nuvem Cezar

Uma outra oportunidade de criação de valor é a mudança que o ambiente de nuvens pode provocar em processos de negócios. Um exemplo citado foi o próprio ambiente de desenvolvimento e testes de sistemas, que demanda demoras e burocracias para uma aplicação ter disponivel a infraestrutura necessária para ser adequadamente testada. De maneira geral um grande empresa mantém uma parcela significativa de seu parque computacional dedicado ao ambiente de testes, mas subutilizado. Alguns estudos mostram que de 30% a 40% do seu parque computacional está dedicado ao ambiente de testes, mas com um nivel de utilização de apenas 10% a 20%. Imaginem os ganhos potenciais para uma empresa quando os desenvolvedores, através de um portal self-service, requisitarem e obterem os recursos computacionais necessários, em minutos e não em semanas? Claramente poderão ser explorados novos negócios, pois os sistemas que os sustentarão poderão entrar em operação mais rápido. Outra sugestão foi colocar as aplicações “customer facing” em nuvens, inclusive interagindo mais intensamente com redes sociais como Facebook.

Alguns CIOs comentaram que executivos de negócio de suas empresas já começam a abordar o assunto com eles e que portanto não poderão ficar mais parados. Mas ficou claro que adoção do modelo de computação em nuvem é uma decisão estratégica e não simplesmente técnica. O próprio papel da TI poderá e provavelmente o será, redefinido. Muitas das atividades hoje desempenhadas pela área de TI serão comoditizadas e terceirizadas para nuvens públicas.

A discussão esquentou quando se comentou a questão da segurança e se as nuvens públicas atuais poderão sustentar os critérios e politicas de segurança adotadas pelas empresas. Chegou-se a um consenso que as nuvens publicas poderão ser usadas por empresas pequenas que não tem políticas de segurança adequadas, mas as empresas de maior porte, provavelmente começarão a sua caminhada usando nuvens privadas. Para confirmar este ponto, alguns estudos feitos no exterior apontam que dentro de 3 a 5 anos cerca de 25% a 50% do workload das grandes empresas estará em nuvens privadas e apenas um pequeno percentual do workload destas empresas deverá estar em nuvens publicas. As nuvens privadas permitem as empresas adotarem o modelo e usufruirem de alguns de seus benefícios, mas ainda mantendo o controle dentro de casa. Já para empresas pequenas, estima-se que no futuro, de 80% a 100% das suas aplicações poderão rodar em nuvens públicas.

Outro aspecto levantado foi a questão da integração entre aplicações que estejam rodando em uma nuvem publica e as que ficarem on-premise. Muitas aplicações não poderão ir para uma nuvem publica, seja por questões técnicas ou por imposição da legislação. Mas terão que interagir com as que forem para as nuvens. É um desafio e tanto, principalmente porque não existem ainda padrões de ineroperabilidade entre as nuvens. Neste ponto lembrei-os da aquisição estratégica da Cast Iron pela IBM, exatamente para atuar nesta integração. Vejam em http://www.castiron.com/ibm .

No final da conversa chegou-se a alguns consensos, como:

134

Page 135: Computacao Em Nuvem Cezar

1) Cloud Computing é um “work in progress” e que muitas das atuais restrições atuais serão minimizadas ou eliminadas nos proximos 3 a 5 anos. Novas tecnologias surgirão e mesmo as atuais ofertas se tornarão mais maduras e eficientes nos próximos anos.

2) A falta de padrões de interoperabilidade e os riscos de “vendor lock-in” atuais serão minimizados nos próximos anos. Sugiro acompanharem o Grupo de Trabalho de cloud do DMTF (Distributed Management Task Force) em http://www.dmtf.org/standards/cloud .

3) A criação de novos negócios e novas aplicações serão incentivadas quando TI for uma utility. Entre os exemplos citados surgiu a possibilidade de se usar mais intensamente recursos de Business Analytics, uma vez que demandam variação muito grande recursos computacionais e que nem sempre é possivel manter esta infraestrutura em casa. Além disso, novos modelos de negócio, inviáveis quando o capex de TI é impeditivo podem ser criados quando TI passar a ser utility e não se pensar mais em capex, mas sim em opex. Lembrando capex é capital expenditure (http://en.wikipedia.org/wiki/Capex ) e opex é operating expense (http://en.wikipedia.org/wiki/Operating_expense).

4) Cloud Computing é estratégico e deve ser contemplado no plano estratégico de TI das empresas. O road map para sua adoção deve ser responsabilidade do CIO e do CTO e não das áreas técnicas.

5) Cloud Computing não deve ser visto apenas uma terceirização mais ampla e sim como um modelo computacional que pode impactar signicativamente os negócios da empresa. Dois aspectos fundamentais diferenciam cloud do tradicional “hosted computing” que são o acesso via self-service e a elasticidade.

6) Cloud Computing vai redefinir a área de TI.

7) Cloud Computing não acontecerá de um dia para o outro. Mas deve-se começar já a planejar o road map e fazer os primeiros testes.

8) Cloud Computing nos EUA e Europa e no Brasil deverão ter velocidades de adoção diferentes, porque os mercados são diferentes. Um exemplo é a banda larga, que é muito mais cara e lenta aqui que nos EUA e Europa.

135

Page 136: Computacao Em Nuvem Cezar

Debatendo SaaS: alguns questionamentos

setembro 29, 2010

O modelo SaaS começa aos poucos a ganhar tração e vemos a cada dia mais exemplos de sua adoção no mundo inteiro. Em alguns países o modelo está mais disseminado que em outros, mas de maneira geral já está na agenda dos executivos de negócios e de TI.

Uma recente pesquisa efetuada pela Saugatuck Technologies (um analista da indústria de TI), com CIOs do mundo inteiro mostrou que em 2014 53% deles já optarão pelo modelo SaaS quando adquirirem novos softwares. O modelo atual, on-premise fica com 47% das preferências.

Um outro exemplo prático da atenção que o tema vem gerando são as inúmeras questões e dúvidas que ouço quando apresentando palestras sobre Cloud Computing. Coletei algumas destas questões e vou compartilhar aqui com vocês.

Antes de mais nada é bom lembrar que o modelo SaaS já tem pelo menos uns dez anos e é uma evolução natural do antigo ASP (Application Service Provider). A novidade é a retaguarda tecnológica do SaaS, baseada em Computação em Nuvem, que favorece o modelo tecnológico multi-tenant, ou seja, uma única cópia do código compartilhada por muitos clientes, acessados remotamente e contratados via portais self-service, estruturado em um modelo de negócios comercial pay-for-use ou assinaturas, como uma linha de celular.

De maneira geral um produto SaaS apresenta as seguintes características:

a) Baseado em serviços. Isto significa que o cliente do software quer apenas usufruir de suas funcionalidades e não quer saber das caracteristicas técnicas que estão por trás, como plataforma de hardware, banco de dados, etc. Ele quer consumir o software como um serviço. Uma analogia: ele quer a roupa lavada e não a máquina de lavar.

b) Escalável. O provedor do SaaS tem que ter capacidade computacional para permitir o crescimento do número de usuários sem afetar a performance da sua base atual. Na prática, este é um quesito importante a ser analisado quando avaliando provedores de SaaS.

c) Economia de escala. O modelo SaaS significa compartilhamento por excelência e os provedores tem que implementar uma arquitetura multi-tenant para conseguir uma economia de escala adequada. Quanto mais usuários puderem compartilhar os recursos, maior será a economia de escala obtida, e mais rapida será a amortização dos investimentos do provedor. Com isso, ele pode oferecer custos de propriedade vantajosos em relação ao modelo tradicional, on-premise.

136

Page 137: Computacao Em Nuvem Cezar

d) Modelo comercial pay-for-use ou por assinatura. O cliente de um produto SaaS não está adquirindo um asset de software, a ser instalado nos seus servidores, mas contratando uma assinatura para seu uso por determinado periodo de tempo, pagando pelo que consumir, como em uma conta de energia elétrica. E como um celular, se o serviço não o agradar, ele pode, pelo menos teóricamente, substitui-lo por outro.

Um questionamento que sempre ouço é se este modelo pay-for-use é real ou conversa de vendedor…Existem modelos comerciais onde você paga mensalmente pelo que consumir, bem como também existem modelos onde você paga o primeiro ano da assinatura de uso do software antecipado. Um exemplo, em um contrato por três anos, você pagaria 1/3 no primeiro ano na assinatura do contrato e os 2/3 restantes nos dois anos seguintes. Este modelo lembra o tradicional on-premise onde você paga antecipadamente a licença de uso do software e posteriormente os serviços de manutenção. Uma diferença é que não existe manutenção de software pelo usuário. Todo este trabalho está na retaguarda, no provedor.

Este modelo tem sido incentivado pela industria de software, pois facilita a transição das empresas de software que ganham dinheiro com o modelo atual de licenças para o SaaS. Recomendo a leitura do excelente livro “Behind the Cloud” do fundador e CEO da Salesforce, Marc Benioff, onde ele descreve a criação e evolução de uma empresa 100% SaaS, que é a própria Salesforce. Li este livro no meu Kindle aproveitando uma destas minhas últimas longas viagens e realmente ele é um guia de como criar e manter uma empresa de software no modelo SaaS. Imperdível para todos empresários da indústria de software.

Uma pergunta que ouvi e que me chamou a atenção é se SaaS atende a sistemas corporativos ou funciona apenas na periferia, ou seja em pequenos sistemas departamentais. Não tenho dados precisos da Salesforce por exemplo, mas um estudo do Gartner mostrou que em média os seus clientes tem algo em torno dos 50 usuários. Claro que eles tem grandes contas também e outras empresas como a americana SucessFactor (que ainda não tem representante no Brasil) fechou um contrato para seu sistema de RH com a Siemens na Alemanha, para 420.000 usuários (http://www.successfactors.com/promo/future/ ). É um indicador que é possivel sim, termos SaaS para grandes corporações.

E este assunto se liga a outro questionamento interessante. Se os executivos de negócio começarem a contratar aplicações SaaS bypassando a área de TI, isto não geraria uma bomba relógio? Sim, pois mais cedo ou mais tarde estes aplicativos terão que se integrar com os que rodam nos servidores da empresa ou mesmo com outras nuvens e a integração ainda é um desafio para a computação em nuvem. No início tudo é maravilhoso, mas à medida que mais e mais as aplicações SaaS forem se disseminando de forma descontrolada, sem passar pela área de TI, o problema potencial vai ser grande. Minha recomendação é que as áreas de TI assumam o controle do processo e definam desde já as regras de como selecionar e contratar SaaS, garantindo a integração das aplicações.

137

Page 138: Computacao Em Nuvem Cezar

Uma outra pergunta foi “o modelo SaaS vai acabar com o modelo on-premise?”. Na minha opinião pessoal, pelo menos nos próximos dez anos ainda veremos os dois modelos convivendo. Existe muito software legado que levará anos para migrar para nuvem. Mas o modelo SaaS vai constinuar se disseminando e em algum tempo no futuro talvez não o chamemos mais de SaaS, pois será o modelo dominante. Mas continuará havendo espaço para o on-premise.

138

Page 139: Computacao Em Nuvem Cezar

Cloud Computing: tirando algumas dúvidas

outubro 11, 2010

Volta e meia recebo emails de estudantes que estão desenvolvendo seus TCC e que querem abordar algum tema relativo à Computação em Nuvem. Coletei algumas de suas dúvidas e vou resumi-las aqui. Talvez possam ser úteis…

Antes de mais nada precisamos lembrar que existem inúmeros tipos de serviços de Computação em Nuvem. À primeira vista, quando se fala no assunto, aparece a propensão de imaginarmos um único modelo, geralmente de infraestrutura. Mas, existe uma diversidade dos serviços de Computação em Nuvem, que podem ser melhor exemplificadas quando os dividimos em camadas. Estas camadas mostram como os serviços de TI podem ser ofertados sob o modelo de Computação em Nuvem:

a) Nivel 1: camada de infraestrutura em nuvem (infrastructure-as-a-service), com oferta de serviços de hospedagem de capacidade computacional e armazenamento de dados. É a camada mais básica da Computação em Nuvem.Um exemplo típico são as ofertas de serviços em nuvem da Amazon, chamados de EC2 e S3.

b) Nivel 2: camada de desenvolvimento e serviços de gerenciamento em nuvem. Um exemplo é a plataforma de desenvolvimento como as oferecidas pelo Google AppEngine e pelo force.com. Muitas vezes estas camadas usam serviços e softwares da camada anterior.

c) Nivel 3: camada de aplicações ou Software-as-a-Service como Salesforce.com, Google Docs ou LotusLive da IBM. Muitas das aplicações Web 2.0 mais conhecidas, como Facebook, Flickr e Linkedin são serviços baseados em nuvem, embora seus usuários não tenham idéia disso. Esta camada é a parte mais visível da Computação em Nuvem e a que mais enfatiza seus benefícios para os usuários.

d) Nivel 4: camada de processos, que envolvem processos de negócio baseados nas tecnologias ofertadas pelas camadas anteriores. Um exemplo são os serviços de BPO (Business Processing Outsourcing) oferecidos no modelo de Computação em Nuvem. Ainda incipiente, mas que deve no futuro transformar o próprio mercado de BPO.

Abaixo de todas estas camadas podemos imaginar uma camada zero, onde se situam os fornecedores de tecnologias básicas, que são exatamente os servidores, discos, equipamentos de rede, sistemas operacionais. Estes componentes são a base tecnológica das nuvens. Sim, as nuvens precisam de computadores e data centers…

Uma tecnologia fundamental ao conceito de nuvem é a virtualização. Virtualização é basicamente o uso de software para simular hardware. Quando alugamos os serviços de uma nuvem, na prática não estamos alugando diretamente computadores reais, mas

139

Page 140: Computacao Em Nuvem Cezar

computadores virtuais simulados por software, em cima dos computadores reais da infraestrutura do provedor da nuvem.

A virtualização não é, em absoluto, uma novidade tecnológica. Suas primeiras implementações datam dos mainframes 360/67 da IBM, que apareceram em 1967. Mas, nos últimos anos, com o aumento da capacidade dos processadores, a virtualização, antes restrita aos mainframes, começou a se espalhar por servidores de pequeno porte, aumentando sua utilidade e disseminação.

A virtualização nos permite construir múltiplos servidores virtuais em uma única máquina física. Cada uma destas máquinas virtuais funciona como se fosse uma máquina real, com seu sistema operacional e aplicações. A virtualização possibilita um uso muito mais eficiente do recursos computacionais, pois compartilha e distribui a carga de vários servidores virtuais em um servidor físico.

O termo infraestrutura como serviços começou a aparecer no final de 2006, como uma sofisticação do conceito e da terminologia de Hardware-as-a-Service, proposto pelo jornalista Nicholas Carr. A idéia básica é que o usuário, ao invés de adquirir e instalar servidores e equipamentos de rede em um data center, poderia usar estes recursos a partir de um provedor externo. Mas, diferentemente dos modelos tradicionais de outsourcing, a Computação em Nuvem não alocaria um determinado recurso ao contratante. A nuvem alocaria de foma dinâmica e automática os seus recursos, para atender aos requisitos de demanda do cliente.

As caracteristicas básicas do modelo de Infrastruture-as-a-Service (IaaS) são:

a) O usuário não precisa obrigatoriamente dispor de hardware e software nos moldes tradicionais, ou seja, em seu próprio data center. Pode alocar estes recursos em uma nuvem pública. A capacidade de processamento e de armazenamento é obtida remotamente da nuvem. Por outro lado, ele pode adotar o conceito d enuvem em seu data center, aparecendo então o conceito da nuvem privada.

b) Em uma nuvem pública todos os recursos computacionais estão na nuvem do provedor, que os alocará de forma dinâmica e elástica, para atender as demandas de flutuação do negócio.

c) O acesso à nuvem é via Internet. Portanto banda larga é fundamental.

d) Os recursos, de uma maneira geral, sendo compartilhados tendem a ser usados de forma mais eficiente.

e) Todo o pagamento é pelo volume de utilização. Usou, pagou pelo que foi usado.

f) Este modelo incentiva a criação de ecossistemas que podem gerar aplicações e serviços complementares à oferta IaaS. Um exemplo é ecossistema criado em cima da nuvem da Amazon, com inúmeras empresas disponibilizando serviços adicionais usando

140

Page 141: Computacao Em Nuvem Cezar

esta nuvem como infraestrutura. O catáloga de aplicações basedas na nuvem da Amazon pode ser visto em: http://developer.amazonwebservices.com/connect/kbcategory.jspa?categoryID=60.

Outro serviço em nuvem interessante é o do Sofware-as-a-Service. O modelo SaaS é um modelo que entrega software como um serviço, de forma diferente do modelo tradicional, onde a empresa adquire uma licença de uso e instala o software nos servidores da empresa. O modelo SaaS muda as regras do jogo, transformando a maneira de como software é comercializado. Não existe mais a necessidade de contratos de manutenção, pois esta fica cargo do provedor e não mais da empresa. O usuário passa apenas a usar o software, sem se preocupar com as atividade de instalação, manutenção, upgrades, etc.

O benefício pode ser visto através de um exemplo bem simples: um editor de texto. No modelo tradicional, o usuário precisa ter uma cópia do software e sua respectiva licença de uso no seu desktop ou laptop. O usuário adquire esta licença para uso 24×7, mesmo que não use o software a noite ou nos fins de semana. Além disso, se ele levar trabalho para casa e ter que usar um outro computador, como seu PC doméstico, terá que obter uma segunda licença. No modelo SaaS, quando o software não está sendo usado, não está sendo pago. E ele, usuário, pode usar o editor em casa ou no escritório, sob a mesma assinatura, pagando apenas pelo seu uso.

O modelo SaaS não surgiu de um dia para o outro, mas é fruto da convergência de diversas tecnologias (networking, ferramentas de programação e capacidade computacional) que vem apresentando custos continuamente descrescentes. Por outro lado, os softwares vendidos por modelos de licenciamento estão continuamente se tornando mais complexos e custosos para serem adquiridos, implementados e mantidos. E em cima deste contexto, um cenário de negócios exigindo cada vez mais rapidez e menores custos das áreas de TI. A combinação de todos estes fatores gerou um pano de fundo que criou um mercado para que o software possa ser entregue como serviços, a custos bem menores que no modelo atual.

Surgiu então o SaaS, cujo conceito começou a circular por volta de 1999, mas apenas nos últimos anos ganhou espaço considerável de mídia. Uma das iniciativas pioneiras foi o Salesforce.com, embora hoje muitos outros softwares já estejam disponíveis sob este modelo.

Ainda existe uma grande confusão em torno das diferenciações entre SaaS e o anterior modelo ASP ou Application Services Provider. SaaS está relacionada com a funcionalidade da aplicação, entregue via modelo de subscrição. O cliente não precisa ter a “propriedade” do software. O ASP é diferente. É um modelo de hospedagem da aplicação, onde o cliente adquire o software e o instala em um provedor remoto. Por exemplo, o cliente adquire a licença de uso de um ERP e o hospeda em um servidor externo. A diferença com relação ao modelo tradicional é que no ASP em vez de instalar e operar o aplicativo nos seus servidores, ele fica em servidores externos. Se um dia o cliente não quiser mais usar este provedor externo, mas rodá-lo internamente, como ele “possui” o software, simplesmente o instala em seus próprios servidores.

141

Page 142: Computacao Em Nuvem Cezar

No SaaS, ele não “possui” o software e portanto não pode instalá-lo em seus próprios servidores. Adicionalmente não precisa se preocupar com a tecnologia em que o software vai operar. No ASP esta preocupação existia, pois ele tinha que adquirir um software para determinado ambiente operacional.

Software-as-a-Service é um modelo disruptivo. Sua proposição de valor é funcionalidade oferecida e não a “propriedade” do produto. A idéia básica é que você na verdade não quer uma máquina de lavar roupa, mas quer a roupa lavada. Você não necessita instalar um pacote de CRM ou ERP, mas precisa apenas das suas funcionalidades.

O cliente não adquire licença de uso, mas paga uma taxa mensal baseada no número de funcionários que acessem o serviço. SaaS por ser um modelo disruptivo, vai afetar toda a estrutura da indústria de software. As empresas de software que se sustentarão neste modelo tenderão a ter nítida vantagem sobre as que se mantiverem rigidamente presas ao modelo de depender de despesas de capital por parte de seus clientes, para a compra de seus produtos. Claro, não será amanhã, mas é um movimento que já se iniciou…

142

Page 143: Computacao Em Nuvem Cezar

Assunto da reunião: Cloud Computing

outubro 16, 2010

Outro dia estive em uma reunião com executivos de uma grande corporação, interessados em debater adoção de Cloud Computing em sua empresa. Eles levantaram uma série de questionamentos, que vale a pena compartilhar aqui.

Um ponto bastante discutido foi a questão legal da jurisdição na qual o provedor de uma nuvem pública vai operar. Um item muito debatido foi: “se os dados de minha empresa estiverem em um data center de um provedor que esteja nos EUA, mas que depois sejam transferidos para um segundo data center, na China, por exemplo, isso não poderia implicar em algum problema?. As leis voltadas à privacidade e proteção à propriedade intelectual variam de país para país e eventualmente isto não poderia ter uma implicação nos aspectos regulatórios nas quais a empresa se insere?”.

A resposta é sim. As legislações de proteção aos dados são diferentes em cada país e esta questão pode ser um impeditivo. O que pode minimizar o problema é garantir por força contratual que os dados residirão em data centers situados em determinados países. Esta questão, até ser resolvida, poderá ser um inibidor para adoção de nuvens públicas por determinadas empresas privadas, públicas e órgãos de governo.

Outro questionamento foi sobre segurança e disponibilidade. Como garantir que os data centers dos provedores de nuvens públicas vão oferecer segurança e disponibilidade nos niveis adequados? Na minha opinião este nivel de segurança e disponibilidade vai depender do provedor. Existem provedores que vão oferecer niveis de segurança bem elevados e outros que se contentarão em oferecer niveis mais baixos. A recomendação é escolher provedores de nuvens públicas que tenham realmente expertise e competência para prover um data center seguro.

Além disso, todos nós sabemos que não existe tecnologia que seja 100% a prova de falhas e muito provavelmente alguns data centers que prestam serviços de nuvens públicas podem falhar. A tecnologia por trás de um serviço de cloud computing é complexa e sofisticada, e eventuais falhas podem ocorrer, gerando efeitos cascata por parte ou toda a nuvem. Os riscos são de perda de acesso aos serviços (nuvem indisponível) ou perda dos dados.

O provedor de nuvem pública deve oferecer mecanismos de resiliência, como backup e recuperação rápidos. Novamente, a escolha do provedor de nuvem pública é um processo que não pode ser feito de forma amadora, mas deve ser efetuado por uma análise bem criteriosa, que valide estes mecanismos de resiliência.Esta análise deve contemplar questionamentos como:

1) Quais são os procedimentos de backup e restore dos dados armazenados na nuvem pública?

143

Page 144: Computacao Em Nuvem Cezar

2) Os dados backup são armazenados no mesmo servidor e no mesmo data center, ou em localização geográfica diferente?3) Os procedimentos de backup e restore são testados periódicamente?4) Quais são as evidências que o provedor pederá mesmo recuperar os dados em caso de perda?

Aí levantou-se outro ponto que é a transparência destes procedimentos. Como auditar estes niveis de segurança em um provedor externo? Nem todos permitem que auditores dos clientes entrem e avaliem seus data centers. Minha resposta é que sejam exigidos certificações de segurança e que auditorias externas e independentes avaliem os niveis de risco dos data centers dos provedores.

Um terceiro ponto discutido foi a questão das licenças de software. Imaginem adoção de nuvens públicas para infraestrutura (IaaS) e a transferencia para esta nuvem de diversos softwares que rodam nos servidores da empresa. Primeiro ponto: o licenciamento atual permite esta transferência? Além disso, o modelo atual de licenças não combina bem com a proposta de elasticidade oferecida pelas nuvens públicas. É possível conciliar os licenciamentos em uso hoje ou serão necessários outros licenciamenos, e neste caso, como fazer?Minha resposta: esta questão deve ser resolvida com os fornecedores de software. Alguns deles provavelmente terão contratos de parceria com os provedores de nuvens, o que facilitará o processo. Outros não, o que poderá gerar implicações legais. Portanto, negociação é fundamental neste processo.

Finalmente acordamos que a estratégia mais adequada seria começar com nuvens privadas e efetuar experiências (prova-de-conceito) com algumas aplicações em nuvens públicas. A maioria das grandes corporações tende a seguir este caminho, pela insegurança que ainda sentem em colocar aplicações e dados estratégicos em nuvens públicas. Algumas estatísticas refletem esta tendência. Por exemplo, a empresa de análise da indústria de TI, Saugatuck, liberou uma pesquisa efetuada entre CIOs nos EUA que mostrou que das companhias de grande porte (mais de 5000 funcionários) que tem planos de adotar Cloud Computing, estas estão em sua maioria (78%) optando por nuvens privadas. Mas a pesquisa mostra também que em 2014 este numero deverá cair para 70%, o que mostraria uma lenta mas crescente confiança em nuvens publicas. Na minha opinião o ritmo provavelmente deverá se acelerar, pois este número conservador ainda espelha a desconfiança atual. À medida surjam que mais e mais experiências bem sucedidas, a disseminação de nuvens, tanto privadas como publicas, deve se acelerar.

Outro ponto debatido foi: “por onde começar a usar uma nuvem privada?”. As ofertas atuais, que podemos chamar da primeira geração de nuvens privadas, focam-se em workloads específicos, como ambiente de desenvolvimento e teste, ou business analytics. Mas é um excelente ponto de partida. Posteriormente, outras aplicações poderão migrar para o ambiente de nuvens. Uma oferta de mercado interessante para se começar a usar nuvens é a adoção de uma tecnologia chamada “cloud-in-a-box”, que é um appliance, ou um sistema com softwares previamente embarcados, mas configurável, que permite

144

Page 145: Computacao Em Nuvem Cezar

acelerar o processo de “entrada” nas nuvens. Como exemplos os Smart Analytics Cloud e Smart Business Test Cloud da IBM.

Ficou claro também que a maioria das empresas vai precisar de algum apoio em servicços para implementar um ambiente de cloud computing. É uma caminhada longa, que vai mudar as relações entre TI e seus usuários, bem como entre a empresa e seus fornecedores de tecnologia. É uma mudança de paradigmas e deve começar com sucesso. Neste processo, contar com expertise que não exista dentro de casa, é bem vindo.

Enfim, o que debatemos demonstrou um fato importante: estamos caminhando rápido para uma maior maturidade dos conceitos de cloud computing, tanto que os questionamentos já estão sendo bem mais profundos do que eram há meros seis meses atrás. Sinal claro que a computação em nuvem está avançando mais rápido que muitos estão pensando…

145

Page 146: Computacao Em Nuvem Cezar

Computação em Nuvem na Europa: hoje e amanhã

outubro 26, 2010

Recentemente li um relatório muito interessante chamado “The Future of Cloud computing: Opportunities for European Cloud Computing Beyond 2010”, que pode ser acessado na sua íntegra em http://cordis.europa.eu/fp7/ict/ssai/docs/cloud-report-final.pdf .

A proposta do relatório é debater as potencialidades do uso da computação em nuvem pelas empresas e governos europeus.Para a União Européia, a computação em nuvem assume um papel estratégico pois ao possibilitar menores barreiras de entrada para criação de negócios que dependam de TI, abre novas e inovadoras oportunidades.

O relatório analisa os aspectos não funcionais da Cloud Computing como elasticidade, considerado um ponto chave do modelo e identifica alguns aspectos econômicos como redução de custos, pay-per-use e mudança de Capex para Opex como grandes impulsionadores.Entretanto, considera em seu capítulo “State of the Art & Analysis” que embora Cloud Computing seja um conjunto de tecnologias e conceitos que já existem, como virtualização e SOA, ainda demanda muito esforço de pesquisa e desenvolvimento, para criar camadas de software que gerenciem mais eficientemente este ambiente. Aliás cita alguns projetos de pesquisa em Cloud tendo como base o OpenNebula (http://www.opennebula.org/). O OpenNebula é um ambiente Open Source para implementação de Cloud na modalidade IaaS.

Um ponto interessante das pesquisas em desenvolvimento é a questão da elasticidade que hoje é apenas horizontal e não vertical. Vejamos, por exemplo, uma nuvem IaaS como a EC2 da Amazon. Se voce quiser alocar mais recursos, precisa criar mais instâncias ou seja, voce tem apenas elasticidade horizontal. Não existe no EC2 da Amazon e nas demais nuvens públicas recursos que permitam escalabilidade vertical ou aumento ou diminuição automático da capacidade computacional de uma única instância virtual. Na Amazon o que podemos considerar como escalável verticalmente é a nuvem S3 ou Storage-as-a-Service.

Mas, além das pesquisas referentes à tecnologia, alguns aspectos como legislação e políticas de uso ainda precisam ser melhoradas em muito. Existe, na opinião dos autores do relatório um campo imenso para pesquisas na área de Cloud Computing. Aliás, eu concordo plenamente com eles. Estamos ainda na primeira geração das ofertas de Cloud Computing e nos próximos anos veremos acontecer muita evolução, em todos os seus aspectos, desde tecnológicas à mudanças nas questões legais e regulatórias. Não podemos simplesmente tirar uma foto da situação da computação em nuvem atual e congelá-la no tempo. Em dois a três anos muitos dos receios e questionamentos atuais estarão minimizados. Pensem: há dez anos atrás era quase uma heresia falar-se em colocar cartão

146

Page 147: Computacao Em Nuvem Cezar

de crédito na Internet. Hoje, praticamente todo mundo faz compras pela Internet ou usa Internet Banking.

Um capítulo interessante do relatório é o “Towards a European Vision” onde ele faz uma análise SWOT (Strengths, Weaknesses, Opportunities, Threats) da computação em nuvem na Europa. Este é um ponto que merece atenção. Observamos que a maioria das ofertas de nuvem que vemos no mercado são muito “US-centric” e as realidades americanas e brasileiras são muito diferentes, tanto em termos culturais como tecnológicos. Banda larga por aqui não é tão larga e nem tão barata quanto nos EUA. Assim, uma comparação com a Europa, em alguns aspectos, torna-se um pouco mais próxima da nossa realidade.

Por exemplo, em fraquezas (weaknesses) os europeus citam a pouca oferta de infraestrutura computacional. Os imensos data centers da computação em nuvem como os da Amazon ou Google são americanos. Além disso, os europeus reconhecem que estão bem atrás em relação ao desenvolvimento de novas tecnologias no que se refere a Cloud Computing. Na análise de riscos, citam entre outros aspectos a ausência de ofertas de IaaS genuinamente européias, criando uma dependência dos provedores de nuvens americanos. Para a estratégia geopolítica européia é uma questão a ser enfrentada. O que eles indicam no relatório é que incentivam suas empresas de telecomunicações a se tornarem também provedores de nuvens, para contrabalançar a liderança americana exemplificada pelas ofertas de nuvens públicas do Google e Amazon.

Nas conclusões indicam que devem ser enfatizados os esforços europeus para mais pesquisas sobre Cloud Computing, não apenas em tecnologias mas nas questões legais e regulatórias, e o incentivo à criação de novos modelos de negócios que usem a computação em nuvem como base computacional. Em resumo, é um relatório instigante e que merece ser lido com atenção.

147

Page 148: Computacao Em Nuvem Cezar

Cloud em 2011: alguns pensamentos

novembro 16, 2010

Estamos em novembro e como participei de inumeras reuniões e eventos onde o tema Cloud Computing foi debatido, acredito que um pequeno resumo do que foi 2010 e como eu estimo será 2011 poderá ser um bom tema para este post.Para mim ficou muito claro que 2010 foi um ano onde a maioria dos executivos com quem falei estavam interessados em conhecer um pouco mais de cloud para suportar suas decisões de adotar ou não conceito já em 2011. Ano que vem veremos, na minha opinião, muitos projetos piloto, os famosos POC (proof-of-concept) sendo colocados em prática. Alguns projetos POC que os executivos se mostram mais interessados são cloud no ambiente de desenvolvimento e teste, bem como experimentações em email e colaboração. Interessante que muitas análises feitas globalmente mostram claramente que as grandes empresas optam por dar seus primeiros passos em direção a cloud via private clouds e as pequenas e médias tem a tendência de irem direto para nuvens públicas.

Mas tenho plena convicção que o mercado de cloud tende a se acelerar. Cloud é um novo modelo computacional, plenamente sustentável, que irá aos poucos substituir o atual paradigma, o modelo client-server. À medida que ele for melhor compreendido, veremos que cloud vai mudar de forma significativa a maneira como a tecnologia é adquirida e consumida. Vai criar novos modelos de engajamento entre provedores de tecnologias e seus clientes.

Um recente relatório do IDC aponta nesta direção. Segundo esta análise, em 2009 o mercado de nuvens publicas correspondeu apenas a 4% ou 1/25 do total gasto em produtos comparáveis, pelo modelo tradicional. Em 2014 este valor já será de 12% ou 1/8 do gasto no modelo tradicional. Estamos falando de um crescimento de 27% ano a ano!

Mas o desafio é grande. Para provedores de tecnologia está ficando claro que cloud, pelo menos por enquanto, não é uma nova fonte de receita, mas uma possível canibalização de parte substancial das suas vendas de hardware e software. Em resumo, ao invés de adquirir um novo servidor, as empresas que adotam cloud utilizam servidores disponíveis em nuvens públicas, ou “cloudificam” suas próprias máquinas, já instaladas nos data centers internos. No longo prazo, cloud vai transformar por completo o atual modelo de vendas de hardware e software.

Vamos ver os potenciais impactos no longo prazo: o modelo de cloud IaaS poderá substituir a aquisição de servidores e storage. PaaS poderá substituir os atuais softwares de middleware comercializados on-premise o modelo SaaS poderá substituir o modelo de vendas de pacotes aplicativos como ERP que não precisarão mais ser adquiridos e instalados nos servidores internos.

O impacto na cadeia de valor da indústria de TI será significativo. Empresas que só vendem hardware terão que evoluir para serem empresas de serviços, pois o hardware

148

Page 149: Computacao Em Nuvem Cezar

passará, ele próprio, a ser serviço. Aliás, IT como um todo será IT-as-a-service. Já vemos empresas que só fabricavam hardware adquirindo empresas de serviços e software, dando seus primeiros passos para entender e desenvolver novos modelos de negócio. Os intermediários, as empresas que são simples “box-move” ou sejam, compram mais barato do fabricante e revendem, terão que redesenhar seu futuro. Talvez daqui a cinco ou dez anos o negócio de vender hardware como conhecemos hoje não exista mais.

Os drivers para adoção de cloud são vários. Um destes drivers que acredito vão impulsionar a adoção de cloud será o mais rápido “time-to-value”, quando os CFOs reconhecerem que suas empresas poderão usufruir de novos sistemas e tecnologias sem investimentos em capital, como no modelo atual. É uma troca do modelo de capex por opex. À medida que se troca os custos fixos por variáveis, libera-se mais capital para investimentos em outras áreas de negócio, além de permitir que as empresas ajustem dinamicamente suas despesas com TI com as demandas do negócio. Um CFO fica sensibilizado quando compreende que pode redirecionar seus investimentos na aquisição de ativos de TI, para atividades que geram receita diretamente.Outro impulsionador é a melhor flexibilidade do negócio, quando a empresa puder lançar um novo produto ou serviço muito mais rapidamente, sem esperar pelos longos tempo de espera pela aquisição e instalação de novos ativos de hardware e software.

Mas, este cenário não vai ocorrer de uma dia para o outro. Ainda vemos muita desinformação circulando no mercado. Hoje o rótulo de cloud é usado por qualquer produto de hardware e software ou provedor de data center, mesmo que não tenha absolutamente nada dos conceitos basicos de cloud, como já discutimos exaustivamente aqui no blog. O desconhecimento do que é cloud por parte de profissionais e executivos também atua como barreira. Outro dia este desconhecimento ficou muito claro quando um CIO me disse que já tem private cloud, pois virtualizou grande parte de seus servidores. Ora, virtualização é apenas o primeiro passo. Criar uma infraestrutura elástica, padronizada e automatizada, acessada de forma self-service é que caracteriza um data center atuando como nuvem privada.

Cloud não é uma panacéia universal e sua adoção não é tão simples assim. Demanda expertise e um planejamento adequado. Aliás, cloud não se compra, mas se constrói. O que se compra são serviços e tecnologias que formam a base tecnológica que permite criar um ambiente virtualizado, padronizado e automatizado, pilares do modelo cloud. Sugiro acessar o endereço http://www.ibm.com/ibm/cloud/, onde vocês verão a estratégia da IBM para implementar cloud em seus clientes, baseada em três pilares: plan, build e deliver. Lá vocês poderão acessar também o Cloud Adoption Advisor, um self-assessment gratuito que orienta onde iniciar as ações de cloud na empresa. É auto-explicativo, feito online, com resultados bem interessantes e orienta quais primeiros passos devem ser dados.

No longo prazo a indústria de TI terá outra característica, diferente da atual. Para termos uma melhor idéia do que poderá ser este cenário, vamos dividir cloud em uma taxonomia já relativamente bem aceita, que é IaaS, PaaS e SaaS, além de nuvens privadas, publicas ou híbridas. Cada um das variantes de cloud tem dinâmica de evolução diferentes, tanto

149

Page 150: Computacao Em Nuvem Cezar

em termos tecnológicos, como em ritmo de adoção pelo mercdo. Colocar tudo no mesmo saco torna as coisas muito enevoadas.

Por exemplo SaaS já vem sendo adotado há algum tempo e muitos cases de sucesso já existem no mundo inteiro. A empresa Salesforce é um exemplo bem sucedido deste modelo. Este modelo demanda que o provedor SaaS não customize seus produtos, mas ofereça-os de forma altamente pardronizada. Para entender melhor o que é uma empresa SaaS, recomendo a leitura do excelente livro “Behind the Cloud” do fundador e CEO da Salesforce, Marc Benioff, onde ele descreve a criação e evolução de uma empresa 100% SaaS, que é a própria Salesforce. Este livro é realmente é um guia de como criar e manter uma empresa de software no modelo SaaS. Imperdível para todos empresários da indústria de software.

Falando em SaaS, este modelo deve impactar as consultorias que vivem basicamente de implementar e customizar aplicativos como ERP. Como o SaaS é altamente padronizado, os serviços de implementação são mais rapidos e menos onerosos. Voltando ao exmplo do SaaS, o livro do Marc Benioff explica que a salesforce não customiza o software para os clientes, mas cria uma plataforma aberta onde os clientes, ISVs e consultores podem construir novos aplicativos, que interajam com seu produto de CRM. Por outro lado, cresce a demanda por integração entre aplicativos SaaS e on-premise.

As nuvens públicas do modelo IaaS tem sua própria dinâmica. É um serviço de massa, altamente padronizado, que demanda por parte de seus provedores uma escala significativa para poderem oferecer serviços com uma relação custo-beneficio superiores ao modelo de hosting atual. De maneira geral as margens são baixas e portanto necessitam ter grande numero de usuários. Hoje o melhor exemplo de oferta de nuvem pública é o da Amazon. Dados não oficiais estimam que a receita da Amazon com seus serviços de IaaS já alcançam o patamar dos 500 milhões de US$.

Quando falamos em private cloud, temos um cenário diferente. Uma empresa que se propõe a construir uma private cloud transforma o modelo de relacionamento entre sua própria TI e seus usuários. TI deixa de ser um centro de custos e passa a ser um “service-provider” financiado pela contribuição para os seus custos operacionais por parte de seus usuários. Para os provedores de tecnologia abre-se um bom espaço para venda de tecnologias e consultorias que operacionalizem a nuvem privada.

Cloud computing significa um risco e um desafio para provedores e consumidores de tecnologia. Para os provedores uma nova oportunidade, desde que estejm preparados para surfar neste novo modelo. A disrupção no modelo de entega e consumo de produtos e serviços de TI implica em novo modelos de negócio e profundas mudanças nos modelos atuais.

Nos próximos anos, na minha opinião, veremos uma crescente adoção de TI-as-a-Service, com o modelo on-premise sendo substituido aos poucos pelo modelo cloud. A industria como um todo passará por transformações e acredito que de “product-cenric” passará ao modelo “service-centric”. O dinheiro que vai girar a industria de TI vai deixar de ser para

150

Page 151: Computacao Em Nuvem Cezar

produzir bens de capital para prestação de serviços continuados. O modelo cultural e de governança, de vendas transacionais e seus incentivos passará de recompensas por vendas one-time para criação e consolidação de relacionamentos duradouros com os clientes. Serão realmente tempos desafiadores para todos nós, profissionais de TI.

151

Page 152: Computacao Em Nuvem Cezar

Cloud Computing e Open Source: complementares e não concorrentes

novembro 22, 2010

Uma questão que volta e meia me fazem em palestras sobre Cloud Computing e SaaS é se este conceito abala o modelo Open Source. Venho pensando no assunto e gostaria de instigar um debate aqui. Na minha opinião, SaaS e Open Source são complementares e não competidores.

Vamos raciocinar juntos. Olhando a cadeia de valor do negócio software podemos pensar em três perguntas básicas:

a) Quem constrói o software?b) Quem adiciona valor e o distribui?c) Quem o utiliza?

Para a primeira pergunta respondemos que o software pode ser criado por uma comunidade ou por empresas, seja para uso próprio ou para comercialização. O modelo Open Source se encaixa neste caso. É basicamente um modelo de criação e desenvolvimento de software. Por ser um modelo colaborativo, ele permite criar novos modelos de negócio, alternativos ao modelo tradicional de vendas de licenças. A receita geralmente vem de serviços adicionados em torno do software em si.

Já SaaS é um modelo de distribuição e consumo de software. Uma empresa ou um usuário adquire um serviço que utiliza determinado software. Por exemplo, um usuário adquire o direito de usar um serviço de email como o Gmail, gratuitamente como usuário final ou pagando um fee como empresa.

Analisando a cadeia de valor do software vemos então que Open Source se encaixa na questão “quem constrói o software?”, sendo portanto um modelo de desenvolvimento, não importando se o software será distribuído via modelo on-premise ou via SaaS.

Vamos ver alguns exemplos na prática. O Linux é um sistema operacional desenvolvido pela comunidade e um dos ícones do movimento Open Source. A própria comunidade e algumas empresas adicionam valor a ele, em forma de componentes e utilitários adjacentes, como as distribuidoras, e o disponibilizam, de forma gratuita ou sob contrato de serviços como remuneração pelo valor agregado. No modelo atual, on-premise, quem se encarrega de baixar o sistema nos servidores e customizá-lo é a própria empresa usuária, por conta própria ou contratando serviços de terceiros. Mas ele pode ser usado como SaaS? Sim, aliás, muitas das ofertas de Cloud Computing públicas e SaaS existentes hoje utilizam Linux e outros softwares Open Source como base, adicionando softwares de código fechado às suas ofertas. Dois exemplos bem conhecidos são o EC2 da Amazon e o Google AppEngine, que são suportados por servidores Linux e softwares de virtualização e gerenciamento Open Source, como o Xen.

152

Page 153: Computacao Em Nuvem Cezar

Existem também diversos projetos Open Source que permitem criar infraestrutura de nuvens privadas baseadas em Linux, como os projetos Eucalyptus (http://open.eucalyptus.com/) e Nimbus (http://www.nimbusproject.org/). Uma outra iniciativa bem interessante é o projeto Bitnami (http://bitnami.org/) que permite implementar ambientes operacionais Open Source na nuvem EC2 da Amazon. O stack de software Bitnami inclui aplicações e softwares Open Source que podem operar como uma AMI (Amazon Machine Image).

O usuário de nuvens públicas ou de ofertas SaaS, seja ele uma pessoa ou uma empresa, quer usufruir do serviço ou das funcionalidades que a nuvem vai prover, e não do código fonte. Ele quer se abstrair das atividades relacionadas com implementar e manter os recursos computacionais. Aliás, para ser lucrativo o provedor de um software SaaS precisa de basear em três pilares: ambiente virtualizado e multi-tenancy, padronização e automação. Ora, um ambiente padronizado impede que cada usuário customize o software ou altere o código a seu prazer. É diferente do modelo on-premise onde a responsabilidade pelo bom ou mau uso do software é da empresa usuária. No SaaS o provedor é o responsavel pelo nivel de serviço e não poderá oferecer versões individualizadas sob pena de não ter a economia de escala suficiente para ser lucrativo. Construir e manter operacional uma infraestrutura de nuvem pública (SaaS é um modelo de nuvem pública) demanda alto investimento.

Por outro lado, o provedor de uma nuvem pública ou de uma oferta SaaS pode abrir o código fonte do seu software para conseguir colaboração da comunidade e acelerar o processo de inovação. Mas o software disponibilizado como SaaS não será aberto. Os usuários devem ter acesso à mesma versão do software e para isso o provedor tem que fechar a versão disponibilizada na nuvem.

Claro que se o software for Open Source sempre poderemos copiá-lo e criarmos nossas próprias nuvens públicas. Para criar diferenciação no serviço, cada provedor acabará tendo que criar funcionalidades específicas e diferenciadoras, inclusive usando alguns componentes de software fechados. O resultado final é o aumento da concorrência, que será salutar para o mercado como um todo.

Assim, o se o usuário quiser modificar um determinado software Open Source para executar em nuvem uma funcionalidade que interesse especificamente a ele, terá como opção usar este software em uma nuvem IaaS, assumindo a responsabilidade pelo seu uso. Um provedor de IaaS como a Amazon provê apenas servidores virtuais com seus sistemas operacionais, como Linux. O uso dos aplicativos é de responsabilidade do usuário do serviço e não da Amazon. Diferente do modelo SaaS, onde o provedor é responsavel pela qualidade do nivel de serviço oferecido.

Na minha percepção, o uso de Open Source atuando de forma sinérgica com softwares fechados pode abrir oportunidades para criação de ofertas de Cloud e SaaS mais rapidamente e mais baratas. São complementares e não concorrentes. Qual opinião de vocês?

153

Page 154: Computacao Em Nuvem Cezar

Entendendo o modelo Multi-tenancy

novembro 29, 2010

O modelo SaaS vai, no futuro, requerer tecnologias e arquiteturas especificamente desenhadas para operar em nuvem. Entretanto, estas novas arquiteturas e tecnologias vão aparecer no longo prazo, com modelos intermediários e transitórios surgindo no curto e médio prazo, fazendo a ponte entre os modelos computacionais existentes hoje e os futuros modelos em nuvem.

A maioria dos softwares existentes hoje foi desenhada para operar nos data centers das empresas, sujeitos à contratos específicos de licença de uso. As próprias plataformas de aplicação como Java e .Net foram desenhadas para operarem no modelo on-premise.

Em um modelo SaaS em nuvem, as aplicações podem ser oferecidas como serviços à muitas organizações. Para os provedores destes serviços, é imprescindivel que os recursos computacionais a serem oferecidos sejam o mais amplamente compartilhados. Para os usuários, é fundamental que uma falha de um software na operação para um outro usuário não o afete. Além disso, cada usuário gostaria de adaptar, na medida do possível, a aplicação à suas características específicas.

Mas, as arquiteturas de software atuais não atendem a este novo cenário. É necessário um novo modelo arquitetônico de software, chamado de multitenancy ou multi-inquilino.

A proposta do modelo SaaS é ter uma aplicação atendendo a multiplos clientes, chamados de tenants ou inquilinos. Inquilinos não são usuários individuais, mas empresas clientes do software. Uma arquitetura multi-inquilinos (em alguns casos a literatura fala em multi-arrendatário, mas eu prefiro usar o termo multi-inquilino) é uma arquitetura essencial para um ambiente em nuvem pois permite que multiplos inquilinos (empresas clientes) compartilhem os mesmos recursos fisicos como um aplicativo ERP, mas permanecendo logicamente isolados.

Os modelos multi-inquilino são:

a) Inquilino isolado. Neste modelo, cada inquilino tem seu próprio stack de tecnologia, não havendo compartilhamento de recursos. Na prática, embora o usuário sinta a experiência de multi-inquilino, pois a aplicação é oferecida a multiplos clientes, a partir do mesmo data center, este modelo não é multi-inquilino. É similar ao modelo tradicional de hosting (hospedagem), onde cada usuário tem seu próprio conjunto de recursos computacionais e sua própria instância da aplicação. Para a uma oferta SaaS, este modelo carece de agilidade e elasticidade, porque adicionar um novo inquilino requer o provisionamento de sua própria instância de hardware e software. Tambem não permite economia de escala. Os provedores que comercializam softwares no modelo tradicional podem oferecer esta opção, sem alterar sua aplicação. Embora não seja verdadeiramente

154

Page 155: Computacao Em Nuvem Cezar

Computação em Nuvem é um passo nesta direção, oferecendo como atrativo a facilidade de uma rapida oferta para SaaS.b) Multi-inquilino via hardware compartilhado (virtualização). Neste modelo, cada inquilino tem seu próprio stack de tecnologia, mas o hardware é alocado dinâmicamente a partir de um pool de recursos, via mecanismos de virtualização. Bastante similar ao modelo anterior, mas permitindo elasticidade na camada do hardware. Elasticidade é fundamental ao modelo de Computação em Nuvem, que demanda mecanismos de alocação e liberação de recursos de foma dinâmica. Este modelo permite uma entrada rápida na Computação em Nuvem, principalmente por provedores de aplicações e de infraestrutura, porque não demanda redesenho da aplicação. Entretanto, apresenta limitações, pois a unidade de alocação e liberação de recursos é a maquina virtual onde aplicação vai operar.c) Multi-inquilino via container. Neste modelo vários inquilinos são executados na mesma instância de um container de aplicação (um servidor de aplicações), mas cada inquilino está associado a uma instância separada do software de banco de dados. O ambiente de execução é compartilhado entre vários inquilinos, mas a plataforma de dados é mesma. A premissa do modelo é que o isolamento do banco de dados garante integridade dos dados dos inquilinos, ao mesmo tempo que o container de execução, por ser compartilhado, oferece as vantagens de elasticidade e customização. Para garantir o isolamento dos inquilinos dentro de uma única instância do container ou servidor de aplicações, este deve ser desenhado com funcionalidade para gerenciar a alocação de recursos aos seus inquilinos.d) Multi-inquilino via todo o stack de software compartilhado. É uma evolução do modelo anterior, agora com todo o stack de software sendo compartilhado. Neste modelo além do container da aplicação, também uma única instância do banco de dados é compartilhada por todos os inquilinos.

O modelo (b), multi-inquilino por compartilhamento de hardware, permite uma transição para SaaS, com baixo custo e baixo impacto. A razão é simples: preservam os modelos de programação e tecnologia já conhecidos.

Os modelos (c) e (d) implementam um nivel bem mais avançado de SaaS e provavelmente serão os modelos dominantes no longo prazo. Mas hoje, é implementado apenas por empresas de software que não possuem legado para sustentar e portanto podem romper com os modelos tradicionais, como por exemplo, a Salesforce. Como são nativos ao modelo em nuvem, oferecem niveis elevados de flexibilidade e elasticidade, mas ao custo de disrupção nos modelos atuais de programação.

Nos próximos anos veremos um intenso debate sobre os prós e contras dos vários modelos de multi-inquilinos, mas no longo prazo os modelos (c) e (d) prevalecerão. Empresas de software que precisam suportar sua imensa base de clientes com sistemas legados, estão optando por uma evolução gradual, adotando inicialmente o modelo (b), mas incentivando uma evolução posterior para os modelos (c) e (d), à medida que o mercado e as tecnologias disponíveis forem amadurecendo o suficiente para suportarem clientes corporativos de grande porte.

155

Page 156: Computacao Em Nuvem Cezar

Cloud Computing no governo americano

dezembro 6, 2010

Li recentemente o relatório “State of Public Sector Cloud Computing”, apresentado por Vivek Kundra, CIO do governo americano. O relatório pode ser visto na sua íntegra em http://www.cio.gov/documents/StateOfCloudComputingReport-FINALv3_508.pdf . O governo americano é o maior consumidor de TI do mundo, com orçamentos anuais em torno dos 76 bilhões de dólares. E como todo grande usuário sofre de problemas crônicos como fragmentação de sistemas, projetos concluídos fora do prazo e acumulo de tecnologias e sistemas legados que aumentam a complexidade e custos da operação.

Diante deste cenário e das oportunidades potenciais que o modelo Cloud Computing abre para melhoria da eficiência da utilização da infrastrutura tecnológica e redução de custos, o governo americano anunciou em setembro de 2009 sua “Federal Government’s Cloud Computing Initiative”.

Conhecer o documento é interessante, pois não só mostra a visão de um grande consumidor de TI, mas este, por sua influência e peso na industria, pode afetar o ritmo de adoção de cloud computing no mundo todo.

O relatório aponta que o caminho para adoção de cloud computing passa por etapas bem definidas começando por um processo de consolidação dos data centers do governo e depois os instrumentando com recursos de virtualização e automação. Sempre é bom lembrar que os pilares básicos do modelo de computação em nuvem são virtualização, padronização e automação. Em fevereiro deste ano foi proposto o “Data Center Consolidation Guidance” para orientar os data centers do governo americano em seu processo de consolidação.

Existem muitos desafios no caminho da adoção de cloud computing, como as questões de segurança e privacidade, e a interoperabilidade entre nuvens. A adoção de padrões relativos a cloud computing é essencial e o governo americano vem buscando influenciar a indústria a acelerar este processo de padronização. Se vocês quiserem ter um bom resumo do que está acontecendo em termos de padronização em clouds e os links para as diversas entidades e iniciativas que estão atuando no tema, acessem http://cloud-standards.org/ .

O relatório de Vivek Kundra mostra claramente a importância de cloud computing para as iniciativas de TI do governo americano e nele estão definidas metas bem claras para incentivar sua adoção nos proximos anos. Vejam este trecho original do relatório:

. By September 2011 – all newly planned or performing major IT investments acquisitions must complete an alternatives analysis that includes a cloud computing based alternative as part of their budget submissions.. By September 2012 – all IT investments making enhancements to an existing investment must complete an alternatives analysis that includes a cloud computing based

156

Page 157: Computacao Em Nuvem Cezar

alternative as part of their budget submissions.. By September 2013 – all IT investments in steady-state must complete an alternatives analysis that includes a cloud computing based alternative as part of their budget submissions.O modelo de computação em nuvem ainda está nos seus estágios iniciais, e estamos todos nós aprendendo a melhor explorar suas idéias e conceitos. Portanto, toda e qualquer informação sobre casos de uso nos ajudam nesta caminhada.

O relatório lista alguns casos interessantes de uso de cloud computing por entidades dos governos federais e estaduais dos EUA, como:

. Uso de SaaS como o Salesforce por diversas agências governamentais, como o Exército (US Army) em seu projeto de recrutamento. Outro projeto baseado no Salesforce é o de CRM da New Jersey Transit Authority, que olha os passageiros do transporte publico como clientes e não como cidadãos anônimos.. Uso de nuvens privadas como a criada pela Defense Information Systems Agency, do Departmento de Defesa. A nuvem chama-se RACE e pode ser vista em http://www.disa.mil/race/ .. Criação de uma nuvem para desenvolvimento colaborativo de aplicações para o DoD (Departamento de Defesa), sejam em Open Source como em projetos de acesso restrito. Vejam em http://www.forge.mil/ .. Lawrence Berkeley National Labs está migrando seus emails para nuvem, bem como está testando a viabilidade de usar a nuvem da Amazon como reserva computacional para periodos de demanda de pico, que ultrapassem a capacidade de sua nuvem privada. Aliás o uso de email em nuvem está se popularizando pouco a pouco nas diversas agências do governo americano, sejam elas federais como estaduais. Dois exemplos interessantes de uso de email em nuvem são os das cidades de Los Angeles e de Orlando.. Alguns portais como o USA.gov já estão em nuvem. Segundo o relatório, os gastos com o portal, no modelo on-premise, eram de US$ 2,35 milhões, dos quais 2 milhões em upgrades de hardware e relicenciamento de softwares, e 350 mil dólares em custos de pessoal. Com o modelo em nuvem publica os gastos passaram ao patamar de US$ 650.000, economizando-se US$ 1,7 milhão por ano. Vejam o portal em http://www.usa.gov/ . Outro exemplo de portal em nuvem é o Recovery.gov (www.recovery.gov) , que está baseado no EC2 da Amazon.. Plataforma em cloud computing Nebula da NASA, que vem acelerando a entrega de novos projetos de forma significativa. Um paper sobre o assunto pode ser lido em http://www.informationweek.com/government/cloud/showArticle.jhtml?articleID=227900365 .

Como vemos, cloud computing está saindo da teoria e entrando puco a pouco na pratica. Indiscutivelmente que não podemos ignorar esta tendência. Quanto mais cedo compreendermos seu potencial e validarmos como e quando adotar cloud em nossas empresas, mais cedo obteremos seus beneficios.

Cloud Computing: balanço do ano

157

Page 158: Computacao Em Nuvem Cezar

dezembro 13, 2010

Estamos no final de 2010 e fazendo um pequeno balanço do ano vejo que o tema Cloud Computing tem despertado mais e mais atenção. Recorri ao Google Trends e comprovei que o numero de referencias ao assunto vem crescendo signficativamente.Assim, resolvi escrever um texto com minha percepção do porque estamos falando tanto de computação em nuvem.

A computação evolui em movimentos pendulares, da mais completa centralização a total descentralização, e fazendo o caminho de volta quando os extremos são alcançados.Nos anos 60 e 70 o paradigma era a computação centralizada. Foi a época de ouro dos mainframes. No inicio dos anos 80 vimos o movimento do downsizing e a descentralização, com a proliferação de redes locais e servidores. Parecia realmente uma grande idéia, até que nos descobrimos envolvidos por inúmeras ilhas tecnológicas, com custosas atividades de gerenciamento de redes e aplicações heterogêneas.

A falta de controle deste ambiente está levando a altas taxas de crescimento da capacidade computacional.A maioria das organizações de médio a grande porte utiliza centenas ou mesmo milhares de servidores, de diversas tecnologias e fabricantes. Existem máquinas Windows em suas diversas versões, inúmeros matizes de Unix (Solaris, AIX e HP-UX), um número cada vez maior de máquinas rodando Linux e mesmo outros ambientes operacionais como mainframes. Estudos têm mostrado que a maioria das empresas que estão implementando aplicações corporativas, como ERP, as baseiam no mínimo em duas plataformas diferentes.

Este complexo e heterogêneo parque computacional é responsável por uma parcela significativa (pelo menos de 50%-60%) do orçamento de TI das empresas e infelizmente não é aproveitado em todo seu potencial. O cenário tecnológico para os próximos anos mostra que as empresas de médio a grande porte continuarão enfrentando grande complexidade e diversidade de ambientes, e todas estas plataformas deverão estar se comunicando umas com as outras. Em resumo, a maioria das empresas vai continuar operando com múltiplos ambientes e gerenciar com eficiência esta complexa infraestrutura é bastante complicado e caro.

A utilização dos servidores é bastante variada. Existem muitas máquinas dedicadas a atividades de suporte à própria infraestrutura, como servidores de correio eletrônico, servidores de impressão, servidores de rede, firewalls e assim por diante. De maneira geral seus níveis de utilização são bastante baixos, com médias de apenas de 5% a 10%, com períodos de pico de 30% a 40%. Os servidores de aplicação (e existem muitos dedicados a apoiar as aplicações em atividades de teste, não usados em produção) tendem a serem utilizados um pouco mais, com períodos de pico chegando a mais de 70%, embora sua utilização média também se situe em patamares baixos, de 15% a 20%.

É fácil explicar este baixo nível de utilização. Vamos imaginar um servidor dedicado à infraestrutura, como um servidor de impressão (print server). Imaginemos que das 168

158

Page 159: Computacao Em Nuvem Cezar

horas disponíveis em cada semana (sete dias x 24 horas), este servidor é usado tipicamente umas 12 horas por dia útil da semana, ou doze x cinco, 60 horas, que equivale a apenas cerca de 40% do tempo total. Detalhando a utilização do seu processador, observamos que este servidor tem uma carga típica de intensa operação de I/O (“I/O bound”) e devido às suas características operacionais apenas em uma pequena porção de tempo tanto o processador como os dispositivos de I/O estarão operando ao mesmo tempo (as razões são várias, como paginação excessiva, baixo nível de multiprogramação e assim por diante). Em conseqüência, em grande parte deste período de utilização, o processador não está ocupado, havendo uma significativa ociosidade dos ciclos de CPU.

Além disso, a distribuição da carga de trabalho não é homogênea. De maneira geral um pequeno número de servidores concentra a maior parte da carga, com inúmeros outros sendo subutilizados. A lei de Pareto (também conhecida pela regra dos 80-20, diz que 80% de determinado resultado é explicado somente por 20% das causas que o provocam. Por exemplo: 80% da carga de trabalho computacional de uma empresa está concentrada em somente 20% dos seus servidores) aplica-se bem à distribuição da carga entre servidores. Em conseqüência, um pequeno número de servidores, geralmente os de mais alta capacidade computacional, encontram-se muitas vezes sob demanda excessiva, com centenas de outros quase não sendo utilizados.

Um complicador adicional: no ambiente de empresas cada vez mais interconectadas, a imprevisibilidade da demanda exige que os sistemas tenham condições de adaptar-se instantaneamente a flutuações significativas. Esta imprevisibilidade é potencializada pelas novas aplicações da Internet, como Web 2.0.

O cenário futuro, com advento de tecnologias que permitam uma computação cada vez mais onipresente (dispositivos equipados com chips trocando informações em tempo real) nos indicam um imenso volume de dados a serem manuseados e processados. Um exemplo pode ser os milhões e milhões de chips RFID (Radio Frequency ID), etiquetas eletrônicas embutidas em latas de cerveja ou pacotes de sucrilho, que permitirão rastrear em tempo real todo o ciclo de negócios, da fabricação à residência do consumidor.

O uso de inteligência (software) embarcada deve se acelerar nos próximos anos, com uso intensivo de tecnologia em alguns setores que são grandes desafios para a sociedade, como congestionamentos de trânsito nas grandes cidades, melhoria da eficiência das redes elétricas, conservação de água potável, distribuição de alimentos e serviços de saúde.

Temos portanto, um imenso potencial para usar a tecnologia de forma extremamente positiva, criando provavelmente uma nova revolução industrial.

Esta nova revolução industrial será baseada em software. Hoje, nossa civilização depende de software para funcionar. Software é “conhecimento engarrafado” e a própria “encarnação” digital dos processos de negócio. O software já está embarcado na maioria dos produtos que usamos hoje. Nada mais natural que busquemos conectar esta

159

Page 160: Computacao Em Nuvem Cezar

“inteligência” dispersa pelos produtos ou “coisas”, com os sistemas de gerenciam processos de negócio, otimizando as infra-estruturas físicas, sejam estas prédios, estradas, processos de logística e assim por diante.

O conceito da Internet das coisas, que podemos considerar como o próximo passo da evolução no uso da Internet tem o potencial de modificar profundamente nossa sociedade e a nossa economia. A Internet das coisas vai combinar a universalidade da Internet, que já é a principal infra-estrutura de comunicação do planeta com inteligência ou software embarcado em sensores e atuadores, modificando a maneira de como o mundo físico vai operar.

Mas, tratar este imenso volume de novas informações em tempo real vai demandar uma imensa capacidade computacional impossível de ser prevista em suas flutuações de demanda. Claramente é necessário um novo paradigma computacional, que ajuste, sob demanda, a capacidade computacional às demandas de carga de trabalho.

Portanto, dispor de ambientes dinâmicos, auto-ajustáveis, de alta disponibilidade e escalabilidade, com custos de propriedade adequados torna-se o grande desafio dos gestores de tecnologia das organizações e governos. Portanto, estamos falando de cloud computing!

160

Page 161: Computacao Em Nuvem Cezar

2011

Estamos vendo as ações acontecerem. Acredito que 2011 é o ano que sinalizou para o mercado que a Computação em Nuvem veio para ficar. Os próprios eventos já demonstram isso, com debates mais aprofundados como questões contratuais, legais, etc. O fornecedores de tecnologias e serviços já começam a criar ofertas mais consistentes. É um sinal claro de amadurecimento do conceito. Entretanto, os casos reais ainda estão avançando mais lentamente que o previsto.

Compliance em Cloud: alguns pontos importantes

janeiro 10, 2011

À medida que torna-se mais conhecido, o modelo de Cloud Computing atrai mais atenção, mas um dos seus desafios ainda não resolvidos é a questão da compliance. Andei pensando um pouco sobre este assunto e gostaria de compartilhar algumas idéias com vocês.

A disseminação dos serviços de nuvem muitas vezes esbarra nos aspectos regulatórios. Algumas leis nacionais, como o Patriot Act dos EUA, afetam a privacidade dos dados e cria limitações para empresas estrangeiras usarem provedores de nuvens com data centers localizados nos EUA. O Patriot Act dá poderes ao FBI de exigir de qualquer organização o acesso a seus dados, bastando para isso identificar que a informação é pertinente a uma investigação autorizada. O texto completo do Patriot Act pode ser visto em http://epic.org/privacy/terrorism/hr3162.html.

Ao usarmos os serviços de determinados provedores globais de cloud computing, que não divulgam onde nossos dados estão armazenados, podemos estar sujeitos a legislações locais que conflitam com nossos objetivos de compliance. Por exemplo, empresas européias não armazenam seus dados em data centers localizados no teritório americano porque o Patriot Act conflita diretamente com as demandas de privacidade como definidas pela sua legislação (EU Data Privacy Initiative).

Outro ponto importante é que embora cloud seja um modelo de outsourcing, a reponsabilidade final pelo compliance é da empresa que usa o serviço em nuvem e não do provedor da nuvem. E dependendo da camada de serviços em nuvem contratados, o grau de responsabilidade e controle pode variar bastante. Por exemplo, ao contratar um serviço de IaaS, o provedor só pode assumir a responsabilidade de garantir a integridade e compliance do data center e das suas plataformas de hardware e software básico. Por outro lado, este provedor não tem como conhecer as aplicações dos seus usuários e portanto não pode garantir o compliance dos dados destas aplicações. O controle da aderência ao compliance é exclusivamente do usuário. Já ao contratar SaaS, o provedor deve assumir a responsabilidade pelo compliance, uma vez que o usuário não tem

161

Page 162: Computacao Em Nuvem Cezar

nenhum controle sobre o aplicativo. Mas em ambos os casos, o usuário é o responsavel legal pelo compliance e portanto deve garantir que seus provedores estejam aderentes, para evitar eventuais problemas jurídicos.

Um exemplo? Imaginemos que o usuário deva estar aderente à regulação PCI (Payment Card Industry Data Security Standards) e contrata um serviço em nuvem. Se a modalidade contratada for IaaS, o provedor deve garantir apenas o compliance da infraestrutura. O compliance do aplicativo é por conta do próprio usuário. Mas se a contratação for para SaaS, o provedor deve oferecer compliance também na camada do aplicativo. Mas o usuário deve se assegurar com evidências que o provedor está realmente compliance.

Outra questão ainda em aberto é se a legislação um país alcança outros territórios. Por exemplo, debate-se se o Patriot Act alcança data centers localizados em território fora dos EUA, caso estes data centers sejam de propriedade de empresas americanas.

O que fazer diante destes questionamentos? Ignorar cloud não é a melhor alternativa. Indiscutivelmente que cloud vai entrar nas empresas. Portanto, a melhor alternativa é estudar o assunto e colocar o jurídico da empresa analisando a questão. Analise cuidadosamente os aspectos de privacidade, jurisdição, facilidades de auditoria externa e investigações forenses, período de retenção dos dados por questões legais e possibilidade de verificação dos processos. É importante selecionar bem os provedores de nuvem e trabalhar de forma colaborativa com eles na questão do compliance.

Analisar bem o nivel de compliance dos provedores é essencial. Vamos olhar, por exemplo, as ofertas em nuvem da Amazon. Lendo seu agreement (http://aws.amazon.com/agreement/) observamos alguns aspectos interessantes:

a) Seção 4.3 diz expressamente “We are not responsible for any unauthorized access to, alteration of, or the deletion, destruction, damage, loss or failure to store any of Your Content or other data which you submit or use in connection with your account or the Services.”.b) Seção 7.2 expressa: “We will have no liability to you for any unauthorized access or use, corruption, deletion, destruction or loss of any of Your Content or Applications.

Observe que estas salvaguardas por parte dos provedores são relativamente comuns e não apenas por parte da Amazon. Assim, analise os provedores de nuvem quanto ao seu grau de compliance e suas certificações, e se estão estão aderentes às demandas de sua empresa. Os profissionais de segurança da informação e de auditoria devem ser convocados para ajudar a garantir o nivel de compliance desejado. A Amazon via seu serviço de EC2 não garante aderência adequada? Armazene seus dados lá de forma criptografada. Ou então, crie uma private cloud hospedada em uma nuvem publica. Alguns provedores permitem isso.

Enfim, sempre há o que fazer, mas não deixe que as dúvidas e receios quanto ao uso de cloud impeçam você de seguir em frente.

162

Page 163: Computacao Em Nuvem Cezar

Discutindo SaaS

janeiro 17, 2011

2011 começou corrido. Logo na primeira semana uma conversa com um CIO de uma grande empresa sobre Cloud Computing e SaaS. O assunto esquentou bastante ano passado e neste já começamos a ver as primeiras ações concretas. A conversa é bem emblemática das principais dúvidas que ainda persistem sobre o tema e acho que vale a pena compartilhá-las aqui.

A primeira questão que apareceu na reunião e que volta e meia surge nas discussões sobre SaaS é se realmente este modelo reduz os gastos da empresa com software. Na minha opinião, o modelo SaaS tende a reduzir os custos iniciais porque não demanda investimentos prévios em licenças e infraestrutura de suporte como eventuais aquisições ou expansões de hardware para acomodar o novo sistema. Além disso, o SaaS tenderá a se manter mais econômico ao longo do tempo, uma vez que observamos que o modelo tradicional constantemente demanda um upgrade significativo (da versão x para uma versão y) e estes upgrades muitas vezes representam de 30% a 40% do custo inicial da aquisição do software. Não existem estes custos de upgrade no SaaS. Outro ponto que favorece o modelo SaaS são os custos de suporte, uma vez que no modelo on-premise devem ser adicionados aos custos totais, os custos dos profissionais que suportam o hardware e o banco de dados.

Outra pergunta que apareceu na reunião é se realmente um sistema SaaS é mais fácil e rápido de implementar que um sistema on-premise equivalente. O SaaS tem a vantagem de não haver necessidade de se dispender tempo em instalação e configuração do sistema e dos componentes agregados, como um novo servidor. Mas, uma parte substancial do tempo de implementação de um sistema aplicativo depende do seu nivel de intervenção nos processos de negócio da empresa. Nesta etapa não existem maiores diferenças entre um SaaS e um on-premise.

Uma terceira dúvida foi como integrar sistemas SaaS com os legados, que operam na modalidade on-premise. Esta é uma variável importantíssima. Dificilmente uma corporação de médio a grande porte fará uma migração total para SaaS de um dia para o outro, e mesmo tenho dúvidas se conseguirá fazer esta transformação em um futuro previsível. Portanto, integrar SaaS e on-premise é um aspecto fundamental da estratégia de SaaS e deve ser visto com bastante cuidado. A integração pode ser simples, com uploads e downloads de e para a nuvem via processos batch, ou em tempo-real, via Web services. Esta última opção pode gerar alguns problemas de performance uma vez que as transações viajarão pela Internet. Mas, se os SLA permitirem eventuais variações de performance causados pelo elemento externo e incontrolável (Internet), tudo bem…

Na prática, à medida que mais e mais experiências concretas com SaaS se disseminem, os receios tendem a diminuir e o modelo vai se disseminar mais rapidamente. Por outro lado, os gestores de TI não devem ficar alheios à entrada dos sistemas SaaS nas empresas. Pela facilidade com que se contrata e se opera um sistema neste modelo, os

163

Page 164: Computacao Em Nuvem Cezar

executivos de negócio podem ficar tentados a bypassar a área de TI e começar a usar os sistemas SaaS diretamente. Mas, em algum momento será necessário integrar o sistema SaaS com os sistemas legados. Além disso, alguns SaaS, como o salesforce permitem a criação de aplicativos add-on, através de uma plataforma própria (como o Force.com, que é um exemplo típico de PaaS). Escrever estes novos aplicativos vai demandar desenvolvedores profissionais e a área de TI deve estar preparada para esta demanda.

2011 vai esquentar bastante em termos de SaaS. Os profissionais e gestores de TI devem estar antenados com este movimento. Minha recomendação a aqueles para os quais ainda “a ficha não caiu” é que deixem de ser observadores e passem a liderar sua adoção nas empresas.

164

Page 165: Computacao Em Nuvem Cezar

ITIL e Cloud Computing?

janeiro 24, 2011

Outro dia, em uma animada discussão sobre Cloud Computing surgiu a questão: em tempos de cloud, modelos de gestão de TI como ITIL, ainda tem validade?Os ambientes operacionais de TI tendem a cada dia a se tornarem mais complexos e diversificados. Novas aplicações, usando tecnologias de “dynamic programming languages” como PHP e Perl, mash-ups e mídias sociais são criadas muito facilmente. Muitas das aplicações nem dependem mais de desenvolvedores profissionais, tal a facilidade com que podem ser escritas. O resultado é que a demanda por mais e mais serviços de TI tende a aumentar exponencialmente. O modelo de cloud computing pode ajudar muito na luta contra esta pulverização de serviços. Mas…

Antes de mais nada vamos lembrar que Cloud Computing é o resultado prático de aplicação da fórmula virtualização + padronização + automação. Virtualização é o primeiro passo. A padronização permite criar templates de serviços que podem ser solicitados pelos usuários via um portal, e a automatização cria o ambiente self-service, dinâmico e elástico como proposto pela computação em nuvem.

Com o modelo de computação em nuvem o usuário não precisa ser um expert para requisitar um serviço, podendo fazer isso via um portal. Mas os serviços prestados pela nuvem precisam ser medidos e avaliados, de modo que seja possivel definir-se e monitorar-se os SLA (Service Level Agreements). É absolutamente necessário, para uma operação eficiente da empresa, que os serviços de TI (em nuvem ou on-premise) sejam gerenciados, em todo o seu ciclo de vida, passando-se pelos conhecidos processos de change management, incident management, performance management, etc.

A adoção do framework ITIL enfatiza a padronização de processos de TI, essenciais para implementar e monitorar o delivery dos serviços, sejam estes fornecidos pela próprio data center ou por uma nuvem pública. Na prática, na maioria das empresas veremos ambientes híbridos, com parte dos serviços sendo oferecidos por nuvens privadas, sejam estas operadas no próprio data center (ou hospedadas em data centers de terceiros) e parte por nuvens públicas.

Todos os benefícios esperados pelo uso de cloud (agilidade, flexibilidade e redução de custos) podem ser desperdiçados se os processos de gestão não estiverem adequados. Claro que a operação de uma IaaS em uma nuvem publica está a cargo do provedor, mas a gestão de quanto da infraestrutura usar (e quanto pagar) deve ser gerenciada pela empresa. Assinar uma nuvem publica é como a assinatura de uma linha de celular. Se não houver monitoramento de seu uso, podemos ser surpreendidos com uma conta milionária…Além disso, a padronização dos processos permite definir claramente de quem é a responsabilidade pelas operações na nuvem. O provedor de uma nuvem IaaS oferece a infraestrutura virtual, mas quem fica responsavel pelas operações de backup e restore? Quem fica responsável pela gestão de segurança e controle de acesso?

165

Page 166: Computacao Em Nuvem Cezar

Outra variável da equação cloud computing é a automatização. Para termos um ambiente altamente automatizado e self-service, devemos ter processos bem definidos. Imaginem todo e qualquer funcionário da empresa podendo resquisitar um servidor virtual (nuvem píublica ou privada) para quaisquer atividades, até mesmo pessoais…Os serviços a serem oferecidos, quem deve ter acesso a eles e os limites para seu uso são parte do processo de gestão da nuvem.

A facilidade com que se obtém acesso a nuvens públicas, aumenta a prossibilidade de gestores das linhas de negócio contratarem diretamente serviços em nuvem (Iaas ou SaaS, por exemplo). O resultado do crescimento desordenado de serviços em nuvem pode levar a problemas de fragmentação de sistemas, falta de integração entre aplicações e é claro, ineficiência e aumento de custos.

Assim, as empresas que estão adotando cloud devem colocar a gestão de seu ambiente de TI (interno ou terceirizado) como pré-requisito. Frameworks como o ITIL colocam a empresa em um nivel de maturidade suficiente que as permita obter os beneficios da computação em nuvem.

166

Page 167: Computacao Em Nuvem Cezar

Planejamento de Capacidade em Cloud

janeiro 31, 2011

O assunto Coud Computing ainda gera muito debate. Em um recente evento me perguntaram se uma empresa que usa nuvens públicas ainda precisaria fazer planejamento de capacidade, uma vez que, em tese, os recursos computacionais disponíveis passariam a ser inesgotáveis. Quando for necessário mais recursos, disse a pessoa, bastaria solicitar seu provisionamento ao provedor da nuvem.

Mas, vamos pensar um pouco. Vamos imaginar que um provedor de cloud seja como uma empresa de utilities, como uma operadora de celular. Em tese, basta irmos a uma loja da operadora e comprar uma linha. É verdade, mas volta e meia somos desagradavelmente surpreendidos com problemas de sobrecarga, o que nos gera diversos inconvenientes, como falhas ou interrupções na ligação. Nem sempre é possivel a uma opradora manter uma capacidade maior que a demanda. Existem momentos e locais em que a demanda é maior que a capacidade.

Voltemos ao provedor de cloud. Ele tem que fazer um grande investimento para criar seus data centers e óbviamente que precisa recuperar seu investimento e gerar lucratividade. Pode acontecer que em determinadas situações o provedor não tenha capacidade suficiente para acomodar mais pedidos e manter o mesmo nivel de serviço. Para garantir sempre um atendimento instantâneo ele teria que sustentar uma capacidade em excesso (overprovisioning), que convenhamos, é bastante custoso. Na prática ele vai provavelmente operar como outros provedores de serviços comumente operam, que é vender mais do que a capacidade suportada, esperando que nem todos a requisitem ao mesmo tempo. Quem faz isso constantemente são empresas aéreas, com sua prática de overbooking.

Existe um agravante. Recursos computacionais como servidores e storage podem ser rapidamente adquiridos pelo provedor para atender a uma demnda crescente, mas largura de banda de rede é muito mais demorada para ser ampliada. É um gargalo em potencial.

Assim, os recursos não são infinitos. Os provedores precisam fazer estudos de planejamento de capacidade para definir que capacidade poderão ofertar ao mercado. E quanto aos usuários? Bem, a empresa que vai usar clouds públicas deve estimar quanto de recursos serão necessários, inclusive para fazer as contas de quanto terão que pagar. O custo de hora de servidor virtual é barato, mas os custos de transmissão de dados tendem a ser bem mais caros.

Além disso, à medida que os modelos de serviços de cloud evoluem, novas modalidades de pagamento surgem e o planejamento de capacidade ajuda a identificar qual seria a melhor opção. Não é dificil imaginar no futuro vermos o mercado de provedores de clouds públicas ofertando recursos com preços diferenciados, de acordo com o período do dia ou do mês. Aliás, já vemos alguns primeiros exemplos desta prática, como o

167

Page 168: Computacao Em Nuvem Cezar

modelo spot pricing da Amazon. Neste modelo você faz um leilão para usar recursos ociosos da nuvem da Amazon. Imagine que você queira pagar até 1 dólar por hora de servidor. A Amazon flutua o preço hora de servidor de acordo com a demanda. Vamos supor que o preço de hora de servidor esteja, em determinado momento a 75 centavos de dólar. Neste momento, a Amazon verifica quais usuários querem participar do leilão e quais deles oferecem preços de 75 centavos ou acima. Como voce definiu que pagaria até um dólar, você é um candidato a participar do leilão e eventualmente sua máquina virtual é selecionada e alocada. Ela fica operando até que o preço hora do servidor suba (pelo aumento da demanda) e seu preço de até um dólar fica abaixo do valor. Neste momento o seu servidor virtual é colocado em stand by. Claro que nem todas aplicações podem usufruir desta funcionalidade. Temos, portanto, mais uma atividade que necessita de estudos de planejamento de capacidade. Para maiores detalhes do modelo spot pricing vejam //aws.amazon.com/ec2/spot-instances.

Que conclusão chegamos? Planejamento de capacidade ainda é necessário. Ao usar uma nuvem pública você não faz estudos para adquirir computadores físicos, mas deve planejar quanto de recursos computacionais demanda e estimar quanto custarão estes recursos virtuais. E se vale a pena pagar por eles…

Cloud é apenas outro nome para Outsourcing?

fevereiro 7, 2011

Volta e meia debato o assunto Cloud Computing em eventos e reuniões com clientes. Interessante que ainda observo que cloud ainda é visto por muitos, como um conceito meio abstrato e amorfo. Para um executivo tomar a decisão estratégica de ir para nuvem, é abolutamente necessário que ele compreenda os seus reais beneficios (e é claro, as suas limitações). Cloud não é algo que se compra, como uma caixinha de software, mas um modelo computacional que se constrói ao longo do tempo. O sucesso da adoção de cloud mede-se pelos benefícios que o negócio obterá com sua adoção. Não é portanto, apenas uma decisão técnica, a cargo de analistas de suporte, mas uma decisão de negócios.

Um questionamento que sempre ouço é se cloud não é apenas outro nome para outsourcing. Vale a pena debater este tópico aqui. Para mim cloud é uma outra forma de outsourcing sim, mas apresenta muitas diferenças quando comparado ao modelo de outsourcing que tradicionalmente conhecemos. Com cloud podemos “externalizar’ serviços específicos e não apenas o “all-or-nothing” que comumente vemos hoje. O modelo de terceirização atual prevê contratos de longa duração e os serviços contratados em nuvem podem ser por tempos curtos e on-demand (um projeto ou uma ampliação momentânea da capacidade computacional) e pagamentos pela utilização dos recursos (Pay-As-You-Go).

Na verdade, IT está cada vez mais indo na direção de ser um conjunto de serviços externos. Usamos salesforce.com ou Google e não falamos em outsourcing de CRM ou

168

Page 169: Computacao Em Nuvem Cezar

email…Na minha opinião esta tendência vai se acelerar, ao ponto que no futuro provavelmente não iremos adquirir primeiro uma tecnologia e depois terceirizá-la. O modelo mental será primeiro pensar em serviços externos. O modelo será IT-as-a-Service. Esta mudança, ao longo dos próximos anos, afetará os usuários de TI e os provedores de outsourcing, que terão que se adaptar ao novo modelo.

O grande desafio atual é separar o que é hype do que é real. Ainda vemos muitas desinformações e simplificações excessivas entre fornecedores de cloud e eventuais usuarios destas nuvens. Cloud pode assumir diversas facetas. Os serviços oferecidos em nuvem podem ser de infraestrutura (IaaS), plataforma (PaaS) ou software (SaaS).Vamos fazer uma analogia com a Internet. Internet como um todo é algo vago, mas quando a subdividimos em coisas palpáveis como comércio eletrônico, mídias sociais, correio eletrônico, buscadores, etc, fica mais tangivel e fácil de perceber seu valor.

Com cloud é mesma coisa. O uso de serviços como IaaS podem permitir a pequenas e médias empresas usufruirem de recursos tecnológicos antes impensáveis. Uma empresa pode dispor de 200 ou 300 servidores quase que instântaneamente e pagar apenas pelo seu uso real. Não precisa adquiri-los e instalá-los fisicamente em um data center próprio. Não será impossível de vermos futuros negócios se instalando em um ponto comercial apenas adquirindo assinaturas de luz, telefonia e IT. Sua infra de IT será basicamente tablets, smartphones e browsers. Tudo o mais poderá estar nas nuvens.

Mas a decisão de adotar o modelo de cloud não deve ser meramente tático. Vamos relembrar o comércio eletrônico e o Internet banking. No inicio havim muitas duvidas e receios, mas pouco a pouco se disseminaram e hoje é impensável vivermos sem eles. Estas duas tecnologias criaram novos negócios e mudaram radicalmente muitos outros (transformaram processos internos, relacionamentos com clientes, abrangência de mercados, etc) e cloud terá provavelmente impactos tão grandes ou maiores.

O que temos que fazer hoje é analisar com mais cuidado o modelo de cloud, separar o hype do real, buscar parceiros e provedores que saibam o que estão falando (e que inspirem confiança) e começar a agir. Estamos, é claro, no início da curva de aprendizado e com certeza não veremos especialistas com 20 anos de experiência em cloud! Mas, na minha opinião se ficarmos parados esperando que o trem saia da estação, podemos perdê-lo. Os que ficarem para trás podem perder espaço no mercado, como as empresas que demoraram a adotar o comércio eletrônico tiveram que suar muito para recuperar (e muitas não conseguiram) o espaço perdido para os seu concorrentes.

Meus amigos, saio em férias agora em fevereiro e por incrível que pareça consegui 30 dias. Assim, estarei de volta no início de março e em 14 de março os posts retornam. Enquanto isso, os convido a lerem os posts anteriores. O blog começou em agosto de 2009 e lendo os textos de lá para cá teremos uma boa idéia da evolução do conceito.

169

Page 170: Computacao Em Nuvem Cezar

Quando adotar cloud?

março 10, 2011

Em uma recente reunião com executivos de um cliente, onde ficou decidido que irão adotar o modelo de cloud computing, surgiu a questão: quais os principais desafios para colocar as idéias em prática?Algumas das dúvidas que foram debatidas são, de maneira geral, comuns a maioria das empresas e portanto vamos compartilhá-las aqui.Adotar cloud computing não é uma simples questão de implementar um sistema de virtualização. Aliás ainda existe muita simplificação, com empresas implementando virtualização e afirmando que estão implementando cloud computing. A fórmula para cloud computing é virtualização + padronização + automação. Virtualização é apenas o primeiro passo da jornada.Alguns dos desafios que os gestores de TI vão enfrentar nesta jornada em direção a cloud computing envolvem desde o ritmo, intensidade e abrangência do uso de cloud até mudanças na própria estrutura e organização de TI, com novos skills e responsabilidades, mudanças nos modelos de governança e definição de budgets, e relacionamento com clientes internos e provedores externos.

O primeiro passo é considerar cloud como estratégia de TI, como foi a mudança do ambiente centralizado para o cliente-servidor há uns 15 anos atrás. As empresas que ignoraram o modelo cliente-servidor e insistiram em se manter por tempo demasiado no ambiente centralizado, tiveram que correr atrás do prejuízo. Lessons learned. Portanto a atitude de TI frente à computação em nuvem deve ser pró-ativa e não reativa.

TI deve identificar onde a adoção de cloud poderá trazer maiores e mais rápidos benefícios para a empresa, inclusive pensando “out-of-the-box”, criando novas oportunidades de geração de receita para a organização. Assim TI deve estar bem identificado com as demandas do negócio e as potencialidades da computação em nuvem.

Mas, idéias para serem concretizadas precisam de um impulso financeiro. A adoção de cloud deve ser substanciada por uma análise bem detalhada de ROI (return on investment), TCO (total cost of ownership) e o valor de oportunidades para processos ou produtos inovadores. Deve ficar claro que quando falamos em cloud computing estamos falando de diversos serviços em nuvem como IaaS, PaaS e SaaS, que estão em diferentes estágios evolutivos. SaaS já está em operação há bastante tempo, mas PaaS está dando seus primeiros passos agora. Isto significa que muitas vezes os custos e os riscos do pioneirismo devem ser embutidos nos estudos para sua adoção.

O ritmo e abrangência da adoção de cloud na empresa depende muito da sua cultura de inovação e risco. Empresas mais avessas à riscos devem começar com serviços de cloud já maduros como SaaS, em aplicações que ofereçam o minimo de risco para o negócio.

170

Page 171: Computacao Em Nuvem Cezar

A estratégia de disseminação pode e deve ser gradual. Um exemplo de road map foi o definido pelo CIO do governo federal americano em um recente documento (http://www.cio.gov/documents/StateOfCloudComputingReport-FINALv3_508.pdf) onde ele explicita:. By September 2011 – all newly planned or performing major IT investments acquisitions must complete an alternatives analysis that includes a cloud computing based alternative as part of their budget submissions.. By September 2012 – all IT investments making enhancements to an existing investment must complete an alternatives analysis that includes a cloud computing based alternative as part of their budget submissions.. By September 2013 – all IT investments in steady-state must complete an alternatives analysis that includes a cloud computing based alternative as part of their budget submissions.

Não conheço pesquisas formais, mas de maneira geral há um consenso que de 10% a 40% das aplicações que rodam on-premise nas empresas podem migrar para cloud em curto espaço de tempo. É papel de TI identificar quais destas aplicações fazem sentido migrarem para cloud, o ROI desta migração e os prazos para que isso aconteça.

Finalmente, existe um desafio que ainda não está sendo devidamente ponderado: o gerenciamento e monitoramento dos recursos em cloud. A computação em nuvem muda de forma significativa a maneira como os recursos de TI são adquiridos e utilizados. De maneira geral, pelos menos nos próximos anos, veremos ambientes hibridos nas empresas, com sistemas rodando on-premise em servidores dedicados, outros rodando em nuvens privadas e outros em nuvens públicas. Gerenciar, monitorar e garantir a interoperabilidade deste ambiente complexo não é e nem será uma tarefa simples. A área de TI passará a ser aos poucos de exercer funções de gerenciadora de ativos a gerenciadora de relacionamentos com os provedores de nuvens. Novos skills e funções devem ser adquiridos como cloud services architects. Os modelos de governança devem ser ajustados para a flexibilidade, elasticidade e caracteristicas self-service do ambiente de nuvem.

O resumo da ópera é que a transição para a nuvem vai exigir bastante planejamento. Voltando no passado, se olharmos os então CPDs que mantinham sistemas centralizados e compará-los com os data centers de hoje que rodam sistemas Web e cliente-servidor em centenas ou milhares de servidores, veremos imensas diferenças. E as diferenças entre estes data centers de hoje e as nuvens de manhã serão iguais ou maiores. Portanto, devemos começar a planejar este novo cenário a partir de hoje.

171

Page 172: Computacao Em Nuvem Cezar

Segurança em Cloud: debatendo um pouco mais

março 21, 2011

Em palestras e reuniões sobre Cloud Computing o tema que se sobressai é segurança. Na verdade a questão segurança e o receio diante de uma novidade é comum e sempre aconteceu. Quando, no início dos anos 90 do século passado o assunto era adoção do modelo client-server o questionamento era similar. O mesmo quando começou-se a se falar em comércio eletrônico e era grande o temor de se liberar o uso de cartões de crédito pela Internet. Hoje, o tema segurança também permeia as principais discussões sobre liberação ou não do uso de smartphones e mídias sociais nas empresas. Enfim, é uma discussão natural diante de qualquer novidade e na minha opinião bastante salutar. Posteriormente, à medida que adoção de cloud computing se disseminar, ou seja, após vencermos os receios quanto à segurança, os assuntos que nortearão os eventos e debates sobre cloud passarão a ser integração (como integrar aplicações em clouds diversas e com aplicações que não estejam em cloud) e mais à frente ainda, teremos os debates sobre governança.Mas, como hoje o tema mais proeminente é segurança, vamos explorá-lo um pouco mais neste post.

Métodos e processos de segurança mudam a cada vez que o modelo computacional muda. Foi assim quando surgiu o cliente-servidor e muitos dos métodos adotados para ambientes centralizados tornaram-se inúteis. Foi assim quando a Internet passou ser parte integrante dos processos de negócio e os métodos adotados para segurança internos mostraram-se insuficientes e tiveram que ser modificados. Com adoção de cloud computing a história está se repetindo. Temos que repensar muitos dos processos de segurança atualmente adotados.

Entretanto, ao se falar em segurança em cloud, temos que separar nuvens públicas das privadas. Além disso, as politicas e consequentemente os métodos e processos de segurança adotados diferem de empresa para empresa, pois a tolerância à riscos é diferente em empresas e setores diversos. Em nuvens privadas, as politicas de segurança são as já adotadas pela empresa, claro que atualizadas para o novo modelo. Em nuvens públicas, a política de segurança fica subordinada aos métodos e processos adotados pelo provedor da nuvem.

Claro que a preocupação com segurança é primordial para o sucesso de qualquer provedor de nuvens públicas e eles, pelo menos, os que tem capital intelectual e financeiro suficientes, implementam processos, métodos e tecnologias que reforçam a segurança. Além disso, muitos buscam passar por auditorias externas como SAS 70 (http://en.wikipedia.org/wiki/SAS_70) e certificações oficiais como ISO 27001 (http://en.wikipedia.org/wiki/ISO_27001). Nos EUA e Europa também buscam compliance com FISMA (Federal Information Security Management Act (http://en.wikipedia.org/wiki/FISMA) para projetos junto ao governo americano, Payment Card Industry Data Security Standards (http://en.wikipedia.org/wiki/PCIDSS)

172

Page 173: Computacao Em Nuvem Cezar

para operações que envolvem cartões de crédito e European Data Privacy Directives para operações com empresas européias.

Por outro lado, empresas menos tolerantes à riscos optam por adotar nuvens privadas para seus sistemas críticos, usando nuvens públicas apenas para aplicações que não implicam em riscos para negócio.

Na verdade a adoção de cloud acontece quando o valor percebido pelo novo modelo excede a percepção do seu risco. Cloud deve ser adotado não apenas por redução de custos, mas pela velocidade e flexibilidade que permite a empresa inovar e criar novos produtos e serviços suportados por TI.

Adotar cloud significa rever seus processos, métodos e tecnologias de segurança. Para ficar mais claro devemos dividir a questão segurança em diferentes aspectos como proteção e privacidade dos dados, garantia de integridade dos sistemas (controle de acesso e vulnerabilidades), disponibilidade, facilidades de auditoria e compliance com as regras do setor de negócio em que a empresa esteja inserida. A análise destes pontos é que vai definir o ritmo de adoção de cloud e se a nuvem será privada, pública ou mesmo híbrida. Por exemplo, no quesito auditoria, os processos SAS 70 não estão plenamente preparados para computação em nuvem e já se trabalha no SSAE 16 como seu substituto (http://ssae16.com/).

À medida que o conceito de cloud evolui, novos processos e tecnologias de segurança surgirão e veremos um circulo virtuoso. Estas novas tecnologias trarão mais confiança no uso de cloud, o que aumentará sua disseminação e com mais disseminação, mais novas e inovadoras tecnologias de segurança surgirão, fazendo girar o círculo.

Também, como sinal de amadurecimento do mercado, começamos a ver os primeiros esforços na definição de padrões de segurança, que permitam classificar de forma consistente as soluções de segurança oferecidas tanto pelas nuvens privadas, mas e principalmente pelos provedores de nuvens publicas. Recomendo a leitura dos papers “Security Guidance for Critical Areas of Focus in Cloud Computing”, publicado pela Cloud Security Alliance (https://cloudsecurityalliance.org/csaguide.pdf) e “Cloud Computing Security Risk Assessment”, publicado pela ENISA (European Network and Information Security Agency), em http://www.enisa.europa.eu/act/rm/files/deliverables/cloud-computing-risk-assessment.

Aos poucos estas iniciativas ajudam as empresas analisarem mais detalhadamente o que pode ou não ir para uma nuvem pública ou privada e mesmo comparar os niveis de segurança oferecidos pelos diversos provedores de nuvens públicas. O resultado final é que pouco a pouco a computação em nuvem vai quebrando barreiras e se disseminando pelo mercado.

173

Page 174: Computacao Em Nuvem Cezar

Da virtualização a Cloud Computing

março 28, 2011

Em um dos últimos eventos sobre Cloud Computing um gestor de TI me disse que já usava computação em nuvem há bastante tempo. Me interessei, pois sempre busco casos de sucesso ou insucesso. Os de insucesso são muito interessantes, pois aprende-se muito com os erros…Questionado, ele me disse que já havia virtualizado quase todos os seus servidores. E? Sim, isso mesmo, na opinião dele, virtualizar os servidores significava já estar na computação em nuvem. Infelizmente, tive que frustrá-lo e mostrar que uma simples virtualização não é computação em nuvem. É apenas o primeiro passo, desde que exista uma estratégia para chegar lá. Se a virtualização for o objetivo final, não vai se chegar na computação em nuvem. Cloud Computing demanda mudanças nas arquiteturas tecnológicas, processos de governança, modelos de funding e relacionamento com os usuários e clientes.

Muitas empresas adotaram a virtualização com o objetivo de consolidar seus servidores e reduzir seus custos de hardware e energia. Ou mesmo evitar a construção de um novo data center, pela proliferação de servidores físicos. Entretanto, logo descobriram que passar, por exemplo, de 100 servidores físicos para 50 servidores, mas com 300 ou mais servidores lógicos virtualizados criava imensos problemas de gestão, com consequentes aumentos de custos.

Minha sugestão para ele foi dar os passos seguintes. A virtualização abstrai as aplicações da infraestrutura e pode ser a base para a construção de uma estratégia de cloud computing. Os passos seguintes devem ser a padronização e automatização do ambiente computacional. É um processo gradual.

Com um ambiente virtualizado podemos nos concentrar nas melhorias operacionais, criando mecanismos que permitam um provisionamento e alocação de recursos de forma mais rapida e automática. O usuario poderá ele mesmo requisitar os recursos computacionais, via um portal de acesso. Claro que neste estágio teremos que repensar os processos burocráticos e manuais que adotamos hoje. Quando uma requisição de servidores deixa de passar por um administrador humano e passa a ser automático, via portal self-service, e o tempo de provisionamento deixa de ser de duas ou três semanas, e sim de apenas alguns minutos, os processos devem ser revistos.

A adoção da computação em nuvem deve seguir uma estratégia bem definida. De maneira geral uma grande empresa começa por uma nuvem privada, de modo exploratório, com casos bem definidos e restritos. Um bom exemplo é o ambiente de desenvolvimento e testes. É uma boa maneira de se começar a colocar em prática a computação em nuvem. As lições aprendidas serão muito úteis quando da disseminação do modelo em nuvem para outros contextos, como o de produção.

174

Page 175: Computacao Em Nuvem Cezar

A computação em nuvem provoca a revisão do relacionamento data center-usuário, inclusive permitindo uma visão mais exata do consumo de recursos e consequentemente abrindo espaço para uma revisão dos processos de funding da empresa. O modelo self-service abre novos desafios sob a perspectiva de segurança e gestão. Por exemplo, em um ambiente de teste em nuvem, todo e qualquer desenvolvedor poderá alocar um servidor virtual ou existirão regras claras de quem poderá alocar tais recursos?

Muito bem, começamos a explorar uma nuvem privada. Próximo passo provavelmente será adoção de nuvens híbridas, com algumas aplicações e serviços rodando em nuvens públicas. Surgem novos desafios, que vão da segurança à integração. Como interoperar uma aplicação que está em uma nuvem privada com outra que esteja em uma nuvem pública?

Porque pensar em nuvens híbridas? Muitas vezes será necessário lidar com periodos de pico que não justificam a aquisação de ativos (servidores), que se tornarão ociosos a seguir. Um exemplo? O próprio ambiente de desenvolvimento e teste poderá passar por períodos de pico extraordinários e de curta duração. Permitir que ele se expanda temporariamente para uma nuvem pública faz com que não seja necessário adquirir novos servidores.

Outro ponto que devemos analisar é que muitas aplicações e serviços poderão rodar sim, em nuvens públicas, desde que satisfaçam os critérios de segurança e governança corporativa. Neste caso, o modelo hibrido torna-se constante. Na minha opinião, a maioria das empresas de médio a grande porte irão, nos próximos anos, caminhar para este modelo.

Neste ano já vemos uma aceleração signficativa de uso da computação em nuvem. De forma exploratória, é verdade, mas à medida que formos aprendendo a usá-la e sentirmos seus beneficios, a velocidade de adoção será bem mais acelerada. Algumas estimativas apontam que cerca de 2/3 das grandes empresas já estarão usando, nos próximos anos, em maior ou menor grau, nuvens privadas. Nuvens híbridas serão o passo seguinte e logo após perderemos o medo de usar nuvens públicas.

Portanto, os gestores de TI estão diante de um futuro que já começa a se fazer presente: a empresa na computação em nuvem ou seja, o mundo pós-virtualização. A pergunta que se faz é: estamos preparados?

175

Page 176: Computacao Em Nuvem Cezar

Debatendo um pouco mais Cloud security

abril 6, 2011

A cada vez que o assunto Cloud Computing surge em uma reunião, a questão da segurança aparece em primero lugar. Sendo assim, nada mais natural que eu volte a falar deste tema.Neste post vou abordar os provedores externos de infra-estrutura em nuvem, os provedores de IaaS.

No caso dos provedores de IaaS o primeiro lembrete é que eles não são iguais. Ou seja, cada provedor, apesar das aparentes similaridades dos recursos de segurança quando olhamos superficialmente a questão, oferece, ao nos aprofundarmos na análise, niveis de segurança bastante diferentes.

É inevitável. A experiência, capacitação e poder financeiro por trás do DNA corporativo de cada provedor vai se traduzir em diferentes processos de gestão de segurança. Um provedor de hosting voltado a pessoas físicas e pequenas empresas, que se lança como provedor de cloud, não tem a experiência acumulada de uma outra empresa que há anos se dedica a terceirizar serviços de outsourcing a empresas extremamente exigentes quanto à segurança, como bancos e operadoras de cartões de crédito.

Alguns exemplos: Qual o nivel de controle de segurança física e gerencial oferecido pelo provedor nos seus data centers? Existem tecnologias adequadas para mitigar os efeitos de ataques DDoS (Distributed Denial-of-Service)? Quais os recursos oferecidos pelo provedor para deteção de intrusões? Quais os recursos oferecidos para garantir o isolamento das máquinas virtuais de diferentes clientes que compartilham os mesmos servidores físicos?

Outro aspecto que deve ser analisado nos provedores externos é a questão do IAM (Identity and Access Management). Sugiro validar se e como os funcionários do próprio provedor acessam as máquinas virtuais dos clientes. No caso de funcionários do provedor terem acesso, para atividades operacionais como debug ou atualização de patches, este acesso é auditado e rastreável? No caso de acesso pelos clientes, o provedor tem procedimentos que garantam que apenas os usuários autorizados acessam as máquinas virtuais destes clientes?

Além disso, o discurso comercial pode induzir algumas confusões adicionais. Muitos provedores argumentam que por possuirem um nivel de auditagem SAS 70 Type II serão absolutamente seguros. Não é verdade, pois o SAS 70 não revisa a eficácia dos processos e controles de segurança, mas apenas checa se tais procedimentos existem e se estão documentados. Outra confusão aparece quando se analisa o provedor perante requerimentos como o Sarbanes-Oxley Act (SOX). Muitas vezes o provedor apenas cumpre parte dos requerimentos e pode acontecer que tais partes não estejam à altura do nível de compliance de sua empresa. Assim, não basta saber que o provedor está

176

Page 177: Computacao Em Nuvem Cezar

compliance com SOX ou PCI DSS (Payment Card Industry Data Security Standard). É necessário que você verifique com cuidado se o nivel de compliance dele é adequado às suas necessidades.

No final das contas, apesar do provedor oferecer processos e controles de segurança adequados, sua empresa é a responsável final pela segurança. No caso de infra em nuvem (IaaS), não esqueça que estamos falando de servidores virtuais e o controle de acesso lógico aos aplicativos e dados é de responsabilidade dos usuários da nuvem e não do provedor. O que significa tudo iso? Simples. A responsabilidade pela resiliência da infra em nuvem é compartilhada tanto pelo provedor como pelos seus clientes. O provedor tem que garantir a resiliência do data center e dos servidores. Os aplicativos são de responsabilidade da empresa.

Assim, como mensagem final, avalie cuidadosamente os provedores, filtre os discursos comerciais e analise em detalhes os processos e controles de segurança oferecidos.

177

Page 178: Computacao Em Nuvem Cezar

Politica Cloud First do governo americano avaliza potencial de Cloud Computing

abril 12, 2011

Recentemente li com atenção o documento “Federal Cloud Computing Strategy” (http://www.cio.gov/documents/Federal-Cloud-Computing-Strategy.pdf) publicado em fevereiro deste ano pelo CIO do governo americano.O documento, embora apresente uma visão macro, serve de orientação para órgãos de governo de quaisquer países, inclusive o Brasil e como tal pode ser visto como um roteiro de implementação de cloud computing por órgãos governamentais (de qualquer esfera) e empresas privadas.

Segundo o documento, o setor de TI do governo americano é caracterizado por baixa utilização de seus ativos, sistemas duplicados, fragmentação na demanda de recursos, ambientes diversos e de dificil gerenciamento, etc. Na minha opinião a mesma situação ocorre em praticamente todas organizações complexas, como órgãos de governo e empresas privadas de grande porte.O documento mostra também que do budget de 80 bilhões de dólares/ano, pelo menos 25% ou 20 bilhões podem ser alvo potencial de deslocamento para o modelo de cloud computing.

A estratégia adotada pelo governo americano é chamada de “Cloud First Policy”, ou seja, a primeira opção é o modelo em nuvem e apenas se o modelo não for adequado, a implementação de um novo sistema poderá ser no atual modelo computacional. Um texto oficial do governo explicita claramente: “ Jeffrey Zients, the federal government’s chief performance officer, announced…that the Office of Management and Budget will now require federal agencies to default to cloud-based solutions whenever as secure, reliable, cost-effective cloud option exists”. Na minha opinião é um significativo aval quanto à potencialidade e aplicação da computação em nuvem.

O documento analisa os benefícios e os riscos potenciais do ambiente de computação em nuvem e utiliza a definição de Cloud Computing do NIST (National Institute of Standards and Technology) “Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction”. O NIST também define os modelos de service como IaaS, PaaS e SaaS, e os modelos de entrega como private, community, public e hybrid. Caso queiram ver o documento do NIST acessem //csrc.nist.gov/groups/SNS/cloud-computing/cloud-def-v15.doc.

Um capítulo interessante é o “Decision Framework for Cloud Migration”, que aborda o processo de migração em três etapas:1) Select. Identifica que serviços podem ser transferidos para cloud computing e quando podem ser movidos. Passa pela determinação do que ele chama de “cloud readiness” ou seja, qual o grau de preparação que o órgão ou empresa se encontra para migrar para

178

Page 179: Computacao Em Nuvem Cezar

cloud;2) Provision. Busca garantir critérios de interoperabilidade entre aplicações e serviços nas nuvens com os que continuam on-premise, bem como contratos e acordos de nivel de serviço com os provedores de nuvem; e3) Management. São as recomendações de monitoração e gestão das nuvens. Um ponto importante é a recomendação de reavaliação periódica dos provedores.

Outro capítulo que chama atenção é o que lista exemplos bem sucedidos de implementação de cloud em órgãos de governo. Infelizmente não são muitos, mas mostra o potencial de uso da computação em nuvem. Aliás, o governo americano criou recentemente um ambiente de aplicativos à la “AppStore” chamado de Apps.gov (http://www.info.apps.gov/) onde os órgãos do governo podem obter recursos em cloud, de IaaS a SaaS.

Na prática o documento, embora não entre em detalhes, é um bom modelo que orienta órgãos de governo e empresas privadas no processo de adoção de cloud. Um ponto que chama atenção é a abordagem de cloud, não se prendendo apenas a redução de custos, mas como plataforma que impulsiona agilidade e inovação no setor público. Claro que redução de custos é importante, tanto que cloud faz parte da estratégia de consolidação dos 2100 data centers do governo americano. Mas, na minha opinião uma abordagem focada em redução de custos induz naturalmente aos executivos a olharem TI como commodity, como o jornalista Nicholas Carr definiu em seu instigante livro “Does IT Matter?”. Olhando cloud como plataforma para inovação, nossa leitura é que embora certos aspectos de TI sejam comoditizados (infraestrutura, por exemplo), existe ainda muito espaço para inovação que será potencializada pelo ambiente em nuvem. Outro aspecto legal do documento é que embora seu público alvo sejam os CIOs, ele pode ser usado pelos próprios CIOs como ferramenta de apoio no convencimento dos demais executivos a adotarem cloud como estratégia de TI da empresa.

O documento não entra em detalhes de como por exemplo, identificar quais as aplicações mais adequadas para migrarem para nuvem, que poderá demandar algum apoio externo (consultoria), mas é um primeiro e importante passo na jornada em direção à computação em nuvem. Entretanto, o governo americano, através do NIST deverá publicar até o fim deste ano um documento denominado “Cloud Computing Technology Roadmap” (http://tinyurl.com/3quxh7v) que abordará os aspectos técnicos em maior profundidade.

179

Page 180: Computacao Em Nuvem Cezar

Validando provedores de IaaS

abril 18, 2011

Nas últimas duas semanas estive envolvido em uns 3 ou 4 eventos sobre Cloud Computing. É um assunto que ainda gera muita discussão. É inevitável, pois cloud é uma revolução na maneira de se entregar e consumir TI. Se esta nova maneira de se ver TI fosse compreendida de imediato, não seria uma revolução.Destes eventos, vou tirar uma pergunta que me foi feita e trabalhar em cima dela. A pergunta foi: “Como posso escolher um bom provedor de nuvem de infraestrutura, IaaS?”.

É um ponto interessante. Embora existam diversos provedores de IaaS, alguns nacionais e outros globais, à despeito das similaridades quando se olha os seus prospectos de marketing, eles não foram criados de forma igual e nos detalhes mostram-se totalmente diferentes entre si.

Cada provedor de IaaS foi desenhado e arquitetado para atender mercados de escalas e características diferentes. Assim, alguns se propõem a atender grandes empresas, altamente exigentes em termos de niveis de serviço e compliance à aspectos regulatórios, enquanto outros buscam atender empresas de pequeno porte, menos exigentes quanto a estes aspectos. Os seus data centers também são desenhados com esta escala em mente. Para atender a algumas centenas de clientes um data center terá características diferentes de outro que deverá suportar alguns milhões de clientes. Os objetivos de negócio também são diferentes, o que vai se refletir nos investimentos e capacidade financeira de cada provedor.

A escala do provedor tem um reflexo imediato na flexibilidade e nos preços oferecidos por ele ao mercado. O provedor deve previamente investir em uma determinada capacidade computacional, capacidade esta que será oferecida ao mercado. Ou seja, ele tem que fazer um investimento upfront para entrar no mercado. Se seus clientes tiverem um ticket médio muito pequeno, ele precisará de muito fôlego financeiro para subsidiar o negócio até que suas ofertas IaaS sejam lucrativas. Além disso, a sua escala também influencia o grau de elasticidade que ele poderá prover. Por exemplo, se seus clientes não variarem muito em termos de consumo computacional e estiverem próximo dos limites de utilização do seu data center, qualquer aumento de demanda necessitará de mais investimentos e a velocidade do atendimento será mais demorada. Nestes casos ele provavelmente nem poderá garantir que 100% dos recursos provisionados serão realmente alocados. Por outro lado, provedores com excesso de capacidade e clientes com variação de carga significativa, poderá oferecer preços diferenciados de acordo com a demanda.

Os data centers dos provedores também merecem uma atenção especial. Algumas empresas globais tem condições de criar vários data centers, com controles de segurança extremamente sofisticados. Outras, sem esta capacidade de investimento, poderão dispor

180

Page 181: Computacao Em Nuvem Cezar

de um data center mais vulnerável a ataques ou mesmo a situações de indisponibilidade.Os servidores destes data centers também não são os mesmos. De maneira geral, um serviço de IaaS é baseado em servidores de base Intel ou AMD, com sistemas operacionais Linux e/ou Windows. Porque este assunto nos interessa? Ora, dependendo do processador, ele poderá ou não ter recursos de virtualização embutidos no hardware, o que melhora o desempenho dos servidores virtuais. Verifique também se os servidores e clusters que compõem o data center tem componentes redundantes, como “dual power supplies” ou “dual network interfaces cards” (NICs). O nivel de disponibilidade oferecido pelo provedor é afetado por estas características.

Outra tecnologia a ser observada é a de virtualização. De maneira geral encontramos hipervisores VMware, Xen, Hyper-V e KVM. Se você estiver preocupado com performance um estudo mais detalhado poderá mostrar qual hipervisor será mais adequado para o nivel de desempenho e disponibilidade esperado para suas aplicações. Dependendo da tecnologia de virtualização e da expertise do provedor voce poderá ter diferentes niveis de disponibilidade. O pior é a queda de um servidor físico derrubando todos os servidores virtuais que rodam nele. A partir daí, será interessante analisar como o provedor garantirá a disponibilidade: ele poderá automáticamente remover o servidor vitual de um servidor físico indisponivel para outro, sem afetar a operação dos usuários? E qual será o custo deste nivel de disponibilidade?

Como falamos em disponibilidade, devemos entrar no assunto disaster recovery. Se o data center ficar indisponivel, existe data center alternativo para continuar a operação do provedor? Em caso positivo, em quanto tempo o data center alternativo poderá começar a operar?

Outro ponto é o grau de automação e velocidade de atendimento do provedor à solicitações de provisionamento do usuário. Se o processo de provisionamento do provedor ainda demandar processos manuais, o atendimento poderá levar algumas horas. Já um provedor que ofereça recursos automáticos de provisionamento e interfaces self-service poderá atender as demandas em poucos minutos.

Um aspecto importante é o SLA (Service Level Agreement). Na seleção do provedor considere os niveis de serviço desejáveis e selecione apenas os que puderem, de forma comprovada, oferecerem tais acordos. Importante colocar nos contratos as penalidades pelo não cumprimento destes acordos. Considere que o nivel de serviço de uma aplicação hospedada em provedor de IaaS público passa pela rede, seja esta Internet (pelo qual nem sempre se tem controle) ou por uma rede privada, onde o acordo tem que ser fechado com o provedor da nuvem e o da rede. Nos acordos verifique se existe alguma cláusla referente a ataques DoS (Denial-of-service), pois existe a sempre presente possibilidade de um provedor de nuvem pública ser atacado por crackers. Afinal, ele concentra em seu data center centenas de empresas diferentes.

Então…qual o melhor provedor? Depende das necessidades de cada empresa. Algumas demandam um nivel de exigência que as limitará a selecionar um provedor de escala

181

Page 182: Computacao Em Nuvem Cezar

global. Outras, não demandam tais exigências e podem conviver com um provedor que não ofereça niveis muito elevados de disponibilidade e flexibilidade.

Road map: da virtualização para Cloud Computing

maio 2, 2011

Há poucos dias gravei um webcast com o iMasters, sobre Cloud Computing. A idéia foi debater com mais detalhes enfoques práticos de como implementar cloud e o título, sugestivo foi de “Da virtualização para Cloud Computing: um road map prático”. O vídeo, com cerca de 85 minutos de duração, pode ser visto em sua íntegra em http://www.videolog.tv/video.php?id=646119 .

Cloud computing, embora muitos talvez ainda não tenham percebido, tem o potencial de mudar de forma radical a indústria de TI, afetando tantos os produtores como os consumidores de produtos e serviços. Da mesma forma que o modelo cliente-servidor provocou um choque sísmico na indústria de TI, criando novas empresas como Oracle e Microsoft, eliminou outras como Digital e Control Data, que não souberam compreender a mudança. O mesmo acontecerá com a indústria de TI atual. Novas empresas estão surgindo e outras ainda surgirão, enquanto algumas, tradicionais, podem até mesmo desaparecer.

O modelo de cloud se baseia em três pilares básicos: virtualização, padronização e automação. Em consequencia surge a possibilidade de se requisitar e obter os recursos de TI por meio de portais self-service.No webcast abordei em mais detalhes os beneficios obtidos com este modelo, bem como os riscos a que toda novidade se expõe. Também mostramos um road map que orienta as empresas a desenharem sua jornada em direção à computação em nuvem. E um item que mereceu certo destaque foi onde debati as “lessons learned”, uma coletânea de erros e acertos que envolveram dezenas de projetos de implementação de Cloud Computing em todo o mundo. Vale a pena investir hora e meia (é um longo tempo, eu sei…) porque o tema está cada vez mais no centro das telas dos radares das empresas.

Mas, gostaria de fazer alguns comentários adicionais ao webcast. Primeiro, embora já se fale muito no assunto, ainda vejo um certo desconhecimento quando se mergulha nos detalhes. Ou seja, quando nos deslocamos do conceito para a prática. Uma nuvem deve ser vista sob duas dimensões: pelo seu nivel de abstração (IaaS, PaaS e SaaS) e pelo modo como estes serviços podem ser entregues: nuvens públicas, privadas e híbridas, com aplicações em nuvens privadas e outras em nuvens públicas. Estas diversas formas de vermos a computação em nuvem se traduz em formas diferentes de, por exemplo, implementar mecanismos de segurança. Em nuvens publicas, os mecanismos de segurança tradicionais não se aplicam de forma adequada. Observei em um recente evento de segurança que muitos profissionais de segurança ainda não estavam compreendendo as diferenças entre nuvens privadas e públicas e apontavam os

182

Page 183: Computacao Em Nuvem Cezar

mecanismos de segurança usados hoje no modelo on-premise como válidos para nuvens públicas. Eventualmente, com poucas modificações podem ser adotados em nuvens privadas, mas discordo de sua aplicabilidade nas nuvens públicas.

Outro ponto que me chama atenção é que os modelos IaaS (Infrastracture-as-a-Service) e SaaS (software-as-a-Service) são razoavelmente compreendidos, mas PaaS (Platform-as-Service) ainda está meio nebuloso. Talvez possamos resumir seu conceito como “middleware as a service in the cloud”. Mas, atenção, não significa simplesmente colocar um middleware tradicional do modelo on-premise em uma nuvem IaaS. Se você ainda necessitar de uma boa e velha licença de software tradicional, você não estará adotando o conceito de serviços. Será apenas um software hospedado em um provedor de IaaS. Mas se o middleware for disponibilizado como serviço, o termo estará correto.Na minha opinião o melhor exemplo de PaaS é o force.com criado pela salesforce.com e adotado como definição padrão pelo NIST, órgão de padrões do governo americano.

Outro aspecto que chamo a atenção é que nem sempre o motivador para adoção de cloud será redução de custos. Em uma nuvem privada, por exemplo, a agilidade e a flexibilidade para atender novos serviços é o principal atrativo, embora a empresa ainda tenha que dispender muito dinheiro com seu ativo de hardware e software. Claro que existe potencial de redução de custos pela padronização e automação, que diminui os custos operacionais, mas agilidade na obtenção de novo serviços de TI está se tornando o principal driver para sua adoção. Pensem nisso.

Uma nuvem privada introduz um novo meio para TI interfacear com seus clientes (portal self-service com um catálogo de serviços padronizados) e uma nova maneira de entregar estes serviços (automatizado, sem interferência do pessoal de TI, deixando a cargo do próprio usuario o que e quando usar os serviços). Estas mudanças demandam um novo modelo de relacionamento entre TI e seus usuários e em ultima análise, como os proprios usuários desenvolvem seus negócios. Portanto a adoção de uma nuvem privada requer mudanças na organização, processos e modelos de custeio e negócios de TI. A empresa desloca seu foco de TI da ótica de tecnologias e ativos (servidores e softwares) para serviços. É um processo gradual, que deve começar por uma área relativamente isolada (como desenvolvimento e testes) e aos poucos se expandindo para o ambiente de produção.

E quanto a adotar uma nuvem publica? Se a empresa não tiver sistemas legados, será bastante simples. Começa do zero em um ambiente de nuvem, sem necessitar de comprar servidores e softwares. Mas se existir um legado?De maneira geral, para empresas que já dispõem de TI, identifico três motivadores para adoção de nuvens públicas:a) sistemas legados obsoletos estão impedindo o crescimento do negócio,b) os recursos de TI estão subdimensionados e não suportam crescimento da demanda, ec) a empresa vai lançar novos serviços e não quer manter o modelo tradicional on-premise, pois cloud faz mais sentido para ela.

183

Page 184: Computacao Em Nuvem Cezar

A escolha do provedor de nuvem pública não pode ser feita de maneira simplista. Entre os quesitos de avaliação, como grau de segurança e disponibilidade que ele oferece, um item que deve ser validado é como você conseguirá interoperar os sistemas que estarão na nuvem com os legados, on-premise? Esta interoperbilidade é fácil ou vai demandar esforço para escrever novos códigos acessando APIs específicas?Não esqueça que muitas vezes você terá que operar um software, como um banco de dados, tanto na nuvem como suportando aplicações on-premise. Você poderá expandir a licença on-premise para também operar o software na nuvem, sem gastos excessivos?

Enfim, estamos ainda dando os primeiros passos nesta longa jornada e pouco a pouco vamos acumulando mais e mais conhecimento. Talvez o webcast ajude um pouquinho nesta compreensão.

184

Page 185: Computacao Em Nuvem Cezar

Insights de 110 projetos reais de implementação de Cloud

maio 11, 2011

Volta e meia nos deparamos com pesquisas sobre adoção de Cloud Computing. Entretanto, a maioria deles se concentra na opinião de executivos ou representantes da indústria. Não olham realmente o dia a dia de quem está com a mão na massa.

Recentemente a IBM realizou uma pesquisa diferente, coordenada pela IBM Academy of Technology, concentrando-se em quem esteve ou está envolvido com projetos de cloud em diferentes clientes: os arquitetos e engenheiros de software. O projeto gerou um relatório muito interessante chamado “Cloud Computing insights from 110 implementation projects” que pode ser acessado em http://tinyurl.com/5sb6pzt.O relatório descreve como os arquitetos implementaram projetos reais de clouds e como os clientes estão vendo sua adoção, do ponto de vista de quem está diretamente envolvido com os projetos de implementação.

Vamos resumir algumas das suas conclusões, mas recomendo a leitura do relatório na íntegra.a) Como as nuvens são implementadas? A pesquisa mostrou que apenas metade das implementações obedeceram a uma estratégia de cloud, enquanto a outra metade consistiu-se de iniciativas isoladas, sem objetivos claros e bem definidos. Também ficou claro que a maioria dos projetos atuais ainda são projetos piloto, de âmbito bem localizado. Ainda são poucas as iniciativas de escopo empresarial. Mas, na verdade, como cloud ainda é novidade, a maioria do clientes começa sua jornada com projetos experimentais, para obter experiência e desenhar de forma mais adequada ações mais amplas. Um bom ponto de partida para uma experimentação é criar uma nuvem privada para o ambiente de desenvolvimento e testes, pois desta forma minimizam riscos de segurança (ambiente de certa forma isolado) e obtém ganhos significativos e palpáveis, para seguirem m frente com novos projetos.b) Adotar o modelo de nuvens vai obrigar revisões nos processos de governança de TI. Este foi o sentimento geral das empresas que implementaram projetos piloto.c) Na pesquisa identificou-se que 70% das iniciativas eram de nuvens privadas e apenas 30% de nuvens públicas. Existe, claro a ressalva que os projetos eram em grandes clientes, que geralmente começam sua experimentação por nuvens privadas. Se a pesquisa fosse realizada em clientes de menor porte, é provável que a relação fosse inversa. Obteve-se uma informação interessante: nas nuvens privadas o predomínio dos projetos foi de IaaS, seguido de PaaS. Já nas nuvens publicas o SaaS dominou o cenário, secundado por projetos de IaaS.d) Observou-se também que os clientes sentem que cloud é um movimento irreversível e que em dois a três anos muitos sistemas críticos estarão rodando em nuvens. Entre as aplicações mais citadas como as próximas a entrarem em nuvem são business analytics, colaboração e Web.e) A leitura do relatório deixa claro que os próximos desafios, após a desconfiança da segurança for vencida, serão as questões de integração e interoperabilidade entre nuvens

185

Page 186: Computacao Em Nuvem Cezar

diferentes e entre aplicações on-premise as que rodarão em nuvens.f) Um ponto imporatnte e decisivo para o sucesso da adoção da cloud computing é a padronização de imagens. Isto abre espaço para demandas de novos recursos de gestão baseados em ITIL, como image management.

Vemos que ainda existem inibidores para uma maior adoção de computação em nuvem. Segurança aparece em primeiro lugar. Mas, nos projetos avaliados pela pesquisa, como o modelo de nuvem adotado foi de nuvem privada, as questões de segurança são minimizadas. Afinal, a nuvem está operado dentro do firewall e das politicas de segurança da própria empresa.Por outro lado, os projetos demonstraram claros benefícios. Embora custo tenha sido um dos apelos iniciais, a flexibilidade que a nuvem oferece para os usuários é hoje o seu principal atrativo. A velocidade com que as demandas por recursos e facilidade de TI, que eram medidas em semanas, passam a ser feitas em minutos. Isto abre novas oportunidades para criar aplicações inovadoras em tempos muito mais curtos e facilita experimentações de novos produtos e sistemas.

O relatório também aponta algumas tendências como:a) O modelo de pay-as-you-go, tipico das nuvens publicas, também deverá ser adotado nas nuvens privadas, com acordos entre IT e as linhas de negócio.b) Mesmo as grandes empresas vão adotar nuvens publicas com maior intensidade, gerando nuvens híbridas, com parte de aplicações rodando em nuvens privadas e parte nas nuvens públicas. Novamente vem à luz a questão da integração e interoperabilidade.c) Governança do ambiente em nuvens é um desafio a mais, pois muitos processos devem ser revistos. Extensões e adaptações das disciplinas do ITIL são esperadas. Podemos citar como exemplo image management como uma nova e importante disciplina e modificações em service design, service strategy, service operation, service transition, service operation e service improvement.d) os aplicativos tenderão ser cada vez mais multi-tenancy. Hoje são no-multitenancy e devem exigir esforço imporante por parte dos fabricantes de softwares, bem como demandarão novos skills dos desenvolvedores nas empresas.

Enfim, analisando o relatório podemos chegar a algumas conclusões, que gostaria de compartilhar com vocês:a) Comecem a jornada em direção a cloud por projetos piloto, identificando e implementando workloads mais adequados à este modelo. É um processo gradual, com a experiência sendo adquirida ao longo do tempo, com a evolução dos projetos.b) Mudanças na organização e nos processo de governança de TI serão necessárias.c) Tenha uma estratégia para adoção de cloud e não tente implementar projetos simplesmente para experimenatr o modelo, sem ter os proximos passos bem definidos.d) Existem obstáculos, como imaturidade e complexidade de algumas tecnologias para implementação de nuvens privadas, mas que serão resolvidos ao longo o tempo. Tambem os receios de segurança com nuvens publicas tenderão a ser minimizados.e) O uso de cloud computing vai se acelerar de forma significativa nos proximos dois a três anos.

186

Page 187: Computacao Em Nuvem Cezar

Nuvens privadas: começando a jornada em direção à cloud computing

maio 24, 2011

Quando se fala em computação em nuvem geralmente nos vem a cabeça as nuvens públicas como as oferecidas pela Amazon ou Google. Mas a aplicação das ideias, tecnologias e approaches destas nuvens publicas em nuvens privadas, internas à uma empresa, pode ser uma boa alternativa. Existem muitas organizações, que por questões de cultura ou premidas por aspectos regulatorios não podem entrar direto em nuvens publicas, mas tem como opção o uso de nuvens privadas. Uma nuvem privada é, na verdade, a implementação do modelo de computação em nuvem dentro de uma empresa.

Com uma nuvem privada a empresa pode usufruir de varios dos beneficios do modelo de computação em nuvem, como obtenção de recursos computacionais self-service por parte de seus usuários. Claro que ela tem que investir no seu data center e nas tecnologias que permitem a construção do ambiente de nuvem, como catalogos de serviços e softwares de gerenciamento automático de provisionamento e alocação de recursos computacionais. Mas, por outro lado, pode começar a entender o funcionamento do modelo e ajustar aos poucos seu modelo de governança para em algum tempo no futuro adotar nuvens publicas.

De maneira geral as empresas que optam por nuvens privadas são empresas de grande porte, que já tem um investimento alto em TI e mantem adequadas politicas de governança e segurança. O modelo de nuvem privado mais adotado tem sido o de IaaS, que na minha opinião é bem natural, pois não deixa de ser uma evolução do proprio processo de virtualização que estas empresas já vem adotando.

As justificativas para adoção de uma nuvem privada são econômicas (redução de custos) e qualidade dos serviços, com maior agilidade no atendimento às demandas dos usuarios por recursos computacionais.

A redução de custos é provocada pela padronização e automação dos serviços de TI. Com padronização e automação reduz-se os custos operacionais, liberando-se o staff de funções banais para atividades de maior valor agregado. Além disso, com automação, obtem-se uma maior utilização dos ativos computacionais, aproveitando-se melhor o parque computacional já instalado. Um subproduto interessante da padronização e automação é a possibilidade de mudar-se a relação entre TI e os seus usuarios, criando-se politicas mais visiveis e adequadas de chargeback.Mas, cloud computing é basicamente IT-as-a-Service e portanto é absolutamente essencial que a qualidade dos serviços em nuvem prestados por TI seja superior ao modelo atual. Com uma nuvem privada abre-se oportunidade de TI criar catalogos de serviços e seus respectivos SLA. A automação tambem reduz os erros causados por intervenções manuais e libera o pessoal de TI para atuar mais focado no atendimento aos

187

Page 188: Computacao Em Nuvem Cezar

usuarios que nas atividades de pouco ou nenhum valor agregado, como alocar espaço em disco ou reservar horas em servidores.

Um outro benefício palpável é a agilidade que a nuvem oferece à organização. A nuvem privada abstrai os recursos computacionais dos usuarios, que não tem que se preocupar onde e como as aplicações rodarão. TI, por sua vez, abre espaço para os usuarios serem mais inovadores e arriscarem mais em novos produtos e serviços.

Um ponto importante é que a nuvem privada não vai existir isoladamente e portanto mais cedo ou mais tarde a empresa vai adotar nuvens hibridas, que são ambientes onde aplicações estarão parte on-premise e parte em nuvens privadas. Ou mesmo parte on-premise, parte em nuvens privadas e parte em nuvens publicas. É uma longa jornada e o planejamento para este provavel cenário deve ser desenhado desde o incio. As questões de segurança que são a principal preocupação hoje, passarão a segundo plano, uma vez resolvidas. O questionamento principal, neste cenario, sera a interoperabilidade: como conviver e coordenar ambientes multiplos, com aplicações em nuvens privadas, publicas e on-premise, tudo ao mesmo tempo?

Temos pela frente bons desafios…E é melhor começarmos a enfrenta-los já. A computação em nuvem não é uma promessa, mas uma realidade e quem não começar a desenhar suas estratégias de adoção vai perder o trem.

188

Page 189: Computacao Em Nuvem Cezar

Conhecendo o Hadoop

maio 30, 2011

Volta e meia em eventos sobre Cloud Computing surge o termo Hadoop. Já ouvi em uma palestra que o grande desafio de desenvolver aplicações para Cloud era exatamente a complexidade no uso do Hadoop. O que gera a confusão é que o Hadoop e o MapReduce, do qual ele se originou, vem sendo usado pelas empresas de Internet, que inspiraram o modelo de cloud computing, e que precisam de escala massiva para suas aplicações, como Yahoo, Google e Facebook. Mas dizer que o Hadoop é a base para todo projeto de Cloud, absolutamente não é correto. O Hadoop é usado para aplicações analíticas de dados massivos, que não é o dia a dia das empresas que usam ou pretendem usar cloud computing.

O Hadoop foi criado pelo Yahoo em 2005 e pode ser considerado uma das maiores invenções de data management desde o modelo relacional. Hoje é um dos projetos da comunidade Apache e vem sendo adotado por empresas que precisam tratar volumes massivos de dados não estruturados. Já existe inclusive um ecossistema ao seu redor, mas ainda vai demandar algum tempo para se disseminar de forma mais ampla pelo mercado. Neste post vamos debater um pouco mais o que é e o que não é o Hadoop, seu mercado e tentar visualizar algumas tendências. Quem sabe acertamos algumas?

Mas, o que é o Hadoop? É, na pratica, uma combinação de dois projetos separados, que são o Hadoop MapReduce (HMR), que é um framework para processamento paralelo e o Hadoop Distributed File System (HDFS). O HMR é um spinoff do MapReduce, software que Google usa para acelerar as pesquisas endereçadas ao seu buscador. O HDFS é um sistema de arquivos distribuidos otimizados para atuar em dados não estruturados e é tambem baseado na tecnologia do Google, neste caso o Google File System. Existe também o Hadoop Common, conjunto de bibliotecas e utilitários que suportam os projetos Hadoop. Na pratica, para que o HMR processe os dados, eles devem estar armazenados no HDFS.

O Hadoop é um projeto Open Source, com licenciamento Apache e portanto permite a criação de um ecossistema de negócios baseados em distribuições especificas. E o surgimento de serviços em nuvem, como o Amazon Elastic MapReduce, permite às empresas tratarem dados massivos sem demandar aquisição de servidores físicos. Neste modelo, o usuário escreve a aplicação Hadoop e a roda em cima da nuvem da Amazon.

A base das distribuições Hadoop é a comunidade Apache. Diversas empresas vem contribuindo com código para seu desenvolvimento como a Yahoo, Facebook, Cloudera, IBM e outras. Em torno do código base, surgem as distribuições, como Cloudera (www.cloudera.com) e DataStax (http://www.datastax.com/brisk), que agregam valor com utilitários e serviços de suporte e educação, no mesmo modelo das distribuições Linux. Interessante que a distribuição da DataStax, chamado de Brisk, substituiu o HDFS

189

Page 190: Computacao Em Nuvem Cezar

por um sistema de arquivos distribuidos baseados no software NoSQL Cassandra, chamado agora de CassandraFS.

Mas, em torno do Hadoop (http://hadoop.apache.org/), a comunidade Apache mantem diversos projetos relacionados, como o Hbase, que é um banco de dados NoSQL que trabalha em cima do HDFS. Este banco de dados é usado pelo Facebook para suportar seu sistema de mensagens e os seus serviços de informações analíticas em tempo real. Existe também o Hive, criado pelo Facebook, que é uma camada de data warehouse que roda em cima do Hadoop. Utiliza uma linguagem chamada Hive SQL, similar à SQL, o que facilita sua utilização, pois desenvolvedores acostumados com SQL não encontram maiores dificuldades em trabalhar com o Hive SQL.

Um outro e também muito interessante projeto é o Pig, criado pelo Yahoo. É uma plataforma que permite análises de arquivos muito grandes usando uma linguagem de alto nivel chamada de Pig Latin. Olhando-se o stack de softwares do Hadoop, o Pig se situa entre o Hive e o HMR e é uma tentativa de fornecer uma linguagem de alto nivel para se trabalhar com o Hadoop. Outros projetos menos conhecidos são o Avro (sistema de serialização de dados), o Chukwa (monitoramento de sistemas distribuídos) e o Hama (para computações científicas massivas).

A IBM usa intensamente o Hadoop em diversos projetos, o integrando com outros de seus softwares como o Cognos, criando soluções para tratamento analítico de dados massivos e não estruturados, como o InfoSphere BigInsights, que agrega um conjunto de tecnologias open source como o próprio Hadoop, Nutch e Pig, com as tecnologias próprias da IBM como InfoSphere e ManyEyes. Vejam em (http://www-01.ibm.com/software/data/bigdata/). A IBM também desenvolveu uma variante do HDFS chamado de IBM General Parallel File System (GPFS), que pode ser visto em http://www-03.ibm.com/systems/software/gpfs/.

OK, e quem usa Hadoop? Existem os casos emblemáticos como Facebook, Yahoo, Twitter e Netflix (na nuvem da Amazon), mas também já começamos ver seu uso em ambientes corporativos brick-and-mortar. Recentemente uma pesquisa mostrou que pelo menos umas 20 empresas da lista da Fortune 1000 assumiram publicamente que usam Hadoop de alguma forma. A adoção do Hadoop em aplicações analíticas corporativas como as ofertadas pela IBM vão ajudar na sua disseminação. Só para lembrar, quando a IBM anunciou seu apoio ao Linux, em 2001, o Linux passou a ser visto sob outra ótica pelo ambiente corporativo.

Nem todo usuario de Hadoop demanda uma escala massiva de dados ao nivel do Facebook ou Yahoo. Mas empresas com razoavel volume de informações não estruturadas, como bancos, varejo, empresas aéreas e outras vão encontrar no Hadoop uma boa alternativa para o tratamento analítico dos seus dados. Vejam alguns exemplos em ftp://public.dhe.ibm.com/common/ssi/ecm/en/imb14103usen/IMB14103USEN.PDF.

O Hadoop ainda está nos primeiros passos de sua evolução e disseminação pelo mercado. Mas, tenho certeza de que em poucos anos ele será bem mais conhecido e utilizado. Uma

190

Page 191: Computacao Em Nuvem Cezar

pesquisa pelo termo Hadoop no Google Trends já aponta um crescimento significativo no interesse pela tecnologia, como podemos ver em http://www.google.com/trends?q=hadoop . Na minha opinião vale a pena investir tempo estudando a tecnologia. Um dos problemas com o Hadoop é realmente a sua complexidade de uso, demandando desenvolvedores altamente qualificados. A sua curva de aprendizado é bastante ingreme e praticamente inexiste gente habilitada para usar o Hadoop adequadamente. Bem, temos aí uma boa oportunidade para as universidades inserirem seu estudo e prática em seus cursos de ciência da computação…Uma sugestão para quem quer estudar Hadoop mais a fundo: acessem www.ibm.com/developerworks e pesquisem pela keyword Hadoop. Vocês vão encontrar milhares de artigos muito interessantes.

191

Page 192: Computacao Em Nuvem Cezar

Como as empresas de software podem migrar para SaaS (parte 1)

junho 11, 2011

Há algum tempo atrás li o livro “Behind the Cloud: the untold story of how salesforce.com went from idea to billion-dollar company and revolutionized an industry”, de Marc Benioff, fundador e CEO da salesforce.com. recentemente o reli, pelo menos nos pontos que achava mais importantes. Eu recomendo a todos empresários de software que pretendam desenhar suas estratégias de evolução para este modelo. O modelo cloud onde SaaS é uma variação, chegou para ficar e as empresas de software terão que se adaptar, mais cedo ou mais tarde. Todo e qualquer conceito ou tecnologia que traz resultados positivos para seus usuários é adotada, tomando espaço das tecnologias e conceitos então dominantes. O modelo da industria de software atual está claramente em cheque e o modelo SaaS se mostra extremamente atraente. O livro mostra os passos, acertos e erros de criar uma empresa SaaS, sem contar com experiências prévias que mostrem o caminho.

Entretanto, aparentemente SaaS não tem tido toda a aceitação que deveria ter, pelos atrativos do modelo. Mas, é provavel que vejamos uma aceleração rapida nos próximos anos. Recorro como um dos argumentos uma frase de Ray Kurzwell, pesquisador que estuda adoção e evolução das tecnologias, que diz claramente “an analysis of the history of technology shows that technological change is exponential, contrary to the common-sense “intuitive linear” view. So we won’t experience 100 years of progress in the 21st century – it will be more like 20.000 years of progress, at today’s rate”.Algumas estimativas apontam para um crescimento sistemático no uso de cloud computing. Um relatório da Saugatuck propõe que em 2014 45% ou mais dos novos workloads das empresas já serão operados em cloud. Fala também que 40% ou mais dos novos investimentos em TI das empresas serão direcionados para cloud e que no minimo 25% de todos os workloads rodados estará em cloud. São numeros realmente significativos e que nenhum executivo de empresa usuária ou provedora de TI deve ignorar. Este mesmo relatório alerta que, se em 2013, uma empresa não tiver expertise em cloud já estará claramente em desvantagem competitiva.

Voltando a importância da leitura do livro, imagino que um empresario da industria de software ainda esteja em duvidas de como mudar seu modelo de negócio. Afinal migrar para o mundo SaaS não será uma transição fácil e provavelmente muitas empresas de software estabelecidas, principalmente as de menor capacidade de investimento, ficarão pelo caminho.

Por outro lado, o modelo SaaS operando em uma nuvem IaaS abre perspectivas muito interessantes para novos atores ingressarem no mercado. Não é a toa que uma parcela significativa dos investimentos dos VCs (Venture capitalists) tem sido concentrada, nos últimos anos, em empresas de software estruturadas no modelo SaaS.

192

Page 193: Computacao Em Nuvem Cezar

Mas, as empresas de software já estabelecidas não poderão ficar inertes. Precisam analisar, desenhar uma estratégia e acelerar seus investimentos neste modelo, ampliando sua oferta de produtos e serviços. Uma possivel estratégia que será adotada por muitas, para acelerar seus processos de transição, será a aquisição de empresas menores, já criadas no modelo SaaS.

Também será grande a possibilidade desta transição provocar uma onda de consolidação entre os ISVs (Independent Software Vendors ou empresas produtoras de software), com os menores sendo adquiridos pelas empresas maiores. Provavelmente veremos um cenário de poucas, mas muito grandes empresas, dominando seus ecossistemas, com empresas menores gravitando em torno de suas plataformas e marketplaces.

A transição para o modelo SaaS não é simples. Os custos de vendas e marketing ainda são muito altos. Como o modelo ainda é novidade para muitos, a maioria dos clientes ainda está testando o serviço pela primeira vez e não existem garantias que ficarão muito tempo. No modelo tradicional a troca de um software é mais complexa e o aprisionamento do usuário é quase uma regra da indústria. Quantos usuários de ERP trocam de fornecedor? No SaaS a barreira de saída é muito mais baixa. Voce poderá trocar muito mais facilmente de fornecedor.

A consequência uma competição mais acirrada e preços menores. Resultado final: margens e lucratividades menores.

Analisando o cenário das empresas de software, podemos identificar alguns desafios importantes que a transição para o modelo SaaS vai acarretar. Aliás, esta transição vai afetar a empresa como um todo, em todos seus aspectos do desenvolvimento de produtos ao processo de comercialização. E, claro, no próprio modelo de negócios. Uma grande barreira para as empresas de menor porte é que durante algum tempo (e este tempo pode ser bem longo), deverá conviver com dois modelos de negocio. E fazer esta transição não é simples, pois cada modelo tem suas próprias peculiaridades e modelos de receita. É um período de investimentos e custos elevados, ao mesmo tempo que sai da obtenção de receitas por licenças (receitas em lote, originadas pelas assinaturas ds contratos de licenciamento), para um modelo de receitas por assinatura, dispersas no tempo.

A decisão de transformar o negócio em SaaS envolve diversas decisões de negócio. Por quanto tempo conviverão os dois modelos? O que vai acontecer com a versão tradicional? Ainda existirá receita no antigo modelo ou estes produtos serão congelados em uma determinada versão? Quem serão os novos parceiros? Como conseguir uma nova rede de parceiros de negócios, com skills em SaaS? Como conviverão os parceiros dos dois modelos? Além disso é importante explorar novas oportunidades de negócio, mas evitar a canibalização das receitas atuais.

A estratégia de migração é crítica. Se o cliente for obrigado a mudar, por que continuaria com seus produtos? São nestas ocasiões que a concorrência se acirra, com ofertas tentadoras. Migrar e ao mesmo tempo preservar a base de clientes é um desafio imenso, que muitas das empresas do modelo tradicional ainda não enfrentaram.

193

Page 194: Computacao Em Nuvem Cezar

O modelo de negócios SaaS é diferente do modelo de licenças tradicional. No modelo tradicional a lucratividade vem das taxas anuais de manutenção e não necessariamente da venda de novas licenças. No modelo SaaS a receita vem da venda de assinaturas, que em alguns casos se assemelha a venda de contratos de manutenção. Mas, as diferenças começam na escolha dos métodos de cobrança. Por usuário? Por mês? Em alguns casos, pode acontecer também de se cobrar preços baixos pelos aplicativos para incentivar o uso dos marketplaces, que, por sua vez, podem vir ser a principal fonte de receita.

A lucratividade do negócio SaaS depende de três variáveis básicas, muito similares ao do setor de telefones celulares: quanto custa atrair um novo cliente (custo de aquisição), quanto estes clientes renderão com suas assinaturas (ou a receita média por usuário ou ARPU, que significa Average Revenue Per User), e com que frequência os assinantes vão embora e precisam ser substituídos (taxa de rotatividade ou churn rate). As operadoras de celular conhecem bem este jogo.

Nos próximos anos veremos refinamentos e ajustes nos atuais modelos de pagmento baseados em SaaS. Na prática não existe um único modelo, mas diversas alternativas, como cobrança por usuário que acesse o sistema ou com base no tamanho da empresa e no seu faturamento.Outra alternativa é por produtos processados, onde uma empresa de transporte pagaria apenas pelo número de veiculos gerenciados por um sistema de gestão de frota. Mas, outras empresas, principalmente as que tem forte presença no modelo tradicional de venda de licenças, podem adotar modelos de cobrança hibridos: os usuários que adquirem sua licença no modelo tradicional, tem direito a adquirir componentes ou extensões como serviços, a preços subsidiados e mesmo, em algumas situações, gratuitamente.

Mudar o modelo de receita vai afetar em muito as empresas que estão fortemente entranhadas no modelo de vendas de licença, principalmente as que não obtem receitas de serviços. Elas estão sendo forçadas a imaginar novas formas de resolver suas vulnerabilidades frente a esta novo contexto do mercado. Em alguns casos tendem até a atuar como instituições financeiras e cobrar juros zero de seus clientes. Outras começam a vender seus softwares em componentes menores e preços mais acessiveis.

Além das questões econômicas e financeiras, existem outras variáveis, como a arquitetura tecnológica dos aplicativos. As tecnologias fundamentais para o modelo SaaS são SOA e multi-inquilinos. Relembrando, estas tecnologias permitem que o software tenha maiores facilidades para inserção de novas funcionalidades sem perturbar os demais componentes que já estejam operando sem problemas, permite também oferecer customizações e personalizações sem impactar outros clientes (sem a necessidade do provedor manter diversas versões do software) e facilita a integração com outros serviços, sejam estes legados (nos data centers da empresa) ou aplicativos SaaS residentes em outras nuvens.

Uma variável importante é a questão operacional. Para operar o aplicativo no modelo SaaS será construída uma nuvem própria, com seus altos investimentos, ou será usada a nuvem de algum provedor de infraestrutura ofertada como serviços? Um ISV que não possui experiencia em gerenciar uma nuvem computacional, mantendo um nivel de

194

Page 195: Computacao Em Nuvem Cezar

serviços adequados, corre sério risco de entar em um campo minado. Talvez a melhor alternativa para ele seja usar a nuvem de algum provedor mais experiente. Por outro lado, usar a nuvem de terceiros cria dependências externas, fora de seu controle.

A questão cultural não pode ser subestimada. Um ISV com longa experiência na venda de softwares por licença pode precisar de uma verdadeira transfusão de DNA, para atuar no modelo de software como serviço. Muitas atuam focadas no processo de vendas, deixando em segundo plano as atividades pós-vendas, como suporte e atendimento ao cliente, que chega em alguns casos a serem bem medíocres. O que importa é fechar o contrato da venda. Já o modelo SaaS exige uma permanente ação pró-ativa junto ao cliente e a qualidade dos serviço prestado é um fator de extrema importância, para garantir a receita mês a mês.

Finalmente, temos os aspectos organizacionais. Como os serviços serão oferecidos ao mercado? Uma sugestão é avaliar a possibilidade de criar um nova unidade de negócios, com métricas e estimativas de receitas diferentes dos produtos tradicionais. Esta nova unidade, provavelmente temporária, até que o modelo se consolide, pode ser vista como uma companhia dentro da companhia, mas contando com amplo suporte da alta gerencia. Conflitos devem ser minimizados e deve ser definida uma estratégia que evite a canibalização sem controle dos produtos atuais.

Uma mudança signficativa ocorrerá nos modelos atuais de rotas-ao-mercado, afetando a estrutura de relacionamento com os canais e parceiros. Como o modelo SaaS muda os mecanismos de receita, as fundações dos contratos entre as empresas de software e seus canais também devem mudar.

No modelo atual, o canal adquire o aplicativo e o hardware necessário para operá-lo, geralmente a preços menores, agrega valor por serviços prestados e adiciona sua margem, emitindo então a fatura ao cliente. Muitas vezes o canal fica responsável também pela instalação, manutenção e suporte do aplicativo, bem como pelas suas atualizações. O modelo SaaS muda este processo, pois não existe mais contrato de licenciamento de software, não existe mais hardware a ser adquirido e nem aplicativo a ser instalado. Os relacionamentos entre as empresas de software SaaS e seus canais devem, portanto, serem repensados. Os canais que não agregam valor provavelmnte não sobreviverão neste modelo. Os canais que agregam valor devem se concentrar nos serviços que gravitam em torno do aplicativo e não mais na receita obtida pela venda do software. Deverão se transformar em empresas de serviços.

195

Page 196: Computacao Em Nuvem Cezar

Como a industria de software deve migrar para SaaS (parte 2)

junho 22, 2011

Esta é a segunda parte do post sobre como criar uma estratégia para uma empresa de software adotar o modelo SaaS. A estratégia tem que ser bem pensada, pois se algo der errado, a empresa poderá perder sua janela de oportunidade.Bom, os principais passos que um empresário de software deve pensar ao iniciar sua jornada são:

Rever e refinar os planos de negócio. É importante rever e refinar continuamente os planos de negócio voltados ao SaaS, incorporando neles as experiências obtidas com a prática. Esta estratégia deve definir se será desenvolvida uma nova solução, a partir do zero, ou se o sistema atual será apenas modernizado. Além disso, a estratégia deve definir se a oferta SaaS será disponibilizada via data center próprio ou de terceiros e neste caso, qual será o parceiro a ser escolhido? A experiência do usuário será a somatória da qualidade do aplicativo + disponibilidade da nuvem ofertada, seja ela própria ou de terceiros. A estratégia deve definir também a velocidade com que a empresa vai adotar e disseminar o modelo SaaS. O time to market é uma variável fundamental. Entrar cedo demais acarreta o risco do pioneirismo, mas uma entrada muito tardia poderá significar perda do market share e do próprio novo mercado criado pelo SaaS. A leitura do livro de Marc Benioff, fundador e CEO da salesforce.com, citado no post anterior ajuda a desenvolver esta estratégia.

Envolver a comunidade de clientes. Muitas empresas de software não criam maiores envolvimentos com seus clientes, concentrando-se mais nos aspectos transacionais dos negócios. O modelo de serviços exige uma nova postura e o relacionamento com clientes é uma variável de extrema importância para a sustentabilidade do negócio. Para muitas empresas de software é um processo novo e ainda desconhecido. A ciência de venda de serviços é diferente da venda de produtos. A própria força de vendas deve estar mais afinada com as questões do negócio e não com tecnologia. Se o aplicativo estiver em uma nuvem, sendo ofertado em SaaS que discussão técnica será necessária?

Criar rede de serviços. O suporte ao cliente e os serviços em torno vão se tornar muito mais importantes que hoje. No modelo on-premise ganha-se pela venda da licença e pelos contratos anuais de manutenção. Em SaaS ganha-se por assinatura ou variações do modelo, como por exemplo, ofertando descontos para que o cliente faça assinatura anual pagando este serviço adiantadamente. Esta é uma maneira bem interessante de remunerar seus vendedores, sem afetar o fluxo de caixa, pois pagar a comissão na assinatura do contrato e receber mês a mês gera um buraco nas contas.

Desenhar estratégia de marketing e vendas apropriada. As propostas de valor embutidas nas campanhas de marketing e vendas, criadas para o modelo tradicional, provavelmente deverão ser refeitas. Por outro lado é importante atentar para o risco de canibalização dos clientes do modelo on-premise que optem pelo novo modelo. A estratégia de marketing

196

Page 197: Computacao Em Nuvem Cezar

deve, ao mesmo tempo, criar um road map de transição dos clientes atuais para SaaS bem como alavancar novas vendas para mercados antes inatingíveis pela oferta atual. Outra variável importante é que a própria Web torna-se um canal de vendas bem mais abrangente, pois muitas vezes o cliente pode adquirir o serviço sem contato face to face. O redesenho do site e uma participação mais ativa em redes sociais devem fazer parte da estratégia de marketing e vendas. Provavelmente, analisando a estratégia de vendas pelo conceito da cauda longa, as maiores contas terão contato direto com a força de vendas ou parceiros e a maioria dos clientes, que fazem a cauda ser longa, adquirirão o serviço via Web.

Criar e/ou participar de um ecossistema saudável. O modelo SaaS embute dentro de si uma rede de parceiros, que envolve desde a hospedagem dos aplicativos à associação com algum provedor de plataforma. Dificilmente alguma empresa de software ou ISV (independent sofware vendor), à exceção dos maiores companhias, terá condições de criar um forte marketplace e ser um “one-stop shopping”. Se não for o caso, o ISV deverá estar associado a algum ecossistema abrangente, que lhe permita crescer no mercado. Além disso, deverá incentivar e fortalecer uma comunidade de desenvolvedores, inclusive open source, que ampliem as funcionalidades de seus produtos. Um exemplo bem sucedido é o AppExchange do salesforce, que implementa uma plataforma onde empresas de software criam e disponibilizam para o mercado seus aplicativos. Na verdade, este projeto do salesforce (force.com) é criar uma platforma que permita que outras empresas (ecossistema) desenvolvam novas soluções complementares e amplie mais ainda as funcionalidade do serviço. Para isso, é importante desenhar o aplicativo como uma plataforma com APIs abertas e o modelo mais adequado para isso acontecer é SOA. Lembram-se do SOA? Pois é, em SaaS ele tem um papel muito importante.

Escolher a tecnologia mais adequada para criar um ambiente multi-tenancy. Embora seja possivel oferecer SaaS sem multi-tenancy baseado apenas em virtualização, é preferivel, na maioria dos casos, adotar um modelo multi-tenancy, devido aos ganhos de escala operacionais que este modelo proporciona. Os custos operacionais para manter SaaS baseado apenas em virtualização, ou seja, multiplas instâncias, são sempre mais altos que manter uma única instância. Soluções baseadas em virtualização geram um desafio e tanto quando for necessário fazer o roll out de uma nova versão para cada instância a ser customizada para seus clientes. Por outro lado, multi-tenancy apresenta duas vantagens importantes: economias de escala e menor custo de manutenção. Mas, é necessário analisar o custo de reescrever a aplicação para operar em multi-tenancy e colocar esta variável nos estudos de ROI. Uma alternativa é começar no mercado SaaS via virtualização, para não perder a janela de oportunidade e ao longo do tempo reescrever a nova versão multi-tenancy. No livro do Marc Benioff esta questão é bem discutida e eles optaram pela modelo multi-tenancy. Mas, é bom lembrar que o salesforce entrou direto em multi-tenancy simplesmente porque não havia versão anterior para ser mantida.

Definitivamente que em alguns anos a indústria de software deverá ter uma “cara” vem diferente da atual e as empresas de venda de produtos de software, lucrativas hoje, provavelmente estarão ganhando dinheiro com outros modelos de negócio, mais focados em serviços de consultoria e integração, ou simplesmente estarão fora do jogo.

197

Page 198: Computacao Em Nuvem Cezar

Na minha opinião, a problemática técnica do modelo SaaS está bem compreendida, mas as mudanças nos aspectos operacionais, organizacionais e culturais são bem mais complexos e ainda pouco estudados e compreendidos. Um dos grandes grandes desafios, por exemplo, é substituir a cultura comercial do modelo tradicional que enfatiza o processo de vendas a curto prazo pelo modelo de excelência em serviços. Muitas empresas incentivam e pressionam seu pessoal de vendas a alcançar metas a curto ou curtissimo prazo, a qualquer custo, sem muitas preocupações com o “day after”. Os executivos de vendas de sucesso destas empresas também conseguiram seu espaço com este modelo, que lhes é natural. Mas, no modelo de excelência de serviços, a conversa é outra e implica em um mudança cultural e organizacional muito grande.

Além disso, SaaS deve ser encarada como estratégia empresarial e não como uma simples oportunidade de negócios a ser explorada. Abre espaço para a empresa ofertar seus serviços globalmente, não ficando mais restrita a um mercado regional.

SaaS ainda é um modelo que estamos aprendendo. Ser flexível é importante. Ou seja, mude de rota quando necessário, pois não existem ainda muitos casos de sucesso que nos permitam trilhar a jornada em direção ao SaaS com toda a segurança. Erros e acertos farão parte do nosso dia a dia por muito tempo ainda.

198

Page 199: Computacao Em Nuvem Cezar

Almoçando Cloud…com sal e pimenta.

julho 4, 2011

Outro dia estava almoçando com um CIO de uma grande empresa que está na reta final para implementar um projeto de nuvem privada. Claro que este foi o prato principal do almoço. Como cloud computing ainda está na infância, existem muitas dúvidas e questionamentos sobre o que é possivel fazer hoje, o que realmente é concreto e o que não é. Acredito que os principais pontos da conversa podem ser compartilhados aqui.

Na minha opinião, cloud computing é uma mudança irreversível, afetando toda a cadeia de TI, dos fornecedores aos consumidores de recursos e serviços. Mas seu efeito a médio e longo prazo ainda são desconhecidos. Por outro lado, este desconhecimento nos obriga a colocar cloud nas nossas estratégias, porque se seu efeito poderá e deverá ser altamente significativo, simplesmente não podemos ignorá-lo.

A estratégia deste CIO é correta. Ele não está lutando contra, mas buscando se posicionar para melhor entender o que é cloud. O seu primeiro passo é iniciar um projeto piloto para tentar colocar um pouco de ordem na confusão do que é cloud hoje. Esta confusão é causada não só pelo simples fato que estamos nos estágios iniciais de uso de cloud, mas também porque muitos fornecedores divulgam suas próprias visões de cloud, muitas vezes conflitantes entre si. Ainda existe muito hype sobre o assunto.

Um ponto que me chama atenção é o foco excessivo no discurso que cloud afeta apenas TI, reduzindo custos, como se fosse uma simples extensão do processo de virtualização. Mas, vejo claramente que em breve veremos pela frente o conceito de “cloud Business” onde “cloud IT” vai não apenas tornar a empresa mais eficiente operacionalmente, mas poderá abrir novas oportunidades de negócio, não possiveis sob o modelo atual de TI. Cloud não deve ser visto como um fim em si mesmo, mas como alavancador de novas oportunidades de negócio.

Na conversa destaquei o fato que, diante deste contexto, ele deveria desde agora debater mais intensamente o conceito de cloud com os executivos de negócio da empresa, não tornando o projeto de cloud um mero projeto de TI. Um futuro “cloud business” será fruto destas discussões. Ele, como CIO, deveria assumir a liderança deste movimento.

Além disso, implementar cloud em sua plenitude mudará de forma significativa a própria área de TI. As mudanças serão graduais e tenho a expectativa que o atual modelo de software on-premise não desaparecerá, mas fará parte do novo mundo “cloudificado”. Na prática o que veremos é um modelo híbrido, com empresas usando recursos computacionais on-premise e nas nuvens. Assim, na minha opinião o debate não deverá ser cloud versus on-premise mas de onde será mais eficiente e adequado para cada empresa prover suas funcionalidades computacionais. Não deve ser um jogo de tudo ou nada, mas de buscar o ponto de equilíbrio. Mas, é inegável que este cenário gera novos

199

Page 200: Computacao Em Nuvem Cezar

desafios para TI, que criou e refinou todo um modelo de governança baseado exclusivamente no modelo on-premise.

Na conversa surgiu também a sempre presente possibilidade das áreas usuárias bypassarem cloud para implementarem soluções específicas de âmbito departamental. É um risco real. Com a crescente opções de ofertas SaaS e Iaas existe a tentação de áreas usuárias, não satisfeitas com a velocidade de resposta de TI, buscarem por si soluções em nuvem. O CIO não vai poder lutar contra, mas deve assumir a liderança do processo, e assim influenciar e coordenar melhor qualquer tentativa desta natureza. Mesmo porque, mais cedo ou mais tarde, os usuarios vão demandar integração dos serviços em nuvens com as aplicações on-premise. Ignorar a situação e deixar que SaaS entre livremente pode, portanto, ser uma bomba relógio.

Como haviamos falado anteriormente nas mudanças que cloud gerará em TI, este tema voltou ao debate. Para mim as mudanças vão se dar em diversos aspectos da relação de TI com o negócio, desde o interface (menos interação face-to-face e mais automatizado), passando por mudanças nos processos de governança e portanto se refletindo na organização de TI, seus skills e modelos de funding. Operar sob o modelo de nuvem obrigará TI a repensar a maneira de como opera e entrega os recursos computacionais aos seus usuarios.

Na minha opinião a tecnologia não é a principal barreira. É claro que muitas tecnologias ainda estão imaturas, faltam padrões de interoperabilidade e surgem os inevitáveis questionamentos de segurança. Mas ao longo dos próximos anos elas vão amadurecer e deixar de serem questionadas. Foi assim com todas tecnologias. Aconteceu com os bancos de dados relacionais, que no início eram considerados ineficientes e inadequados para processamentos transacionais (lembram?). Foi assim com o modelo cliente-servidor e mais recentemente com a Internet se entranhando nas operações do negócio, como no e-commece e Internet banking.

Um dos novos desafios que meu amigo CIO terá pela frente estará na mudança das políticas de governaça e alocação de recursos aos usuarios. A nuvem privada não é ilimitada. É restrita à capacidade computacional da empresa. Claro que aos poucos o conceito de nuvens híbridas vai se consolidar e muitas das limitações impostas pelas nuvens privadas poderão ser mitigadas usando-se também recursos computacionais em nuvens publicas.

A estratégia dele é bem cautelosa. Vai começar com um ambiente controlado (desenvolvimento e teste de aplicações) e depois, pouco a pouco irá ampliando o uso da nuvem.

Lembrei a ele que existe uma curva de aprendizado no uso da nuvem por parte dos próprios usuarios e não apenas pelo pessoal de TI. Os usuarios tem que se acostumar ao novo modelo. Como o interface para provisionar e alocar recursos é simples e fácil, existe a tendência natural de se requisitar excessivamente os recursos. Mas como estes não são infinitos deve existir uma politica de pagamento (chargeback) pelo seu uso. Por exemplo,

200

Page 201: Computacao Em Nuvem Cezar

cada área usuaria poderá ter determinado limite de uso de recursos, que se excedido obrigará a este usuario liberar algum outro para solicitar um novo.

Na prática, ao contrario da imaginação, que diz que com a nuvem não existem limites, quando se fala em nuvens privadas deve ser criado um modelo de provisionamento baseado em controle e restrições. Caso contrario, o excesso de solicitações poderá ultrapassar a capacidade instalada, gerando desconforto e insatisfação. Mas, atenção, TI deverá atuar como coordenador dos recursos e não como seu guardião. O modelo de alocação e funding dos recursos em nuvem deverá ser construído em comum acordo com os usuarios e não determinado unicamente por TI. Uma sugestão é criar um algoritmo de provisionamento e cobrança que leve em conta o valor do recursos solicitado para o negócio. Na minha opinião será criado na base da tentativa e erro, pois não temos ainda expertise e experiencias suficientes em cloud para dizer qual o melhor modelo para cada empresa.

Mas, é claro que ao longo do tempo os beneficios com adoção da nuvem vão se destacar: maior flexibilidade e agilidade para provisionar recursos computacionais. A maior padronização e automatização dos processos de provisionamento e alocação de recursos computacionais reduz a demanda de trabalho manual, deslocando profissionais de TI para tarefas mais nobres e rentáveis para a empresa. A melhor utilização dos recursos implica um melhor relação de custo beneficio destes. O resultado é que a empresa poderá se tornar bem mais ágil e apta a desenvolver novas oportunidades de negócio.

201

Page 202: Computacao Em Nuvem Cezar

Soberania de dados em Cloud Computing

julho 19, 2011

Recentemente estive participando de um debate na Comissão de Estudos sobre Informática, Internet e Novas Tecnologias da ABDI (Associação Brasileira de Direito de Informatica e Telecomunicações) sobre os aspectos jurídicos que envolvem Cloud Computing. Entre os diversos assuntos abordados, destacou-se a questão da soberania de dados, principalmente quando usa-se nuvens públicas.

É uma questão de grande importância pois o uso de nuvens públicas muitas vezes pode entrar nas empresas, seja por uma aplicação SaaS ou por IaaS, para suportar projetos específicos e departamentais, sem mesmo o conhecimento da área de TI.

Um agravante é que como uma nuvem é globalmente acessivel, o aplicativo ou os servidores virtuais podem estar localizados em qualquer parte do planeta. Você pode adquirir um aplicativo SaaS sem ter idéia de onde ele estará operando com seus dados.

A questão da soberania de dados aparece como um issue pelo fato que determinados setores de indústria (como financeiro) e mesmo países demandam elevadas exigências de aderência ou compliance com obrigações regulatórias. Alguns exemplos são Austrália (http://tinyurl.com/3aux6qe) e Cingapura (http://tinyurl.com/3vv6no3) que recentemente emitiram diretivas com relação ao uso de cloud por instituições financeiras. Outras legislações ou normas como a Diretiva 95/46/EC da União Européia (http://en.wikipedia.org/wiki/Data_Protection_Directive) colocam algumas barreiras para o armazenamento de informações pessoais de cidadãos europeus em países que não estejam alinhados em termos de proteção legal com a própria União Européia. Um outro exemplo é o US Patriot Act (http://en.wikipedia.org/wiki/USA_PATRIOT_Act) que é visto por determinados países como um inibidor para armazenamento de informações de suas empresas em território americano.

O debate é intenso pois apesar destas restrições ou fatores inibidores, os impulsionadores para a adoção de nuvens públicas são significativos. A experiência nos tem mostrado que a evolução tecnológica evolui mais rapidamente que nossa capacidade de explorá-la e gerenciá-la. E os fatores regulatórios são bem mais lentos, pois eles acabam por regular os hábitos da sociedade. Como ainda não temos respostas que conciliem a oferta de nuvens globais com demandas regulatórias, veremos, na prática, surgirem aos poucos soluções conciliatórias. Um exemplo: provedores de nuvens criando data centers em diversos países do mundo, com a possibilidade do usuário determinar onde os seus dados residirão. Claro que será impossivel para um provedor global abrir data centers em todos os países, mas provavelmente veremos data centers nos principais países e regiões. Uma outra alternativa será vermos os provedores globais desenvolvendo parcerias com provedores locais, de modo a minimizar os efeitos das exigências regulatórias quanto à soberania de dados.

202

Page 203: Computacao Em Nuvem Cezar

A questão da soberania de dados não será eliminada no curto prazo e talvez nem venha a ser no longo prazo. O que fazer então? Os CIOs não devem ignorar a realidade da computação em nuvem. Assim, se eles não conduzirem o processo poderão ter em mãos algumas bombas relógio, pois as nuvens entrarão nas empresas de qualquer modo. Portanto, desenhar uma estratégia e uma política de adoção de cloud computing será não só sensato, mas obrigatório. O primeiro passo será definir o que será localizado em nuvens públicas e o que ficará em nuvens privadas. Quando a opção de determinados serviços ou aplicações for pelas nuvens públicas, deverá ser explicitado se será necessário que os dados residam no território do país da empresa ou poderão estar em qualquer localização geográfica. Depende de cada serviço, pois nem todos os dados da empresa estão sujeitos as mesmas demandas regulatórias.

A conclusão do debate? Soberania de dados é uma questão importante, mas com uma adequada estratégia de adoção de cloud computing, que envolva a análise de riscos para cada serviço a entrar em nuvem, os problemas e seus efeitos podem ser minimizados ou eliminados. Portanto, a sugestão é ir em frente!

203

Page 204: Computacao Em Nuvem Cezar

Cloud Computing e a “TI Invisível”

agosto 1, 2011

Um fenômeno muito interessante que ocorre em muitas das médias e grandes empresas é a chamada “IT invisível”, que são as tecnologias e serviços adquiridos pelos usuários das áreas de negócio, com seus próprios budgets, à sombra de TI. Este fenômeno surgiu com o advento do modelo client-server, que permitiu que áreas usuárias comprassem pequenos servidores e aplicativos departamentais, sem que TI soubesse, se acelerou com o advento da Internet e agora vemos potencializado pela computação em nuvem.

Vamos imaginar um cenário hipotético. Um executivo da linha de negócios precisa de um sistema de gestão de frotas. A resposta que ele ouve do CIO provavelmente será: “Não tenho budget para desenvolver este sistema internamente, mas vá ao mercado e selecione um aplicativo que seja adequado e depois volte aqui”. Ele assim o faz. Pesquisa o mercado e seleciona um dentre vários aplicativos. Volta ao CIO, mostra o aplicativo e ouve: “Muito bem, mas o aplicativo roda em Windows e meu ambiente é Linux. Terei que adquirir um servidor, banco de dados e outros softwares que serão necessários para operar o sistema. Além disso, terei que contratar um administrador para este novo ambiente. Tudo isso vai demorar uns 3 meses”. Resultado: ele vai gastar o dobro do planejado e terá que esperar muito tempo, após aportar seu budget para usufruir da funcionalidade oferecida pelo aplicativo na sua empresa.

Outra coisa que ele poderá fazer: buscar aplicativos oferecidos na modalidade SaaS e adquirir um diretamente, bypassando por completo TI. Caso a empresa tenha o CRM da Salesforce ele poderá ir ao AppExchange (http://appexchange.salesforce.com/home) e selecionar um dentre vários aplicativos. Hoje o AppExchange funciona para apenas aplicativos que rodem na nuvem do salesforce, mas nada impede o surgimento de outros mercados, como vemos no setor de aplicativos móveis com Android market, Appstore, etc.

O que o CIO deverá fazer? Lutar contra? Será quase impossível ganhar a guerra, pois o apelo econômico do modelo de computação é extremamente atrativo para ser ignorado e com mais e mais disponibilidade de ofertas em nuvem, os usuários buscarão atender suas próprias demandas passando por cima das barreiras impostas por TI.

A área de TI deve compreender que ela e os usuários tem prioridades diferentes quando adquirindo serviços e produtos de tecnologia. TI se preocupa primeiramente com questões de segurança e compatibilidade do novo aplicativo com o ambiente operacional. Os usuários priorizam a funcionalidade do aplicativo e deixam em segundo plano estas questões “técnico-mundanas”. O atual modelo on-premise cria algumas barreiras, pois mesmo que o usuário adquira um aplicativo de forma independente, muitas vezes TI tem que entrar no circuito para instalar o servidor e seu ambiente operacional. Em nuvem, TI não é necessária. O usuário interage diretamente com o provedor da nuvem e adquire o serviço com cartão de crédito. O acesso a vastos e baratos recursos computacionais como

204

Page 205: Computacao Em Nuvem Cezar

servidores virtuais em nuvens IaaS ou aplicativos SaaS, usando-se um simples cartão de crédito tornam as coisas mais fáceis para o usuário bypassar TI.

À medida que este hábito se espalhar pela organização, teremos uma bomba relógio. Provavelmente muitos destes aplicativos deverão interoperar com outros que estejam em outras nuvens ou mesmo on-premise em servidores gerenciados por TI. Como fazer esta interoperabilidade acontecer? Além disso, até que ponto os usuários se preocuparam com questões como backup ou aspectos legais quanto a privacidade e soberania dos dados?

Portanto, TI não pode e nem deve abdicar da responsabilidade de manter as tecnologias operando de forma segura e sempre disponivel. Mas, na minha opinião o atual modelo de controle de TI, extremamente restritiva, baseado no modelo de aplicativos e recursos computacionais on-premise, terá que ser flexibilizado. Em tempos de midias sociais, smartphones e tablets não dá para esperarmos muitos meses por um aplicativo. A velocidade do negócio exige que TI responda cada vez mais rapido e assim ao invés de lutar contra, TI deverá se colocar como facilitador do processo de adoção da “TI invisível”. Esta já está acontecendo mesmo…

A área de TI deverá liderar o processo de adoção de cloud pelos usuários, propondo critérios e modelos de aquisição de recursos em nuvem, de modo a mitigar riscos para o negócio, aumentar economias de escala e garantir a integração e aderência à regras e legislações do setor. TI deve, na verdade, “legalizar” a “TI invisível” e portanto deverá atuar de forma cada vez mais integrada e aderente às demandas do negócio. Suas prioridades deverão ser as mesmas do negócio.

205

Page 206: Computacao Em Nuvem Cezar

Criando nuvens públicas: o que é necessário?

agosto 8, 2011

Recentemente estive participando do evento Cloud Computing & Security, debatendo o panorama atual e futuro da adoção de Cloud. Após a palestra, gravei entrevista que está disponivel no YouTube (http://www.youtube.com/watch?v=1LJXtakcMR4&feature=youtu.be ) onde em cerca de 10 minutos debati algumas questões como os desafios para o Brasil se tornar um pólo atrativo para data centers de cloud, bem como algumas questões ligadas a soberania de dados. Se tiverem tempo, os convido a assistirem ao video.

Cloud Computing tem o potencial de transformar toda a indústria de TI, tanto do lado dos provedores de serviços e produtos, em como dos usuários destes produtos e serviços. Muda de forma significativa a maneira como vendemos e consumimos TI.

A criação de data centers para oferta de serviços em cloud, para o mercado em geral, chamado de public cloud, tem como característica essencial a escala do empreendimento. Para oferecer recursos computacionais a custo baixo, estes data centers tem que dispor de escala adequada para que processos atutomatizados façam diferença em relação aos modelos atuais de provisionamento e alocação de recursos, semi-automatizados. Outras variáveis impactantes são os custos de energia, capacidade de rede (pela concentração de acessos ao data center por milhares de clientes) e tecnologia que automatize ao máximo a sua operação. Quando falamos em escala adequada estamos falando em dezenas ou mesmo centenas de milhares de servidores.

Um tópico importante é a capacidade da rede para/de acesso ao cloud data center. Este pode ser um gargalo, pois ainda no Brasil cerca de 70% da banda larga é de menos de 1 Mbit por segundo. Além disso, a escassez de oferta diminui a possibilidade de oferecer redundância de redes, altamente necessária para garantir uma alta disponibilidade para os usuáios de uma nuvem pública.

O que isto significa? Que criar um data center para oferecer public cloud não é um negócio para qualquer um. Tem que haver um grande investimento inicial em máquinas e facilities e o retorno não aparece no curto prazo. Como a receita vem de serviços por demanda (pay-as-you-go), a empresa tem que ter fôlego suficiente para sustentar os altos investimentos durante algum tempo, até que o break-even seja alcançado.

Outra questão debatida na entrevista foi a soberania de dados, que, inclusive foi tema de um post anterior aqui no blog: (http://computingonclouds.wordpress.com/2011/07/19/soberania-de-dados-em-cloud-computing/) .

Enfim, o assunto ainda gera muito debate, mas é inevitável que é um caminho sem volta. Entender as possibilidades e as restrições do atual ambiente de cloud computing no Brasil

206

Page 207: Computacao Em Nuvem Cezar

é fundamental para que as empresas, sejam elas usuárias ou provedoras de serviços, definam suas estratégias para os próximos anos.

207

Page 208: Computacao Em Nuvem Cezar

Cloud como estratégia de negócios

agosto 22, 2011

A adoção de cloud computing começa a se acelerar no mundo inteiro. Mas as primeiras experiências já apontam que uma substituição completa do modelo tradicional pela computação em nuvem não acontecerá no curto prazo. Por outro lado as razões iniciais que incentivam a adoção de cloud, como redução de custos, começa a ser substituída pela agilidade com que o negócio passa a dispor quando usando este modelo para criar novos e inovadores processos e aplicações.

O modelo de computação em nuvem está apenas começando a impactar as empresas e a própria indústria de TI. Mas ainda desperta desconfiança e muitas empresas aguardam cautelosamente que os “early adopters” mostrem o caminho. É normal este cenário. Afinal, muita coisa se disse sobre o modelo distribuído, que usamos atualmente, e nem tudo prometido aconteceu realmente. Aliás, fazer previsões é sempre arriscado. Tem uma frase emblemática do prêmio Nobel de Física, Niels Bohr que disse “Prediction is difficult, especially about the future”. E volta e meia nos deparamos com previsões furadas, como “Quando a exposição de Paris se encerrar, ninguém mais ouvirá falar em luz elétrica.” (Erasmus Wilson, Universidade de Oxford, 1879) e “A televisão não dará certo. As pessoas terão de ficar olhando sua tela, e a família americana média não tem tempo para isso.” (The New York Times, 18 de abril de 1939, na apresentação do protótipo de um aparelho de TV).

Por que estas coisas são ditas? São pessoas ignorantes? Não, são cientistas e profissionais bem preparados. A questão é que partem de pressupostos errados. Lembro aqui uma histórinha interessante. Em 1886, Gottlieb Daimler tinha acabado de desatrelar os cavalos de uma carruagem e instalar um motor atrás dela. Criou o primeiro automóvel (ou carruagem sem cavalos). A empresa dele se juntou à de Karl Benz e no começo da década de 1900, tentaram prever o tamanho do mercado mundial para estes então fumacentos e barulhentos veículos. Depois de uma análise cuidadosa previram que no próximo século haveria em torno de um milhão de carros em uso no mundo inteiro. Mas, esta previsão, audaciosa para a época, se mostrou totalmente equivocada. Em 2000 haviam mais de 600 milhões de carros no mundo! Era uma previsão de longo prazo, sujeito a intempéries, mas mesmo assim erraram por um fator de mil. Por que? A suposição que usaram estava errada. Eles previram que em cem anos a população mundial de motoristas profissionais seria de cerca de um milhão e esta seria a limitação ao crescimento no uso das carruagens sem cavalo. O pressuposto era que todo carro precisava de um motorista profissional, como na época. Não foi o que aconteceu. Qualquer um pode dirigir um carro.

O mesmo acontece quando olhamos cloud computing pela ótica do modelo atual de TI e nos prendemos a visualizar este modelo como uma simples modernização do outsourcing. Mas, a possibilidade de uma empresa criar novos processos e mesmo negócios sem esperar pelo ciclo tradicional de TI, e mesmo sem maiores investimentos em capital, mas

208

Page 209: Computacao Em Nuvem Cezar

apenas em custos operacionais (opex) abre novos e inovadores espaços a serem explorados. Cloud pode ajudar a transformar o próprio negócio. Portanto, o modelo de computação em nuvem não deve ser visto únicamente pela ótica da tecnologia, mas como um meio estratégico de alavancar novos negócios.

Entretanto, a mudança não ocorrerá por um “big bang”, mas de forma gradual. Existem ainda barreiras no caminho e aspectos legais e de compliance ainda criam riscos para o negócio. Muitos dos provedores não tem soluções completas e as experiências práticas bem sucedidas ainda são cases de mídia. Por outro lado, ficar sentado e esperar as coisas acontecerem pode deixar passar ao largo boas oportunidades de vantagens competitivas. Além disso, falando francamente, os data centers de alguns provedores globais de cloud são muito mais avançados e seguros que a maioria dos data centers das empresas. Então, o que fazer?

Na minha opinião as empresas devem olhar cloud pela ótica da estratégia do negócio e começar a experimentar este modelo. Se a organização já tem familiaridade com outsourcing, cloud passa a ser uma extensão natural de sua TI. O modelo híbrido, onde aplicações on-premise convivem com nuvens privadas e nuvens públicas será o caminho natural para muitas empresas. Expandindo os sistemas atuais para operar em nuvem, mantendo ainda os dados mais sensíveis dentro de casa é um bom caminho. Desta maneira ganha-se experiência e aos poucos descola-se do modelo tradicional e cloud passará a fazer parte do DNA de TI da empresa.

A velocidade de adoção da computação em nuvem vai depender da cultura e do setor de indústria de cada companhia. Existem setores mais regulados e empresas mais agressivas em adotar inovações. Não existe uma receita única e pronta que se adapte todas as organizações. Por exemplo, uma empresa pode começar por colocar a maioria dos sistemas não-ERP em nuvem e com isso, ao mesmo tempo que reduz seu custo operacional, pode conseguir de imediato uma maior agilidade para novas demandas de TI por parte dos usuários. Mas, os resultados não virão apenas com adoção tática de cloud. É fruto de uma combinação da reorganização de TI, de pensar de forma mais ágil (agile development) e não se ater a atividades operacionais básicas, padronizando e automatizando seu ambiente operacional (cloud computing).

Bem, algumas sugestões:

a) Entenda a natureza do modelo de computação em nuvem e como explorar este novo modelo com novas aplicações. Não pensar em usar as nuvens apenas para fazer a mesma coisa que se faz hoje.

b) Pense nuvem arquitetônicamente ou seja, não pense em peças tecnológicas isoladas, mas visualize seu futuro ambiente em nuvem, analisando aspectos de segurança, interoperabilidade e agilidade nos processos de TI.

c) Adote cloud computing como seu modelo de design de aplicações para novos e inovadores sistemas. Mas conserve os dados mission-critical dentro de casa, pelo menos por enquanto.

209

Page 210: Computacao Em Nuvem Cezar

d) Crie um modelo de governança de TI (politicas, procedimentos e padrões) que englobe cloud e não esqueça de colocar análises de risco nas decisões de usar cloud para as aplicações que requerem certificações como SAS70, HIPAA, etc, e niveis de serviço extremamente rígidos.

e) Não espere que o modelo amadureça. Comece a experimentar em workloads especificos e menos críticos. Embora cloud ainda seja imaturo e primitivo comparado com daqui a cinco ou dez anos, já permite fazermos muitas coisas interessantes. Um exemplo? Que tal BI em cloud? É perfeitamente prossivel construir uma plataforma em cloud pública para demandas de business analytics, provavelmente a uma fração do que custaria construir o ambiente dentro de casa.

f) E finalmente, tenha uma atitude “open-minded” em relação a cloud computing.

210

Page 211: Computacao Em Nuvem Cezar

Com a cabeça nas nuvens…

agosto 31, 2011

Há alguns dias participei de mais um evento sobre Cloud Computing. Aliás, no decorrer dos últimos anos participei de incontáveis eventos e reuniões com clientes para debater este assunto. Participei também de vários projetos proof-of-concept. Vi e ouvi muita coisa nestas ocasiões e aproveitei uma caminhada em torno da lagoa Rodrigo de Freitas (moro no Rio) para filosofar um pouco sobre o assunto.

Na minha opinião cloud não é apenas um upgrade tecnológico para os data centers, mas uma mudança de paradigma em como provisionamos e usamos recursos computacionais nos data centers. Hoje provisionamos e utilizamos servidores. Em cloud, o servidor é o data center. Cloud computing implica uma mudança significativa na maneira como vendemos e consumimos produtos e serviços de tecnologia da informação e, apesar de muitos eventos e debates sobre o assunto, ainda paira uma certa descrença sobre seus impactos. Assim, creio que será interessante debater um pouco mais os desafios que as empresas, tanto fornecedoras como consumidoras de tecnologia, terão pela frente.

As decisões de quando adotar cloud (a pergunta “se”, já foi respondida…Cloud será adotado, mais cedo ou mais tarde) demandam uma análise dos benefícios versus os riscos e os efeitos da computação em nuvem na empresa. E a decisão tem relação direta com o grau de maturidade não apenas da tecnologia disponível no mercado, mas da organização e cultura da empresa.

Vamos olhar por exemplo as grandes corporações. Elas são inerentemente complexas e para cloud gerar um valor real deve abranger muito mais que ser uma plataforma para um ambiente isolado, como o de desenvolvimento e testes de aplicações. Este deve ser apenas o primeiro passo e deve estar inserido em uma estratégia maior. O cerne da questão: estratégia de cloud não deve ficar apenas nas mãos de TI, mas deve envolver a organização. Por outro lado start-ups não tem que lidar com sistemas legados e podem entrar direto no ambiente de cloud. Não tem sentido uma empresa começar a operar emulando o modelo atual de sistemas on-premise, instalando hardware e software dentro de casa.

Se olharmos cloud veremos que o atual modelo de entrega de recursos de TI se assemelha ao modo como era a energia elétrica no principio do século passado. As indústrias tinham que construir e manter suas fontes geradoras de energia, que não eram o seu negócio. Hoje a maioria das empresas constróem e mantém seus próprios data centers, mesmo que não sejam seu campo de expertise. O resultado? Muitos data centers são ineficientes. Recomendo a leitura de uma série de artigos publicados em 2008 (mas ainda bem atuais) pelo The Economist em http://www.economist.com/node/12411882. O modelo de computação em nuvem pode, potencialmente, mitigar esta ineficiência, permitindo que recursos como servidores e storage sejam entregues e usados como serviços, assim como energia elétrica. Ora, porque Cloud não pode ser visto como uma utility, como uma

211

Page 212: Computacao Em Nuvem Cezar

concessionária de energia elétrica?Vamos analisar quais os pontos em comum entre um serviço de utility como energia, água e telefonia, e a computação em nuvem. Quais são as características básicas de um serviço de utilidades, como água, energia e telecomunicações?Logo no início lembramos da alta dependência do serviço. Não podemos viver sem água ou energia. Basta ver os efeitos de um apagão elétrico na sociedade, os transtornos que causa.Outra característica é a confiabilidade no serviço. Água, por exemplo; ao abrirmos a torneira nossa expectativa natural é que a água caia. Não se espera que o serviço não esteja disponível.Usabilidade é outra característica. Uma torneira é muito fácil de usar. Uma tomada só necessita que se conecte o plug do aparelho elétrico. Um celular é algo que uma criança de dois anos sabe usar para fazer uma ligação.E, outro aspecto relevante é a elasticidade. Pagamos estes serviços pelo que consumimos e sabemos que podemos consumir mais ou menos. Podemos consumir muita energia no verão carioca, com aparelhos de ar condicionado ligados 24 horas por dia, e deixar a casa às escuras quando saimos em férias.Para o provedor existe uma outra característica relevante que é o nível de utilização. Ele precisa gerenciar os picos e vales pois as demandas dos usuários dos serviços de utility flutuam amplamente no tempo. Se ele mantiver uma infraestrutura configurada para a demanda de pico, vai arcar com um custo elevado. Por outro lado, se a infraestrutura for insuficiente, não irá atender à crescimentos rápidos da demanda.E quanto aos modelos de negócios? Basicamente as utilities cobram pelo uso (pay-as-you-use), como água e energia, ou por assinatura, como provedores de banda larga, que ofertam serviços ilimitados mediante assinatura mensal.Mas, como é a TI na maioria das empresas? Bem diferente deste modelo de utilities. Até a questão do pay-as-you-go vai demandar um maior amadurecimento dos processos e cultura. TI é visto muitas vezes como centro de custo e não como gerador de negócios. Não existe billing dos seus serviços entre os departamentos da empresa e muitas vezes nem mesmo existe rateio proporcional à suas demandas.

Cloud computing também afeta as relações entre a área de TI e seus usuários. Vamos recordar um pouco a história recente da computação. TI ganhou importância nas empresas porque a tecnologia demandava expertise para programar e controlar as aplicações. Na época do modelo centralizado, TI dominava 100% das atividades de computação nas empresas. Com a chegada dos PCs, os usuários passaram a ter condições de desenvolver eles mesmos muitas das suas aplicações e o controle abosluto de TI começou a ruir. Muitas aplicações não eram mais escritas pelos técnicos de TI, mas compradas prontas ou escritas pelos usuários em linguagens de alto nível, que abstraiam as tecnicidades. Com o PC, TI passou a ser o coordenador do acervo computacional, mantinha os sistemas corporativos e se responsabilizava pelos processos de segurança, backup etc. Mas não era mais o único desenvolvedor de aplicações.

Este processo está se acelerando com a chegada dos tablets, smartphones e a computação em nuvem. Os usuários podem agora substituir sistemas antes providos pela área de TI por aplicações disponíveis em nuvens publicas. É o processo de desintermediação. TI tem

212

Page 213: Computacao Em Nuvem Cezar

que assumir outro papel: o de coordenar e monitorar o uso de nuvens e até mesmo gerar processos de certificação de que serviços podem ser obtidos de quais provedores de nuvem. De qualquer maneira está claro que a influencia dos usuarios no uso e adoção de computação nas empresas é cada vez maior e TI será obrigado a mudar seu papel de provedor de recursos computacionais para certificador e consultor.

Vamos exemplificar o novo cenário? Hoje, um departamento usuário que demande uma nova aplicação vai requerer de TI a aquisição dos equipamentos, como servidores e banco de dados. O processo de compras e instalação pode levar alguns meses. Mas com cloud ele pode ir direto ao provedor e adquirir na nuvem servidores virtuais e aplicativos SaaS, pagando com seu próprio budget, sem passar pela área de TI. Desta forma ele bypassa os processos e procedimentos de segurança adotados por TI e pode gerar problemas futuros, mas consegue ter resultados de negócio em curtíssimo prazo, o que agrada aos acionistas!

O que TI deve fazer? Entender o cenário e não remar contra, mas assumir o quanto antes seu novo papel neste contexto. E tem muito trabalho pela frente: por exemplo, como agir diante de uma falha em uma nuvem pública? Os usuários não pensam neste assunto, mas estarão dependentes de suas aplicações em uma nuvem que pode sair do ar. O que fazer? Se uma empresa colocar todos seus sistemas em uma nuvem pública, perderá a expertise técnica que detém hoje em sua área de TI, e ficará nas mãos do provedor. Este provedor tem expertise suficiente para responder aos problemas que eventualmente surgirão? Esta é outra questão que TI tem que agir agora: selecionar e certificar provedores de nuvem.

A questão de custos tem que ser analisada com cuidado. De maneira geral olha-se os custos de uma nuvem publica observndo-se os custos de hora de servidor. Mas, os custos de trasmissão de dados? Além disso, à medida que os modelos de serviços de cloud evoluem, novas modalidades de pagamento surgem e o planejamento de capacidade ajuda a identificar qual seria a melhor opção. Não é dificil imaginar no futuro vermos o mercado de provedores de clouds públicas ofertando recursos com preços diferenciados, de acordo com o período do dia ou do mês. Aliás, já vemos alguns primeiros exemplos desta prática, como o modelo spot pricing da Amazon. Neste modelo você faz um leilão para usar recursos ociosos da nuvem da Amazon. Imagine que você queira pagar até 1 dólar por hora de servidor. A Amazon flutua o preço hora de servidor de acordo com a demanda. Vamos supor que o preço de hora de servidor esteja, em determinado momento a 75 centavos de dólar. Neste momento, a Amazon verifica quais usuários querem participar do leilão e quais deles oferecem preços de 75 centavos ou acima. Como voce definiu que pagaria até um dólar, você é um candidato a participar do leilão e eventualmente sua máquina virtual é selecionada e alocada. Ela fica operando até que o preço hora do servidor suba (pelo aumento da demanda) e seu preço de até um dólar fica abaixo do valor. Neste momento o seu servidor virtual é colocado em stand by. Claro que nem todas aplicações podem usufruir desta funcionalidade. Temos, portanto, mais uma atividade que necessita de expertise técnica que a empresa não pode desprezar.

Outros temas que precisam ser bem avaliados quando decidindo adoção da computação em nuvem são as questões que envolvem a segurança, privacidade e aspectos legais. Métodos e processos de segurança mudam a cada vez que o modelo computacional muda.

213

Page 214: Computacao Em Nuvem Cezar

Foi assim quando surgiu o cliente-servidor e muitos dos métodos adotados para ambientes centralizados tornaram-se inúteis. Foi assim quando a Internet passou ser parte integrante dos processos de negócio e os métodos adotados para segurança internos mostraram-se insuficientes e tiveram que ser modificados. Com adoção de cloud computing a história está se repetindo. Temos que repensar muitos dos processos de segurança atualmente adotados.

Um provedor de nuvem publica pode ser alvo de ataques como denial of service (DoS) e este ataque pode ser direcionado a alguns (ou algum) alvos especificos. Ou seja, o ataque não é dirigido ao provedor mas a um dos clientes dentro do provedor. Neste caso, qual é velocidade de reação do provedor diante desta situação?Tem um case conhecido, antigo, de 2009, mas que serve de orientação para casos similares. Vejam em http://blog.bitbucket.org/2009/10/04/on-our-extended-downtime-amazon-and-whats-coming/ . Para questões de segurança em cloud recomendo acessar a Cloud Security Alliance, em https://cloudsecurityalliance.org/ . Recomendo também acessar o site da ENISA (European Network and Information Security Agency) para um relatório muito abrangente sobre segurança em cloud computing, em http://www.enisa.europa.eu/act/rm/files/deliverables/cloud-computing-risk-assessment . Como TI pode se envolver nas questões de segurança em cloud? Por exemplo, analisando os provedores e avaliando se suas práticas de segurança se adequam as políticas de compliance da empresa.

Como vemos, tem muito espaço para TI atuar no mundo da computação em nuvem. Portanto, ao invés de receios, TI deve ver na computação em nuvem grandes oportunidades, deixando de lado atividades que não agregam valor (instalar hardware e sistema operacional) e considerado como centro de custos, para ser visto como facilitador de novas receitas e novos negócios.

214

Page 215: Computacao Em Nuvem Cezar

Cloud Computing: Status Quo

setembro 12, 2011

Outro dia, almoçando com dois amigos, CIOs de grandes empresas, a conversa girou em torno do tema cloud computing. Eles me questionaram muito do porque cloud está demorando tanto para decolar, uma vez que o termo surgiu em 2007, e nestes cinco anos pouca coisa andou. Conversa vai, conversa vem, chegamos a algumas conclusões e insights interessantes que vou compartilhar aqui.

Está claro que apesar das coisas não estarem indo muito rapido, o conceito de cloud não é mais visto como um hype de mercado, mas como um novo modelo de aquisição, entrega e consumo de recursos de TI (em todas suas variantes, como IaaS, PaaS e SaaS) que provocarão transformações significativas tanto nas empresas produtoras como nas consumidoras de TI.Cloud não é uma invenção tecnológica, mas seu conceito é construído em cima de tecnologias já provadas há muito tempo, como virtualização, software como serviço (lembram-se do ASP?), intensa disseminação da Internet (todos usam Internet Banking), outsourcing de infraestrutura (até bancos fazem isso) e terceirização dos ambientes de desenvolvimento e testes (muitas grandes empresas já terceirizam intensamente estes processos).

Portanto, cloud é uma mudança no modelo de entrega e consumo de TI, mas não um conjunto de tecnologias e conceitos não testados. Facilita as coisas. Além disso, o sempre presente mantra do “fazer mais com menos” continua presente e as empresas estão continuamente em busca de reduzir e racionalizar seus custos de TI, obter maior flexibilidade e velocidade na obtenção dos recursos necessarios a desenvolver alguma ação de negócios. Cloud é a resposta. Juntando tudo, vemos que mais cedo ou mais tarde cloud vai decolar, pois é realmente uma grande idéia.

Um dos motivos que estão atrasando a decolagem é que ainda existe muita confusão sobre o que é realmente cloud. Tenho participado de dezenas de reuniões e eventos sobre o assunto e vejo, com certo espanto, que muitas empresas ainda não estão bem familiarizadas com o conceito. Existem ainda muitas discussões e divergências sobre o que é realmente cloud. Muitas ainda associam o conceito de cloud exclusivamente ao de cloud publica, ignorando as alternativas de cloud privadas e híbridas. E algumas chegam a afirmar que já estão usando cloud, simplesmente porque virtualizaram alguns de seus servidores. Outro motivo é que, de maneira geral a maioria das empresas tem uma área de TI muito conservadora, sendo bastante reativos a qualquer nova tecnologia ou conceito que cause disruptura no seu dia dia. Geralmente adotam novas tecnologias apenas quando elas já provaram sua eficácia e estão relativamente bem maduras no mercado. Basta ver a relutância com que muitas empresas olham as midias sociais e mesmo o uso de tablets e smartphones para aplicações de negócio.Contribuindo para isso, a maioria dos tradicionais fornecedores de tecnologia tendem a

215

Page 216: Computacao Em Nuvem Cezar

oferecerem soluções para nuvens privadas, vendendo-as pelos modelos tradicionais de precificação, ou seja, aquisição de ativos pela empresa compradora.

Isto me lembra a situação de um livro que li em 2001 e que me marcou muito: “The Innovator’s Dilemma”, de Clayton M. Christensen. O livro aborda o fracasso de empresas ao se defrontarem com mudanças que causam disrupções nos seus mercados. Analisa empresas de sucesso que não conseguiram inovar na velocidade adequada e ficaram para trás. Cita diversas empresas de renome como Sears Roebuck, e na área de TI nomes outrora famosos como Digital, Data General, Wang e outras.

Uma parte muito interessante do livro é a proposição dos cinco princípios ou leis das tecnologias de disrupção, que ao serem ignoradas enfraquecerão as empresas que atuam nos setores afetados. Estes princípios ou leis são:

Princípio 1: As companhias dependem de clientes e investidores para gerar recursos. Ele observa que as empresas mais bem sucedidas em um paradigma criam mecanismos muito eficientes para abortar idéias que não agradam a seus clientes e investidores e como resultado tendem a não investir em tecnologias de disrupção, que geram oportunidades de lucros menores e que seus clientes não querem, pelo menos inicialmente. Quando eles passam a querê-las, aí é tarde. Outras empresas já dominam o mercado destes produtos.

Princípio 2: Mercados pequenos não solucionam a necessidade de crescimento de grandes empresas. Tecnologias de disrupção possibilitam o surgimento de novos mercados, geralmente pequenos no seu início. As grandes corporações precisam de receitas gigantescas e não conseguem entrar em mercados que geram receitas menores. De maneira geral sua estratégia é esperar até que estes mercados sejam grandes o suficiente para se tornarem atrativos.

Princípio 3: Mercados que não existem não podem ser analisados. Não existe pesquisa de mercado para eles. Empresas cujos processos de investimento demandam a quantificação dos tamanhos dos mercados e dos retornos financeiros, antes que possam entrar em um mercado, ficam paralisadas ou cometem sérios erros de avaliação ao se depararem com tecnologias de disrupção.

Princípio 4: As capacidades de uma organização definem suas incapacidades. O autor observa que as capacidades de uma organização concentram-se em dois fatores. O primeiro está em seus processos e o segundo nos valores da organização, critérios que os executivos e gestores utilizam quando tomam decisões sobre as prioridades. Mas um processo eficiente para um determinado tipo de produto pode ser muito ineficiente quando temos um produto baseado em uma tecnologia de disrupção. Além disso os valores fazem com que as decisões priorizem projetos de desenvolvimento de produtos de alta margem, deixando em segundo plano os de baixa margem, como os que envolvem tecnologias inovadoras.

Princípio 5: A oferta da tecnologia pode não ser igual à demanda do mercado. Apesar de inicialmente poderem ser utilizadas apenas em mercados pequenos, tecnologias de

216

Page 217: Computacao Em Nuvem Cezar

disrupção produzem rupturas porque podem posteriormente ter desempenho plenamente competitivo dentro dos mercados habituais, em comparação com produtos já estabelecidos. O autor observa que o ritmo da evolução dos produtos frequentemente excede a taxa de melhoria do desempenho que os clientes habituais procuram ou podem absorver. Estes produtos apresentam excesso de desempenho. Assim produtos, que apresentam no início características de funcionalidade que estejam próximas das necessidades do mercado atual seguirão trajetórias de melhorias que os fará superar as necessidades dos mercados habituais no futuro, oferecendo desempenho altamente competitivo, substituindo os produtos pré-estabelecidos.

Se enquadramos cloud computing nos princípios acima e como muitas das empresas do setor reagiram ou ainda estão reagindo vamos ver que haverão vencedores e perdedores. Faz parte da vida empresarial…

Mas, na minha opinião pessoal, estamos próximos do ponto de inflexão. Por que? Vejo a cada dia mais interesse pelo assunto. O crescente numero de eventos sobre o assunto demonstra isso. Além disso, muitas empresas já estão adotando virtualização de forma intensa, o que é o primeiro passo na jornada em direção a cloud. Outras já estão acostumadas com outsourcing. Assim, acredito que em 2012 ou 2013 cloud computing vai ser adotado de forma mais acelerada, com as empresas fazendo cada vez mais provas de conceito e implementações piloto.Estas primeiras experimentações serão a colocação de ambientes de email, colaboração e ferramentas de produtividade em nuvens. Também veremos atividades como ambiente de desenvolvimento e teste, bem como aplicações especificas de BI em nuvens. À medida que os cases de sucesso se espalhem e os resultados obtidos, como maior agilidade e flexibilidade no provisionamento e alocação dos recursos computacionais sejam realmente comprovados, cloud vai ser adotado com mais intensidade. Já veremos cloud nos budgets de muitas empresas a partir de 2012.

Os resultados positivos vão demandar novos projetos e cria-se um efeito virtuoso. Creio que em torno de 2020, ou seja, daqui a dez anos, o termo cloud computing deixará de existir, e sim será apenas computing, pois cloud será o nosso modelo mental de pernsarmos aquisição e uso de TI.

Claro que ainda existirão pedras no caminho. Uma delas é a questão da segurança, privacidade e confidencialidade dos dados, bem como as ainda incertezas juridicas e tributárias, principalmente quando fala-se em clouds publicas com data centers localizados em outros países. Em grandes empresas, principalmente as de setores mais regulados, esta questão torna-se mais séria, pois seus departamentos jurídicos e financeiros tem maior poder de veto dentro da organização.

Por outro lado, se área de TI ficar esperando a computação em nuvem amadurecer para então se mover, poderá perder seu espaço. A chamada “Shadow IT” ou computação invisível torna-se mais forte em ambiente de nuvem. Eu questiono a afirmativa de muitas empresas que dizem que sua área de TI tem total controle sobre o que os usuarios adquirem e acessam em termos de TI. Um exemplo é a proibição de se

217

Page 218: Computacao Em Nuvem Cezar

usar midias sociais dentro da organização. OK, é proibido pelo desktop corporativo mas o funcionário acessa seu Facebook ou tuita algo pelo seu smartphone ou tablet. Na conversa com meus amigos CIOs isto ficou claro. Eles já disseram saber de vários casos (e confessaram, até mesmo dentro de suas empresas) das áreas de negócio cada vez mais adquirirem serviços diretamente via Internet. A questão não é mais tecnológica. Não dá mais para proibir tecnologias que surgem à velocidades mais rapidas que a capacidade das áreas de TI a absorverem, mas de definir claramente politicas e processos de aquisação de aplicações e tecnologias. TI tem que ser aliado e facilitador e não o controlador dos recursos computacionais.

218

Page 219: Computacao Em Nuvem Cezar

Cloud Computing: alguns insights

setembro 23, 2011

O assunto cloud computing está aumentando em abrangência e importância. A velocidade com que novidades surgem está se acelerando e já começamos a ter dificuldades em acompanhar o ritmo de inovações. Hoje já existe consenso que cloud computing provocará profundas mudanças na maneira como as empresas operam e entregam TI. Uma recente pesquisa do IDC mostrou que 23% (quase um quarto) das empresas brasileiras prevêem realizar profundas modificações em infraestrutura de TI nos próximos 3 a 5 anos. Também apontou que aproximadamente um quarto das grandes empresas (com mais de 500 funcionarios) mudarão radicalmente seus ambientes nos próximos anos. Diante deste cenário, ignorar a computação em nuvem é suicído ou encurtamento rapido de carreira…

Falando em carreira, o que veremos nos póximos anos? Provavelmente surgirão novas funções como:a) “Cloud Service Architect” que terá como responsabilidade principal juntar todas as peças para criar e ofertar serviços nas nuvens.b) “Cloud Orchestration Specialist” que vai manter as coisas funcionando nas nuvens.c) “Cloud Services Manager” que vai se responsabilizar pelas relações da empresa com seus provedores de nuvem.d) “Cloud Infrastrucuture Administrator” que será a nova versão do system administrator, mas voltado para o ambiente em nuvem.

Claro que continuarão ativos os desenvolvedores e projetistas de sistemas, mas que terão de desenvolver novos skills para criar aplicações para nuvens, considerando caracteristicas como multi-tenancy e uso de novas tecnologias como Hadoop. E o CIO? Se ele não quiser ser ver sua sigla ser sinônimo de “Career Is Over” deve assumir a liderança no processo de adoção de cloud computing na sua empresa.

Mas, também veremos profundas mudanças no ecossistema que compõe a cadeia de valor de TI atual. Veremos novos atores surgindo como:

a) “Cloud Builders” que ajudarão seus clientes a desenhar, construir e gerenciar suas demandas de TI em nuvens computacionais. Também ajudarão a integrar nuvens publicas com nuvens privadas, criando ambientes de nuvens hibridas.b) “Cloud Infrastructure Providers” que oferecerão suas nuvens, IaaS ou PaaS, ao mercado.c) “Cloud Application Providers” que ofertarão seus aplicativos na modalidade SaaS, em suas nuvens ou em nuvens de terceiros.d) “Cloud Solution Providers” que ofertarão serviços de valor agregado às empresas ou provedores de nuvens, como consultoria, helpdesk, suporte técnico, treinamento, serviços como backup/recuperação, etc.e) “Cloud Technology Providers” que ofertarão tecnologias de valor agregado às nuvens,

219

Page 220: Computacao Em Nuvem Cezar

como ferramentas de billing, monitoração, provisionamento e alocação de recursos, etc. Já começamos a ver algumas ferramentas interessantes como Monexa (http://www.monexa.com/), Vindicia (www.vindicia.com) e Zuora (http://www.zuora.com/). Como vemos é um setor que está gerando start-ups rapidamente.f) “Cloud Agregators” que atuarão como brokers, identificando de um lado clientes que querem usar nuvens e de outro as melhores ofertas de nuvens a cada momento.g) “Cloud Markets” que serão portais de acesso a aplicativos, nos moldes do Android Market ou App Store para smartphones.

É importante lembrar que as empresas que ofertarão estes serviços poderão ser empresas dedicadas a cada tipo de oferta ou empresas que agregarão várias delas. Por exemplo, um “Cloud Application Provider” poderá oferecer também um mercado de aplicativos como o AppExchange da Salesforce (http://appexchange.salesforce.com/home) e adicionar automaticamente ferramentas de billing.

Cloud Computing terá uma rapida evolução nos próximos anos e embora ainda estejamos na fase de aprendizado, tentando descobrir como transformar os atuais modelos de negocio da industria de TI em modelos adequados para o mundo cloud, o ritmo de inovação será atropelador.

Mas quais negócios poderão dar certo e quais serão menos rentáveis? Dificil de dizer. Por exemplo, no Brasil as empresas de software enfrentam barreiras como a pouca e cara oferta de banda larga, que impede explorar o conceito da cauda longa chegando a clientes novos, inalcançáveis pelo modelo anterior. Outro dia reli algumas partes do livro “A Cauda Longa” de Chris Anderson e comecei a pensar na relação deste conceito com o modelo de SaaS. A Cauda Longa (The Long Tail) está impulsionando grandes transformações em vários mercados, como o de mídia e o fonográfico. Juntando este conceito ao de SaaS em cloud, veremos grandes transformações também na indústria de software.O conceito de Cauda Longa propõe que determinados negócios podem obter uma parcela significativa de sua receita pela venda cumulativa de grande numero de itens, cada um dos quais vendidos em pequenas quantidades. Isto é possível porque a Internet abre oportunidades de acesso que antes não existiam. É um modelo diferente do mercado de massa, onde poucos artigos são vendidos em quantidades muito grandes. Na indústria de livros, música e de mídia faz todo o sentido. Por exemplo, a Amazon reporta que a maior parte de sua receita vem de produtos da Cauda Longa que não estão disponíveis (e jamais estariam) nas livrarias tradicionais, limitadas pelos caros espaços físicos das lojas.

E como SaaS e o conceito de Cauda Longa afetam a indústria de software?Softwares que tinham seu projeto cerceado pelo tamanho do seu mercado potencial (seu custo de entrega não gerava retorno financeiro suficiente para vendas em empresas muito pequenas, por exemplo) podem agora, se ofertados no modelo SaaS, entrar neste mercado. Os custos de comercialização destes softwares tendem a diminuir, pois não é necessário hordas de vendedores, mas simples buscas em uma loja virtual de aplicativos e marketing viral (blogs e midias sociais).

220

Page 221: Computacao Em Nuvem Cezar

Temos então campo para explorar o mercado da Cauda Longa no software. Já temos exemplos disso! O AppExchange do Salesforce (com mais de 1.300 aplicativos) ou mesmo a loja de aplicativos da Uol Host no Brasil (http://www.uolhost.com.br/loja-de-aplicativos.html). Os desafios dos ISVs para entrarem no mundo SaaS já foi debatido aqui em posts anteriores, mas um grande receio é o potencial risco de perda de sustentabilidade do negócio.

Como no modelo SaaS os preços tendem a ser menores que os de licenciamento, e além de não existirem mais volumosas receitas upfront, mas receitas menores distribuidas ao longo do contrato, existe o receio de perda de margens e da propria sustentabilidade do negócio. Mas o mercado começa a se mostrar mais receptivo e acredito que aos poucos mais e mais ofertas SaaS começarão a surgir. Na minha opinião o mercado SaaS vai se acelerar na medida que casos de sucesso se consolidem, modelos de precficação se tornem mais claros e as atuais desconfianças com relação à segurança e disponibilidade dos dados sejam resolvidos. Eu acredito que no Brasil, SaaS deverá crescer em ritmo mais acelerado que os outros mercados de Cloud como IaaS e PaaS. Já as previsões do Gartner para o mundo é que neste ano o mercado SaaS já atinja US$ 10,7 bilhões. O grande desafio do SaaS será a integração e interoperabilidade entre as diversas ofertas SaaS e delas com os aplicativos on-premise que ainda estarão nos data centers dos usuários. Uma ferramenta de integração que merece ser analisada é a Cast Iron, recentemente adquirida pela IBM e integrada à familia WebSphere. Vejam em http://www-01.ibm.com/software/integration/cast-iron-cloud-integration/# .

O setor de IaaS está em franco crescimento. Um dos seus ícones, a Amazon, segundo o banco de investimentos UBS, gerou na sua oferta IaaS, chamada de AWS, mais de 500 milhões de dólares em 2010 e prevê que até fim de 2011 serão US$ 750 milhões. Os números da Amazon mostram que IaaS está se consolidando. Em 2008 os serviços IaaS já demandavam mais banda que os demais serviços de TI da Amazon e que seu serviço S3 de Storage-as-a-Service já hospeda mais de 262 bilhões de objetos. A Amazon afirma que hoje adiciona dariamente mais capacidade ao seus data centers que ofertam IaaS que toda a a capacidade computacional que sustentava o seu negócio de comércio eletrônico nos seus primeiros cinco anos de vida.Claro que existem senões. A questão da indisponibilidade é um dos entraves. A queda de uma parte do IaaS da Amazon em abril deste ano (a região chamada US-East-1) impactou 257 websites, incluindo negócios conhecidos como FourSquare e Reddit. O Netflix, que também operava na região não foi afetado de forma significativa, devido ao desenho de sua solução. Um resumo do que aconteceu pode ser visto em http://mashable.com/2011/04/22/amazon-cloud-collapse/.

As principais ofertas de IaaS no Brasil ainda estão focadas no segmento de pequenas empresas e mesmo no setor chamado SoHo (Small Office, Home Office). A adoção de IaaS por empresas maiores ainda está meio distante, e na minha opinião, vai crescer à medida que brands fortes como IBM, Microsoft e mesmo Amazon ofereçam este serviço com mais intensidade. No meu entender, IaaS como nuvem publica tenderá a ser um dos maiores mercado de cloud computing para os proximos anos. Muitos provedores de serviços de hosting já estão se preparando para criar suas ofertas em cloud e criando incentivos para que seus clientes migrem para este modelo. Entretanto, por ser a camada

221

Page 222: Computacao Em Nuvem Cezar

de cloud que oferece menor valor agregado será a que sofrerá maior competição por preço. A diferenciação competitiva se dará nos niveis de disponibilidade, qualidade do suporte e capacidade de resposta rapida à demanda dos clientes. De qualquer maneira, demandará grandes investimentos em capital (data centers seguros) e expertise. Não será negócio para qualquer um…

PaaS é outro setor de cloud que está se aquecendo. Vemos alguns movimentos interessantes acontecendo, como a Salesforce adquirindo a Heroku para adicioná-la à sua PaaS force.com e a RedHat comprando a Makara. Algumas start-ups como DotCloud (https://www.dotcloud.com/), PHP Fog (https://phpfog.com/) e ClouBees (http://www.cloudbees.com/) estão atraindo milhões de dólares em investimentos.

Na verdade muitas das aplicações desenvolvidas em PaaS são para ambientes web. Por exemplo, em fins do ano passado a Heroku anunciou que já continha mais de 100.000 aplicações escritas em Ruby, mas a imensa maioria eram de aplicações simples voltadas para operarem como apps em smartphones/tablets e na plataforma Facebook. O mesmo acontece com o PaaS do Google, o Google Application Engine, onde as suas aplicações são relativamente simples e voltadas para operarem exclusivamente na nuvem do Google.

Mas, na minha opinião, PaaS ou seja, a camada da nuvem voltada para desenvolvimento de aplicações tem grande potencial de crswcimento. O fator critico de sucesso é a captação dos desenvolvedores. Estes é que determinarão o sucesso ou não de uma PaaS. Aqui no Brasil, como o numero de ISVs que estão voltados para desenvolver aplicativos em nuvem ainda é pequeno, não acredito que vejamos um crescimento acelerado deste modelo nos próximos anos. Entretanto, sinceramente espero errar feio nesta previsão, pois desenvolver aplicações em cloud será uma boa oportunidade para start-ups brasileiras.

Em resumo, como o atual modelo cliente-servidor levou muitos anos para se tornar o modelo dominante, tambem não veremos cloud se disseminar de uma dia para o outro. A tendencia para cloud é irrversivel e uma evolução natural dos ambientes de TI. Assim, ficar de fora da computação em nuvem é ficar fora desta evolução e no fim do dia, sair do mercado.

222

Page 223: Computacao Em Nuvem Cezar

G-Cloud: estratégia de Cloud Computing do governo britânico

outubro 4, 2011

Muitos governos estão adotando cloud em suas estratégias de TI, como o americano (cuja estratégia “Cloud First” foi analisado em um post anterior) e que já está em pleno andamento. O governo federal americano tem como meta desativar, por consolidação e uso de computação em nuvem, cerca de 800 data centers até 2015. Também estão se movimentando ativamente para identificar processos e aplicações que podem ser migrados para operarem em nuvem. Já tem em operação um portal de aplicações, o Apps.gov (https://www.apps.gov/).

O Reino Unido também está desenhando sua estratégia de cloud computing, a G-Cloud, que acabei de ler detalhadamente. É uma coletânea de relatórios que definem a estratégia de cloud computing do governo britânico, que podem ser acessados em sua íntegra em http://www.cloudbook.net/directories/gov-clouds/gov-program.php?id=100018. Também aproveitei um tempinho e li a estratégia de cloud do governo australiano em http://www.finance.gov.au/e-government/strategy-and-governance/docs/draft_cloud_computing_strategy.pdf.

Neste post vou comentar alguns aspectos destas estratégias, principalmente do G-Cloud britânico, que me pareceram bastante interessantes e que merecem destaque.

Um dos pontos mais importantes destacados nos relatórios G-Cloud é a expectativa que cloud computing não apenas reduza custos, mas principalmente dê mais agilidade e flexibilidade ao setor publico, em termos de uso de TI. Na verdade, G-Cloud faz parte de uma estratégia maior que se propõe a colocar o Reino Unido como um dos países líderes na sociedade digital. Um aspecto interessante é que G-Cloud faz parte da politica de Green IT, que definiu como objetivo que a TI do governo britânico seja neutro em carbono até fins de 2012.

Ao lermos os relatórios que desenham a estratégia G-Cloud fica claro que eles reconhecem que um dos seus grandes desafios é a mudança cultural da área de TI, de um modelo que hoje controla e gerencia todo o ciclo de vida da tecnologia e dos serviços de TI, para um modelo que selecione e integre serviços, reutilizando o máximo dos ativos já existentes. Uma das principais fontes de reutilização será o “Government Applications Store” que se propõe a catalogar e disponibilizar aplicativos para serem utilizados pelos diversos órgãos do governo britânico.O “Government Applications Store” será um marketplace (como Android Market) onde atuais e novos fornecedores de aplicativos para órgãos publicos disponilizarão seus serviços. Haverá um processo de certificação, o que vai garantir aos órgãos públicos que o aplicativo estará aderente às legislações e regras do serviço publico britânico.

Também fica claro que os objetivos de redução de custos e obtenção de maior agilidade com o uso da computação em nuvem só se dará quando alcançarem escala suficiente, e

223

Page 224: Computacao Em Nuvem Cezar

que não serão conseguidos no curto prazo. Estimam que o processo completo de migração para cloud computing leve uns dez anos.

Um ponto interessante é que eles destacam que a inovação do modelo G-Cloud é muito mais um novo approach de governança e gestão de TI do setor público que de novas tecnologias. Concordo com esta argumentação, pois de maneira geral, cloud computing é baseado em conceitos e tecnologias já comprovadas na prática como outsourcing, virtualização e software como serviço.

Outro ponto que merece destaque é que a estratégia G-Cloud inclui não apenas nuvens privadas, mas também permite o uso de determinadas aplicações e serviços em nuvens públicas. Quanto à segurança e privacidade, G-Cloud está limitado ao nivel de segurança denominado Impact Level IL4, de uma classificação que vai de um (acesso livre) até seis (top secret), passando por cinco (secreto) e quatro, classificado como confidencial. O nivel dois é acesso protegido e três é de acesso restrito. Portanto, nem tudo vai para G-Cloud, mas a imensa maioria dos atuais e novos serviços de TI do goveno britânico se satisfaz com o IL4. Um maior detalhamento dos Impact Levels pode ser visto emhttp://www.cesg.gov.uk/policy_technologies/policy/media/business_impact_tables.pdf. Além disso, o relatório aponta que serão necessárias revisões nos atuais modelos e processos de segurança de TI, que são orientados ao modelo tradicional de data center e não ao ambiente de computação em nuvem.

A leitura destes relatórios é interessante pois ajuda aos setores públicos (e mesmo privados) a criarem referências para desenharem suas estratégias de cloud. O sucesso de nuvens privadas depende de escala. Um data center com poucas dezenas de servidores não obterá os mesmos resultados gerados por processos padronizados e automatizados ao extremo, como cloud computing propõe, quando comparado a um data center com milhares de servidores. Talvez, para estes data centers menores, a melhor alternativa seja adoção de nuvens públicas ou uma simples virtualização de seus servidores. Para o setor publico, uma outra alternativa a considerar é o uso de clouds comunitárias, com diversos órgãos compartilhando uma mesma nuvem.Enfim, a consluão que chegamos é que ir para cloud é um processo irreversível. A discussão é quanto a velocidade deste processo.

224

Page 225: Computacao Em Nuvem Cezar

Cloud Computing e os canais (VAR). Desafios à frente!

outubro 17, 2011

Semana passada tive uma reunião muito interessante com um empresário, CEO de uma empresa que atua no tradicional modelo de canais de revenda de hardware e software. Sua empresa está estabelecida há mais de 15 anos e diante do cenário de cloud computing e as mudanças que este modelo vai provocar na maneira de se entregar e consumir TI ele está preocupado. O tema da reunião foi exatamente esta: como o negócio dele (um VAR ou value-added reseller) deverá se transformar nos próximos anos?

Na cadeia de valor atual os canais são fundamentais para o sucesso da operação de qualquer grande empresa que vende hardware e sofware, pois aumenta signficativamente sua capilaridade no mercado. Entretanto, o modelo de cloud vai afetar esta cadeia, pois permite criar links diretos entre os fornecedores de tecnologia e seus compradores. Por exemplo uma empresa de software pode ofertar seus produtos na modalidade SaaS e não mais demandar um intermediário no processo. Os consumidores acessarão diretamente o site do fornecedor. Neste caso, como fica o canal?

A conversa fluiu de forma bem agradável e tiramos algumas conclusões, que gostaria de compartilhar aqui.

Primeiro, está claro que o modelo de cloud computing não vai se disseminar de um dia para o outro. Todo processo de mudança leva algum tempo e alguns setores de industria são mais rapidos que outros em adotar novos conceitos. O impacto nos canais, será, portanto, diferente, dependendo do setor de negócios em que o canal atua. Isto significa que os canais terão tempo de se ajustarem às mudanças, desde que não ignorem que estas mudanças serão inevitáveis.

Para fazer as mudanças os canais dependem também do apoio dos fornecedores. Algumas empresas como a IBM tem estratégias bem definidas para apoiar os canais nesta transição. Por exemplo, lançou recentemente um programa chamado IBM Cloud Computing Specialty, patrocinado pelo IBM Partner World, como pode ser visto em https://www-304.ibm.com/partnerworld/wps/servlet/ContentHandler/isv_com_spe_cloud_index.

Os impactos nos diversos modelos de canais também serão diferentes. Por exemplo, no caso da empresa deste empresário, uma parcela signficativa da sua receita, segundo ele mais de 30%, vem de serviços profissionais como implementação, configuração e upgrades do software no cliente. Dependendo da complexidade do software, o modelo SaaS pode eliminar esta fonte de receita. No SaaS os upgrades são feitos automáticamente na nuvem do provedor do software e não mais demanda que o VAR vá ao cliente instalar e configurar uma nova versão do software.

225

Page 226: Computacao Em Nuvem Cezar

Surgiu um debate sobre os canais dedicados à venda de hardware. Ele mesmo tem renda forte oriunda deste negócio. Supondo que no futuro as vendas para pequenas e médias empresas diminuam ou mesmo deixem de existir, pois seria mais facil para elas consumirem servidores virtuais em nuvens publicas, o que fazer? Uma das idéias é se tornarem cloud providers de infraestrutura (IaaS), desde que tenham capacidade financeira e expertise para tal. Afinal, construir um data center para oferecer serviços confiáveis e seguros de IaaS não sai barato. Ou mudarem para um foco mais concentrado em serviços. Existem diversas alternativas.

A IBM, por exemplo, considera que seus parceiros podem atuar em um ou mais de cinco papéis no mundo cloud:

a) cloud builders: empresas de serviços que ajudam os clientes a planejarem e construirem suas nuvens privadas.b) cloud infrastructure providers: empresas que oferecerão serviços como IaaS ou PaaS através de nuvens públicas para seus clientes.c) cloud application providers: empresas que oferecerão seus softwares na modalidade SaaS, seja em nuvens próprias (privadas) ou hospedados em cloud providers.d) cloud service solutions providers: empresas que oferecerão serviços especializados para nuvens, como monitoramento e capacity planning.e) cloud technology providers: empresas que oferecerão tecnologias complementares à tecnologia IBM. Um exemplo é a Corent (http://www.corenttech.com/) empresa que produz um software que ajuda a transformar um software single-tenancy em multi-tenancy.

Uma outra conclusão é que chegamos é que os canais terão que sair da inércia. Terão que pensar em como serão daqui a cinco a dez anos. Se hoje as suas vendas são basicamente de produtos de hardware e software no modelo tradicional, estas vendas continuarão no mesmo patamar daqui a cinco ou dez anos? Por outro lado uma empresa acostumada a só vender hardware e software não passa a ser uma empresa de serviços de um dia para o outro. Seu DNA corporativo tem que ser modificado genéticamente…

Inevitavelmente que dependendo da cadeia de valor, poderão existir eventuais conflitos entre algumas empresas produtoras de software e hardware e seus canais. Algumas empresas permitem que apenas determinados parceiros assumam papéis como provedores alternativos de IaaS aos seus produtos. É uma fonte potencial de atritos.

Mas, além dos problemas a serem enfrentados pelos canais, vimos que existem inumeras oportunidades a serem exploradas. Um exemplo é a necessidade dos clientes vencerem os inibidores da adoção de cloud computing como segurança, interoperabilidade enre nuvens e entre nuvens e aplicações on-premise, riscos da migração, ajustes nas politicas de governança e assim por diante. No mercado de médias e pequenas empresas a carência de expertise em cloud é grande e isto abre imensas oportunidades para os canais que se inserirem neste modelo de serviços.Ora, os canais que já tenham um pé em serviços poderão se aprofundar mais rapidamente nestes tópicos e criar expertise de modo a oferecem serviços consultivos muito mais

226

Page 227: Computacao Em Nuvem Cezar

lucrativos que os atuais. Um ponto importante lembrado pelo empresário é que sua empresa construiu uma relação bem intensa com seus clientes e que esta relação pode ser a chave para ele oferecer os novos serviços em cloud.

O resultado final da reunião foi que o modelo de negócios atual onde o VAR compra produtos mais baratos e os revende com uma margem adicional pelos seus serviços está começando a dar sinais de erosão, provocados pela crescente disseminação da computação em nuvem. Para, no futuro, não ficarem marginalizados na cadeia de valor, seu negócio terá que ser reinventado. Um novo ecossistema baseado no modelo de cloud computing será criado. E com certeza, como este empresário disse, a empresa dele terá que ficar dentro ou simplesmente sairá do mercado.

227

Page 228: Computacao Em Nuvem Cezar

Curriculum do autor

Gerente de Novas Tecnologias Aplicadas/Technical Evangelist da IBM Brasil, é um profissional e estudioso de Tecnologia da Informação desde fins da década de 70. Com educação formal diversificada, em Economia, mestrado em Ciência da Computação e MBA em Marketing de Serviços, e experiência profissional moldada pela passagem em empresas de porte mundial, Taurion tem participado ativamente de casos reais das mais diversas características e complexidades tanto no Brasil como no exterior, sempre buscando compreender e avaliar os impactos das inovações tecnológicas nas organizações e em seus processos de negócio.

Escreve constantemente sobre tecnologia da informação em sites e publicações especializadas como Computerwold Brasil, Mundo J e iMasters, além de apresentar palestras em eventos e conferências de renome. É autor de seis livros que abordam assuntos como Open Source/Software Livre, Grid Computing, Software Embarcado e Cloud Computing e Inovação. Taurion também mantém um dos blogs mais acessados da comunidade developerWorks (www.ibm.com/developerworks/blogs/page/ctaurion). Este blog, foi, inclusive o primeiro blog da developerWorks na América Latina. É também autor de um blog específico sobre Cloud Computing (www.computingonclouds.wordpress.com) e escreve regularmente sobre smarter cities em www.copa2014.org.br/artigos. Foi professor do MBA em gestão estratégica da TI pela FGV-RJ e da cadeira de Empreendedorismo na Internet pelo NCE/UFRJ.

Também pode ser encontrado no Twitter (@ctaurion), Linkedin, Facebook e BranchOut. Os outros blogbooks publicados no Smashwords estão no profile http://www.smashwords.com/profile/view/ctaurion.

228