Archive for dezembro \20\+00:00 2010

Boas Festas e um Grande 2011 para todos

dezembro 20, 2010

Estamos chegando ao fim de 2010. Durante o ano compartilhamos aqui no blog algumas informações sobre um assunto que está cada vez mais em evidência: Cloud Computing.
Uma pesquisa ao Google Trends mostrra claramente o crescente interesse pelo tema:

Mais ainda, se fizermos uma pesquisa no buscador do Google usando como keyword “cloud computing’ recebemos como resposta cerca de 13.500.000 documentos. Uma enormidade. Refinando o processo, adicionando o filtro “filetype:pdf”, que geralmente nos conduz a textos mais elaborados, o resultado também é impressionante: 246.000 documentos. Também recebemos milhares de respostas se formos ao slideshare.net.

Uma pesquisa feita 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.

Que concluimos? Que cloud computing é um assunto quente e que deve merecer muito de nossa atenção. O blog entrará em um merecido (rsrsrsrs) descanso até 10 de janeiro e na volta continuaremos a debater e compartilhar informações sobre o tema.

Quero desejar a todos vocês Boas Festas, um Feliz Natal e um belissimo 2011.

Cloud Computing: balanço do ano

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

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 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.