Apostila Cloud Computing v1.1

Share Embed Donate


Short Description

Download Apostila Cloud Computing v1.1...

Description

Computação Computação em Nuvem Conceitos e Estudos de Caso

Victor de Almeida Xavier (VX) Outubro de 2010

[Contra-Capa da UFLA]

[Contra-Capa da UFLA]

[Sumário]

3

Computação em Nuvem (Cloud Computing ) Parte I – Conceitos Partimos da premissa de que serviços  de dados e sua arquitetura precisam estar em  servidores. Nós chamamos isso de computação  em nuvem - esses serviços precisam estar em  uma "nuvem" em algum lugar. E, se você tiver o  tipo correto de browser e o tipo correto de acesso, não importa se você tem um PC, Mac ou um  celular ou smartphone ou o que quer que você  tenha - novos dispositivos que ainda estão sendo  desenvolvidos - você pode ter acesso a "nuvem". Dr. Eric Schmidt, Google CEO, Agosto de 2006 

4

Considerações iniciais Muito tem se falado sobre computação em nuvem nos últimos anos. É um assunto que está na agenda de 8 em cada 10 executivos de TI, apesar dos nomes e referências a essa tecnologia serem diferentes. Uma dificuldade desses e de muitos outros profissionais de TI é definir corretamente e com a amplitude necessária esta nova tecnologia baseada em princípios de computação nem tão novos assim; algo que teve seu início em 1960, com a advento da virtualização nos computadores mainframe i . Naquela época, a virtualização nasceu como uma necessidade de compartilhar recursos computacionais muito caros entre vários clientes (terminais). Era como se cada usuário tivesse um “mainframe” só para si, no qual pudessem instalar seus aplicativos (poucos e restritos, na verdade) e armazenar dados em sua quase totalidade em padrão texto (EBCDIC). Ao longo dos anos, a computação de maneira geral tem evoluído a partir do ponto de retenção/guarda da informação para o ponto de disponibilização/utilização dessa informação pelos usuários. Com o advento da Web 2.0, o paradigma computacional de computadores integrando-se a outros computadores ou a usuários, mudou para a integração entre pessoas usando a computação cada vez mais como meio e não como fim em si mesma. Para usuários de ferramentas baseadas em redes sociais, como orkut, myspace, facebook, twitter, entre outras, ou que utilizem outros serviços web 2.0 como youtube, flickr, etc, não importa nem onde nem como seus dados são armazenados. A maior parte dos usuários não atenta para questões de segurança ou confidencialidade na utilização da internet de forma geral, mas o quanto são questionados sobre isso querem apenas se sentir seguros da correta utilização das informações postadas nos sites de relacionamento que participam. Onde ficam essas informações e como são armazenadas não é mais um problema para esse usuário típico. Na outra ponta, as empresas, por questões legais, econômicas ou mercadológicas (marca), ainda precisam se preocupar com o “onde” e o “como” na equação de armazenamento e transmissão de dados de seus usuários. Aqui, partimos do princípio de que todas prestam algum tipo de serviço a seus 5

usuários, sejam eles internos (colaboradores) ou externos (clientes e parceiros de negócio).

Figura 1: Diagrama de acesso a nuvem

Conforme apresentado na Figura 1, a nuvem comporta uma ampla variedade de dispositivos conectados e um fluxo de informações bastante diversificado. Em linhas gerais, os processos compreendidos nesse fluxo ocorrem paralelamente e de forma nebulosa. Componentes da infraestrutura como serviços

Os centros de processamentos de dados das empresas foram forçados a evoluir ao longo dos anos, para atender a um número cada vez maior de usuários e um volume de dados desproporcionalmente maior, principalmente em virtude das novas mídias virtuais. Um documento deixou de ser apenas texto e passou a ser texto, imagem, som, e ultimamente interação com o usuário. Dessa forma, os processos de armazenamento e transmissão de dados tiveram que evoluir junto com a infraestrutura de servidores e com o conhecimento técnico dos analistas de produção responsáveis por manter os serviços dos centros de processamento de dados funcionando. Hoje, ao utilizar a tecnologia de computação em nuvem, os centros de processamento de dados mudaram para centro de serviços da nuvem, nos quais todos os componentes de infraestrutura passaram a ser encarados como serviços. Como exemplo disso, temos IaaS, PaaS, DaaS, CaaS e SaaS.

6



IaaS  - Infrastructure as a Service  ou Infraestrutura como Serviço (em

português): quando se utiliza uma porcentagem de um servidor, geralmente com configuração que se adeque à sua necessidade. •

PaaS - Plataform as a Service  ou Plataforma como Serviço (em

português): utilizando-se apenas uma plataforma como um banco de dados, um webservice, etc. (p.ex.: Windows Azure ). •

DaaS  - Development as a Service  ou Desenvolvimento como Serviço

