Seja Bem-Vindo. Este site tem recursos de leitura de texto, basta marcar o texto e clicar no ícone do alto-falante   Click to listen highlighted text! Seja Bem-Vindo. Este site tem recursos de leitura de texto, basta marcar o texto e clicar no ícone do alto-falante

AULA 11 – ORGANIZAÇÃO ESTRUTURADA DE COMPUTADORES

Computação em Nuvem

Introdução

A computação em nuvem consiste em fornecer serviços relacionados à TI por meio da Internet. A computação em nuvem permite que as soluções flexíveis de TI ofereçam suporte aos negócios, com base em acordos claros de serviço.

Os princípios da computação em nuvem

“Computação em nuvem, método de execução de software aplicativo e armazenamento de dados relacionados em sistemas de computadores centrais e fornecimento de acesso a clientes ou outros usuários através da Internet”. Encyclopaedia Britannica (eb.com, 2012).

O conceito de computação em nuvem

Para entender o conceito de computação em nuvem, precisamos saber como ela evoluiu. Mas primeiro precisamos dar uma olhada em outra definição. De acordo com o Instituto Nacional americano de Padrões e Tecnologia (NIST):

“A computação em nuvem é um modelo para permitir acesso à rede onipresente, conveniente e sob demanda a um pool compartilhado de recursos de computação configuráveis (por exemplo, redes, servidores, armazenamento, aplicativos e serviços) que podem ser rapidamente provisionados e liberados com o mínimo esforço de gerenciamento ou interação entre prestadores de serviços. ” Publicação especial NIST 800-145 (setembro de 2011)

Na presente data, esta definição foi aprovada ou adotada por muitas organizações do setor, por exemplo:

  • A International Standards Organization (ISO); referência: ISO / IEC JTC 1 / SC 38 N 282, Grupo de Estudo Preliminar sobre o Relatório de Cloud Computing V.2 (2011)
  • Fórum da indústria da nuvem (CIF); reference: Paper five Cloud Definitions, Considerações de Implantação e Diversidade (2012)

Para este curso, usaremos a definição do NIST como base. O NIST afirma que existem “cinco características essenciais, três modelos de serviço e quatro modelos de implantação”. Vamos primeiro discutir às cinco características.

Cinco características da nuvem:

  • Autoatendimento sob demanda (on-demand self-service); dentro de um contrato existente, um usuário / cliente pode, por exemplo, adicionar novos serviços, espaço de armazenamento ou poder de computação sem uma solicitação formal de mudança.
  • Amplo acesso à rede (Broad network access); isto é o que Bill Gates, da Microsoft previsto no final dos anos noventa: “qualquer hora, em qualquer lugar e qualquer dispositivo” (any time, any place, and any device). E, claro, também com largura de banda suficiente.
  • Repositório de recursos (resource pooling); na indústria, essa característica também é conhecida como Multi-tenancy (muitos inquilinos) /clientes compartilham um tipo e nível de recursos variados.
  • Elasticidade rápida (Rapid elasticity), essa característica tem a ver com os aspectos fundamentais de flexibilidade e escalabilidade da nuvem. Por exemplo, as lojas da Web precisam de uma capacidade padrão de transação durante o ano, mas precisam é claro de mais recursos no final do ano que eles não querem pagar por essa capacidade de pico durante o resto do ano.
  • Serviço medido (Measured service), isto é, serviços monitorados, controlados e reportados – Esta característica permite um modelo de serviço pay-per-use (pague pelo que usar). Ele tem semelhanças com o conceito de telefone móvel de pacotes de serviços, em que você paga uma assinatura padrão para níveis básicos e paga por serviços adicionais sem alterar o contrato.

Além disso, o NIST define quatro modelos de Implantação: Nuvem Privada, Nuvem Comunitária, Nuvem Pública e Nuvem Híbrida e três Modelos de Serviço: Infraestrutura como Serviço (IAAS), Plataforma como Serviço (PAAS) e Software como Serviço (SAAS). Os modelos de implantação serão discutidos no próximo parágrafo e os três modelos de Serviço serão discutidos no em parágrafos adiante.

