Archive for abril \29\UTC 2011

Padrões em Cloud Computing

abril 29, 2011

Entrevista sobre padrões em Cloud Computing: http://www.ticmercado.com.br/ticmercado.php/?edi=116&tabs=tab1

Anúncios

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

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

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