Serviços em Nuvem: Oportunidade para
Operadoras – Parte I
Este artigo introduz os conceitos fundamentais de computação em nuvem, Cloud
Computing, e a insere no contexto de mercado de serviços ao apresentá-la como
uma boa oportunidade para o surgimento de novos produtos para as operadoras
de telecomunicações.
Autores
Anderson Vinícius Alves Ferreira
Especialista em Engenharia de Redes IP da FITec.
É graduado em Ciências da Computação pela UFPB e possui
especialização em Engenharia de Redes IP pela UPE.
[email protected]
Davi Sabino Barros
Especialista em Engenharia de Redes IP da FITec.
É graduado em Redes de Computadores pela Faculdade
Maurício de Nassau e possui especialização em Engenharia de
Redes IP pela UPE e Segurança de Redes pela Faculdade Santa
Maria.
[email protected]
Rafael Bezerra Albuquerque
Especialista em Engenharia de Redes IP da FITec.
É graduado em Engenharia da Computação pela UPE e possui
especialização em Engenharia de Redes IP pela UPE.
[email protected]
A FITec é um instituto de pesquisa e desenvolvimento que
presta serviços na área de Telecomunicações, Tecnologia da
Informação, Energia Elétrica e Automação. É um centro de
excelência no desenvolvimento de tecnologias e na geração de
soluções, produtos e serviços, suportando empresas no
processo de inovação.
[email protected]
Categoria:
Nível:
Duração:
Infraestrutura para Telecomunicações, Banda Larga
Intermediário
Enfoque:
20 minutos
Publicado em:
Técnico
30/09/2013
Computação em Nuvem e seus Serviços
Neste primeiro capítulo são abordados conceitos e técnicas de
Computação em Nuvem e serviços que podem ser providos com este modelo de
computação. Inicialmente, são apresentados os conceitos básicos de computação
em nuvem, em seguida os modelos de serviços e implantação e alguns dos desafios
para implantação desta tecnologia.
1.1.
Computação em Nuvem
A Computação em Nuvem – ou também comumente conhecida pelo termo
inglês Cloud Computing – é, em linhas gerais, um modelo de computação que
permite oferecer como serviço recursos de software e/ou de hardware, de maneira
transparente para os usuários, por intermédio de redes de computadores. Este
modelo de computação segue a mesma ideia de serviços considerados básicos para
a sociedade humana moderna. Serviços de utilidade pública como água,
eletricidade, telefone e gás possuem uma infraestrutura que os permitem ser
entregues em qualquer lugar e a qualquer hora, de forma que seja possível
simplesmente abrir a torneira, acender a luz, realizar uma chamada ou usar o
fogão sem que os usuários precisem entender como tais serviços chegam às suas
casas. Além disso, o uso desses serviços é cobrado de acordo com as diferentes
políticas de tarifação do usuário final.
A Computação em Nuvem é uma área em evolução e tem diferentes
conotações para os profissionais de TI, dependendo de seus pontos de vista e
frequentemente dos seus produtos e serviços (Sridhar, 2009). Não existe uma
definição universalmente aceita entre os profissionais de TI para o termo
Computação em Nuvem. Entretanto, a definição provida pelo National Institute of
Standards and Technology (NIST) pode ser encontrada em diversas publicações de
cunho acadêmico e também será a definição utilizada como base neste documento.
Em tradução livre, o NIST apresenta a seguinte definição:
http://www.teleco.com.br
1
A Computação em Nuvem é um modelo que possibilita acesso, de
modo conveniente e sob demanda, a um conjunto de recursos
computacionais configuráveis (por exemplo, redes, servidores,
armazenamento, aplicações e serviços) que podem ser
rapidamente adquiridos e liberados com mínimo esforço de
configuração ou interação com o provedor de serviços. (Mell &
Grance, 2011, p. 2)
Outra definição que pode ser encontrada na literatura é apresentada a
seguir, em tradução livre:
[Computação em Nuvem] é um modelo de serviço em Tecnologia
da Informação em que serviços computacionais (ambos hardware
e software) são entregues sob demanda para os usuários por
intermédio de uma rede de comunicações de maneira autônoma,
independente de dispositivo e localização. Os recursos necessários
para prover os níveis de qualidade de serviço demandados pelos
usuários são compartilhados, escaláveis dinamicamente,
disponibilizados rapidamente, virtualizados e entregues com
mínima interação do provedor de serviço. Os usuários pagam pelo
serviço como um custo operacional sem impactar em qualquer
despesa de capital inicial em ativos físicos. (Marston, Li,
Bandyopadhyay, Zhang, & Ghalsasi, 2011)
Em um modelo de computação tradicional, para construir ou atualizar
infraestruturas de TI, os usuários têm que se preocupar com a instalação,
configuração e atualização de softwares, adequação do espaço físico e de recursos
humanos, além de outros gastos como com licenças de softwares. Com a
Computação em Nuvem, os usuários passam a poder acessar os serviços sob
demanda e independente de localização. A nuvem é uma metáfora para a Internet
ou a infraestrutura de comunicação entre os componentes arquiteturais, deixando
evidente uma abstração que oculta para o usuário toda a complexidade da
infraestrutura e tecnologias empregadas para oferecer os serviços, como pode ser
visto no exemplo apresentado na Figura 1.
Para ter acesso aos serviços, os usuários necessitam ter em suas máquinas
apenas um sistema operacional, um navegador e acesso a rede de dados ou
Internet. Todos os recursos computacionais estão disponíveis na nuvem e os
dispositivos dos usuários não precisam de altos recursos computacionais, o que
leva à diminuição no custo de aquisição de equipamentos. A cobrança pela
utilização dos recursos na nuvem é feita baseada na quantidade de uso. Portanto,
paga-se apenas por aquilo que se consome.
http://www.teleco.com.br
2
Figura 1: Computação em Nuvem [adaptado de (Johnston, 2009)].
Uma pesquisa realizada em 2008 com seis datacenters corporativos
mostrou que a maioria dos servidores estava sendo subutilizada, apresentando
uma taxa de utilização de apenas 10 a 30% da capacidade de processamento
disponível, enquanto os computadores desktop apresentaram uma taxa média de
utilização de menos de 5% (VMWare, 2008). Isto se deve ao modo como as
corporações planejam suas infraestruturas. Comumente, as empresas são
obrigadas a utilizar critérios de pico de carga ao dimensionar as suas necessidades
de recursos computacionais. Com o conceito de computação em nuvem e a
tecnologia de virtualização, a infraestrutura computacional de datacenter pode ser
mais bem utilizada, levando a custos de aquisição e operacionais mais baixos. O
gráfico da Figura 2 ilustra este ponto. A linha verde representa a infraestrutura
presente no datacenter e mostra como o modelo atualmente utilizado para
planejamento de infraestrutura pode deixar uma organização com excesso de
capacidade ou com um excesso de demanda levando a uma degradação do serviço.
Já a linha roxa, seguindo de perto a curva da demanda real, mostra os benefícios da
http://www.teleco.com.br
3
computação em nuvem, que possibilita aumentar ou diminuir a infraestrutura
computacional de acordo com a demanda.
Figura 2: Curva de Capacidade e Utilização de Recursos Computacionais [adaptado de (Chades,
2010)].
A computação em nuvem permite, portanto:
•
Diminuir os custos de aquisição de equipamentos;
•
Facilitar o planejamento das empresas, que podem, a partir de
então, adequar sua infraestrutura de acordo com a demanda dos
clientes;
•
Que as empresas se concentrem em agregar valor aos serviços
oferecidos aos clientes, em vez de se gastar esforços e recursos
humanos com instalação e manutenção da infraestrutura de
suporte.
1.1.1.
Características Essenciais
Algumas características são consideradas essenciais em um ambiente de
computação em nuvem. Apesar de algumas delas poderem não estar presentes em
uma solução específica, é o seu conjunto que guia o desenvolvimento da
computação em nuvem e a difere de outros paradigmas como, por exemplo, os
serviços hospedados. Estas características estão listadas e detalhadas a seguir.
•
Elasticidade e escalabilidade: capacidade de expandir ou reduzir a
quantidade de recursos de acordo com as demandas específicas de
http://www.teleco.com.br
4
cada serviço. Por exemplo, um grande número de servidores pode
ser necessário para a realização de uma tarefa específica de
duração limitada. Após a finalização da tarefa, tais recursos podem,
então, ser liberados. Para os usuários, os recursos disponíveis para
uso parecem ser ilimitados e podem ser adquiridos em qualquer
quantidade e a qualquer momento (Sousa, Moreira, & Machado,
2009).
•
Contabilização por tempo de uso: o pagamento pela utilização dos
serviços na nuvem é feito somente quando os serviços são, de fato,
utilizados. O sistema de contabilização é utilizado em um nível de
abstração que varia de acordo com o tipo de serviço tais como
armazenamento, processamento, largura de banda e contas de
usuário ativas.
•
Serviços sob demanda: capacidade de adquirir serviços apenas
quando necessário, sem que se tornem partes permanentes da
infraestrutura de TI – uma vantagem significativa em relação aos
serviços de TI internos de uma empresa – e sem precisar de
interação humana com os provedores do serviço. Com serviços na
nuvem, não há necessidade de ter recursos computacionais
dedicados esperando ser utilizados, como é o caso de serviços
internos.
•
Amplo acesso: os recursos são disponibilizados pela rede e podem
ser acessados por diferentes plataformas, como celulares, laptops,
tablets ou desktops. A interface de acesso à nuvem não obriga os
usuários a mudar suas condições e ambientes de trabalho como,
por exemplo, linguagens de programação e sistema operacional.
•
Multi-inquilino: os provedores de serviços em nuvem podem
hospedar serviços que são utilizados por múltiplos usuários dentro
de uma mesma infraestrutura. O isolamento destes usuários pode
ser físico ou virtual, dependendo das necessidades específicas de
cada usuário (Sridhar, 2009).
http://www.teleco.com.br
5
1.1.2.
Arquitetura de Computação em Nuvem
A arquitetura de computação em nuvem é baseada em camadas, em que
cada camada trata de uma particularidade na disponibilização de recursos (Buyya,
Yeo, Venugopal, Broberg, & Brandic, 2009). Sousa, Moreira, & Machado (2009)
definem camada como uma divisão lógica de componentes de hardware e
software, em que esses recursos são agrupados e organizados para realizar uma
determinada tarefa do sistema como um todo. Ainda segundo estes autores, cada
camada pode ter seu gerenciamento ou monitoramento realizado de forma
independente das outras camadas, melhorando a flexibilidade, reuso e
escalabilidade no tocante a substituição ou adição de recursos computacionais sem
afetar as outras camadas.
A Figura 3 ilustra as camadas referentes à arquitetura da computação em
nuvem e suas respectivas associações. É possível distinguir na figura quatro
diferentes camadas que se deslocam progressivamente da perspectiva do sistema
para a do usuário final.
A camada de mais baixo nível é a de infraestrutura física, que pode conter
dispositivos de armazenamento, clusters, desktops e outros recursos de hardware.
Esta camada fornece flexibilidade e facilidade de agregação de novos recursos à
medida que se tornem necessários.
Uma camada de middleware é responsável por gerenciar a infraestrutura
física e tem por objetivos prover um ambiente de execução apropriado para as
aplicações e explorar de maneira eficaz os recursos físicos. Esta camada pode ser
dividida em duas subcamadas: uma resposável por garantir o isolamento de
processos e aplicações, qualidade de serviço, podendo utilizar tecnologias de
virtualização; e outra camada responsável por prover um conjunto de serviços que
auxiliam os provedores de serviços comerciais e profissionais para os usuários
finais – dentre os serviços dessa camada podem ser encontrados negociação de
Qualidade de Serviço (QoS), gerenciamento de SLAs, serviços de cobrança,
gerenciamento de requisições, entre outros.
http://www.teleco.com.br
6
Figura 3: Arquitetura da Computação em Nuvem [adaptado de (Vecchiola, Chu, & Buyya, 2009)].
No nível acima da camada de middleware, encontra-se a camada
responsável por prover suporte para a construção de aplicações e que contém
ferramentas ou ambientes de desenvolvimento. Estes ambientes possuem
interfaces Web 2.0, mashups, componentes, recursos de programação concorrente
e distribuída, suporte a workflows, bibliotecas de programação e linguagens de
programação. Esta camada de desenvolvimento não é utilizada pelos usuários
finais, e sim, pelos usuários mais experientes, aqueles que desenvolvem as
soluções para computação em nuvem. Esta camada middleware no nível de
usuário constitui o ponto de acesso das aplicações à infraestrutura da nuvem.
Por fim, encontra-se a camada das aplicações de computação em nuvem.
Esta camada é de interesse do usuário, pois é por meio dela que eles utilizam os
aplicativos. As camadas abaixo desta são responsáveis pelas características de
escalabilidade, disponibilidade, ilusão de recursos infinitos e alto desempenho.
1.1.3.
Virtualização
Um dos conceitos mais presentes na literatura de Computação em Nuvem
é o conceito de Virtualização. A virtualização de recursos está no coração da
maioria das arquiteturas de nuvem (Baun, Kunze, Nimis, & Tai, 2011). O conceito
http://www.teleco.com.br
7
de virtualização traz uma visão abstrata dos recursos físicos, o que inclui
servidores, dispositivos de armazenamento de dados, redes e aplicações. A ideia
básica é partilhar recursos físicos e gerenciá-los como um todo. Na Figura 4,
destaca-se a virtualização de plataforma que é o tipo de virtualização que acelerou
a adoção da computação em nuvem (Sridhar, 2009).
Virtualização de plataforma é uma técnica para abstrair os recursos de um
computador de tal maneira que o sistema operacional se separa dos recursos
físicos do computador. Ao invés de utilizar diretamente os recursos de hardware, o
sistema operacional passa a interagir com uma nova camada de software,
conhecida como hypervisor. Esta nova camada acessa o hardware e apresenta ao
sistema operacional um conjunto virtual de recursos de hardware. Isto possibilita
que várias Máquinas Virtuais (VMs) possam ser executadas sobre um único
servidor físico e novas instâncias podem ser geradas e executadas sob demanda,
criando a base para a elasticidade de recursos computacionais (Baun, Kunze,
Nimis, & Tai, 2011).
Figura 4: Virtualização de plataforma (VMWare, 2007).
Virtualização não é um conceito novo – foi inventado e popularizado pela
IBM nos anos 60 com o objetivo de executar múltiplos contextos de software em
seus mainframes. Na última década, o conceito voltou a ganhar popularidade em
datacenters devido às preocupações com a utilização média dos servidores
(VMWare, 2008).
http://www.teleco.com.br
8
Um hypervisor pode ser implementado em um servidor, seja executando
diretamente sobre o hardware (hypervisor Tipo 1) ou executando sobre um
sistema operacional (hypervisor Tipo 2) (Sridhar, 2009). O hypervisor permite
executar múltiplas VMs e é responsável por escalonar o acesso dessas VMs aos
recursos de hardware, provendo um acesso consistente a CPU, memória e
dispositivos de Entrada e Saída (E/S). Uma VM tipicamente executa um sistema
operacional e aplicações. As aplicações não são informadas de que estão sendo
executadas em um ambiente virtualizado, e dessa maneira não precisam sofrer
alterações para serem executadas apropriadamente.
A virtualização traz alguns benefícios para a computação em nuvem.
Dentre estes benefícios, tem-se:
•
Elasticidade e Escalabilidade: Criar e remover VMs envolve menor
esforço quando comparados a ligar e desligar servidores físicos;
•
Migração de workload: Com facilidades como a migração de VMs em
tempo real, o esforço para migração de workload é muito menor se
comparado à
migração entre
servidores
físicos
dispostos
geograficamente separados;
•
Resiliência (confiabilidade): Falhas em servidores físicos podem ser
facilmente contornadas, bastando migrar as VMs para outros
servidores, preservando a disponibilidade dos serviços dos clientes.
Apesar de estar presente em diversas soluções, a virtualização não é um
pré-requisito para a computação em nuvem. Contudo, a virtualização provê um
conjunto de ferramentas valiosas e permite uma flexibilidade significante em
projetos de computação em nuvem.
1.2.
Modelos de Serviços
Os modelos de serviços podem ser considerados como a definição de uma
fronteira que delimita onde terminam as responsabilidades, gerenciamento e a
rede do cliente e onde começam as do provedor de serviços na nuvem.
Existem diversos modelos de serviços descritos na literatura, geralmente
descritos da forma:
http://www.teleco.com.br
9
XaaS, do inglês “<Something> as a Service” (ou, em português,
<alguma coisa> como um serviço).
O NIST (2011) define três modelos de serviços para a computação em
nuvem. São eles: Infraestrutura como um Serviço (IaaS), Plataforma como um
Serviço (PaaS) e Software como um Serviço (SaaS). Muitos outros modelos foram
mencionados na literatura como, por exemplo: StaaS (Armazenamento como um
Serviço), IdaaS (Identidade como um Serviço), CaaS (Comunicação como um
Serviço). Contudo, os modelos definidos pelo NIST englobam todas as outras
possibilidades (Sosinsky, 2011). A Figura 5 ilustra esses três modelos de serviços e
apresenta alguns dos serviços que podem ser disponibilizados dentro de cada
modelo. As próximas subseções descrevem com mais detalhes esses três modelos
de serviço.
Figura 5: Modelos de serviços para a computação em nuvem [adaptado de (Zhou, et al., 2011)].
1.2.1.
Software como um Serviço (SaaS)
Neste modelo de serviço, o provedor de serviços oferece a seus clientes a
capacidade de utilizar sistemas de propósitos específicos que são executados sobre
a infraestrutura física do provedor. Esses sistemas são acessíveis a partir de
diversos dispositivos por intermédio de uma interface cliente, como um navegador
Web, ou por uma Application Programming Interface (API). No SaaS, o usuário não
administra ou controla a infraestrutura subjacente, incluindo rede, servidores,
http://www.teleco.com.br
10
sistemas operacionais, armazenamento ou mesmo características individuais da
aplicação, exceto configurações específicas limitadas ao domínio do usuário.
No modelo organizacional tradicional de TI, as empresas possuem um
conjunto de licenças de software para as várias aplicações que ela utiliza. Estas
aplicações podem estar nos setores de recursos humanos, finanças ou vendas, por
exemplo. No modelo SaaS, em vez de comprar licenças para desktops e servidores
para as aplicações, a empresa pode obter as mesmas funções utilizando os serviços
em nuvem de um provedor através da Internet ou alguma rede de comunicações.
O modelo SaaS elimina a complexidade com instalação, manutenção e
atualização de softwares para a equipe de TI dentro da empresa, pois o software é
agora gerenciado de maneira centralizada pelo provedor do serviço. Como a
aplicação está, geralmente, na Web, os usuários podem acessá-la de qualquer lugar
com conectividade e a qualquer momento, permitindo maior integração entre
unidades de uma mesma empresa ou outros serviços de software. A cobrança pelo
serviço é feita tipicamente por usuário, para uma quantidade fixa de banda e de
armazenamento. O monitoramento do desempenho da entrega do serviço é de
responsabilidade do provedor.
O modelo SaaS fornece para diferentes clientes a funcionalidade de
aplicativos que são completamente hospedados em nuvem, mas os clientes
possuem flexibilidade limitada. Por meio do modelo SaaS, o tempo para que a
solução chegue ao mercado e o tempo de reação às demandas do segmento é
bastante curto (Zhou, et al., 2011). Como exemplos de SaaS, destacam-se os
sistemas de gerenciamento de relacionamento com clientes da Salesforce
(Salesforce, 2012) e o GoogleDocs da Google (Google, 2012).
1.2.2.
Plataforma como um Serviço (PaaS)
O modelo de PaaS traz os benefícios que o SaaS trouxe para as aplicações,
mas para o mundo de desenvolvimento de software. O PaaS provê uma plataforma
de software na qual os usuários podem desenvolver e testar suas próprias
aplicações e hospedá-las na infraestrutura do próprio provedor do serviço e sem a
complexidade de comprar e manter o software e a infraestrutura necessária
durante todo o ciclo de desenvolvimento. O usuário não administra ou controla a
http://www.teleco.com.br
11
infraestrutura subjacente, incluindo rede, servidores, sistemas operacionais ou
armazenamento, mas tem controle sobre as aplicações implantadas e,
possivelmente, sobre as configurações das aplicações hospedadas nessa
infraestrutura. O serviço fornece um sistema operacional, linguagens de
programação e ambientes de desenvolvimento para as aplicações, auxiliando a
implementação de sistemas de software, já que contém ferramentas de
desenvolvimento e colaboração entre desenvolvedores.
Em geral, os desenvolvedores dispõem de ambientes escaláveis, mas têm
que aceitar algumas restrições sobre o tipo de software que se pode desenvolver,
desde limitações que o ambiente impõe na concepção de aplicações até a utilização
de sistemas de gerenciamento de banco de dados (SGBDs) do tipo chave-valor, em
vez de SGBDs relacionais (Sousa, Moreira, & Machado, 2009). Como exemplos de
PaaS têm-se o Google App Engine (Google, 2012)e o Microsoft Azure (Microsoft,
2012).
1.2.3.
Infraestrutura como um Serviço (Iaas)
O modelo de IaaS tem por principal objetivo tornar mais fácil e acessível o
fornecimento de recursos, tais como servidores, rede, armazenamento e outros
recursos de computação fundamentais em que o usuário pode instalar e executar
softwares arbitrários, que podem incluir sistemas operacionais e aplicativos. A
IaaS possui algumas características, tais como uma interface única para
administração da infraestrutura, Application Programming Interface (API) para
interação com hosts, switches, balanceadores, roteadores e o suporte para a adição
de novos equipamentos de forma simples e transparente. Em geral, o usuário não
administra ou controla a infraestrutura da nuvem, mas tem controle sobre os
sistemas
operacionais,
armazenamento
e
aplicativos
implantados,
e,
eventualmente, seleciona componentes de rede, tais como firewalls.
Em geral, segundo (Sousa, Moreira, & Machado, 2009), o termo IaaS se
refere a uma infraestrutura computacional baseada em técnicas de virtualização de
recursos de computação. Esta infraestrutura pode escalar dinamicamente,
aumentando ou diminuindo os recursos de acordo com as necessidades das
aplicações. Do ponto de vista de economia e aproveitamento do legado, em vez de
http://www.teleco.com.br
12
comprar novos servidores e equipamentos de rede para a ampliação de serviços,
podem-se aproveitar os recursos disponíveis e adicionar novos servidores virtuais
à infraestrutura existente de forma dinâmica.
O modelo IaaS oferece aos usuários o maior grau de controle quando
comparado aos outros dois modelos de serviços. Portanto, o usuário fica
responsável por saber quais as necessidades de recursos para as aplicações.
Escalabilidade e elasticidade, por exemplo, são responsabilidades do usuário – e
não do provedor IaaS. O Amazon Elastic Cloud Computing (EC2) (Amazon, 2012) e
o Elastic Utility Computing Architecture Linking Your Programs To Useful Systems
(Eucalyptus) (Liu, Liang, & Brooks, 2007) são exemplos de IaaS.
1.3.
Modelos de Implantação
Os modelos de implantação tratam sobre o acesso e disponibilidade de
ambientes de computação em nuvem. A restrição ou abertura de acesso depende
do processo de negócio, do tipo de informação e do nível de visão (Sousa, Moreira,
& Machado, 2009). Algumas empresas podem não desejar que todos os usuários
possam acessar e utilizar determinados recursos no seu ambiente de computação
em nuvem. Neste sentido, surge a necessidade de ambientes mais restritos, onde
somente alguns usuários devidamente autorizados possam utilizar os serviços
providos. Os modelos de implantação da computação em nuvem podem ser
divididos em nuvem pública, privada, comunidade e híbrida (Mell & Grance, 2011).
A Figura 6 ilustra a relação entre esses modelos de implantação, que se
diferenciam pela localização onde o serviço está sendo executado e pelo nível de
acesso à infraestrutura.
http://www.teleco.com.br
13
Figura 6: Relação entre os tipos de implantação de computação em nuvem [adaptado de (Loeffler,
2011)].
1.3.1.
Nuvem Privada
No modelo de implantação de nuvem privada, a infraestrutura de nuvem é
utilizada exclusivamente por uma organização. A nuvem pode ser detida,
gerenciada e operada pela própria organização, por terceiros ou uma combinação
destes; e está localizada dentro da empresa.
1.3.2.
Nuvem Privada Hospedada
Este modelo se difere do anterior, nuvem privada, ao fazer uso de uma
infraestrutura de nuvem situada remotamente.
1.3.3.
Nuvem Pública
No modelo de implantação de nuvem pública, a infraestrutura da nuvem é
disponibilizada para o público em geral, sendo acessada por qualquer usuário que
conheça a localização do serviço. A infraestrutura pode ser detida, gerenciada e
operada por uma organização empresarial, acadêmica, governamental ou alguma
combinação entre estes. A infraestrutura fica localizada internamente no provedor.
http://www.teleco.com.br
14
1.3.4.
Nuvem Comunidade
No modelo de implantação de nuvem comunidade, a infraestrutura de
nuvem é compartilhada por várias organizações e oferece suporte a uma
comunidade específica que possui as mesmas preocupações (por exemplo, missão,
requisitos de segurança, política e considerações de conformidade). Este tipo de
modelo de implantação pode existir localmente ou remotamente e pode ser detida,
gerenciada e operada por uma ou mais organizações pertencentes à comunidade,
por terceiros ou alguma combinação destes.
1.3.5.
Nuvem Híbrida
No modelo de implantação de nuvem híbrida, existe uma composição de
duas ou mais nuvens – que podem ser privadas, comunidade ou pública – e que
permanecem como entidades exclusivas, mas que são agrupadas por tecnologia
padrão ou proprietária, possibilitando a portabilidade de dados e de aplicativos
(por exemplo, extrapolação de nuvem para balanceamento de carga entre nuvens).
1.4.
Desafios da Computação em Nuvem
A definição do modelo de Computação em Nuvem é uma área ainda em
desenvolvimento e, portanto, existe uma série de desafios e preocupações que
devem ser levados em consideração no momento da escolha por utilizar ou não
este modelo. Alguns desses desafios e preocupações são apresentados a seguir.
1.4.1.
Segurança
Segurança é uma preocupação significativa para diretores de empresas de
TI ao contratar um provedor de serviços na nuvem. Segurança física por
intermédio do isolamento da infraestrutura é um requisito crítico para nuvens
privadas, mas nem todos os usuários de serviços na nuvem necessitam desse nível
de investimento. Para aqueles usuários, o provedor da nuvem deve garantir
isolamento dos dados e disponibilidade da aplicação por intermédio do isolamento
de múltiplos inquilinos. Além disso, autenticação e autorização dos usuários e
criptografia do caminho da rede do usuário até o provedor da aplicação são outros
fatores a serem considerados.
http://www.teleco.com.br
15
No que diz respeito à confiabilidade e responsabilidade, o provedor deve
fornecer recursos confiáveis, especialmente se a computação a ser realizada é
crítica e deve existir uma delimitação de responsabilidade entre o provedor e o
usuário (Sousa, Moreira, & Machado, 2009). Dessa forma, devem existir (ou devese ter) meios para impedir o acesso não autorizado a informações e que os dados
sensíveis permaneçam privados, pois estes podem ser processados fora das
empresas (Agrawal, Abbadi, Emekci, & Metwally, 2009). Em geral, cada sistema
tem seu próprio modelo de dados e política de privacidade dos dados (Cooper, et
al., 2009). Quando ocorre a movimentação de dados entre sistemas, deve-se
garantir a privacidade dos dados - mesmo com a mudança entre modelo de dados e que aplicações multi-inquilino acessem dados de outras aplicações apenas de
acordo com as políticas definidas.
1.4.2.
Disponibilidade
A disponibilidade de serviços permite aos usuários acessar e utilizar a
nuvem onde e quando desejarem. Como geralmente os serviços são
disponibilizados pela Internet podem ocorrer atrasos e sistemas indisponíveis. Os
ambientes de computação em nuvem devem prover alta disponibilidade. Para
tanto, esses podem utilizar técnicas de balanceamento de carga dinâmico e
composição de nuvens de forma a atender às necessidades dos usuários. Por
exemplo, podem-se construir aplicações altamente disponíveis com a implantação
de duas ofertas de nuvem diferentes. Caso uma das nuvens falhe, a outra nuvem
continua a apoiar a disponibilidade das aplicações (Kuyoro, Ibikunle, & Awodele,
2011).
1.4.3.
Escalabilidade e Desempenho
A escalabilidade foi uma das características fundamentais que conduziram
ao surgimento da computação em nuvem (Sousa, Moreira, & Machado, 2009). As
nuvens de serviços e as plataformas oferecidas podem ser dimensionadas levando
em consideração diversos fatores, tais como localizações geográficas e
desempenho. Apesar das limitações de rede e segurança, as soluções de
computação em nuvem devem fornecer elevado desempenho, além de serem
flexíveis para se adaptar diante de uma determinada quantidade de requisições.
http://www.teleco.com.br
16
Como os ambientes de computação em nuvem possuem acesso público, é
imprevisível e variável a quantidade de requisições realizadas, tornando mais
complexo fazer estimativas e garantias de QoS.
1.4.4.
Preocupações regulatórias e legais
Estes são fatores que se tornam importantes, especialmente nos casos
envolvendo armazenamento de dados na nuvem. Neste caso, poderia acontecer de
as leis de onde os dados estão de fato armazenados não serem as leis de jurisdição
onde a organização está localizada. As leis de proteção e privacidade de dados em
alguns casos podem requerer que dados privados permaneçam em território
nacional e em alguns casso que esses dados não possam ser hospedados fora da
empresa. Alguns fornecedores já oferecem serviços especializados que levam em
consideração tais requisitos, como serviços com datacenters com localização
definida e políticas de acesso especiais.
1.4.5.
Acordos de Nível de Serviço – Service Level Agreements (SLAs)
Embora os usuários de serviços na nuvem não tenham controle sobre a
infraestrutura de base, eles necessitam da garantia da qualidade de serviço,
confiabilidade e desempenho dos recursos contratados, visto que a migração
envolve transferir funções vitais de seus negócios para a nuvem. Em outras
palavras, torna-se vital para os usuários obter garantias de entrega de serviço dos
provedores. Tipicamente, essas garantias são providas por SLAs negociados entre
os provedores e clientes.
http://www.teleco.com.br
17
Tema Principal: Teste seu entendimento
1. Qual das alternativas abaixo não apresenta uma característica essencial da computação
em nuvem?
( ) Escalabilidade.
( ) Elasticidade.
( ) Serviços sob demanda.
( ) Baixa disponibilidade.
2. Quanto ao modelo de implantação, qual a principal característica do modelo de Nuvem
Privada?
( ) Utilizada por um grupo de organizações.
( ) Utilizada pelo público em geral.
( ) Composta por uma mescla de uma ou mais nuvens.
( ) Utilizada internamente por uma única organização.
3. No tocante à virtualização é incorreto afirmar que:
( ) É uma ferramenta valiosa para os serviços de computação em nuvem.
( ) Aumenta significativamente a resiliência do serviços utilizados.
( ) É estritamente necessária para a computação em nuvem.
( ) Facilita a resolução de problemas envolvendo a escalabilidade das soluções.
http://www.teleco.com.br
18
Download

PDF