Houve um tempo em que todos os lares, cidades, fazendas ou aldeias tinham sua própria água bem. Hoje, os serviços públicos compartilhados nos dão acesso a água limpa simplesmente ligando a torneira; A computação em nuvem funciona de maneira semelhante. Assim como a água da torneira da sua cozinha, os serviços de computação em nuvem podem ser ativados ou desativados rapidamente, conforme necessário. Como na empresa de água, há uma equipe de profissionais dedicados para garantir que o serviço seja seguro, seguro e disponível 24 horas por dia, 7 dias por semana. Quando a torneira não está ativada, você não está apenas economizando água, mas não está pagando por recursos de que não precisa atualmente. Vivek Kundra CIO Federal, Governo dos Estados Unidos.

Os quatro principais modelos de implantação de nuvem

É tentador falar sobre “A nuvem” como um único ambiente. No entanto, estudar todos os fenômenos da nuvem deve levar à conclusão de que existem muitas nuvens diferentes. Para um usuário final normal de serviços baseados na web, como mídia social, webmail, armazenamento on-line, software de colaboração, blogs, chamadas de vídeo e assim por diante, parece haver apenas uma nuvem, a World Wide Web. Mas para empresas, organizações do setor público e organizações não governamentais, é mais um céu nublado. A maioria possui sua própria infraestrutura de TI, compra serviços de TI de provedores de serviços e usa vários serviços da Web. Por exemplo, a infraestrutura de e-mail de uma organização geralmente consiste em (vários) servidores Exchange 
nos quais cada funcionário possui sua própria ID e caixa de correio, agenda e lista de contatos corporativos. Mas a maioria dos funcionários também terá acesso a uma conta de webmail conectando-os ao servidor de correio corporativo através da Internet. Neste caso, obviamente, há um aspecto privado e público.

Na indústria, existem agora quatro tipos de modelos de implantação de nuvem que são geralmente aceitos; mais proeminentemente pelo Instituto Nacional Americano de Padrões e Tecnologia (NIST).

A nuvem privada

Apenas outro nome para um data center moderno?

A principal característica de uma nuvem privada é que ela reside em uma rede privada que é executada em (parte de) um data center que é usado exclusivamente por uma organização. O data center pode ser de propriedade, gerenciado e executado pela própria organização, por terceiros ou por uma combinação dos dois. Os serviços são entregues às diferentes partes da organização, ou seja, suas unidades de negócios e departamentos internos, como recursos humanos e finanças. O objetivo é apoiar os objetivos de negócios da organização de uma maneira econômica e segura, mas mais importante de maneira segura. Uma solução de nuvem privada é geralmente escolhida quando há necessidade de cumprir regulamentos e legislação externos, como SOX, o que causa a necessidade de um alto grau de governança.

O lado negativo desta solução é que ainda existe um alto grau de custo total de propriedade (TCO). Uma organização precisa considerar se realmente precisa de acesso a qualquer momento, de um local e de qualquer dispositivo (por exemplo, uma nuvem) ou apenas um centro de serviços compartilhado. Todos os tipos de nuvem têm as cinco características mencionadas anteriormente; se não os serviços são apenas exemplos clássicos de hospedagem ou ASP.

A nuvem pública

Uma nuvem pública é um exemplo mais atraente do que se pretende com a computação em nuvem, ou seja, a entrega de serviços externos pela Internet. As principais características são o compartilhamento de recursos, diminuindo assim o TCO e a alta flexibilidade e escalabilidade da capacidade, também chamada Elasticidade. O lado negativo desse princípio de compartilhamento de multilocação é um nível mais baixo de segurança e privacidade, dificultando o cumprimento de diferentes categorias de legislação internacional. O compartilhamento de infraestrutura básica, como armazenamento, servidores de banco de dados ou aplicativos, pode causar problemas de segurança e privacidade (de dados).

Por exemplo, quando uma cadeia multinacional de lojas de varejo com sede na Holanda decidiu migrar seus aplicativos do Office para a plataforma Google Apps for Business, seu principal requisito era que seus dados fossem armazenados em um data center dentro da União Europeia.

Para a maioria dos usuários privados ou o público principal, essas preocupações são menos relevantes ou não são apreciadas. Para este grupo-alvo, a nuvem é o Facebook, Twitter, Skype, Flickr, Webmail e todos os outros exemplos de ofertas baseadas na Internet que tornam a vida mais produtiva ou divertida.

A Community Cloud

O Community Cloud tem muitas semelhanças com a nuvem privada, pois fornece serviços a um grupo específico de organizações e / ou indivíduos que compartilham um objetivo em comum. Exemplos são institutos educacionais ou de pesquisa regionais, ou nacionais, centros comunitários ou até mesmo organizações comerciais que desejam compartilhar instalações de segurança muito alta para o processamento de transações, como empresas comerciais de bolsa de valores.