(em português): as ferramentas de desenvolvimento tomam forma em computação em nuvem como ferramentas compartilhadas, ferramentas de desenvolvimento baseadas na web e serviços baseados em mashup  (forma pela qual um usuário pode montar seus aplicativos em um mesmo front-  end , no caso em uma página da web) . •

SaaS  - Software as a Service  ou Software como Serviço (em

português): uso de um software em regime de utilização web (p.ex.: Google  Docs , Microsoft Sharepoint Online ). •

CaaS  - Communication as a Service  ou Comunicação como Serviço

(em português): uso de uma solução de Comunicação Unificada hospedada em Data Center do provedor ou fabricante (p.ex.: Siemens Enterprise , Locaweb ).

7

Figura 2: Expansão da nuvem

Aspectos Econômicos

Além da evolução natural dos centros de processamento de dados puxada pela cada vez mais crescente utilização de conteúdos complexos (web 2.0), existem aspectos econômicos que não podem ser esquecidos na hora de otimizar hardware, software e serviços no atendimento aos usuários. Toda empresa quer reduzir custos, isto é fato. O problema que as empresas, de maneira geral, enfrentam é como reduzir o custo total de propriedade (TCOii) de seu parque de TI. Tradicionalmente o TCO, neste caso, está intimamente ligado a quantidade de servidores adquiridos, ao número de licenças de software compradas e ao número de funcionários responsáveis por manter o parque de TI funcionando. Alguns problemas recorrentes são encontrados na maioria das empresas: •



A quantidade de servidores ou não consegue atender bem a picos de utilização, gerando perda de receita, ou está superestimada, o que é mais comum. O controle sobre as licenças de software é falho: muitas expiram sem os responsáveis saberem, o que pode gerar problemas legais para a empresa; mas o mais comum ainda é a subutilização do software, seja por excessivo número de licenças seja pela não implantação de um projeto que demandou compra de hardware, software e serviços para 8

começar mas que não chegou ao fim ou foi totalmente abandonado. •

A heterogeneidade de fornecedores sobrecarrega o time de suporte: fora tecnologias de padrão aberto, a maior parte do hardware, do midleware (software que serve como plataforma de utilização de outro software) e, consequentemente, dos serviços não segue padrões de mercado, além de ser totalmente orientada a projetos/sistemas/caixas.

Com o intuito de sanar tais problemas, busca-se a adequação da infraestrutura de forma compatível com a demanda estabelecida. Nesse contexto, a Figura 3 apresenta um modelo genérico de evolução de Centros de Processamentos de Dados, nos quais os aplicativos antes processados em servidores estanques, agora virtualizam os recursos de diferentes aplicativos de forma combinada e reportam as informações à um único servidor que atua como banco de dados.

Figura 3: Evolução dos Centros de Processamento de Dados

Ações como a utilização de virtualização de servidores e o provisionamento automático de recursos, ambas presentes na tecnologia de computação em nuvem, ajudam a sanar quase que totalmente esses e outros problemas de infraestrutura de TI, reduzindo assim o TCO do parque de TI

9

como um todo. Aspectos Ambientais

Além dos aspectos econômicos descritos acima, existe um que também tem um viés ambiental: a economia de energia elétrica, dentro de um conceito de otimização dos recursos de TI. A esse processo de otimização que prima pela economia de energia tanto pela redução do consumo pelos servidores quanto pela refrigeração, principal vilão dos datacenters, deu-se o nome de TI Verde (Green ITiii). De forma geral, essa nova tendência surge como uma resposta crescente à necessidade de economia de recursos naturais e ainda ao controle climático mundial. Nesse conceito estão embutidas outras propostas como: responsabilidade social, adequação ambiental e ainda sutentabilidade. Com base nesse entendimento, a utilização, por exemplo, de videoconferências em lugar de reuniões presenciais não representa apenas uma aplicação tecnológica, mas também uma prática ambiental que resulta na eliminação de deslocamentos, redução de consumo de combustíveis e emissões de gases poluentes e principalmente carbono na atmosfera – representa, portanto economia financeira e otimização dos recursos. Outra aplicação, mais relacionado com a proposta deste curso, é o uso de infraestrutura (servidores, monitores, etc) com maior eficiência energética. No Brasil, a Itautec é uma das empresas que tem se empenhado de forma significativa no desenvolvimento da TI Verde. Segundo João Carlos Redondo gerente de Sustentabilidade da Itautec , há a proposta de adequação à padrões europeus de sustentabilidade, bem como adoção de equipamentos com tecnologia que facilite o descarte dos resíduos eletroeletrônicos resultantes do uso, ao final do ciclo de vida.

10

Figura 4: Esquema de gasto de energia em um datacenter 

