Você está na página 1de 10

INSTITUTO DE CAPACITAÇÃO BUSINESS SCHOOL BRASIL - BSBR

Cainan Teixeira Alves


cainan.teixeira15@gmail.com
MBA em Redes de Computadores e Computação em Nuvem

Relato de Experiência: Uso da computação em nuvem em


projetos de software

Orientador(a): Dr. Jose Bezerra da Silva Filho

Fortaleza–CE
2023
1

1
Introdução

O tema computação em nuvem surgiu devido ao aprofundamento nos estudos relacionados


ao escalonamento de recursos computacionais, mas seu uso é tão antigo quanto à própria internet.
O termo nuvem é uma metáfora para os ambientes reservados aos servidores que armazenam e
processam os dados que trafegam pela rede (VELTE; VELTE; ELSENPETER, 2012).
Essa tecnologia disponibiliza uma gama de possibilidades para utilização, cuja finalidade
do usuário é o ponto determinante para sua utilidade, que varia desde a alocação dinâmica
de recursos computacionais para seu uso como infraestrutura, até a utilização de serviços e
aplicações prontas para o uso.
Com a evolução da dessa tecnologia, a previsão é de que as empresas deixem de operar no
modo on-premise, ou seja, com servidores locais, e passem a trabalhar com serviços provenientes
de plataformas em cloud. Os principais fatores que levam a essa mudança são o custo e a
flexibilidade com alocação de recursos computacionais.
As empresas que ainda funcionam com servidores locais pagam pelos recursos alocados
mesmo quando seu uso é mínimo, ou seja, não há uma dinamicidade com relação à demanda de
memória e processamento. É baseado nesse contexto que este trabalho tem como objetivo relatar
uma visão prática da computação em nuvem, realizando uma comparação entre o uso de seus
serviços de cloud e a utilização de um servidor local.
O restante do artigo está distribuído da seguinte forma: a seção 2 apresenta um referencial
teórico acerca da computação em nuvem para dar o devido embasamento para a prática relatada.
As seções 3 e 4 apresentam, respectivamente, o método utilizado para este estudo e a discussão
dos resultados obtidos com a experiência relatada. Por fim, a seção 5 descreve a conclusão e
possíveis propostas de trabalhos futuros.
2

2
Computação em Nuvem

Computação em Nuvem, ou Cloud Computing, pode ser considerada uma base de recursos
computacionais que servem como suporte para as principais tecnologias emergentes, como
Internet das Coisas e Big Data.

A computação em nuvem é o fornecimento de serviços de computação, in-


cluindo servidores, armazenamento, bancos de dados, rede, software, análise e
inteligência, pela Internet (“a nuvem”) para oferecer inovações mais rápidas,
recursos flexíveis e economias de escala (Microsoft Azure, 2021).

Velte, Velte e Elsenpeter (2012) afirmam que o nome computação em nuvem é uma
metáfora da internet, a qual é representada em diagramas de rede como uma nuvem, e o ícone da
nuvem representa "tudo isso e mais um pouco"para que a rede por completo funcione, é como se
fosse um "etc"para o restante do mapa da solução.
Os benefícios e vantagens da computação em nuvem favorecem, além das empresas,
os usuários comuns ao redor do mundo. Até um tempo atrás todos os nossos dados eram
armazenados em dispositivos físicos como CD, pendrive, HD, dentre outros. Mas com o advento
de serviços de armazenamento em nuvem, tem sido cada vez mais fácil guardar informações
como documentos, fotos e vídeos em aplicações da internet.(DataRain, 2021)
A computação em nuvem é dividida em três principais modelos de serviço, são eles:
Infrastructure as a service, Platform as a service e Software as a service.

• Infrastructure as a service - IaaS: É a camada mais profunda da nuvem, seu principal


objetivo é desenhar um ambiente sob demanda. Este modelo de serviço é destinado a
uma equipe de tecnologia da informação, que normalmente busca terceirizar recursos
computacionais como processadores, memória e armazenamento. Neste caso, todos os
outros recursos necessários para o funcionamento de um sistema são por conta própria da
equipe, tais como o S.O, compiladores e banco de dados. (CARISSIMI, 2015)
Capítulo 2. Computação em Nuvem 3

• Platform as a service - PaaS: Este modelo de serviço é destinado aos desenvolvedores de


aplicações, ele pode oferecer um ambiente completo composto por recursos necessários
para o desenvolvimento de software, tais como compiladores, depuradores, bibliotecas e
sistemas operacionais. (CARISSIMI, 2015)

• Software as a service - SaaS: Este modelo basicamente consiste no aluguel de uma aplicação
já operacional, pronta para ser utilizada, sem ter que passar pelas fases de configuração
do ambiente ou desenvolvimento do software. A forma de acesso ao serviço é através da
internet, normalmente por meio de um navegador. Exemplos deste tipo de serviço são
Hotmail, Google Drive, DropBox, dentre outros. (CARISSIMI, 2015)

Existem dois modelos de implantação de nuvem que podem ser utilizados para prover
esses tipos de serviço, são eles: Nuvem Privada e Nuvem Pública.

• Nuvem Privada: Neste modelo, todos os recursos são alocados a um único usuário, de
forma que toda a infraestrutura seja operada por quem contratou. Segundo Carissimi
(2015), aqui a organização arca com todo o custo da plataforma, incluindo a infraestrutura
física de energia, refrigeração, e de sua manutenção e gerenciamento, ou, se for o caso, o
custo de terceirização de todos esses elementos. As vantagens de se usar este modelo são
maior segurança, flexibilidade e possibilidade de personalização, sendo o custo sua maior
desvantagem. (DocuSign, 2019)

• Nuvem Pública: Na núvem pública, toda a infraestrutura é compartilhada pelo fornecedor,


o que significa que os custos para o usuário final são mais baixos, e até mesmo gratuitos
em alguns casos. Por outro lado, o nível de segurança é bem menos flexível, já que fica por
conta do fornecedor do serviço. (DocuSign, 2019)

2.0.1 Características
Algumas tecnologias se fazem necessárias para que seja possível prover os serviços
de computação em nuvem de forma transparente para o usuário. Dentre estas, podem-se citar
hardwares com capacidade de virtualização, tecnologias de internet, como web 2.0, e computação
distribuída, em especial a utility e grid computing. (PEDROSA; NOGUEIRA, 2011)
A convergência dessas tecnologias resultam em um conjunto de características essenciais
para o bom funcionamento da computação em nuvem.

• Elasticidade e Escalonamento: há a ilusão de que existem recursos computacionais infinitos


disponíveis para o uso. Dessa forma, da perspectiva do usuário, fica razoável pensar que a
nuvem é capaz de fornecer recursos a qualquer quantidade e a qualquer momento. Estes
recursos adicionais podem ser providos ou retidos, de forma automática, de acordo com o
aumento ou diminuição da demanda.
Capítulo 2. Computação em Nuvem 4

• Self-service (Autoatendimento): para que o consumidor dos serviços de nuvem possa


adquirir recursos computacionais de acordo com suas demandas e de forma instantânea,
é necessário que as nuvens permitam o acesso em autoatendimento. Dessa maneira, os
usuários podem solicitar, customizar, pagar e utilizar os serviços sem intervenção humana.

• Faturamento e medição por uso: o modelo de despesa utilizado na computação em nuvem


é baseado na demanda de recursos. O usuário pode solicitar recursos a medida que surgem
as necessidades, pagando apenas pelo consumo e pela quantidade consumida, ao invés de
investir em datacenters e servidores antes de saber sua utilização. Dessa forma, o usuário
economiza dinheiro em tecnologia.

• Amplo acesso à rede: os recursos devem estar disponíveis globalmente, através da rede, e
podem ser acessados por diferentes plataformas, como smartphones, laptops, PDAs, entre
outros. Dessa forma, o usuário pode desfrutar de um uso com menor latência e melhor
experiência, com maior facilidade e custo baixo.

• Customização: o atendimento a diferentes usuários, com necessidades distintas, requer a


capacidade de personalização dos recursos, proporcionando uma experiência única para
cada um.
5

3
Método

Trata-se de um estudo do tipo relato de experiência, realizado a partir da vivência no


trabalho como desenvolvedor de software, atuando em atividades relacionadas à computação
em nuvem. O relato de experiência é uma ferramenta da pesquisa descritiva que apresenta uma
reflexão sobre uma ação ou um conjunto de ações que abordam uma situação vivenciada no
âmbito profissional de interesse da comunidade científica.
Tal experiência ocorreu na empresa Rav Tecnologia, no município de Fortaleza/CE,
no período de janeiro de 2019 a janeiro de 2023. As atividades realizadas no decorrer deste
período são tarefas de projetos reais de desenvolvimento de software. O presente trabalho utilizou
levantamento bibliográfico. Foram usados livros e artigos a respeito da computação em nuvem
para dar o devido embasamento teórico para as práticas vivenciadas.
6

4
Resultados e Discussão

No início das atividades como desenvolvedor de software dentro da empresa, recebi a


missão de continuar desenvolvendo e realizando manutenções em um sistema de integração de
e-commerce. Percebi que o mesmo estava sendo mantido em servidor local, dentro da empresa
cliente, que no caso é a Sapataria Nova, especializada no comércio de calçados.
A integração continha poucas jobs trabalhando, isso fazia com que o sistema rodasse de
forma rápida e eficaz. Entretanto, com o passar do tempo o sistema cresceu e consequentemente
o uso de memória por parte do servidor aumentou proporcionalmente, devido ao número de
requisições simultâneas que a integração fazia para atualizar o e-commerce.
Observei que havia uma forma de melhorar a performance sem a necessidade de alocar
mais recursos, que custaria mais caro para o cliente. A manipulação das jobs seria uma forma
mais simples de tentar resolver o caso, alterando a frequência em que cada uma trabalhava. Dessa
maneira, as requisições passaram a ser executadas em tempos diferentes fazendo com que a
memória do servidor conseguisse suportar.
Essa mudança resolveu bem o problema até que o cliente solicitasse uma ampliação da
integração, novas jobs foram criadas e a memória do servidor voltou a ficar topada. A única
solução viável neste momento seria a alocação de mais memória, aumentando os custos por parte
do cliente. Esta solução parece ser eficaz, porém ela não é eficiente. O gasto com o acréscimo de
memória no servidor será sempre o mesmo independente de quanto esteja sendo usada, seja 20%
ou 90% da capacidade total.
Ao término das atividades com a integração, me foi dado a responsabilidade de desenvolver
o back-end do aplicativo da Sapataria Nova. Este seria aplicado em ambiente de nuvem, utilizando
os serviços de cloud da AWS (Amazon Web Services).
Ao concluir a implementação da aplicação, uma instância do Amazon Elastic Compute
Cloud (EC2) foi criada para a realização do deploy. A inclusão do serviço Elastic Load Balancing
Capítulo 4. Resultados e Discussão 7

para distribuir a carga entre as zonas de disponibilidade, tornou a aplicação altamente disponível,
graças ao escalonamento automático dos recursos. Esta solução além de eficaz foi também
eficiente, pois a capacidade de escalar sob demanda (para mais ou para menos) tornou o custo
com memória e processamento altamente flexível, gastando apenas com o que for utilizado.
Diante dos resultados obtidos tanto com a integração quanto com a nova aplicação,
foi constatado que o servidor on-premise atende bem quando o volume de acessos é estável,
não havendo ociosidade com relação ao uso de recursos. Quando a aplicação possui demanda
flexível a melhor escolha é utilizar serviços de cloud, pois o custo varia proporcionalmente às
necessidades.
8

5
Considerações Finais
9

Referências

CARISSIMI, A. Desmistificando a computação em nuvem. ROSE, Cesar de, p. 3–24, 2015.


Citado 2 vezes nas páginas 2 e 3.

DataRain. O que é computação em nuvem? 2021. Disponível em: <https://www.datarain.com.br/


blog/tecnologia-e-inovacao/o-que-e-computacao-em-nuvem/>. Acesso em: 15 jan 2022. Citado
na página 2.

DocuSign. O que é computação em nuvem? 2019. Disponível em: <https://www.docusign.com.


br/blog/tipos-de-cloud-computing>. Acesso em: 29 jan 2022. Citado na página 3.

Microsoft Azure. O que é computação em nuvem? 2021. Disponível em: <https:


//azure.microsoft.com/pt-br/overview/what-is-cloud-computing>. Acesso em: 22 nov 2021.
Citado na página 2.

PEDROSA, P. H.; NOGUEIRA, T. Computação em nuvem. Acesso em, v. 6, 2011. Citado na


página 3.

VELTE, A. T.; VELTE, T. J.; ELSENPETER, R. Cloud computing. computação em nuvem: uma
abordagem prática. 1. ed. Rio de Janeiro: Alta Books, 2012. Citado 2 vezes nas páginas 1 e 2.

Você também pode gostar