O objetivo principal da criação de uma Community Cloud é a facilidade de compartilhamento de dados, plataformas e aplicativos que, de outra forma, seriam caros demais para serem comprados como equipamentos de pesquisa. Outro objetivo de compartilhar instalações da Nuvem com sua própria comunidade pode ser reduzir custos, melhorar o desempenho, a privacidade e a segurança sem aumentar o TCO de maneira significativa. Algumas vantagens específicas não poderiam ser obtidas facilmente executando suas próprias instalações de computação locais: acesso e suporte 24 horas por dia, 7 dias por semana, serviços compartilhados e contratos de suporte e a economia de escala.

A nuvem híbrida

Colocando de uma forma simples, uma nuvem híbrida é uma mistura dos modelos acima. Ele combina várias soluções de nuvem públicas e privadas de diversos provedores em uma única infraestrutura de TI. Neste modelo uma escolha clara terá que ser feita o que comprar onde. A escolha de serviços específicos para adequação de nuvem pública ou privada é o equilíbrio entre segurança, privacidade e conformidade versus preço.

Vamos ver um exemplo. Uma grande multinacional optou por seguir “o caminho híbrido”. Os sistemas de logística de missão crítica e planejamento de recursos empresariais (ERP) são executados em uma solução de nuvem privada, enquanto os aplicativos de escritório comuns são atendidos pela solução Google Apps for Business. Isso traz uma economia de muitos milhões de dólares por ano e não compromete a integridade dos principais serviços comerciais.

Outro exemplo poderia ser o modo como as seguradoras trabalham com agentes de seguros. Há muita interação entre os dois lados, mas as infraestruturas da empresa e dos agentes podem e não serão integradas da maneira tradicional. Nesse cenário, uma extensão de nuvem pública poderia criar uma ponte entre os dois.

Modelos de serviço para computação em nuvem

Há muitos tipos de serviços em nuvem, como webmail, Exchange hospedado, armazenamento online, backup online, mídias sociais, etc. Todos esses serviços podem ser agrupados em três modelos principais de serviço em Nuvem: Software como Serviço (SaaS), Plataforma como Serviço (PaaS) e Infraestrutura como Serviço (IaaS). Neste parágrafo, descreveremos brevemente esses três modelos.

Software como serviço (SaaS)

Este é o tipo mais comum de serviço em nuvem. O SaaS é uma ruptura com a tradição de que as organizações compram ou desenvolvem seus próprios aplicativos de negócios e os executam e gerenciam em sua própria infraestrutura de TI. A hospedagem de aplicativos por terceiros remonta aos dias de mainframe e entrou em maturidade com a indústria de ASP (Application Service Providers) que surgiu no início dos anos 2000. Muitos tipos de serviços SaaS foram desenvolvidos a partir de soluções ASP (por exemplo, hospedagem de aplicativos, pagamento por licença, emulação, serviços de terminal etc.) em soluções Cloud (ou seja, multilocação, pay-per-use, interfaces baseadas na Web, elástico etc.).

Exemplos típicos de soluções SaaS são:

  • CRM
  • ERP
  • Billing and invoicing
  • Web Hosting
  • E-commerce
  • Transaction processing
  • Online collaboration

Características principais:

  • software hospedado externamente
  • software sob demanda
  • pacote de software
  • sem modificação do software
  • plug-in: software externo usado com aplicativos internos (nuvem híbrida)
  • fornecedor com conhecimento técnico avançado
  • usuário envolvido com o fornecedor

Os principais benefícios são que o cliente não precisa se preocupar com o desenvolvimento e o gerenciamento desses aplicativos. O provedor é responsável por atualizações e gerenciamento de licenças e pela maioria dos parâmetros de gerenciamento de serviços, como escalabilidade, disponibilidade, manutenção e continuidade de serviço. Um cliente paga por meio de um modelo de assinatura ou pagamento por uso.

Subtipos, ou simplesmente outros nomes para SaaS, são ‘software on demand’, ‘serviços hospedados’ e ‘provisionamento de serviços de aplicativos’.

Plataforma como serviço (PaaS)

Não possuir uma plataforma de computador, mas poder usá-la ‘on demand’ pode economizar custos em propriedade, gerenciamento e manutenção. Em um ambiente típico de desenvolvimento de software, as plataformas são usadas durante o tempo em que o projeto é executado, e um novo projeto geralmente tem outros ou mais novos requisitos de plataforma.

