Archive for março \28\UTC 2011

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.

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?

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

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.

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.