Existem várias outras iniciativas que tangem um centro de processamento de dados que queira receber o sele de Centro de TI Verde, como economia de água e processo de reciclagem de resíduos sólidos (com atenção especial aos resíduos eletroeletrônicos). Além disso, alguns centros ainda dispõem de produção própria da energia que consomem, reduzindo drasticamente o risco da operação (Figuras 4 e 5).

Figura 5: Iniciativas para economia de energia em um datacenter 

O supercomputador, MareNostrum (Figura 5), instalado no Centro Nacional de Supercomputação em Barcelado e fabricado pela IBM, tem uma capacidade máxima de 94.21 TeraFlops, ocupa um dos primeiros lugares no ranking de supercomputadores mais potentes do mundo e é o mais poderoso da europa. Uma das vantagens do MareNostrum é o fato de poder trabalhar simultaneamente para várias pesquisas. 11

Apresentando algumas especificações técnicas, esse supercomputador, tem capacidade de processamento de 42, 44 teraflops; 9,6 terabytes de memória principal; 128 terabytes de disco externo; 10.240 processadores PowerPC 970 a 2,33 Ghz. Sistema operacional Linux, rede de interligação Myrinet com uma largura de banda máxima de 250 MB (duplex completo) e uma latência de 6 micro-segundo, consumindo cerca de 600 KW de energia. Hoje o MareNostrum atua em pesquisas de ponta da biotecnologia como o genoma humano, pesquisas climáticas e pesquisa sobre novas drogas com significativa eficiência térmica e elétrica. Assim, o modelo de computação em nuvem como uma abstração de acesso a recursos computacionais veio de encontro a ambas as necessidades, tanto dos usuários finais quanto das empresas, no tocante a como disponibilizar informações de forma segura, eficiente, confiável, flexível e expansível.

Figura 6: Evolução do Centro de Processamento de Dados Corporativo

12

Em que consiste a computação em nuvem ?

Não devemos confundir o conceito de computação em nuvem com outros conceitos que podem ser parte ou alternativa a essa tecnologia, como computação em grade (grid computing ), computação autonômica, virtualização, computação paralela, entre outras. Por ser muito uma tecnologia muita ampla, a computação em nuvem pode ter várias definições, de acordo com o componente ou ponto do ciclo de vida do serviço da nuvem. Porém, acredito que uma definição que melhor descreva seus aspectos gerais seria:

A Computação em Nuvem é um paradigma de computação emergente onde dados e serviços residem em centros de dados (data centers )

- ao mesmo tempo escaláveis e geograficamente

abrangentes - e que podem ser acessados de forma transparente por qualquer dispositivo conectado a uma rede.

A partir dessa definição podemos destacar alguns conceitos e características de computação em nuvem:

Transparência  A localização física e detalhes da infraestrutura necessária para sua

implementação são transparentes para o usuário final. O usuário final não precisa saber (e muitas vezes lhe é vedado saber) sobre os detalhes de implementação daquele serviço que ele está consumindo da nuvem. Aspectos de implementação do serviço que não são de conhecimento do usuário incluem: como onde os dados serão armazenados, tanto geograficamente quanto em que tipos de mídias eletrônicas, como será feito o controle de acesso, quais e que tipos de servidores serão utilizados na cadeia de disponibilização do serviço, quais e que tipos de software serão utilizados na implementação e monitoramento do serviço, entre outras. 13

O que importa na verdade é qual o nível de serviço (SLAiv) que ele espera obter ao utilizar um serviço da nuvem, ou seja, com que nível de confiança, tempo de espera, e segurança ele acessará o serviço. Com isso, ele espera obter um ponto de conexão a nuvem cujas regras de acesso sejam definidas pelo publicador do serviço e claramente disponibilizadas para os usuários através de contratos de serviço.

Escalabilidade  Trata-se da habilidade para processar grandes cargas de dados e

serviços complexos de forma fracionada através de uma infraestrutura expansível incrementalmente. A escalabilidade de uma nuvem é essencial para atender um dos principais problemas de um parque de TI convencional: pico de utilização. Os picos de utilização podem estressar a infraestrutura a ponto de gerar perdas de receita por serviço negado (DoS) de requisições de usuários. Não se trata apenas de perdas financeiras como deixar de vender um produto ou serviço, mas também de perdas na imagem da empresa, que pode ser medida através do valor da(s) sua(s) marca(s). Para implementar funções de escalabilidade de maneira eficiente, uma nuvem delega a um serviço de provisionamento automático de hardware e software a tarefa de criar e/ou expandir a infraestrutura de TI de modo a atender o pico de demanda e, não menos importante, liberar os recursos tão logo o pico deixe de existir. Como estratégia de provisionamento automático desta tecnologia destaca-se a clonagem de recursos e virtualização do sistema operacional através de supervisores de processos (hypervisorsv) compartilhados, como na vmware, virtualbox, xen, entre outros.