Durante alguns estágios do processo de desenvolvimento, ou seja, testes, geralmente há a necessidade de um ambiente ampliado para simular um ambiente de produção. Os serviços de PaaS podem oferecer essa escalabilidade on demand.

As variantes mais comuns da PaaS são:

  • Ambiente de desenvolvimento de software; um cliente pode desenvolver um aplicativo sem ter que comprar um ambiente de desenvolvimento dedicado e sem ter que configurar e gerenciar os componentes de infraestrutura subjacentes, como hardware, middleware e as diferentes camadas de software. O Microsoft Azure e o Google App Engine são exemplos desse serviço.
  • Ambiente de hospedagem para aplicativos; esse serviço consiste apenas em serviços no nível de hospedagem, como segurança e escalabilidade sob demanda.
  • Armazenamento online; as soluções em nuvem, por causa de sua arquitetura com Storage Area Network servidores SAN, oferecem não apenas armazenamento on-line, mas também uma troca de dados extremamente rápida entre instâncias de armazenamento on-line.

Características principais:

  • Usado principalmente para desenvolvimento de aplicativos remotos
  • Suporte a aplicativos remotos
  • Plataforma pode ter recursos especiais
  • Baixos custos de desenvolvimento

Alguns exemplos de provedores de serviços de PaaS são o Force.com, o primeiro provedor de PaaS e os players menores, como Bungee e Heroku. Uma entrada recente é o Google com seu novo App Engine.

Infraestrutura como Serviço (IaaS).

Os serviços de IaaS são vendidos pelos chamados provedores de serviços de hardware, dos quais um cliente pode alugar hardware físico ou virtual, como armazenamento, servidores ou conectividade com a Internet. Os serviços são vendidos de acordo com um serviço de computação utilitário e modelo de faturamento. O histórico de IaaS pode ser encontrado na fusão entre infraestrutura e serviços de TI e Telecom na última década.

Características principais:

  • Escalonamento dinâmico
  • Virtualização de desktops
  • Serviços com base em políticas

Os exemplos de IaaS hospedam serviços que oferecem suporte a comércio eletrônico, serviços de hospedagem na Web que incluem conexões de banda larga e armazenamento. Muitas dessas infraestruturas sob demanda da IaaS são baseadas em componentes de fornecedores líderes como Cisco, HP, NetApp e VMware. Com o modelo IaaS, grandes empresas, como infraestruturas e serviços de TI, estão ao alcance de empresas menores, como Pequenas e Médias Empresas/Empresas (SME/SMB).

Arquiteturas de computação em nuvem

Dois princípios arquiteturais importantes se aplicam à computação em nuvem, à arquitetura multiuso e à ocupação variada. No passado, a maioria das arquiteturas era proprietária e única. Exemplos são os sistemas de contabilidade e armazenamento de dados de assistência médica. A chave para a computação em nuvem é que a infraestrutura é multifuncional. Um exemplo poderia ser um sistema no qual os dados não são apenas armazenados, mas também distribuídos pela Internet.

Arquitetura multiuso

A virtualização é um dos principais fatores que contribuem para essa característica. Muitos tipos diferentes de implementação podem ser executados na mesma plataforma (tipo de) em um ambiente virtual. Desta forma, é fácil garantir a escalabilidade a todos os clientes. A reinstalação de uma nova plataforma virtual dedicada é muito mais rápida e fácil do que (re) instalar um servidor físico.

Características principais:

  • Multi-tiered (diferentes camadas para banco de dados, aplicativos e balanceamento de carga)
  • Virtualização (servidor)
  • Camadas interoperáveis
  • Padrões abertos

Arquitetura multilocação

Em seu artigo “Equívocos sobre multi locação na computação em nuvem” (Multi-Tenancy Misconceptions in Cloud Computing), Srinivasan Sundara Rajan afirma o caso de negócios para multilocação: “um grande número de usuários, basicamente multi locatários, torna a plataforma de nuvem mais eficiente em termos de usabilidade do aplicativo e “Faça mais com menos recursos”. (Rajan 2011).

Ele também fornece alguns exemplos de soluções multi locatários:

  • Salesforce.com: um aplicativo de CRM baseado em SaaS para várias empresas usando estrutura comum e modelo de multilocação;
  • Oferta do Microsoft Dynamics CRM Online;
  • Multi locação IaaS/PaaS da Amazon ou IBM ou Microsoft Azure.

