Você está na página 1de 228

1

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 Spagnuolo


Director, Cloud Computing Brazil
IBM Distinguished Engineer

Outubro 2011

2
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
se vão…) realmente deslanchar. Antes de mais nada, precisamos aprender a
explorar a potencialidade da computação em nuvem!

42
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
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
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
É 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
computacional da empresa e portanto, um projeto corporativo. E, importantíssimo, não
pode haver desconexão entre TI e seus usuários.

70
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
ú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
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
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/SaaS


Fluxo de caixa Recebimento na entrega Pagamentos mensais
Modelo de atuação Vendas transacionais e papelParceiro de negócios
técnico
Ênfase das vendas Produto Serviços
Ênfase do suporte “Break/fix” Orientado por SLA

92
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
(“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
para ser um ofertante de serviços em nuvem e aproveitar as oportunidades de
negócio que inevitavelmente surgirão.

109
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
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
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
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
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
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
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
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
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
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
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
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
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
http://www-935.ibm.com/services/in/cio/pdf/dic03001usen.pdf. Vale a pena pensar sobre
isso, não?

123
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
“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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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; e
3) 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
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
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
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
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, e
c) 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
é fundamental para que as empresas, sejam elas usuárias ou provedoras de serviços,
definam suas estratégias para os próximos anos.

207
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 em
http://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
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
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
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
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

Você também pode gostar