Eficiência  A eficiência da computação em nuvem deve-se em grande parte a

arquitetura orientada a serviços (SOA) aplicada ao provisionamento dinâmico e compartilhamento de recursos computacionais. A automatização dos processos de monitoramento e implementação dos

14

serviços de uma nuvem são vitais para seu sucesso, tanto em termos de utilização quanto em termos econômicos. Como exemplo, a nuvem implantada pela Amazon como serviço de hospedagem de software tem mais de 40 mil servidores (máquinas virtuais) conectados e apenas um grupo de 6 técnicos de TI para monitorá-las. Além disso, verificamos a implementação do ciclo de vida de um serviço na nuvem através de práticas SOA, o que faz toda a diferença na otimização da disponibilidade do serviço para o usuário final. O ciclo de vida de um processo baseado em SOA, com modelagem, montagem, publicação e monitoramento, se realizado de forma automática, gera ganhos de eficiência mensuráveis, o que reforça os aspectos econômicos envolvidos em uma solução de computação em nuvem.

Flexibilidade  A tecnologia de computação em nuvem pode servir a uma variada gama

de tipos de dados e serviços, tanto corporativos quanto para usuários finais. Atrelado a isso, serve cada vez mais a uma gama cada vez maior de dispositivos, de computadores pessoais a celulares e smartphones , passando por dispositivos menos ortodoxos como geladeiras, carros, centrais inteligentes, etc. Com o acesso ao serviço na nuvem padronizado, torna-se quase trivial a conexão de dispositivos heterogêneos, com picos de utilização diferentes, características e tratamento de dados diferentes, enfim, a aspectos diversos porém como uma interface (pelo menos) padronizada e comum a todos os dispositivos conectados na nuvem.

Segurança  As informações precisam ser disponibilizadas para quem de direito, independentemente do meio de transmissão ou consumo dessas informações.

Isso verifica-se mais nas redes corporativas (nuvens internas a organização) ou nos serviços disponibilizados contendo um contrato de utilização que reforcem esses aspectos. Como exemplos podemos citar contratos de utilização de sites

15

de serviços bancários. Para tanto, alguns aspectos de infraestrutura devem ser levados em consideração ao se implementar um serviço na nuvem, já que este poderá ser acessado de qualquer lugar a qualquer hora por qualquer usuário. Um técnica muito utilizada é a de impersonalização, na qual as credenciais de um usuário, após checadas contra o serviço de segurança da informação da nuvem, cria um novo processo para atender a requisição do usuário, contendo os direitos de acesso que o usuário possui. Porém o dono (owner) desse processo é o servidor que recebeu a requisição do usuário em primeira instância, ficando responsável pela utilização (chamadas) dos outros serviços da nuvem para o atendimento a requisição original do usuário. Isso evita que um usuário tenha acesso direto a serviços internos da nuvem, o que poderia expor a segurança da nuvem como um todo. A perspectiva das equipes de TI

Em computação em nuvem as unidades de TI, os analistas de suporte responsáveis por gerir o parque de TI das empresas passam a trabalhar em outro nível – o da monitoração em exceção . Esse processo de trabalho pode ser verificado na maior parte dos centros de processamento de dados que já adotaram a tecnologia de computação nuvem e consiste em administrar os desvios do processo principal – totalmente automatizado. Casos como quebra de máquinas e problemas com disponibilização de serviços são e devem ser tratados como exceção por essas equipes.

16

Diferenças para outros conceitos utilizados em computação em nuvem

Ao entrevistar profissionais de TI dos mais variados graus de experiência, nota-se que existe uma confusão ao se tratar o tema de computação em nuvem. Outros conceitos relacionados ou que fazem parte dessa tecnologia são tomados muitas vezes como o todo. Aqui vão alguns exemplos: Computação em Grade 