Um elemento-chave da multi locação é a segurança. Se a segurança não puder ser garantida em todos os níveis da infraestrutura, desde a infraestrutura básica até a interface da Web, os clientes hesitarão em adotar esse modelo.

Arquitetura Orientada a Serviços (SOA)

Em seu artigo ‘A conexão Cloud-SOA’ (The Cloud-SOA connection) (Krill, 2009), Paul Krill cita Jerry Cuomo, CTO do negócio WebSphere da IBM. Sua pergunta “Podemos construir uma infraestrutura de datacenter em princípios de SOA?” é respondido por Cuomo com: ‘Sim, e essa é a nuvem, por isso é uma infraestrutura orientada a serviços… É tomar esse princípio arquitetônico de SOA e aplicá-lo a uma infraestrutura.’

O Grupo de Trabalho SOA do Open Group surgiu com a seguinte definição:

Arquitetura Orientada a Serviços (SOA) é um estilo de arquitetura que suporta orientação de serviço. Orientação a serviços é uma maneira de pensar em termos de serviços e desenvolvimento baseado em serviços e os resultados dos serviços. 
Um serviço:
É uma representação lógica de uma atividade comercial repetível que tem um resultado especificado (por exemplo, verificar crédito do cliente; fornecer dados meteorológicos, consolidar relatórios de perfuração)

  • É independente
  • Pode ser composto de outros serviços
  • É uma “caixa preta” consumidores do serviço

Essa definição de SOA foi produzida pelo projeto Definição de SOA do SOA Work Group. © o Open Group TM

Uma arquitetura orientada a serviços é basicamente uma coleção de serviços que se comunicam entre si. Essa comunicação pode ser simplesmente a transferência de dados entre dois ou mais serviços ou uma atividade gerenciada em conjunto. Conectar esses serviços em muitos casos envolve serviços da Web usando XML. Historicamente, ele retorna à especificação CORBA. Pode-se dizer que não haveria Cloud sem SOA.

Vantagens e limitações da computação em nuvem

Como qualquer modelo de serviço, o Cloud tem muitos benefícios, mas também alguns pontos negativos. Neste parágrafo listamos os principais benefícios e limitações.

Principais benefícios da computação em nuvem

  • Redução de custos; Por causa do modelo de pagamento por uso e / ou assinatura, as organizações não precisam investir na infraestrutura de TI antecipadamente. Para provedores de nuvem, os custos são menores devido à economia de escala e ao princípio de multilocação; nenhum ‘espaço’ é deixado sem uso.
  • Automatizado; atualizações, patches de segurança e backups não são mais uma preocupação do cliente. O pessoal de TI não precisa mais se preocupar em manter o software atualizado.
  • flexibilidade; A computação em nuvem oferece mais flexibilidade do que os serviços de TI legados. Dentro de um contrato existente ou padrão, um cliente pode alterar a ‘combinação de nuvem’ de serviços de forma dinâmica para suportar as demandas e os requisitos de negócios.
  • Mais mobilidade; os dados e aplicativos podem ser acessados pela Internet a partir de qualquer tipo de dispositivo de computação “inteligente” a qualquer momento e em qualquer lugar.
  • Recursos compartilhados; os clientes compartilham recursos permitindo que organizações menores tenham acesso a instalações de TI, serviços e serviços de suporte de escala corporativa. Usuários pertencentes a um ou mais clientes podem trabalhar juntos em um ambiente de projeto compartilhado.
  • Agilidade e escalabilidade; as empresas podem escalar sua infraestrutura de TI para cima ou para baixo “on demand”.
  • De volta ao core business; A maioria dos tipos de empresas iniciantes não precisa possuir e operar a TI
  • Mais funcionalidade de TI por um preço menor; compartilhando.

Principais limitações da computação em nuvem

  • acesso à Internet; sem acesso à Internet significa que não há acesso à nuvem;
  • segurança; Centros de dados em nuvem podem ser de alta segurança e altamente gerenciados, mas também de baixa segurança e mal gerenciados. Como você pode verificar se este é o caso?
  • Privacidade; por causa da incerteza onde seus dados são armazenados em combinação com a legislação nacional e internacional sobre privacidade, você nunca sabe quem pode acessar seus dados;
  • Contrato de nível de serviço; O seu contrato permite flexibilidade e escalabilidade? Bloqueio do fornecedor; migração de aplicativos para outro provedor de computação em nuvem.

Fim da Aula 11

Click to listen highlighted text!