Infraestruturas em Nuvem: qual modelo de implantação escolher?

Leonard Keinrock, um dos cientistas chefe da ARPANET, precursora da internet, afirmou: “A partir de agora, redes de computadores estão ainda na sua infância, mas a medida que crescem e tornam-se sofisticadas, nós iremos provavelmente ver a disseminação do ’computador utilitário’ que, como telefones e energia elétrica, irão servir casas e escritórios por todo país[1]. Essa visão de computação utilitária baseada no modelo de fornecimento de serviços antecipa a transformação massiva de toda a indústria de computação nos últimos anos, em que os serviços de computação estarão prontamente disponíveis sob demanda, como os outros serviços utilitários disponíveis atualmente.

Ainda nesse contexto, os profissionais de desenvolvimento de software estão enfrentando inúmeros novos desafios para criar software para milhões de consumidores usarem como serviço ao invés de executarem em seus computadores pessoais. E ao longo dos anos, o surgimento de avanços tecnológicos como processadores multicore e ambientes de computação em rede como Cluster Computing [2], Grid Computing [3], Computação P2P [4] e o mais recentemente Computação em Nuvem [5], tornam esse objetivo cada vez mais factível.

sla-service-level-agreementEstes serviços de computação precisam ser altamente confiáveis, escaláveis e dinâmicos para suportar acesso ubíquo e fornecer a possibilidade de composição de outros serviços [6]. Além disso, consumidores devem ter a capacidade de determinar o nível de serviço requerido através de parâmetros de QoS (Quality of Service) e SLA (Service Level Agreement) [7].

Computação em Nuvem (Cloud Computing) foi o último desses paradigmas a emergir. Como principal benefício está a promessa de entregar serviços confiáveis através de uma nova geração de datacenters que são construídos utilizando tecnologias de virtualização de processamento e armazenamento e por meio de uma metodologia capaz de reduzir custos através de uma abordagem onde os recursos computacionais são pagos quando utilizados. Consumidores estarão habilitados a acessar aplicações e dados da nuvem em qualquer lugar do mundo e sob demanda. Em outras palavras, a nuvem se apresenta como um ponto de acesso único para todas as necessidades de computação dos consumidores.

No ultimo artigo tratamos dos modelos de serviço para Computação em Nuvem [8] e antes dele iniciamos as discussões sobre a arquitetura da Computação em Nuvem [5]. Mas como os serviços de computação em nuvem são entregues para os consumidores? Ou seja, quais são os modelos de implantação de computação em nuvem conhecidos?

Um modelo de implantação de nuvem especifica como uma infraestrutura de nuvem é construída, gerenciada e acessada.

cloud-private-comunity-public-hybridDo ponto de vista dos modelos de implantação, a Computação em Nuvem se classifica em diferentes vertentes, dentre as quais de acordo com o NIST [9] destacam-se: Nuvens Privadas, Comunitárias, Públicas e Híbridas.

Nuvens Privadas oferecem a ideia de fornecer serviços para a própria organização, sendo operadas e utilizadas apenas pela mesma. Existem ainda duas variantes da Nuvem Privada, a On-premise e a Off-premise (ou Hospedada Externamente). Na on-premise a infraestrutura de nuvem é implantada por uma organização em seu(s) datacenter(s), dentro de suas instalações, possibilitando desta forma o controle completo sobre a infraestrutura e os dados. Já na off-premise a implementação da nuvem é terceirizada para um provedor externo com a nuvem hospedada em instalações de um prestador e os consumidores se conectam a ele através de uma rede segura, onde as políticas de acesso isolam os recursos de nuvem de outros inquilinos.

As Nuvens Comunitárias baseiam-se um ambiente de Computação em Nuvem compartilhado entre organizações com interesses em comum. Da mesma forma, e conceito, que a Nuvem Privada, as Nuvens Comunitárias podem ser on-premise ou off-premise.

Já́ as Nuvens Públicas comportam um modelo que disponibiliza ambientes para o público em geral e são normalmente comercializadas por corporações com grande poder de armazena- mento e processamento.

E, finalmente, as Nuvens Híbridas tratam da composição entre dois ou mais ambientes de estruturas distintas (i.e. privadas e públicas) gerando uma única nuvem. Alguns exemplos do uso de Nuvens Híbridas são as seguintes:

Exemplo Descrição
Cloud bursting Provisionamento de recursos por um tempo limitado a partir de uma nuvem pública para lidar com picos de trabalho
Hospedagem de aplicações Web Hospedagem de aplicações menos críticas, tais como aplicações de comércio eletrônico na nuvem pública
Migração de aplicações Migrar pacotes de aplicações padrão tais como serviço de e-mail
Desenvolvimento e Teste de aplicações Desenvolvimento e Teste de aplicações em nuvens públicas antes do seu lançamento para o mercado

Além disso, a Ustore concebeu a criação de um outro tipo de nuvem computacional, que denominamos de Micro Nuvem. Esta nuvem usualmente é uma instância “menor” da nuvem principal e existe para possibilitar o trabalho remoto sem conectividade, por exemplo. Cenário este comum para a utilização de Nuvens Móveis [10, 11] onde momentaneamente não existe uma conexão que possibilite ter acesso a todos os dados e serviços disponíveis na nuvem principal.

 

Referências:

[1] Leonard Kleinrock, An Internet vision: the invisible global infrastructure, Ad Hoc Networks, Volume 1, Issue 1, July 2003, Pages 3-11, ISSN 1570-8705, http://dx.doi.org/10.1016/S1570-8705(03)00012-X.

[2] Chee Shin Yeo, Rajkumar Buyya, Hossein Pourreza, Rasit Eskicioglu, Peter Graham, and Frank Sommers, Cluster Computing: High-Performance, High-Availability, and High- Throughput Processing on a Network of Computers, Handbook of Nature-Inspired and In- novative Computing, Springer US, 2006, pp. 521–551, http://link.springer.com/chapter/10.1007%2F0-387-27705-6_16.

[3] Frederic Magoules, Jie Pan, Kiat-An Tan, and Abhinit Kumar, Introduction to Grid Computing (Chapman & Hall/CRC Numerical Analysis and Scientific Computing Series), first ed., CRC Press, 2009, https://www.crcpress.com/Introduction-to-Grid-Computing/Magoules-Pan-Tan-Kumar/9781420074062.

[4] Quang Hieu Vu, Mihai Lupu, and Beng Chin Ooi, Peer-to-Peer Computing, Springer Berlin Heidelberg, Berlin, Heidelberg, 2010, http://link.springer.com/book/10.1007%2F978-3-642-03514-2.

[5] “Por que a arquitetura em Nuvem da Ustore é única no Mercado?”, Publicado em 06-Nov-2015, URL: https://ustore.com.br/computacao-em-nuvem/por-que-a-arquitetura-em-nuvem-da-ustore-e-unica-no-mercado/

[6] Schahram Dustdar and Wolfgang Schreiner, A survey on web services composition, International Journal of Web and Grid Services 1 (2005), no. 1, 1, http://dx.doi.org/10.1504/IJWGS.2005.007545.

[7] Diana Berberova and Boyan Bontchev, Design of service level agreements for software services, Proceedings of the International Conference on Computer Systems and Technologies and Workshop for PhD Students in Computing – CompSysTech ’09 (New York, New York, USA), ACM Press, 2009, p. 1, http://dx.doi.org/10.1145/1731740.1731769.

[8] “Arquitetura de Nuvem: Modelos de Serviço”, Publicado em DD-MM-AAA, URL: https://ustore.com.br/computacao-em-nuvem/arquitetura-de-nuvem-modelos-de-servico/

[9] The NIST Definition of Cloud Computing, NIST Report number SP 800-145, September 2011, http://csrc.nist.gov/publications/PubsSPs.html – 800-145.

[10] Niroshinie Fernando, Seng W. Loke, and Wenny Rahayu, Dynamic Mobile Cloud Computing: Ad Hoc and Opportunistic Job Sharing, 2011 Fourth IEEE International Conference on Utility and Cloud Computing, IEEE, December 2011, pp. 281–286, http://dx.doi.org/10.1109/UCC.2011.45.

[11] S. S. Qureshi, T. Ahmad, and K. Rafique, Mobile cloud computing as future for mobile applications – Implementation methods and challenging issues, 2011 IEEE International Conference on Cloud Computing and Intelligence Systems, IEEE, September 2011, pp. 467–471, http://dx.doi.org/10.1109/CCIS.2011.6045111.