Computação em grade nasceu como uma alternativa ao processamento de grandes quantidades de dados em servidores de grande porte de processamento e, por isso, muito caros e de acesso controlado (vide restrições ao mainframe CRAIG para cálculos para a bomba atômica). A ideia é bastante simples: dividir o processamento de um dado complexo em pedaços e delegar a uma grade de computadores de menor porte o processamento de cada um dos pedaços. Um servidor de maior porte ficaria responsável apenas pela totalização (ou junção) dos pedaços processados. O projeto mais famoso de que se tem notícia sobre processamento em grade é o SETI @home (busca por sinais de vida extraterrestre: http://setiathome.berkeley.edu/). Neste projeto, cada computador pessoal conectado a grade recebe, de acordo com sua capacidade de processamento, uma ou mais “tarefas” contendo dados de satélite para serem analisados. Ao término do processamento de cada tarefa, um resultado é enviado para o servidor central para análise e disponibilização dos resultados para os pesquisadores do projeto SETI. Porém, outros projetos de computação em grade como o World Computing Grid (http://www.worldcommunitygrid.org/ ) têm objetivos mais imediatos, como a análise de proteínas para a produção de novos medicamentos. Podemos dizer que trata-se de um modelo cliente-servidor inverso, no qual o cliente processa os dados e os repassa a um servidor consumidor. Nas Figuras 8 e 9, exemplos de clientes de computação em grade são apresentados.

17

Figura 7: Cliente de computação em grade rodando localmente

Figura 8: Projetos e atividades sendo executados por um cliente de computação em grade

Software como Serviço (SaaS) 

Software como Serviço (Software as a Service, SaaS) é um modelo de negócios para a disponibilização de software, principalmente middlewarevi, na base de cobrança sobre a utilização e não sobre o direito de uso, como no modelo de venda de software tradicional. Como ele, existem outros relacionados a cada componente da infraestrutura necessária a disponibilização de um serviço na nuvem, como plataforma, servidores (hardware), canal de comunicação, etc. Dentro da tecnologia de computação em nuvem, o conceito por trás de SaaS é fornecer o modelo ideal de contratação para os serviços disponibilizados pela nuvem, já que todo o software utilizado na solução disponibilizada pelo serviço não é de conhecimento do usuário final. Este paga por um serviço prestado pela nuvem. A Figura 10 apresenta um exemplo de um software disponibilizado utilizando-se o modelo aqui apresentado.

18

Figura 9: Exemplo de SaaS: LotusGreenHouse

Computação paralela 

Computação paralela é uma técnica de computação que permite a um processo rodar de forma integrada em várias máquinas ao mesmo tempo, com o objetivo de reduzir o tempo total de processamento e/ou diminuir a incidência de falhas através de redundância. Contudo, os programas precisam ser escritos para trabalharem dessa forma, utilizando o máximo de recursos que essa técnica de processamento pode prover. Verificamos a aplicação de computação paralela em vários níveis, desde software básico de sistemas operacionais desenvolvidos com propósito específico (servidores para computação científica, servidores de alta capacidade de processamento, servidores de alta capacidade de tratamento/transmissão de dados, entre outros), até sistemas de banco de dados, aplicativos de pesquisa (engenho de pesquisa do Google, por exemplo) e aplicativos de controle com alto nível de redundância e tempo de disponibilidade (pelo menos maior que 99,9999%). 19

Figura 10: Centro de Processamento de Dados Modular da Google

Ciclo de Vida de um Serviço da Nuvem

Um serviço disponibilizado na nuvem tem seu ciclo de vida definida por aspectos SOA: modelagem, montagem, publicação e monitoramento. Porém, no caso de computação em nuvem cada um desses passos sofre algum nível de automatização, de forma a manter as características descritas acima.

Modelagem 

A modelagem de um serviço começa na área de negócios, tendo como base uma necessidade do usuário a ser atendida pelo novo serviço. Esse novo serviço pode ser baseado, como ocorre na maioria das vezes, em serviços básicos (internos) já disponibilizados pela área de TI para serem utilizados em composições. Como exemplos, temos serviços de provisionamento automático, serviços de transmissão e armazenamento de dados, entre outros.

20

Um outro ponto importante é a definição do contrato de nível de serviço (SLA) para o novo serviço e como suportá-lo no nível do parque de TI. Para tanto, criamos templates de utilização , que nada mais são do que a formalização dos cenários de utiização daquele serviço, que plataformas ele atenderá, que tipos de dispositivos conectados ele suportará, etc. Esses templates facilitam o trabalho de escolha do usuário no momento da contratação do serviço a ser utilizado.

Montagem 

A montagem de um novo serviço na nuvem passa necessariamente pela sua configuração dos recursos computacionais utilizados pelo serviço. Como exemplo, para ser disponibilizado como serviço, um sistema precisa ser instalado em uma infraestrutura, que por sua vez precisa ser montada em cima de hardware e software básico (sistema operacional e midleware). Os centros de processamento de dados utilizam tradicionalmente um batalhão de analista de suporte para controlar a entrada de um sistema em produção e monitorar seu comportamento nesse ambiente. Porém, antes disso, eles precisam ter onde instalar o sistema, precisam de servidores (tanto para processamento quanto para armazenamento de dados) e de sistemas operacionais e midleware (servidores de aplicação) que permitam a utilização dos recursos disponíveis nos servidores. Ainda sim, fora o problema da aquisição de tudo isso, existe o problema da sua utilização em larga escala estar sujeita a picos de utilização e problemas que geram indisponibilidade em um ou mais componentes da solução. Dessa forma, a tecnologia de computação em nuvem utiliza ferramentas para provisionamento automático de hardware e software. O analista, ao invés de trabalhar máquina a máquina, montando e instalando tudo, acessa um portal de serviços no qual ele provisiona a quantidade necessária de processadores, memória e disco, sistema operacional, midleware embarcado (opcional), além de aspectos de redundância e resiliência. O sistema de provisionamento seleciona dentro de um conjunto (pool) de máquinas previamente cadastradas e ligadas, as que irão atender a solicitação postada pelo analista de suporte. 21

Após executar as tarefas de instalação e configuração das máquinas, o sistema envia um e-mail para o analista de suporte com todas as características solicitadas por ele e um ip, usuário e senha de acesso ao novo ambiente provisionado para ele.

Publicação 

A publicação de um serviço ocorre quanto o mesmo passa a integrar um diretório de serviços disponibilizado pelo site/empresa. O diretório de serviços é um banco de dados no qual estão cadastrados os serviços e seus contratos de utilização. O acesso a esse diretório pode se dar de várias formas, mas a mais comum é termos um portal de auto-serviço para a pesquisa e consumo (utilização) de um ou mais serviços. Após ser publicado, um serviço da nuvem pode ser consumido de várias formas. Uma das melhores, seja pelo aspecto prático de acesso seja pela variedade de dispositivos atendido, é através de uma chamada RESTvii em um browser ou similar. Uma chamada REST permite ao publicador disponibilizar uma funcionalidade em um sistema ou um recurso (dados, arquivos, etc). Isso facilita sobremaneira a execução de tarefas em outras etapas do ciclo de vida, como o Monitoramento do serviço em tempo real.

Monitoramento 

O monitoramento de um serviço é realizado por ferramentas automatizadas que garantem o pleno funcionamento de todos os componentes (de hardware, de software e de serviços) envolvidos na solução que implementa e disponibiliza o serviço em questão. Conforme mencionado anteriormente, o monitoramento ocorre em esquema de exceção, ou seja, apenas os problemas recebem intervenção manual quando ocorrem. O provisionamento das máquinas necessárias ao atendimento ao serviço, bem como outros aspectos relevantes como tempo de latência de uma requisição do usuário e taxa de transmissão de dados, são totalmente automatizados e se

22

adequam a picos e vales de utilização do serviço em específico e da infraestrutura como um todo.

Resumo dos conceitos apresentados

Cloud Computing (ou Computação em Nuvem) é um novo paradigma de informática em que dados e serviços residem em enormes centros de processamentos de dados que podem ser acessados livremente por dispositivos na Internet. Na visão do usuário dos serviços o processamento acontece em algum lugar da Internet. Para o provedor de serviços, a infraestrutura é construída de tal forma que centenas de máquinas possam ser adicionadas rapidamente para atender a um aumento de demanda. Essa abordagem permite que aplicações consigam atender a milhões de usuários e processar enormes volumes de dados. Exemplos de aplicações desse tipo são: serviços como indexação da Google, e-Bay, GMail, You-tube, Flickr, Face-book entre outras aplicações Web 2.0. Vários fatores contribuem para o interesse nesse novo paradigma. De um lado o número potencial de usuários acessando qualquer aplicação cresce vertiginosamente devido ao acesso ampliado a dispositivos conectados a Internet (celulares, computadores baratos, centros de inclusão digital, etc). Como consequência, aplicações e serviços devem ser construídos de forma que possam crescer rapidamente. Não é incomum que o número de usuários comece com poucos milhares de usuários e atinjam em pouco tempo milhões de pessoas. Outro aspecto do maior uso de TI é um aumento nos volumes de dados gerados. Esses dados precisam ser armazenados, processados, e tratados. Enquanto 10 anos atrás alguns giga-bytes era considerado muita informação, hoje usuários domésticos já usam milhares de giga-bytes de dados. Em empresas e instituições governamentais os volumes de dados são milhares a milhões de vezes maiores do que isso. Essas magnitudes requerem supercomputadores ou estratégias de usar milhares de máquinas menores. A tendência é que o volume continue crescendo, ao passo que os processadores individuais parecem estar atingindo seus limites. O resultado é que o 23

processamento deverá ser feito usando novas técnicas. A necessidade de atender e compreender esses requisitos cria um enorme interesse por parte de empresas, instituições de pesquisa e governos. O uso efetivo desse paradigma passa necessariamente pelo domínio das tecnologias subjacentes e do desenvolvimento de praticas e processo para usar de forma eficiente o poder computacional hoje disponível. Esse processo de inovação é fundamental para inserção futuro da tecnologia da informação. A Figura 12 apresenta os pontos de acesso que podem ser utilizados nesse paradigma de computação juntamente com o centro de dados onde o software utilizado na computação em nuvem é armazenado.

Centro de dados

- Hospeda o software - Mantém o hardware do servidor - Backup diário

Trabalhadores locais

- Acessar aplicações por meio de PCs

Trabalhadores em casa

- Acessar aplicações por meio de PCs padrões com banda larga

Trabalhadores remotos

- Acessar aplicações por meio de PCs com banda larga em hotéis, cafés, outros locais

Figura 11: Acesso à nuvem a partir de pontos distintos. Fonte: http://www.mylinestream.com/cloud-computing.html

24

Computação em Nuvem (Cloud Computing ) Parte II – Estudos de Caso Hoje você pode e deve escolher a  melhor alternativa , seja software pago ou gratuito. Mas, a maio vantagem de computação em nuvem  é que eu não sou mais dependente da máquina e  posso desfrutar as ações que demandam  compartilhamento, como criação de textos. Cezar Taurion, IBM, 2010.

25

Considerações Iniciais

Atualmente, todos os grandes players de TI tem uma ou mais soluções de computação em nuvem as quais abrangem todo o ciclo de vida ou parte dele. Na parte II desta apostila, apresentaremos um resumo das principais iniciativas de cada uma das grandes empresas de TI (IBM, Google, Microsoft, HP) e de outras empresas ou iniciativas que merecem destaque como Amazon e VMWare. Estudo de Caso - IBM

A IBM, por fazer parte da história de TI, não podia deixar de ter papel importante na revolução empregada por computação em nuvem. Tudo começou com a virtualização implantada pelos computadores mainframe nos idos de 1960. Naquela época, um mainframe era muito caro até para empresas de grande porte. Daí a necessidade de otimizar ao máximo os recursos computacionais disponíveis, medidos em MIPS, ou unidades de processamento. Com a virtualização era possível aos usuários “criarem” máquinas independentes dentro do mainframe, particionando seu processamento, sua memória e seu storage – discos rígidos. Tudo isso é muito comum hoje em dia, mas a época a maioria dos usuários ainda trabalhava com computadores baseados em cartões perfurados e no sistema um -de-cada-vez. Atualmente, as soluções IBM contemplam todas as etapas do ciclo de vida de disponibilização de um serviço na nuvem, seja ela baseada na internet ou em nuvens corporativas.

IBM Academic Initiative 

A IBM, Google e seis universidades norte americanas se uniram para criar três nuvens distintas (uma na IBM, uma na Google, e uma na Universidade de Washington). Alunos e professores das universidades envolvidas usam as nuvens para fins acadêmicos, explorando as tecnologias de computação 26

paralela desenvolvidas pela Google. A Figura 13 apresenta uma visão geral da iniciativa. Além do hardware, a IBM contribui com a gestão automática dos três ambientes.

Figura 12: Iniciativa acadêmica da IBM para fomentar o desenvolvimento de aplicativos em nuvem

Dublin Cloud Computing Center 

A IBM está criando na Irlanda uma nuvem para oferecer recursos computacionais e software para empresas e instituições que queiram usar esse recursos para projetos de inovação por meio do aluguel de infraestrutura. O modelo de aplicação e cobrança é o mesmo e se baseia na pilha de serviços providos pela nuvem, apresentada na Figura 14.

27

Figura 13: Esquema de pilha de serviços.

Wuxy Cloud 

Essa nuvem está sendo criada pela pelo município de Wuxi na China. O objetivo é fornecer às empresas da região recursos computacionais para o desenvolvimento de software usando tecnologias Rational. O principal objetivo do centro é a criação rápida de ambientes de desenvolvimento para até 200.000 desenvolvedores de software espalhados 28

em 100 empresas. Com isso, reduz o custo com a infraestrutura compartilhada e a cobrança passa a ser feita baseada no uso dos recursos, trazendo grande economia para as empresas participantes.

VISTA Inovation Portal: 

É um portal de colaboração visando o fomento da inovação entre universidades e centros de pesquisa do Vietnam. O portal congrega professores, alunos e pesquisadores no trabalho colaborativo de desenvolver idéias e inovação. O portal foi criado Ministério de Ciência e Tecnologia do Vietnam usando o Portal de Inovação da IBM (Idea Factory) em uma nuvem computacional mantida em um laboratório da IBM nos Estados Unidos.

Estudo de Caso – Amazon

Dentre as empresas que não são originariamente de TI mas que despontam como futuras provedoras de serviços na web, a Amazon, atrás do seu portal de serviços AWS ( Amazon Web Services ), foi uma das primeiras portas de entrada para o mundo da computação em nuvem acessado via web, antes mesmo da IBM. O portal de serviços da Amazon (http://aws.amazon.com/ ) é uma maneira fácil e rápida de disponibilizar serviços na web através de utilização de uma máquina virtual (AVI), provisionada e disponibilizada com software Linux. Após contratar o serviço de hosting, por exemplo, o usuário recebe um e-mail com o IP da nova máquina e um usuário e senha de acesso a ela. A partir daí a máquina passa a ser dele para disponibilizar seus próprios serviços na web.

29

Estudo de Caso - Google

A Google é um empresa muito jovem, 10 anos apenas. Porém, seu estrondoso sucesso deve-se em parte ao modelos de negócio inovadores lançados pelo empresa nos últimos anos, aliados a tecnologia de ponta. Uma das próximas frentes de ataque da Google é na computação em nuvem. Hoje a empresa oferece todos os seus serviços web baseados em um nuvem própria de serviços, como o pesquisador Google, o GoogleDocs e o GoogleTranslator, só para citar alguns exemplos. Esses serviços estão disponíveis na web, mas rodam em algum lugar dentro da nuvem Google. A Google ganhou muita experiência nos últimos anos ao projetar e fabricar centros de processamento de dados baseados em containers  (vide figura acima). Com isso, a empresa ganhou escala e possibilidade de entrar como um grande publicador de serviços de hosting  de máquinas virtuais – a chamada EC2 (Elastic Cloud).

Estudo de Caso - Microsoft

A Microsoft foi uma das últimas das grandes empresas de TI a aderirem a conceitos de computação em nuvem e a lançar uma plataforma (Azure) específica para isso. Apesar de mais ampla e voltada para empresas, a Azure é uma plataforma que oferece os principais serviços básicos de provisionamento na nuvem (IaaS, PaaS e SaaS). A ideia por traz da iniciativa da Microsoft é reforçar a presença dos sistemas operacionais da família Windows para servidores, que vem perdendo terreno nos últimos anos para os baseados em Linux. A situação encontrada nas pequenas e médias empresas ainda é de uma floresta de anões , nome carinhosamente dado pelos analistas de suporte para os parques de TI baseados em muitos servidores de pequeno porte (alguns tão ou menos potentes quanto estações de trabalho mais novas). Em função disso, é importante termos uma plataforma que integre todos esses servidores e que possa rodar um sem-número de aplicações baseados em Windows, porém sem

30

a necessidade de se obter uma nova máquina (anão) e todo os processo de aquisição que a acompanha. Web Office (http://office.live.com)  Depois de muito relutar, a Microsoft lançou recentemente uma versão do

seu pacote de serviços Office (Word, Excel e PowerPoint) para a internet, que pode ser usado gratuitamente (por enquanto apenas em inglês).

i

Um mainframe é um computador de grande porte, dedicado normalmente ao processamento de um volume grande de informações. Os mainframes são capazes de oferecer serviços de processamento a milhares de usuários através de milhares de terminais conectados diretamente ou através de uma rede. (O termo mainframe se

refere ao gabinete principal que alojava a unidade central de fogo nos primeiros computadores. ). ii O termo TCO (Total Cost of Ownership) vem sendo amplamente utilizado no meio

iii

iv

v

vi

acadêmico, na mídia, em conferências, workshops e mesas redondas. No nosso caso ele é utilizado para avaliar os serviços de mobilidade do ponto de vista de valor agregado. A computação verde (Green IT) refere-se a computação ambiental sustentável. No artigo sobre TI Verde: Os princípios e as práticas, San Murugesan define o campo da computação verde como "o estudo e a prática de projetar, manufaturar, usar e dispor computadores, monitores, impressoras, dispositivos de armazenamento e sistemas de rede e comunicações, com mínimo ou nenhum impacto no meio ambiente." Um acordo do nível de serviço (abreviado frequentemente como SLA) é uma parte de um contrato de serviço onde o nível de serviço seja definido formalmente. Na prática, os SLAs são usados para definir o contratante (do serviço) ou o desempenho. Como um exemplo, os provedores de serviços do Internet incluirão geralmente acordos do nível de serviço dentro dos termos de seus contratos com clientes para definir os níveis de serviço que estão sendo vendidos , como uma definição técnica nos termos do MTTF, do MTTR, de várias taxas de dados, etc. Na computação, um hypervisor, igualmente chamado monitor da máquina virtual (VMM), permite que múltiplos sistemas funcionem simultaneamente em um computador anfitrião, uma característica chamada virtualização da console. O hypervisor apresenta aos sistemas convidados uma plataforma virtual de funcionamento e monitora a execução destes no sistema anfitrião. Um exemplo de um hypervisor é PR/SM, um tipo assim chamado - 1 hypervisor, que aloca recursos de sistema através de divisões lógicas de recursos físicos tais como os processadores centrais, os dispositivos de armazenamento do acesso direto e a memória. O PR/SM foi introduzido pela IBM no princípio dos anos 70 com os processadores do sistema IBM/370. Estes conceitos assentaram bem em uma parte importante da técnica conhecida como virtualização. Outros sistemas, mais atuais, utilizam outros níveis ou tipos de hypervisors, como vmware, xen e virtualbox. Middleware é o software de computador que conecta componentes de software ou usuários e suas aplicações. O middleware consiste em um conjunto de serviços que permite múltiplos processos funcionarem em uma ou várias máquinas para interagir. 31

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF