Tecnologias de suporte à nuvem

A computação em nuvem não é uma tecnologia específica, mas sim um modelo de negócio no qual recursos de TI são ofertados como serviços. Porém, quais são as novas tecnologias ou quais as tecnologias existentes que evoluíram para viabilizar os serviços em nuvem? Nesta seção, faremos uma discussão sobre as tecnologias fundamentais que permitem as características próprias de serviços em nuvem, como a elasticidade rápida e o amplo acesso.

Vamos retomar o caso da empresa de comércio eletrônico em que você é analista de TI responsável pela migração do sistema de vendas para um ambiente de nuvem pública. O sistema consiste em uma aplicação web cuja implementação fez uso de um framework que já foi descontinuado. Isso significa que não há novas atualizações desse framework e, portanto, ele caiu em desuso. O sistema inclui também um banco de dados e requer integração com uma aplicação de terceiros credenciada para efetivação dos pagamentos eletrônicos. Como líder da equipe, seu papel é definir a estratégia de migração do sistema para a nuvem. Você deve escolher o modelo de serviço e as tecnologias para hospedar a aplicação. Nesse contexto, surgem questões importantes como: qual é o melhor modelo de serviço para a aplicação web de comércio eletrônico? Como lidar com a dependência em relação a um sistema legado, isto é, ao framework escolhido quando do desenvolvimento da aplicação? Como essas escolhas podem afetar a replicação do sistema de comércio eletrônico para questões de escalabilidade e desempenho? Sua responsabilidade é elaborar um parecer técnico sobre a estratégia inicial de migração. Você deve entregar um documento escrito que determina qual deve ser o modelo de serviço e a tecnologia de virtualização adotados para implantação da aplicação no ambiente de computação em nuvem. O documento deve conter uma justificativa técnica para a escolha.

A fim de ajudá-lo a resolver esse desafio, esta seção vai abordar a evolução das tecnologias que contribuíram para o advento da computação em nuvem. Vamos discutir modelos de computação distribuída predecessores dos serviços sob demanda na nuvem. Em seguida, descreveremos as duas principais abordagens de virtualização: máquinas virtuais e contêineres. Por fim, vamos ressaltar o papel das tecnologias web no sentido de facilitar a integração entre aplicações distribuídas. A compreensão da evolução dessas tecnologias é muito importante para avaliar e comparar as soluções oferecidas pelos provedores. Um estudo minucioso desses tópicos vai lhe proporcionar as condições necessárias para resolver o problema proposto. Bom estudo!

Computação em nuvem

Atualmente, a computação em nuvem tem um papel fundamental na indústria de TI, a expectativa é que o mercado de serviços em nuvem continue crescendo nos próximos anos. O estudo reportado na revista Forbes (COLUMBUS, 2019) estima um crescimento médio mundial de 12,6% ao ano até 2022, com destaque para serviços IaaS, cuja previsão de crescimento para 2019 é de 27,5% alcançando um volume total de quase 40 bilhões de dólares.

Contexto histórico

Você sabe como foi a evolução até a consolidação do paradigma de computação em nuvem? Dada a sua importância no mercado de TI, é importante entender as tecnologias que viabilizaram os serviços nessa área.

• 1990: Conforme breve histórico descrito em (ERL; PUTTINI; MAHMOOD, 2013), as primeiras iniciativas disponíveis na Internet, para provisionamento remoto de recursos de TI como serviços, surgiram no final dos anos 90. O primeiro caso de sucesso foi o sistema de CRM (Customer Relationship Management) (SALESFORCE, 2019) da empresa Salesforce, caracterizado como o primeiro serviço SaaS de sucesso para o mundo corporativo. 

• 2002: Alguns anos depois, em 2002, a Amazon lançaria a plataforma Amazon Web Services (AWS) (AMAZON, 2019) que, atualmente, é a líder no mercado de provedores de nuvens públicas para serviços IaaS (DIGNAN, 2019). 

• 2006: O termo computação em nuvem foi usado comercialmente somente em 2006, com o lançamento do serviço IaaS da AWS denominado EC2 (Elastic Compute Cloud) (AMAZON, 2019b). 

• 2009: O primeiro serviço PaaS de destaque foi o Google App Engine criado em 2009 (GOOGLE, 2019). 

Além dos aspectos históricos, precisamos compreender as tecnologias precedentes, que viabilizaram os modelos de serviços em nuvem. Nesse contexto, é relevante a definição de computação em nuvem como uma forma de computação distribuída que introduziu modelos de provisionamento remoto de serviços escaláveis (ERL; PUTTINI; MAHMOOD, 2013). Sob essa perspectiva, a computação em nuvem representa uma inovação em relação a outras formas de computação distribuída, entre as quais podemos destacar: computação em cluster e computação em grade.

Cluster

Um cluster é um conjunto de computadores similares interconectados por uma rede de alto desempenho (TANENBAUM; STEEN, 2008). O desenvolvimento das tecnologias utilizadas na computação em cluster contribuíram principalmente para o avanço em mecanismos de balanceamento de carga e de recuperação de falhas que também são usados nos provedores de computação em nuvem. O que caracteriza a computação em cluster é a homogeneidade, já que todos os computadores do cluster devem ter a mesma plataforma (sistema operacional e outros componentes de software) (TANENBAUM; STEEN, 2008).

Computação em grade

Por outro lado, a computação em grade consiste em reunir recursos computacionais de diferentes organizações, mesmo que as tecnologias de hardware e software sejam diferentes (TANENBAUM; STEEN, 2008). Dessa forma, uma grade computacional envolve sistemas computacionais heterogêneos e geograficamente dispersos. As tecnologias de computação em grade também influenciaram o desenvolvimento de novos mecanismos que viabilizaram a computação em nuvem, em particular, tecnologias relacionadas com portabilidade das aplicações e gerenciamento de infraestrutura (ERL; PUTTINI; MAHMOOD, 2013).

Virtualização

Os mecanismos usados em clusters e grades computacionais serviram de base para viabilizar os serviços em nuvem. Além disso, o crescimento no uso desses serviços também foi fomentado pelo aprimoramento do desempenho das tecnologias de rede, pois o acesso aos serviços é feito através da Internet.

No entanto, você sabe qual foi a evolução tecnológica chave para o advento da computação em nuvem?

Foram os avanços nas tecnologias de virtualização! Como explicado em (ERL, 2013), os softwares de virtualização permitem a criação de múltiplas instâncias lógicas de um recurso computacional de forma que esse recurso possa ser compartilhado entre diversos usuários. O conceito de virtualização  não é recente, mas, somente com os ganhos em termos de desempenho e confiabilidade das ferramentas de virtualização modernas é que foi possível viabilizar características como a elasticidade rápida e self-service sob demanda, próprias dos serviços de computação em nuvem. 

Façam a Cruzada abaixo e descubram a sua CHAVE SECRETA

Postagens mais visitadas deste blog

Benefícios dos Modelos PaaS

Fundamentos da Computação em Nuvem

Segurança de Acesso ao Software na Computação em Nuvem