Buscar

2ac2bdcf72fa4c6c81de73d8e46fa808

Prévia do material em texto

Alex Fabiano Garcia 
 
 
 
 
 
 
 
 
Precificação para aplicação hospedada em nuvem: uma abordagem 
ajustada ao consumo do usuário 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
São José do Rio Preto 
2018 
 
 
 
 
 
Alex Fabiano Garcia 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Precificação para aplicação hospedada em nuvem: uma abordagem 
ajustada ao consumo do usuário 
 
 
 
 
Trabalho de Conclusão de Curso (TCC) 
apresentado como parte dos requisitos para 
obtenção do título de Bacharel em Ciências de 
Computação, junto ao Departamento de Ciências 
de Computação e Estatística, do Instituto de 
Biociências, Letras e Ciências Exatas da 
Universidade Estadual Paulista “Júlio de 
Mesquita Filho”, Câmpus de São José do Rio 
Preto. 
 
Orientador: Prof.ª Dr.ª Adriana Barbosa Santos 
 
 
 
 
 
 
 
 
 
 
 
São José do Rio Preto 
2018 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Alex Fabiano Garcia 
 
 
 
 
 
 
 
 
 
 
Precificação para aplicação hospedada em nuvem: uma abordagem 
ajustada ao consumo do usuário 
 
 
Trabalho de Conclusão de Curso (TCC) 
apresentado como parte dos requisitos para 
obtenção do título de Bacharel em Ciências de 
Computação, junto ao Departamento de Ciências 
de Computação e Estatística, do Instituto de 
Biociências, Letras e Ciências Exatas da 
Universidade Estadual Paulista “Júlio de 
Mesquita Filho”, Câmpus de São José do Rio 
Preto. 
 
 
 
 
 
 
 
Comissão Examinadora 
 
Prof.ª Dr.ª Adriana Barbosa Santos 
Unesp - São José do Rio Preto 
Orientador 
 
Prof. Dr. Adriano Mauro Cansian 
Unesp - São José do Rio Preto 
 
Prof. Dr. Carlos Roberto Valêncio 
Unesp - São José do Rio Preto 
 
 
 
São José do Rio Preto 
30 de novembro de 2018 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Àqueles que apesar de todas as adversidades sempre 
acreditaram que eu seria capaz de atingir meus objetivos. 
 
 
 
 
 
 
AGRADECIMENTOS 
 
Agradeço primeiramente aos meus pais, Célio e Dirce, pelo amor incondicional, 
pela educação e por serem exemplos de caráter e conduta, sob qualquer 
circunstância. Por terem criado meus irmãos e a mim com muita simplicidade, mas 
nunca com a falta, além do maior luxo que nos foi oferecido: aprender o lado bom da 
palavra “não”. 
Agradeço à Amanda, minha companheira, pelo apoio, amor e carinho 
proporcionados durante toda a nossa jornada, principalmente nos vários momentos 
adversos que superamos juntos. Ela, mais do que ninguém, compreende as 
dificuldades que superamos para atingir nossos objetivos. 
Aos meus irmãos, Marcelo e Gustavo, por proverem uma amizade que supera 
os nossos laços de sangue. A alegria que partilhamos sempre que nos reunimos é um 
dos combustíveis que me fazem seguir em frente e nunca desistir. 
Gostaria, é claro, de agradecer a todos os excelentes professores da Unesp 
pelo incomensurável conhecimento obtido, especialmente à minha orientadora Prof.ª 
Dr.ª Adriana Barbosa Santos pelo apoio, críticas e orientação sempre que foi 
necessário, mesmo com meus horários conturbados devido ao trabalho. Novamente, 
muito obrigado. 
Por fim, não posso deixar de agradecer aos meus amigos de trabalho, local que 
frequentei desde o início da vida acadêmica e obtive, além do suporte financeiro, 
experiências e conhecimento complementares à faculdade durante este sinuoso 
caminho que trilhei. Cheyla e Adriano, obrigado por acreditarem e confiarem no meu 
trabalho logo no início da minha carreira. Fred, agradeço por todo o suporte, 
orientação e compreensão oferecidos nos últimos anos. Oriol, aprendi contigo que a 
liderança e amizade podem ser muito bem conciliadas. Flávio, obrigado pela 
constante doação de parceria e confiança. Nícolas, obrigado pelos ótimos momentos 
na moradia e trabalho que compartilhamos por muitos anos. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
“Você, eu, ninguém vai bater tão duro quanto a vida. Mas não se 
trata de bater duro, se trata de quanto você aguenta apanhar e 
seguir em frente. O quanto você é capaz de aguentar e continuar 
tentando. É assim que se consegue vencer!” 
(Rocky Balboa, 2006) 
 
 
 
 
 
 
RESUMO 
 
A popularização das aplicações SaaS (Software as a Service) possibilitou às 
empresas desenvolvedoras de software atrair novos clientes e oportunidades de 
negócio, contudo, acentuou as complexidades de controle de faturamento e de 
cobrança pelo serviço disponibilizado. Neste cenário desafiador, a definição de um 
modelo de precificação torna-se ponto chave para o sucesso da solução, sendo o 
consumo realizado pelo usuário um dos fatores determinantes para o cálculo dos 
custos envolvidos. Este trabalho aborda a precificação do software hospedado em 
provedores cloud, descreve ferramentas correlatas, como Stripe e Zuora, softwares 
de gerenciamento de assinatura que oferecem a estas aplicações diversos serviços, 
dentre os quais destaca-se a contabilização de gastos do usuário de forma mais 
customizada. Com base em um levantamento de requisitos, foi desenvolvida a 
Price4SaaS, uma ferramenta alternativa que obtém informações de consumo do 
usuário dinamicamente por meio do consumo das APIs (Application Programing 
Interface) de faturamento das plataformas de nuvem. O código-fonte do artefato 
construído está disponível no repositório do GitHub: 
https://github.com/alexfabgarcia/price4saas. 
 
Palavras-chave: Precificação, Cloud Computing, SaaS, Consumo do Usuário. 
 
 
 
 
 
 
ABSTRACT 
 
The popularization of SaaS (Software as a Service) applications has allowed software 
developer companies to attract new clients and business opportunities, however, it has 
increased the complexities of billing control and charging for provided services. In this 
challenge context, the pricing model definition became a key point for solution success, 
being the user consumption one of the crucial factors for accounting the involved costs. 
This work addresses the pricing of software hosted in cloud providers, it describes 
related tools such as Stripe and Zuora, which are subscription management software 
that offers several services for these cloud-hosted applications, like charging and 
accounting of user expenses. Based on identified requirements, Price4SaaS has been 
developed in order to be an alternative tool that dynamically obtains usage data 
through cloud providers billing APIs (Application Programing Interface). The source 
code for the built-in artifact is available in the following GitHub repository: 
https://github.com/alexfabgarcia/price4saas. 
 
Keywords: pricing, Cloud Computing, SaaS, client usage. 
 
 
 
 
 
 
LISTA DE ILUSTRAÇÕES 
 
Figura 1 - Sequência metodológica do trabalho. ....................................................... 24 
Figura 2 - Itens gerenciados pelo cliente (azul) e pelo provedor de serviços em nuvem 
(cinza). .................................................................................................................... 26 
Figura 3 - Grid® Scoring para softwares de gerenciamento de pagamentos, cobrança 
e faturamento.......................................................................................................... 32 
Figura 4 - Diagrama Entidade-Relacionamento que representa a assinatura de um 
plano de preço de um produto. ............................................................................... 33 
Figura 5 - Comunicação via HTTPS com a aplicação Stripe para reportar consumo 
realizado referente a determinada assinatura. ....................................................... 33 
Figura 6 – Configuração de plano de assinatura baseado em consumo do usuário na 
ferramenta Stripe. ................................................................................................... 34 
Figura 7 - Funcionamento do Rent XP, hospedado na GCP. ....................................36 
Figura 8 – Contexto de funcionamento da Price4SaaS. (1) Contabilização de gastos 
da aplicação SaaS pela plataforma cloud; (2) A ferramenta integra-se com o 
provedor para consumo dos dados. ....................................................................... 38 
Figura 9 - Diagrama contextual de arquitetura da ferramenta Price4SaaS. .............. 42 
Figura 10 - Representação da arquitetura de três camadas. .................................... 43 
Figura 11 - Arquitetura de camadas da ferramenta Price4SaaS. .............................. 45 
Figura 12 - Diagrama de controle de acesso do usuário na Price4Saas. .................. 47 
Figura 13 - Página de autenticação da ferramenta Price4SaaS. ............................... 48 
Figura 14 - Página inicial da ferramenta Price4SaaS. ............................................... 49 
Figura 15 - Página de cadastro de um projeto SaaS na plataforma Price4SaaS. ..... 50 
Figura 16 - Listagem de projetos e ações disponíveis sobre ele na Price4SaaS. ..... 50 
Figura 17 - Configuração da GCP para um projeto na Price4SaaS. ......................... 51 
Figura 18 - Diagrama de sequência da geração de token de acesso à GCP. ........... 52 
Figura 19 - Configuração de estratégias de cobrança dos serviços de nuvem. ........ 54 
Figura 20 - Página de consulta de gastos do projeto em um intervalo de datas. ...... 55 
Figura 21 - Tela de gastos por usuário referentes ao serviço Storage da GCP. ....... 56 
Figura 22 – Gráfico que apresenta os gastos por usuário referentes ao serviço Storage 
da GCP. .................................................................................................................. 56 
Figura 23 - Extratos de gastos consolidados por usuários no período selecionado. . 57 
 
 
Figura 24 - Buckets que contêm as imagens dos imóveis dos usuários da Rent XP. 
Em vermelho são destacados os marcadores com o identificador de cada usuário.
 ............................................................................................................................... 59 
Figura 25 - Gastos da Rent XP sobre serviços da GCP. .......................................... 61 
Figura 26 - Gastos da Rent XP sobre serviços da AWS. .......................................... 61 
Figura 27 - Painel da AWS com fatura da Rent XP no mês de outubro de 2018. .... 62 
Figura 28 - Criação de projeto na GCP. ................................................................... 70 
Figura 29 - Identificador da conta de faturamneto da GCP. ..................................... 71 
Figura 30 - Consulta de Biblioteca de APIs da GCP. ............................................... 72 
Figura 31 - Ativação da API Cloud Billing da GCP. .................................................. 72 
Figura 32 - Criação de conjunto de dados no serviço BigQuery da GCP. ................ 73 
Figura 33 - Informações do conjunto de dados da GCP. .......................................... 74 
Figura 34 - Acesso ao serviço Amazon S3 da AWS. ................................................ 76 
Figura 35 - Criação de bucket no serviço S3 da AWS. ............................................. 77 
Figura 36 - Acesso ao painel de faturamento da AWS. ............................................ 78 
Figura 37 - Exportação de informações de faturamento para o S3. ......................... 78 
Figura 38 - Acesso às credenciais de segurança da AWS. ...................................... 79 
Figura 39 – Listagem de chaves de acesso na AWS. .............................................. 80 
Figura 40 - Chave de acesso criada na AWS. .......................................................... 80 
 
Gráfico 1 - Predominância de provedores de infraestrutura no mercado SaaS em 2017 
(esquerda) e previsão até 2020 (direita). ............................................................... 27 
 
 
 
 
LISTA DE TABELAS 
 
Tabela 1 - Preços de instâncias T2 executando Linux/Unix mostrados para a região 
US East (N. Virginia) AWS. .................................................................................... 28 
Tabela 2 - Máquinas virtuais "standard" na região US East (N. Virginia) GCP. ........ 28 
Tabela 3 - Três camadas principais de um software. ................................................ 43 
Tabela 4 - Tipos de instâncias utilizadas pela Rent XP na GCP e AWS. .................. 59 
Tabela 5 - Tamanho do armazenamento utilizado por cada usuário. ........................ 60 
Tabela 6 - Gastos por usuário da Rent XP para as GCP e AWS no mês de outubro de 
2018 a partir de dados extraídos da Price4SaaS. .................................................. 63 
 
 
 
 
 
 
 
 
SUMÁRIO 
 
CAPÍTULO 1 – INTRODUÇÃO ................................................................................. 22 
1.1 Objetivo Geral ............................................................................................... 23 
1.2 Metodologia ................................................................................................... 23 
CAPÍTULO 2 – FUNDAMENTAÇÃO TEÓRICA ....................................................... 25 
2.1 Modelos de Serviço e provedores em Cloud Computing .......................... 25 
2.2 Custos da Computação em Nuvem ............................................................. 27 
2.3 Modelos de Precificação em SaaS .............................................................. 28 
2.3.1 Precificação SaaS baseada em custos ........................................................... 28 
2.3.2 Precificação SaaS baseado em valor ............................................................. 29 
2.4 Ferramentas de Precificação SaaS por consumo ...................................... 30 
2.4.1 Análise do mercado: Grid® Scoring ................................................................ 31 
2.4.2 Avaliação de ferramentas disponíveis no mercado ........................................ 32 
2.5 Considerações finais .................................................................................... 34 
CAPÍTULO 3 – A FERRAMENTA PRICE4SAAS .................................................... 35 
3.1 Considerações iniciais sobre a ferramenta Price4SaaS ........................... 35 
3.2 Requisitos de sistema .................................................................................. 36 
3.2.1 Pré-requisitos para suporte à plataforma cloud .............................................. 37 
3.2.2 Requisitos funcionais identificados ................................................................. 39 
3.2.3 Requisitos não funcionais desejados .............................................................. 40 
3.3 Desenho de arquitetura de software ........................................................... 41 
3.3.1 Desenho técnico de arquitetura de software ................................................... 44 
3.4 Implementação da ferramenta Price4SaaS ................................................. 46 
3.4.1 Controle de acesso ......................................................................................... 46 
3.4.2 Página inicial ................................................................................................... 48 
3.4.3 Gerenciamento de projetos ............................................................................. 49 
3.4.4 Configuração do provedor de nuvem do projeto ............................................. 50 
3.4.5 Configuração de serviços do projeto............................................................... 53 
3.4.6 Extratos de gastos por período ....................................................................... 54 
3.4.7 Considerações finais ....................................................................................... 57 
CAPÍTULO 4 – TESTES E VALIDAÇÃO DA FERRAMENTA ................................. 58 
4.1 Serviços utilizados pelo Rent XP ................................................................58 
4.2 Informações armazenadas e tráfego de arquivos ...................................... 59 
 
 
4.3 Resultados obtidos ...................................................................................... 60 
4.4 Considerações finais ................................................................................... 63 
CAPÍTULO 5 – CONCLUSÃO ................................................................................. 64 
5.1 Problemas encontrados .............................................................................. 65 
5.2 Trabalhos futuros ......................................................................................... 65 
REFERÊNCIAS ........................................................................................................ 66 
APÊNDICE A – CONFIGURAÇÃO DE PROJETO NA GCP ................................... 70 
APÊNDICE B – CONFIGURAÇÃO DO PROJETO NA AWS .................................. 76 
22 
 
CAPÍTULO 1 – INTRODUÇÃO 
 
Segundo Sommerville (SOMMERVILLE, 2016), o estabelecimento do preço de 
um software se daria, inicialmente, a partir do custo de desenvolvimento somado com 
o lucro desejado. Entretanto, fatores organizacionais, políticos e econômicos, riscos 
associados ao projeto, expectativas do cliente, são fatores comumente considerados 
na elaboração desta tarefa nada trivial. No contexto de aplicações hospedadas em 
plataformas cloud computing1, onde a abrangência do negócio torna-se ainda maior 
(HUANG, et al., 2015), esta missão torna-se ainda mais complicada. 
A crescente adoção da computação em nuvem (GUPTA, et al., 2013; HSU, et 
al., 2014) tornou propícia a disponibilização de aplicações por meio de contratos de 
serviço, popularizando a terminologia Software as a Service (SaaS). De acordo com 
Ojala (2016), este modelo de entrega de software proporciona diversas possibilidades 
de receita, contudo, envolve desafios que dificultam o seu controle e a 
sustentabilidade do negócio, sendo a implantação da precificação um dos principais. 
Com o intuito de suprir essa necessidade de mercado, surgem diversas 
ferramentas especializadas que se integram com as aplicações SaaS para oferecer, 
dentre outras funcionalidades, a criação de planos e cobrança de seus usuários 
baseada em assinatura de serviço, como proposto por Stripe (2018) e Zuora (2018). 
Todavia, no caso de um modelo de precificação baseado no consumo do usuário, há 
necessidade que o software hospedado na nuvem, que se comunica com essas 
ferramentas, tenha implementada toda a lógica de obtenção das métricas de uso. 
Wu, Zhang e Wanchun (2012), baseando-se no modelo de custos adotado 
pelos provedores de computação em nuvem, propuseram uma interessante estratégia 
de precificação personalizada chamada Pricing as a Service (PraaS), fundamentada 
em recursos consumidos pela aplicação, como armazenamento e máquinas virtuais 
em execução. Porém, o estudo pode estar incompleto no que tange a dificuldade de 
obtenção e atualização destes custos. 
 
1 Cloud Computing ou Computação em Nuvem é, de acordo com relatório emitido pelo Instituto Nacional 
de Padrões e Tecnologia (NIST) do Departamento de Comércio dos Estados Unidos (MELL e 
GRANCE, 2011), um modelo que habilita o acesso sob demanda a recursos computacionais (e.g. 
servidores, armazenamento, aplicações e serviços) que podem ser provisionais com baixíssima 
interação do provedor de serviços. 
23 
 
Atualmente, provedores de serviços líderes como Amazon (2018) e Google 
(2018), por exemplo, provêm APIs (Application Programing Interface) que possibilitam 
a consulta de informações sobre os gastos provenientes de um projeto. 
No conjunto de respostas à pergunta “Qual é a sua principal métrica para 
precificação?” da pesquisa realizada pela KBCM (2017), o critério “consumo” 
corresponde a 29%, perdendo apenas para a quantidade de usuários do sistema, com 
36%. Nesta conjuntura, há demanda por ferramentas que auxiliem a precificação de 
aplicações SaaS baseando-se nos gastos dos seus usuários. 
Neste cenário, torna-se oportuno examinar a lacuna existente em relação à 
proposta de uma maneira automatizada de precificação ao usuário final dos SaaS, 
que seja baseada num modelo de cobrança análogo ao que as plataformas de cloud 
computing, de modo que utilize o consumo em sua base de cálculo. 
 
1.1 Objetivo Geral 
 
O objetivo geral deste trabalho é desenvolver uma ferramenta que auxilie a 
formulação da precificação de uma aplicação SaaS, ajustada ao consumo do usuário. 
Mais especificamente, pretende-se: 
• Utilizar métricas fornecidas pela API de cobrança da plataforma em nuvem na 
qual a mesma está hospedada para direcionar a formulação do modelo de 
precificação; 
• Garantir o funcionamento da ferramenta em diferentes plataformas, sendo as 
escolhidas Google Cloud Platform (GCP) e Amazon Web Services (AWS). 
 
1.2 Metodologia 
 
Para detalhar os aspectos metodológicos do trabalho foram definidas as 
seguintes atividades, conforme ilustrado na Figura 1: 
1. Estudo e descrição do estado da arte – destinada a dar mais familiarização 
com o tema, com base em textos clássicos sobre Engenharia de Software, artigos 
contemporâneos e correlatos com Cloud Computing e precificação de SaaS, além da 
identificação e caracterização de ferramentas correlatas disponíveis no mercado. 
2. Estudo de trabalhos relacionados – ferramentas alternativas disponíveis no 
mercado que realizam tarefa similar. 
24 
 
3. Elicitação de requisitos para desenvolvimento da prova de conceito da 
objetivada ferramenta de precificação – são levantados os requisitos necessários para 
o desenvolvimento e teste da ferramenta proposta, incluindo a análise das APIs de 
cobrança disponibilizadas pelas plataformas de nuvem cogitadas. 
4. Implementação da ferramenta – baseia-se nos requisitos previamente 
definidos e de melhorias e correções fomentadas pelos testes realizados, de modo a 
garantir o funcionamento em diferentes plataformas cloud. 
5. Testes e revisões – Com o artefato produzido, um case que se beneficiaria 
da solução proposta foi elaborado para a execução de testes, validação de requisitos 
funcionais identificados e revisões da ferramenta. 
6. Descrição dos resultados – São apresentados os resultados relativos à 
viabilidade da utilização da ferramenta desenvolvida como uma alternativa à 
precificação baseada em consumo do usuário no modelo de serviço SaaS. 
 
Figura 1 - Sequência metodológica do trabalho. 
 
1. Estudo e 
descrição do
Estado da Arte
3. Elicitação de 
Requisitos para o 
desenvolvimento
da Ferramenta
2. Estudo de
Trabalhos 
Relacionados
4. Implementação 
da Ferramenta
5. Testes e
Revisões
6. Descrição dos 
Resultados
 
Fonte: Elaborado pelo autor. 
 
25 
 
CAPÍTULO 2 – FUNDAMENTAÇÃO TEÓRICA 
 
A crescente adoção da computação em nuvem revolucionou a maneira como 
infraestrutura e software são oferecidos na área de tecnologia da informação (GUPTA, 
et al., 2013; HSU, et al., 2014). O que antes era adquirido fisicamente, no caso de 
hardware, ou licenciado, quando se trata de programas de computador, agora é 
disponibilizado mediante contratos de serviço por meio da Internet. Especificamente 
no contexto das empresas desenvolvedoras de software, a computação em nuvem 
propicia o surgimento de oportunidades de negócios, uma vez que novos clientes, 
outrora intangíveis, podem ser alcançados (OJALA, 2016). Entretanto, além de 
aumentar a força competitiva do mercado, estas precisam se preocupar com os seus 
modelos de receita e de cobrança para a disponibilização adequada de seus sistemas. 
Por conseguinte, o correto entendimento e implantação dos modelos de precificação 
de aplicações no âmbito de SaaS torna-se um dos pontos mais críticos para o sucesso 
do negócio. 
Para embasar a discussão do tema, neste capítulo são apresentados os 
modelos de serviço e provedoresde computação em nuvem, como as plataformas 
que implementam este paradigma realizam a cobrança pela infraestrutura 
provisionada, as estratégias de precificação adotadas por aplicações disponibilizadas 
nesses ambientes e, por fim, as ferramentas que auxiliam a precificação das 
aplicações SaaS baseada no consumo do usuário. 
 
2.1 Modelos de Serviço e provedores em Cloud Computing 
 
Segundo relatório do NIST (MELL e GRANCE, 2011), para um provedor de 
computação em nuvem ser caracterizado como tal, além de oferecer características 
essenciais como elasticidade, serviços sob demanda, capacidade de acesso em rede 
e de medição de recursos utilizados, deve ser composto de três modelos de serviço: 
• Infraestrutura as a Service (IaaS): modelo em que os provedores de nuvem 
provisionam hardware físico ou virtualizado a fim da realização de 
processamento, armazenagem, rede de computadores e demais recursos 
computacionais que possibilitem ao usuário a execução de sistemas – 
operacionais ou aplicações –sobre os mesmos; 
26 
 
• Platform as a Service (PaaS): neste modelo, o controle sobre a infraestrutura 
de nuvem não é delegado ao usuário, e sim a capacidade de configuração do 
ambiente de execução para implantação de aplicações ou bibliotecas 
desenvolvidas com linguagens de programação suportadas pelo provedor; 
• Software as a Service (SaaS): objeto deste estudo, este modelo possibilita ao 
usuário final o consumo de aplicações hospedadas em infraestrutura cloud via 
diversos tipos de dispositivos, por uso de aplicações clientes como 
navegadores web ou APIs (Application Programming Interface). 
Na Figura 2 são ilustrados itens cujo gerenciamento fica sob responsabilidade 
do provedor de serviços em nuvem e outros que são gerenciados pelo cliente, 
dependendo do modelo. A pilha apresentada à esquerda representa o conjunto de 
serviços que o usuário deve gerenciar quando possui toda a responsabilidade sobre 
sua infraestrutura, costumeiramente chamado de modelo legado ou On Premise. 
 
Figura 2 - Itens gerenciados pelo cliente (azul) e pelo provedor de serviços em nuvem (cinza). 
Aplicação
Segurança
Banco de Dados
Sistema Operacional
Virtualização
Servidores
Armazenamento
Rede
Data Center
G
e
re
n
c
ia
d
o
 p
e
lo
 C
li
e
n
te
Aplicação
Segurança
Banco de Dados
Sistema Operacional
Virtualização
Servidores
Armazenamento
Rede
Data Center
G
e
re
n
c
ia
d
o
 p
e
lo
 C
li
e
n
te
G
e
re
n
c
ia
d
o
 p
e
lo
 P
ro
v
e
d
o
r
Aplicação
Segurança
Banco de Dados
Sistema Operacional
Virtualização
Servidores
Armazenamento
Rede
Data Center
G
e
re
n
c
ia
d
o
 p
e
lo
 C
li
e
n
te
G
e
re
n
c
ia
d
o
 p
e
lo
 P
ro
v
e
d
o
r
Aplicação
Segurança
Banco de Dados
Sistema Operacional
Virtualização
Servidores
Armazenamento
Rede
Data Center
G
e
re
n
c
ia
d
o
 p
e
lo
 P
ro
v
e
d
o
r
On Premise IaaS PaaS SaaS
 
Fonte: Elaborado pelo autor. 
 
Segundo pesquisa realizada por KBCM Technology Group (2017), apenas 24% 
dos participantes ainda gerenciam sua própria infraestrutura para hospedagem de 
aplicações SaaS. No Gráfico 1, nota-se também a predominância da Amazon Web 
Services (AWS) perante os demais provedores de computação em nuvem para este 
mercado, além da previsão de expansão para os próximos anos. 
 
27 
 
Gráfico 1 - Predominância de provedores de infraestrutura no mercado SaaS em 2017 (esquerda) e 
previsão até 2020 (direita). 
 
Fonte: Adaptado de KBCM (2017). 
 
2.2 Custos da Computação em Nuvem 
 
Os recursos disponibilizados pelos provedores de computação em nuvem são 
cobrados sob demanda, ou seja, o usuário paga apenas pelo que utilizar. O leque de 
opções de produtos oferecidos atende todos os tipos de necessidades, como 
máquinas virtuais com perfil de processamento específico, armazenamento em disco, 
bancos de dados, ferramentas de análise, dentre muitos outros. No caso das 
máquinas virtuais, os preços cobrados variam de acordo com a configuração da 
mesma e sistema operacional escolhidos, além de ser diferenciado pela região onde 
estará hospedada (AMAZON, 2018; GOOGLE, 2018). 
Na Tabela 1 são apresentados os valores de instâncias de menor custo da 
plataforma AWS, chamadas T2, destinadas ao uso geral e que oferecem um nível 
básico de desempenho da CPU (Central Processing Unit) (AMAZON, 2018). Com 
preços de instâncias sob demanda a partir de 0,0058 USD por hora, as instâncias T2 
são ideais para uma variedade de aplicativos de uso geral, como serviços micro, 
aplicações interativas de baixa latência, banco de dados de pequeno e médio porte, 
desktops virtuais, ambientes de desenvolvimento, repositórios de código e protótipos 
de produtos. Na Tabela 2 são mostrados os valores de máquinas virtuais 
padronizadas do provedor Google Cloud Platform (GCP) em uma região similar. 
 
28 
 
Tabela 1 - Preços de instâncias T2 executando Linux/Unix mostrados para a região US East (N. 
Virginia) AWS. 
Nome Virtual CPUs RAM (GB) Preço/hora Preço/mês 
t2.nano 1 0,5 0,0058 USD 4,23 USD 
t2.micro 1 1,0 0,0116 USD 8,47 USD 
t2.small 1 2,0 0,0232 USD 16,04 USD 
t2.medium 2 4,0 0,0464 USD 33,87 USD 
t2.large 2 8 0,0928 USD 67,74 USD 
t2.xlarge 4 16,0 0,1856 USD 135,49 USD 
t2.2xlarge 8 32,0 0,3712 USD 270,98 USD 
Fonte: Adaptado de Amazon Web Services (2018). 
 
Tabela 2 - Máquinas virtuais "standard" na região US East (N. Virginia) GCP. 
Nome Virtual CPUs RAM (GB) Preço/hora Preço/mês 
n1-standard-1 1 3,75 0,0535 USD 27,34 USD 
n1-standard-2 2 7,5 0,1070 USD 54,68 USD 
n1-standard-4 4 15 0,2140 USD 109,35 USD 
n1-standard-8 8 30 0,4280 USD 218,71 USD 
n1-standard-16 16 60 0,8560 USD 437,42 USD 
n1-standard-32 32 120 1,7120 USD 874,83 USD 
n1-standard-64 64 240 3,4240 USD 1749,66 USD 
Fonte: Adaptado de referência de preços Google Compute Engine (2018). 
 
2.3 Modelos de Precificação em SaaS 
 
Quando o software é disponibilizado por meio de SaaS, variados modelos e 
combinações de precificação podem ser adotados para a representação de seu valor 
para o usuário final. Estas estratégias podem focar na cobertura de custos envolvidos 
no desenvolvimento e manutenção da aplicação ou, de modo mais subjetivo, levar em 
consideração a percepção do usuário sobre o valor de negócio provido por ela 
(HARMON, et al., 2009). 
 
2.3.1 Precificação SaaS baseada em custos 
 
Tradicionalmente, o preço estabelecido para um software considera os custos 
associados à criação e manutenção do mesmo (HARMON, et al., 2009). No contexto 
da computação em nuvem, a precificação de aplicações SaaS segue abordagem 
similar ao se embasar na cobrança realizada pela plataforma cloud (KAUR, et al., 
29 
 
2014). As estratégias mais comuns para definição do preço baseado no custo da 
aplicação SaaS são: 
• Flat, na qual usuários pagam por uso ilimitado do serviço, mensalmente, sem 
taxas adicionais. Apresentadas estas características, nota-se que a 
precificação flat possui muita similaridade com o modelo utilizado antes da 
popularização da computação em nuvem; 
• Tiered-pricing: pacotes com diferentes serviços e preços são criados, a fim de 
se adequar a aplicação a distintos perfis de clientes; 
• User-based: a cobrança é realizada de acordo com a quantidade de usuários 
que utilizam o serviço oferecido por determinado tempo. Esta estratégia é 
também chamada Seat-based. 
• Usage-based: também conhecido como modelo Pay as you go, esta estratégia 
está intimamente relacionada ao consumo realizado pelo usuário da aplicação 
SaaS, medido por tempo ou qualquer outro critério definido. A ferramenta 
elaborada provê suporte a esta técnica, conforme apresentação nos capítulos 
posteriores. 
 
2.3.2 Precificação SaaS baseado em valor 
 
A chave do sucesso da precificação de aplicação baseada em seu valor é o 
reconhecimento de que o preço do produto está baseado na visão do cliente sobre o 
valor de negócio provido pelo software ao invés de recursosde TI (tecnologia da 
informação) consumidos. Nesta linha, o sentimento de satisfação e de custo-benefício 
do consumidor com o serviço provido determinam o valor do produto, bem como a 
ideia de que a melhor opção dentre a concorrência ganhará o mercado (HARMON, et 
al., 2009). 
Para se definir um preço, é necessário identificar valores que guiam o mercado 
alvo e a importância de cada um deles na tomada de decisão, de forma a criar um link 
emocional entre o consumidor e o produto a fim de diferenciá-lo dos demais 
(HARMON e LAIRD, 1997). As principais categorias de valores são: 
• Econômico: baseado na ideia de que o cliente entende o custo envolvido para 
que o serviço seja disponibilizado a ele; 
30 
 
• Performance: percepção do consumidor de que produto consumido apresenta 
um retorno adequado pelo que se está pagando; 
• Fornecedor: a confiança e credibilidade passadas pelo fornecedor alicerçam o 
relacionamento com seus clientes. O estabelecimento deste valor inibe o 
surgimento de concorrentes (HARMON, et al., 2009); 
• Motivação do cliente: baseia-se em desejos e metas pessoais dos 
consumidores; 
 
2.4 Ferramentas de Precificação SaaS por consumo 
 
Com respeito aos trabalhos relacionados à precificação de software, Wu, Zhang 
e Wanchun (2012) propuseram uma abordagem personalizada para cobrança 
ajustada ao consumo do usuário para IaaS, PaaS e SaaS. O estudo estabelece uma 
estratégia de precificação baseada em métricas de consumo dos recursos da 
plataforma cloud na qual a aplicação está hospedada, dentre os quais podem ser 
destacados o espaço de armazenamento em disco e o tempo de processamento para 
determinada configuração de CPU. A avaliação realizada pelos autores conclui que o 
modelo de precificação por uso de recursos computacionais sob demanda favorece o 
aumento da receita para os provedores de IaaS. Entretanto, no contexto de aplicações 
SaaS, o estudo limita-se à teoria e aplica os custos de infraestrutura de maneira 
estática. Atualmente, os principais provedores de serviços cloud, como AWS (2018) e 
GCP (2018), possuem APIs que possibilitam a obtenção dessa informação 
dinamicamente. 
Durante a procura pelo tema na literatura, percebe-se uma carência de 
ferramentas que auxiliem na precificação de aplicações SaaS, principalmente ao se 
adotar o modelo baseado em consumo do usuário. Todavia, no mercado diversas 
alternativas são apresentadas para integração com estas aplicações por meio de 
planos de assinatura, as quais destinam-se a suprir essa necessidade. 
 
 
 
 
31 
 
2.4.1 Análise do mercado: Grid® Scoring 
 
Um bom ponto de partida para a análise das opções disponíveis no mercado e 
de suas características é a pontuação estabelecida por meio da metodologia Grid® 
Scoring (2018). 
Na Figura 3 são apresentados os melhores softwares na categoria de 
gerenciamento de assinaturas, segundo o Grid® Scoring. Para serem ponderadas, as 
aplicações devem: 
• Armazenar informações de pagamentos de clientes; 
• Possuir integração ou fazer papel de gateway de pagamento; 
• Automatizar contratos e faturamento; 
• Processar pagamentos automáticos de variados meios de pagamento. 
 
A pontuação considera fatores como a satisfação dos clientes, por meio de 
suas opiniões sobre o produto, além da quantidade de usuários, presença e influência 
no mercado e ROI (Return On Investment). Por fim, são classificados em quatro 
categorias: 
• Leader – produz produtos neste quadrante são altamente recomendados pelos 
usuários e possuem substancial presença no mercado. Stripe destaca-se 
nestes quesitos; 
• High Performer – os clientes também classificam muito bem o software, porém, 
este ainda não possui alta influência corporativa. Chargebee e Chargefy foram 
enquadrados nesta categoria; 
• Contender – ao contrário das aplicações high performers, contenders possuem 
elevada presença no mercado, entretanto, nota baixa de satisfação de seus 
clientes. Zuora está incluído nesta classificação; 
• Niche – além de influência inferior no mundo corporativo, estas aplicações 
ainda possuem satisfação inferior por parte de seus clientes. Recurly é citado 
aqui. 
As ferramentas destacadas no Grid® Scoring possuem funcionalidades 
similares, principalmente no âmbito de mensuração do consumo do usuário. Por esta 
razão, os conceitos aplicados serão demonstrados em sequência de maneira 
genérica. 
32 
 
 
Figura 3 - Grid® Scoring para softwares de gerenciamento de pagamentos, cobrança e 
faturamento. 
 
Fonte: Captura de tela do site G2 Crowd (G2 Crowd - Grid® Scoring Methodology, 2018). 
 
 
2.4.2 Avaliação de ferramentas disponíveis no mercado 
 
Os softwares de gerenciamento de assinatura realizam integrações com 
aplicações SaaS com o objetivo de oferecer a elas serviços de precificação, 
faturamento, contabilidade, dentre muitos outros. Para tal, controlam as inscrições de 
seus clientes nos planos de assinatura configurados, conforme ilustrado pelo 
diagrama da Figura 4. 
 
 
 
33 
 
 
Figura 4 - Diagrama Entidade-Relacionamento que representa a assinatura de um plano de preço de 
um produto. 
 
ClienteAssinatura
Plano de preço
do produto
N 1
 
 
Fonte: Elaborado pelo autor. 
 
No caso de planos de assinatura baseados no consumo do usuário, estas 
ferramentas permitem definir como isto será mensurado. Na Figura 6 é ilustrada a 
configuração de um plano de assinatura de determinado produto que será cobrado de 
acordo com o armazenamento realizado pelo cliente. Neste exemplo, que combina os 
modelos de precificação por consumo e por camada (tiered), a cada mês o usuário 
pagaria $0,01 (um centavo de dólar) a cada GB armazenado para os 100 primeiros 
GB e $0,50 por GB para os demais. 
Para que seja possível a contabilização dos gastos do cliente e posterior 
cobrança referente aos mesmos, a aplicação SaaS fica encarregada por implementar 
a lógica de negócio que mensura o consumo do usuário em determinado momento e 
por fornecer esta informação para o software gerenciador da assinatura por meio de 
integração, usualmente realizada por REST (Representational State Transfer) via 
HTTPS (Hypertext Transfer Protocol Secure) (Figura 5). 
 
Figura 5 - Comunicação via HTTPS com a aplicação Stripe para reportar consumo realizado referente 
a determinada assinatura. 
 
Fonte: Imagem extraída da referência da API Stripe (2018). 
 
 
34 
 
Figura 6 – Configuração de plano de assinatura baseado em consumo do usuário na ferramenta 
Stripe. 
 
 
Fonte: Captura de tela da ferramenta Stripe. 
 
2.5 Considerações finais 
 
Os softwares de gerenciamento de assinatura de serviços disponíveis no 
mercado auxiliam as aplicações SaaS a realizar a sua arrecadação, baseando-se nos 
gastos de seus clientes. Contudo, estas, por sua vez, devem implementar toda a lógica 
de negócio necessária para que a contabilização do consumo seja realizada. Outro 
ponto é que este cálculo nem sempre é trivial dada a diversidade de recursos 
disponibilizadas pelos provedores de serviços cloud. 
Neste sentido, aliando a proposta de Pricing as a Service de Wu et al. (2012) à 
possiblidade de obtenção de gastos da aplicação de maneira dinâmica, considerando 
o consumo das APIs das plataformas em nuvem, uma ferramenta alternativa viria a 
mitigar este problema. 
35 
 
CAPÍTULO 3 – A FERRAMENTA PRICE4SAAS 
 
Este capítulo tem como objetivo fornecer uma visão geral da ferramenta de 
suporte à precificação de aplicações SaaS, denominada Price4SaaS. Na seção 3.1 
será apresentado um cenário com o propósito de se exemplificar como o utilitário 
proposto pode auxiliar na tarefa de cobrança de um usuário de acordo com seu gasto 
sobre um software hospedado na nuvem. No tópico seguinte, são expostos os 
requisitos funcionais e não funcionais que orientaram a implementação da Price4SaaS 
de tal maneira a suportar múltiplas plataformas cloud. O design de arquitetura de 
software adotadoé, então, detalhado na seção 3.4. A implementação da ferramenta 
é exibida em sequência, sucedida das considerações finais. 
 
3.1 Considerações iniciais sobre a ferramenta Price4SaaS 
 
Antes de se apresentar os requisitos para a elaboração da Price4SaaS, um 
case é exposto nesta seção com a finalidade de se exemplificar como a ferramenta 
Price4SaaS pode auxiliar na precificação de uma aplicação SaaS. Partindo, portanto, 
desta ideia, surge o Rent XP, um site hospedado em uma plataforma de serviços em 
nuvem que oferece aos seus clientes a opção de publicação de seus imóveis a fim de 
acomodar viajantes por determinado período. Neste cenário, o cliente em questão 
pode ser desde o proprietário de um único imóvel até imobiliárias de médio e grande 
portes que disponibilizam os seus imóveis vagos com o intuito de manter a sua receita 
em períodos de baixa temporada. Os viajantes, por sua vez, reservam suas 
acomodações após escolherem o local e período de sua estadia. 
O diagrama apresentado na Figura 7 ilustra o funcionamento básico do Rent 
XP, além dos principais recursos que são consumidos da plataforma cloud na qual a 
aplicação está hospedada, Google Cloud Platform. Os seguintes processos resumem 
o funcionamento do site: 
1. Os clientes alvo do Rent XP, imobiliárias e locadores particulares, publicam 
seus imóveis para locação temporária no site; 
2. Viajantes acessam o site e alugam um imóvel de sua escolha pelo período 
que desejam; 
3. O Rent XP cobra de seus clientes um percentual sobre os imóveis alugados. 
 
36 
 
Figura 7 - Funcionamento do Rent XP, hospedado na GCP. 
 
Fonte: Elaborado pelo autor. 
 
Os desenvolvedores do Rent XP desejam, no entanto, definir um modelo de 
precificação que consideram justo e transparente, no qual podem arrecadar 
mensalmente dos clientes que publicam os imóveis no site de tal forma que a cobrança 
seja proporcional à quantidade de recursos que consumiram. Em outras palavras, o 
proprietário de um imóvel que o disponibiliza no Rent XP para locação publicando 
algumas fotos deve pagar um valor mensal muito inferior quando comparado com uma 
grande imobiliária que publica muitos imóveis na plataforma. 
Ao considerar este cenário onde há a dificuldade de se calcular a fatia que um 
usuário da aplicação SaaS efetivamente consumiu sobre o que é cobrado pela 
plataforma cloud por todos os recursos computacionais utilizados, a Price4SaaS 
fornece uma abordagem que visa solucionar a realização deste cálculo, apresentada 
em detalhes nas próximas seções. Este case será retomado no próximo capítulo 
durante a validação da ferramenta proposta. 
 
3.2 Requisitos de sistema 
 
Sommerville (2016) define que os requisitos para um sistema são as descrições 
dos serviços que deve fornecer e as restrições sobre o seu funcionamento, 
distinguindo-os, desta maneira, entre requisitos funcionais e requisitos não funcionais. 
Enquanto aqueles representam as funcionalidades que o software deve oferecer, 
como reagir a determinadas entradas e como se comportar em determinadas 
37 
 
situações, estes definem as restrições impostas ao sistema como um todo, como 
limitações de tempo e padrões de desenvolvimento. Pressman e Maxim (2014) 
oferecem, por sua vez, uma visão de requisitos não-funcionais que extrapola a 
imposição de restrições, mas, sim, os definem como atributos de qualidade, 
performance ou segurança de um sistema. 
Os requisitos de software da Price4SaaS são apresentados nas próximas 
seções. Entretanto, são precedidos de pré-requisitos que determinam se uma 
plataforma de serviços em nuvem é ou não suportada pela ferramenta. 
 
3.2.1 Pré-requisitos para suporte à plataforma cloud 
 
O provedor que hospeda uma aplicação SaaS realiza sua cobrança por meio 
de uma complexa contabilização sobre as políticas de preço que são, usualmente, 
distintas de acordo com o tipo de serviço consumido, além de serem potencialmente 
diferentes dependendo da região geográfica escolhida. Produtos de armazenamento 
de arquivos da AWS e da GCP, por exemplo, possuem definições de preço que variam 
de acordo com o volume de dados armazenados, quantidade de solicitações, 
frequência de acesso, replicação de informações, dentre outras (GOOGLE, 2018; 
AMAZON, 2018). Esses valores estão, ainda, suscetíveis a alterações por diversos 
fatores, como a introdução de novas funcionalidades com valor de negócio ou até pelo 
barateamento da infraestrutura (KASH e KEY, 2016). 
Na Figura 8 é apresentado um diagrama para ilustrar o contexto da Price4SaaS 
com o objetivo de esclarecer os pré-requisitos que viabilizam o seu funcionamento. O 
item 1 representa a supracitada contabilização de gastos de um software realizada 
pela plataforma cloud por meio de suas políticas de preço. Por sua vez, o item 2 retrata 
a integração da ferramenta com este provedor de nuvem a fim de obter estas 
informações de consumo da aplicação sobre os mais diversos serviços utilizados. De 
posse dos dados, estratégias de segregação são empregadas para se dividir o 
consumo dos seus usuários. 
 
38 
 
Figura 8 – Contexto de funcionamento da Price4SaaS. (1) Contabilização de gastos da aplicação 
SaaS pela plataforma cloud; (2) A ferramenta integra-se com o provedor para consumo dos dados. 
 
Fonte: Elaborado pelo autor. 
 
Sob esta conjuntura, três pré-requisitos podem ser estabelecidos para que uma 
plataforma cloud seja suportada pela Price4SaaS: 
1. O provedor de nuvem deve oferecer uma interface de integração que 
possibilite acesso às informações de faturamento dos serviços utilizados 
pela aplicação SaaS; 
2. Os dados disponibilizados devem conter obrigatoriamente a identificação do 
serviço da plataforma e o seu período de consumo; 
3. Deve existir um mecanismo que viabilize o agrupamento de dados por 
usuário. 
Uma estratégia que pode ser aplicada para atingir a última condição é a 
rotulagem de recursos da plataforma via mecanismos de tags ou marcadores, os quais 
proporcionam a flexibilidade de identificá-los ou agrupá-los de diversas maneiras, 
como, a título de exemplo, a qual ambiente da aplicação (desenvolvimento, teste ou 
produção) ou proprietário que pertencem (GOOGLE, 2018; AMAZON, 2018). Os 
rótulos aplicados aos recursos que geram métricas de uso são encaminhados para o 
sistema de faturamento e, desta maneira, podem ser utilizados para identificador 
unicamente um usuário da aplicação. 
A rotulagem não pode ser aplicada para a contabilização de todos os serviços 
do provedor cloud, no entanto. Recursos computacionais como máquinas virtuais são 
39 
 
usualmente consumidos por uma aplicação SaaS para atender requisições de 
múltiplos usuários e, portanto, tal custo não pode ser atribuído a apenas um cliente. 
Desta forma, esta estratégia pode ser adotada na granularidade de serviços 
suportados com o intuito de diminuir a complexidade do cálculo, enquanto os demais 
gastos podem seguir um tratamento diferente, como praticar a divisão por todos os 
usuários. 
 
3.2.2 Requisitos funcionais identificados 
 
Conhecidas as características que permitem o desenvolvimento da 
Price4SaaS, puderam ser identificados denominadores comuns entre os provedores 
de nuvem para a elicitação dos seus requisitos funcionais (RF), de forma a nortear a 
elaboração da ferramenta com suporte a múltiplas plataformas. Os requisitos são 
listados em sequência: 
 
RF.1 – Controle de acesso 
O acesso à ferramenta deve ser concedido após autenticação do usuário via 
credenciais válidas. Níveis de permissão controlados por meio de perfis e 
recursos devem existir com o propósito de controlar as funcionalidades que o 
usuário autenticado pode acessar. 
 
RF.2 – Gerenciamento de usuários 
Deve ser possível incluir, editar e excluir um usuário de forma a possibilitar 
novos acessos à ferramenta. A este, deve ser atribuído um perfil que indica as 
permissões de acesso às funcionalidades do sistema.RF.3 – Listagem de provedores cloud e serviços suportados 
A ferramenta deve exibir os provedores de nuvem suportados e quais dos seus 
respectivos serviços são passíveis de configuração para precificação. 
 
RF.4 – Gerenciamento de projetos 
A ferramenta deve permitir a inclusão, edição e exclusão de projetos (nome, 
descrição e provedor de nuvem), os quais representam as aplicações SaaS 
hospedadas nas plataformas cloud. 
40 
 
RF.5 – Configuração do provedor de nuvem do projeto 
A ferramenta deve permitir a inclusão e edição das configurações necessárias 
para viabilizar a integração da Price4SaaS com o provedor de nuvem de um 
projeto cadastrado. A quantidade de informações de configuração é variável 
dadas as particularidades de cada plataforma, de tal forma que o software deve 
absorver esta condição. 
 
RF.6 – Estratégia de faturamento para serviços cloud utilizados 
A ferramenta deve listar os serviços da plataforma cloud que o projeto consome 
e permitir que o usuário configure uma estratégia de faturamento para o seu 
cômputo na Price4SaaS. Quando o serviço for suportado (RF.3), a opção 
“Cobrança por uso” estará disponível para escolha, enquanto serviços não 
suportados serão, por padrão, relacionados à estratégia “Dividir gastos”. Neste 
último caso, o valor contabilizado para o serviço será dividido igualitariamente 
entre todos os usuários. 
 
RF.7 – Extrato de gastos por período 
A ferramenta deve possibilitar a consulta de gastos do projeto em determinado 
intervalo de datas para oferecer suporte à precificação da aplicação. A 
apresentação destas informações deve ser de três maneiras: 
1. Discriminados os gastos por serviços, conforme estratégia de precificação 
previamente definida (RF.6); 
2. Oferecer a possibilidade de detalhamento de gastos que são totalizados por 
usuário; 
3. Apresentar os gastos de um serviço específico por usuário da aplicação 
SaaS. 
 
3.2.3 Requisitos não funcionais desejados 
 
Dentre os mais diversos requisitos funcionais desejáveis para um software, três 
foram elencados para aplicação na ferramenta Price4SaaS dadas as suas 
características. 
 
 
41 
 
RNF.1 – Portabilidade 
O sistema deve ser desenvolvido de tal forma que seja possível migrá-lo para 
diferentes ambientes com facilidade, uma vez que a aplicação deve ser 
preferencialmente hospedada na mesma plataforma cloud escolhida pela 
aplicação SaaS, tanto pela diminuição da latência ao obter as informações 
quanto pela contabilização do tráfego para egresso na Internet por parte do 
provedor. 
 
RNF.2 – Extensibilidade 
Novas plataformas de nuvem podem ser agregadas à aplicação, desde que 
atendam os pré-requisitos estabelecidos pela ferramenta. 
 
RNF.3 – Segurança 
Todos os recursos privados do sistema podem ser acessados somente após a 
realização do processo de autenticação do usuário. 
 
3.3 Desenho de arquitetura de software 
 
Pressman (2014) indica que o desenho de arquitetura de um software é iniciado 
através da definição do seu contexto. Ainda segundo o autor, uma maneira adequada 
para se iniciar esta tarefa é através da composição de um diagrama contextual de 
arquitetura, o qual apresenta o sistema e as entidades (pessoas, sistemas, 
dispositivos, etc.) com as quais ele, bem como a natureza desta interação. Na Figura 
9 este diagrama para a Price4SaaS é ilustrado. 
 
42 
 
Figura 9 - Diagrama contextual de arquitetura da ferramenta Price4SaaS. 
Price4SaaSAdministrador Usa
API
da Plataforma 
Cloud
Banco de Dados
Depende de Depende de
 
Fonte: Elaborado pelo autor. 
 
A entidade “Administrador” representa o usuário que utiliza a Price4SaaS para 
auxiliá-lo na precificação de um software hospedado na nuvem. A ferramenta, por sua 
vez, depende de duas entidades essenciais para o seu funcionamento: “API da 
Plataforma Cloud” e “Banco de Dados”. A primeira simboliza a interface para 
integração com o provedor de serviços em nuvem para obtenção de informações de 
gastos da aplicação SaaS, enquanto a segunda corresponde ao repositório escolhido 
para armazenar as configurações dos projetos gerenciados. 
Compreendido o contexto em que a aplicação se enquadra, a sua organização 
interna pode ser explorada. De acordo com Fowler (2002, p. 17-18), uma das 
estratégias mais comuns para mitigar a complexidade de um software é dividi-lo em 
camadas. Um ótimo exemplo de emprego desta técnica é a organização dos 
protocolos de rede em camadas (KUROSE e ROSS, 2014, p. 35-39). Esta escolha 
traz importantes vantagens para o desenvolvimento e manutenibilidade do sistema, 
como a capacidade de se modificar a realização de um serviço ou mesmo substitui-lo 
sem afetar outros componentes. Não menos importante é o benefício de se evoluir um 
software sem a necessidade de conhece-lo como um todo. 
 
 
 
43 
 
Tabela 3 - Três camadas principais de um software. 
Camada Responsabilidades 
Apresentação 
Fornecimento de serviços, exibição de 
informações (p. ex., em Windows ou HTML, 
tratamento de solicitações do usuário) 
Negócio Lógica que é o real propósito do sistema. 
Fontes de dados 
Comunicação com os bancos de dados, 
sistemas de mensagens, gerenciamento de 
transações, outros pacotes. 
Fonte: Tabela extraída de Patterns of Enterprise Application Architecture (FOWLER, 2002). 
 
Em harmonia com as ideias expostas por Fowler, o conceito de três principais 
camadas foi implementado na ferramenta: apresentação, negócio – ou domínio – e 
fonte de dados (FOWLER, 2002, p. 19-22). A lógica de apresentação trata da 
interação entre o usuário e o software, a qual pode ser desde um terminal com linhas 
de comando até uma interface de usuário enriquecida. A camada de fonte de dados, 
por sua vez, lida com processos de comunicação com outros sistemas em nome da 
aplicação para obtenção e persistência de informações. Por fim, a camada de negócio 
é responsável por identificar a solicitação de um usuário via camada de apresentação, 
decidir qual ou quais fontes de dados devem ser utilizadas na lógica de negócio 
associada e realizar o processamento adequado. Um sumário destas 
responsabilidades é apresentado na Tabela 3. 
 
Figura 10 - Representação da arquitetura de três camadas. 
Apresentação
Negócio ou Domínio
Fonte de Dados
Consome
Consome
 
Fonte: Elaborado pelo autor. 
44 
 
No diagrama das três camadas apresentado na Figura 10, nota-se que há uma 
dependência bem-definida entre cada faixa da arquitetura. A camada de apresentação 
consume os serviços da camada de negócio e desconhece a existência da camada 
de fonte de dados. A camada de negócio, por sua vez, faz uso dos serviços de fonte 
de dados com a preocupação de aplicar a sua lógica, entretanto, não conhece a 
camada de apresentação. Para finalizar o fluxo, a camada de fonte de dados expõe 
informações de sistemas terceiros sem saber exatamente quem irá consumi-las. Na 
seção de desenho técnico apresentada a seguir, os componentes associados a cada 
camada serão detalhados. 
 
3.3.1 Desenho técnico de arquitetura de software 
 
As tecnologias adotadas para a implementação da Price4SaaS garantem a 
exequibilidade do projeto em um ambiente de nuvem e suportam o cumprimento dos 
requisitos de sistema, além de serem open source. Fundamentado na linguagem de 
programação Java 8, o framework Spring foi utilizado para simplificar a criação e a 
sua execução (SPRING, 2018). Um servlet container é embarcado durante o processo 
de empacotamento de tal maneira que a solução se torna autocontida. Assim, a 
aplicação Java web pode ser inicializada através do usual comando “java -jar” 
(SPRING, 2018). Na Figura 11 são apresentadas as tecnologias mais importantes 
associadas à arquitetura empregada. 
As requisições enviadas ao software via protocolo HTTP (Hypertext Transfer 
Protocol) são tratadas na camada de apresentação pelo Spring MVC, o qual interage 
– quando necessário – com os serviços da camada de negócioe delega ao 
mecanismo de templates chamado Thymeleaf a tarefa de geração das páginas web. 
Estes documentos são construídos com HTML (Hyper Text Markup Language) versão 
5, CSS (Cascading Style Sheets) versão 3, a linguagem interpretada JavaScript e a 
biblioteca JQuery, sendo posteriormente encaminhados como resposta à solicitação 
para interpretação no navegador do usuário. 
 
45 
 
Figura 11 - Arquitetura de camadas da ferramenta Price4SaaS. 
 
Fonte: Elaborado pelo autor. 
 
Redundâncias à parte, a camada de negócio é composta de classes Java sem 
estado, especializadas na lógica de negócio da ferramenta. Elas possuem como 
dependência as fontes de dados, das quais obtêm as informações necessárias para 
realizar o seu ofício. Os elementos retornados pelos seus métodos compõem a 
resposta ao usuário. 
As APIs das plataformas cloud e uma base de dados para armazenar as 
configurações dos projetos são as fontes de origens utilizadas pela ferramenta. O 
banco de dados orientado a documentos MongoDB foi escolhido principalmente para 
suportar os requisitos funcionais da aplicação, sabido que há informações de 
configuração dos provedores de serviços em nuvem que não seguem um esquema 
pré-estabelecido, característica esta que favorece o uso de bases de dados não 
relacionais, também conhecidas como NoSQL (Not only Structured Query Language) 
(STÖRL, et al., 2015). 
46 
 
Spring Transaction Manager (2018) e Spring Security (2018), em amarelo na 
Figura 11, são dois elementos transversais às camadas da aplicação e que auxiliam 
nas tarefas de controle transacional e segurança da aplicação, respectivamente. O 
primeiro, garante a consistência das informações persistidas na base de dados por 
meio do simples emprego de anotações nos métodos das classes de negócio 
(ORACLE, 2018), enquanto o segundo facilita as tarefas de autenticação e 
autorização dos usuários através do mapeamento das rotas protegidas. 
 
3.4 Implementação da ferramenta Price4SaaS 
 
Os requisitos funcionais implementados para a composição da Price4SaaS 
foram priorizados de forma a expor o real valor da ferramenta. Desta forma, a 
elaboração do gerenciamento de usuários foi postergada para trabalhos 
suplementares por não inviabilizar o seu funcionamento. A seguir, o controle de 
acesso geral da aplicação é detalhado, seguido das demais funcionalidades 
implantadas. 
 
3.4.1 Controle de acesso 
 
O controle de acesso da Price4SaaS é baseado na proteção de URLs (Uniform 
Resource Locator) da aplicação web qualificadas como privadas. Páginas definidas 
como públicas podem ser acessadas sem qualquer interferência na requisição cliente. 
Na Figura 12 é apresentado um diagrama que ilustra o cenário de autenticação. 
 
47 
 
Figura 12 - Diagrama de controle de acesso do usuário na Price4Saas. 
Recurso
Solicitado
Login
Valida credenciais
Credenciais Válidas
Credenciais
Inválidas
Usuário Não
Autenticado
Usuário
Usuário
Autenticado
Solicita
 Recurso
 Privado
Logout
 
Fonte: Elaborado pelo autor. 
 
Quando um usuário não autenticado tenta acessar um recurso privado, ocorre 
um redirecionamento para a página de autenticação (Figura 13), na qual deverá 
fornecer seu usuário e senha para validação. Se as credenciais fornecidas forem 
válidas, o usuário é redirecionado para o recurso inicialmente solicitado. Caso 
contrário, a mensagem de erro “Usuário ou senha inválidos” é exibida na própria 
página de autenticação, que permanece visível. 
Uma vez que o usuário esteja autenticado, todas as páginas exibem o seu 
nome e a opção “Log out” para que o seu acesso seja invalidado. Realizada esta 
última ação, o usuário é novamente redirecionado para a tela de autenticação, sendo 
a mensagem “Log out realizado” exibida. 
 
48 
 
Figura 13 - Página de autenticação da ferramenta Price4SaaS. 
 
Fonte: Captura de tela da ferramenta Price4Saas. 
 
3.4.2 Página inicial 
 
A página inicial da Price4SaaS, ilustrada na Figura 14, possui visibilidade 
pública e funciona como um painel de boas-vindas ao usuário. Esta tela contém links 
de acesso às funcionalidades iniciais da aplicação. Através dela, é possível acessar: 
• A funcionalidade de autenticação do usuário por meio do link “Log in”; 
• A tela de gerenciamento de projetos; 
• Os provedores de nuvem e seus serviços que são suportados pela aplicação; 
• Uma página que introduz o usuário aos conceitos da ferramenta. 
 
49 
 
Figura 14 - Página inicial da ferramenta Price4SaaS. 
 
Fonte: Captura de tela da ferramenta Price4Saas. 
 
3.4.3 Gerenciamento de projetos 
 
A funcionalidade de gerenciamento de projetos é o coração da Price4SaaS. 
Uma vez que o projeto SaaS esteja cadastrado, é possível realizar as configurações 
do seu provedor de serviços de nuvem e, posteriormente, consultar as informações 
de gastos da aplicação. 
Após a adição do projeto na ferramenta, sua referência é apresentada em uma 
listagem com ícones que permitem a realização das ações “Editar”, “Configurar 
provedor de nuvem” e “Excluir” sobre ele, como pode ser visto na Figura 16. A ação 
de edição do projeto, acessível por meio da interação com o ícone “lápis”, possibilita 
a alteração do seu nome e da sua descrição, porém, a escolha de outro provedor de 
nuvem não é permitida. Caso se deseje modificar esta opção, outro projeto deve ser 
criado e o anterior, removido via ação “Excluir” (ícone “lixeira”). Por fim, a configuração 
da plataforma cloud é acionada pelo por meio do ícone “engrenagens”, funcionalidade 
apresentada na próxima seção. 
 
50 
 
Figura 15 - Página de cadastro de um projeto SaaS na plataforma Price4SaaS. 
 
Fonte: Captura de tela da ferramenta Price4Saas. 
 
Figura 16 - Listagem de projetos e ações disponíveis sobre ele na Price4SaaS. 
 
Fonte: Captura de tela da ferramenta Price4Saas. 
 
3.4.4 Configuração do provedor de nuvem do projeto 
 
Como cada plataforma cloud possui configurações singulares para que os 
dados de faturamento de uma aplicação SaaS sejam consumidos pela Price4SaaS, a 
página de configuração é gerada de acordo com o provedor de nuvem do projeto. Para 
melhorar a experiência do usuário na ferramenta, nesta tela foi implementado um 
51 
 
componente do tipo “passo a passo”, conforme ilustrado na Figura 17 para um projeto 
hospedado na GCP. O mesmo se aplica para a configuração da AWS. A seguir, são 
apresentadas as abordagens para suporte a estas plataformas. 
 
Figura 17 - Configuração da GCP para um projeto na Price4SaaS. 
 
Fonte: Captura de tela da ferramenta Price4Saas. 
 
3.4.4.1 Suporte à Google Cloud Platform 
 
 A obtenção de informações de faturamento na GCP ocorre via consumo de 
diversas APIs da plataforma. O Apêndice A contém o detalhamento de uma série de 
configurações que devem sem aplicadas no provedor de nuvem e armazenadas na 
Price4SaaS para que a integração seja possível. Resumidamente, é necessário: 
1. Criar um projeto; 
2. Criar conta de faturamento e vinculá-la com o projeto; 
3. Habilitar as APIs necessárias; 
4. Ativar a exportação de dados de faturamento; 
5. Criar credenciais para integração. 
 
 
52 
 
Os códigos do projeto (primeiro passo) e da conta de faturamento (segundo 
passo), além das informações de credenciais (quinto passo) são armazenados no 
banco de dados da Price4SaaS. 
Os dois últimos passos da configuração merecem destaque. A GCP exporta 
dados de consumo para arquivos nos formatos CSV e JSON e também para leitura 
por meio de um de seus serviços, o BigQuery. Esta última opção foi adotada pois 
captura um conjunto maior de dados e seu uso é mais conveniente uma vez que a 
linguagem SQL (Structured Query Language) pode empregada nas consultas 
(GOOGLE, 2018). No que se refere à integração com esta plataforma cloud, as 
informações de credenciais configuradas no último passo são utilizadas para consumo 
das APIs da Google, que utilizam o protocolo OAuth 2.0 para autenticaçãoe 
autorização (GOOGLE, 2018). 
 
Figura 18 - Diagrama de sequência da geração de token de acesso à GCP. 
 
Fonte: Adaptado de Google (2018). 
 
O diagrama de sequência que é apresentado na Figura 18 visa ilustrar o 
processo de integração com a Google utilizando o protocolo OAuth 2.0. A sequência 
de autorização começa quando o Price4SaaS redireciona um navegador para um URL 
do Google. A URL inclui parâmetros de consulta que indicam o tipo de acesso 
53 
 
solicitado. O Google lida com a autenticação do usuário, a seleção de sessões e o 
consentimento do usuário. O resultado é um código de autorização, que a ferramenta 
pode trocar por um token de acesso e um token de atualização. A Price4SaaS 
armazena o token de atualização para uso futuro e usa o token de acesso para 
acessar uma API do Google. Quando o token de acesso expirar, o token de 
atualização pode ser utilizado para obter um novo. 
 
3.4.4.2 Suporte à Amazon Web Services 
 
De maneira similar à integração com a plataforma GCP, para que a Price4SaaS 
consuma as informações de faturamento de uma aplicação SaaS hospedada na AWS 
é exigido que uma sequência de configurações seja aplicada, conforme exposto no 
Apêndice B. Em síntese, para realizar a integração é preciso: 
1. Criar usuário para agrupar recursos do projeto; 
2. Criar fonte para armazenamento; 
3. Habilitar o relatório de faturamento; 
4. Configurar o serviço Amazon Redshift; 
5. Configurar credenciais. 
 
Uma vez seguidos estes passos, a AWS exporta diariamente (ou de hora em 
hora, conforme configuração) as informações de gastos para arquivos CSV em uma 
fonte de armazenamento, mais especificamente por meio do serviço S3 (Simple 
Storage Service). A Price4SaaS poderia realizar a leitura direta destes arquivos 
brutos, no entanto, com a possibilidade de se habilitar o suporte do serviço Amazon 
Redshift desta plataforma cloud, o consumo dos dados é torna-se simplificado, de 
maneira semelhante ao consumo do serviço BigQuery da GCP. 
 
3.4.5 Configuração de serviços do projeto 
 
Posto que a configuração do provedor de nuvem do projeto foi realizada, torna-
se possível a configurar como os serviços utilizados serão contabilizados na 
Price4SaaS. Quando o recurso de um serviço pertencer a um usuário específico da 
aplicação, a estratégia de faturamento “Cobrar por Uso” estará disponível, caso 
contrário, a opção “Dividir Gastos” é adotada por padrão. Na Figura 19 são exibidos 
54 
 
os serviços utilizados por um projeto hospedado na GCP. A estratégia de cobrança 
por uso está disponível para o serviço “Storage” pois um espaço de armazenamento 
de arquivos pode ser rotulado com o intuito de demarcar que ele pertence a um 
usuário. 
 
Figura 19 - Configuração de estratégias de cobrança dos serviços de nuvem. 
 
Fonte: Captura de tela da ferramenta Price4Saas. 
 
3.4.6 Extratos de gastos por período 
 
A página de extratos de gastos por período é o resultado da consolidação de 
toda as configurações realizadas na plataforma cloud e na ferramenta Price4SaaS. 
Escolhido um intervalo de datas, é possível consultas os gastos de consumo dos 
serviços provedor cloud neste período de acordo com a estratégia de cobrança 
previamente configurada. Na Figura 20 é possível visualizar que o projeto nomeado 
“Minha aplicação SaaS” utilizou os serviços BigQuery, Compute Engine e Storage da 
plataforma GCP no mês de setembro de 2018. 
 
55 
 
Figura 20 - Página de consulta de gastos do projeto em um intervalo de datas. 
 
Fonte: Captura de tela da ferramenta Price4Saas. 
 
A partir do botão “Detalhar” é possível explorar os gastos de cada usuário 
referentes a serviços associados à estratégia de cobrança “Cobrar por Uso”. As 
informações são exibidas em um tabela (Figura 21) e também em forma de gráfico 
(Figura 22). Em ambos os casos, o identificador único do usuário é exibido para 
representar o seu gasto referente a este serviço. A aplicação SaaS é responsável 
apenas por definir um rótulo (marcador ou tag) no recurso de armazenamento do 
provedor de nuvem, sendo “p4s-userid” a chave e o código do usuário o valor. 
Por fim, a última opção implementada para visualização de gastos por período 
é o extrato geral por usuário, acionada por meio do botão “Gastos por usuário”. Nesta 
tela, ilustrada na Figura 23, o identificador do usuário é associado ao seu gasto total 
no período, ou seja, referente ao somatório de todos os serviços de seu uso exclusivo 
– estratégia de cobrança por uso – e de sua parcela na divisão de gastos dos demais 
serviços da aplicação SaaS – estratégia padrão “Dividir gastos”. 
 
56 
 
Figura 21 - Tela de gastos por usuário referentes ao serviço Storage da GCP. 
 
Fonte: Captura de tela da ferramenta Price4Saas. 
 
Figura 22 – Gráfico que apresenta os gastos por usuário referentes ao serviço Storage da GCP. 
 
Fonte: Captura de tela da ferramenta Price4Saas. 
 
57 
 
Figura 23 - Extratos de gastos consolidados por usuários no período selecionado. 
 
Fonte: Captura de tela da ferramenta Price4Saas. 
 
3.4.7 Considerações finais 
 
Neste capítulo foram apresentados todos os conceitos utilizados para a 
elaboração da Price4SaaS, desde os requisitos funcionais e não funcionais até a 
exposição das páginas da aplicação web implementada que suporta as plataformas 
GCP e AWS. 
 A seguir, os procedimentos de teste e validação dos requisitos da ferramenta 
são apresentados de forma a certificar a importância do trabalho desenvolvido e 
identificar pontos de melhoria. 
 
58 
 
CAPÍTULO 4 – TESTES E VALIDAÇÃO DA FERRAMENTA 
 
Este capítulo apresenta os procedimentos adotados para a realização de testes 
e validação funcional da ferramenta desenvolvida. Para tal, será retomado o case Rent 
XP, introduzido na seção 3.1, validando-o na GCP e na AWS. Ambas plataformas 
possuem uma camada de uso gratuita, na qual os gastos não são cobrados do cliente. 
Esses valores foram ignorados durante as contabilizações realizadas durante os 
testes. 
 
4.1 Serviços utilizados pelo Rent XP 
 
Normalmente uma aplicação SaaS faz uso de diversos serviços da plataforma 
cloud que a hospeda. No entanto, com o intuito de simplificar a validação do case Rent 
XP sem que a sua execução fosse comprometida foram empregados três recursos 
principais: 
1. Máquina virtual: na qual o servidor de aplicação é instalado para atender as 
requisições dos seus usuários; 
2. Armazenamento de arquivos: local onde são armazenadas as fotos dos imóveis 
registrados; 
3. Banco de dados: empregado na persistência das demais informações dos 
imóveis disponibilizados na aplicação. 
 
A ferramenta Price4SaaS utiliza-se do mecanismo de rotulação de recursos do 
provedor de nuvem para possibilitar a precificação baseada em consumo do usuário. 
No cenário do Rent XP, esta estratégia pode ser aplicada apenas nos serviços de 
armazenamento de arquivos, uma vez que os demais são compartilhados por todos 
os usuários. Na Figura 24 é ilustrado o empregado dos marcadores nos espaços de 
armazenamentos dos usuários da aplicação Rent XP na GCP. Na AWS o mesmo 
procedimento é realizado, sendo que a única diferença é o termo “tag”, utilizado pela 
plataforma. 
 
 
59 
 
Figura 24 - Buckets que contêm as imagens dos imóveis dos usuários da Rent XP. Em vermelho são 
destacados os marcadores com o identificador de cada usuário. 
 
Fonte: Captura de tela da Google Cloud Platform. 
 
 No caso das máquinas virtuais, instâncias com configurações similares foram 
adotadas nas duas plataformas cloud. A Tabela 4 contém os detalhes dos tipos de 
instância utilizados pela Rent XP em cada uma delas. Por fim, o banco de dados 
utilizado foi o MySQL, sendo este serviço conhecido como Cloud SQL e RDS na GCP 
e AWS, respectivamente. 
 
Tabela 4 - Tipos de instâncias utilizadas pela Rent XP na GCP e AWS. 
Plataforma Cloud Tipo da Instância Virtual CPUs RAM (GB) 
Google Cloud Platform n1-standard-22 7.5 
Amazon Web Services c5.large 2 8 
Fonte: Elaborado pelo autor. 
 
4.2 Informações armazenadas e tráfego de arquivos 
 
 O cenário de validação elaborado foca na quantidade de imagens 
armazenadas nas plataformas cloud, bem como o tráfego realizado para Internet ao 
solicitar estes arquivos. Na Tabela 5 são apresentados os identificadores dos usuários 
que disponibilizam os seus imóveis no Rent XP e o tamanho em MB ocupados para 
armazenar as imagens dos mesmos. Para cálculo do tráfego das imagens, foi 
considerado que cada imóvel de um usuário fosse visualizado por completo duas 
60 
 
vezes no intervalo de datas utilizado, ou seja, suas imagens seria trafegadas para 
Internet duas vezes. 
 
Tabela 5 - Tamanho do armazenamento utilizado por cada usuário. 
Identificador do usuário Tamanho total dos arquivos (MB) 
danilo-moura 93 
frederico-farias 1.790 
imobiliaria-confianca 16.300 
imobiliaria-gloria 27.200 
imobiliaria-pires 19.900 
laura-reis 1.770 
lorenzo-batista 2.370 
ofelia-franco 65 
pedro-castro 1240 
vicente-franco 825 
Fonte: Elaborado pelo autor. 
 
4.3 Resultados obtidos 
 
Após a realização de configuração do Rent XP na ferramenta Price4SaaS, a 
consulta de informações de gastos nas duas plataformas foi realizada para o mês de 
outubro. Na Figura 25 são apresentados os gastos do case com os serviços da GCP, 
enquanto na Figura 26 são exibidos os valores para serviços da AWS. De imediato, é 
possível visualizar que neste cenário a hospedagem na Google Cloud Platform é mais 
atrativa. 
Além disso, a cobrança pelo serviço Amazon Redshift da AWS ocorre 
unicamente pela integração adotada com a Price4SaaS, de forma que o consumo de 
dados de faturamento acaba gerando novos encargos para a aplicação SaaS. No caso 
do serviço BigQuery, nenhuma cobrança foi realizada, uma vez que a quantidade de 
informações armazenadas no seu dataset não gera encargos. Desta maneira, nota-
se que a implementação da integração da ferramenta com a GCP é muito mais 
vantajosa. 
 
 
61 
 
Figura 25 - Gastos da Rent XP sobre serviços da GCP. 
 
Fonte: Captura de tela da ferramenta Price4Saas. 
 
Figura 26 - Gastos da Rent XP sobre serviços da AWS. 
 
Fonte: Captura de tela da ferramenta Price4Saas. 
 
Com o intuito de realizar um comparativo da medição realizada pela ferramenta 
Price4SaaS com a cobrança efetiva da plataforma cloud, na Figura 27 é apresentada 
a fatura do painel da AWS contendo os gastos referentes ao mês de outubro de 2018. 
62 
 
Percebe-se, conforme esperado, que os valores são iguais aos exibidos na Figura 26, 
uma vez que são exportados pelo próprio provedor. No entanto, a medição exibida 
pela Price4SaaS é dependente do período de exportação de informações de gastos 
que é, usualmente, diário. Neste cenário, por exemplo, a ferramenta elaborada não 
possui assertividade sobre os gastos do dia corrente. 
 
Figura 27 - Painel da AWS com fatura da Rent XP no mês de outubro de 2018. 
 
Fonte: Captura de tela do painel de cobrança da AWS. 
 
 Para efetuar uma análise no âmbito de gastos individuais, na Tabela 6 são 
exibidos os gastos por usuário da Rent XP nas plataformas GCP e AWS no mês de 
outubro de 2018, a partir de dados extraídos da Price4SaaS. Neste cenário, um 
usuário com poucos MB de armazenamento possui gastos reduzidos quando 
comparado a um usuário com armazenamento elevado. O usuário identificado por 
“danilo-moura”, tomando a plataforma GCP como exemplo, pagaria R$ 22,66, o que 
representa 4,33% do total de gastos da aplicação SaaS no mês de consumo, enquanto 
o usuário identificado por “imobiliária-gloria” deveria desembolsar R$ 136,38, o que 
representa mais de 26% da fatura mensal. Além disso, nota-se que o percentual de 
economia entre as plataformas avaliadas é maior para um usuário que possui menos 
MB de arquivos armazenados. 
63 
 
Tabela 6 - Gastos por usuário da Rent XP para as GCP e AWS no mês de outubro de 2018 a partir de 
dados extraídos da Price4SaaS. 
Identificador 
do usuário 
Tamanho 
total dos 
arquivos 
(MB) 
Gastos 
GCP 
% de 
gastos 
GCP 
Gastos 
AWS 
% de 
gastos 
AWS 
% de 
economia 
entre 
plataformas 
danilo-moura 93 R$ 22,66 4,33% R$ 36,41 4,67% 37,76% 
frederico-
farias 
1.790 R$ 29,77 5,69% R$ 46,38 5,95% 35,81% 
imobiliaria-
confianca 
16.300 R$ 90,65 17,34% R$ 131,62 16,90% 31,13% 
imobiliaria-
gloria 
27.200 R$ 136,38 26,08% R$ 195,66 25,12% 30,30% 
imobiliaria-
pires 
19.900 R$ 105,76 20,23% R$ 152,77 19,61% 30,77% 
laura-reis 1.770 R$ 29,69 5,68% R$ 46,26 5,94% 35,82% 
lorenzo-
batista 
2.370 R$ 32,21 6,16% R$ 49,79 6,39% 35,31% 
ofelia-franco 65 R$ 22,54 4,31% R$ 36,24 4,65% 37,80% 
pedro-castro 1240 R$ 27,47 5,25% R$ 43,15 5,54% 36,34% 
vicente-franco 825 R$ 25,73 4,92% R$ 40,71 5,23% 36,80% 
Fonte: Elaborado pelo autor. 
 
4.4 Considerações finais 
 
Neste capítulo foi possível validar a integração entre a Price4SaaS e as APIs 
das plataformas cloud às quais a ferramenta oferece suporte. No entanto, a integração 
com o serviço Amazon Redshift da AWS gerou novos encargos para a aplicação 
SaaS, enquanto o consumo do serviço BigQuery da GCP tomou um caminho 
totalmente oposto, uma vez que nenhuma cobrança foi realizada sobre este serviço. 
 
 
64 
 
CAPÍTULO 5 – CONCLUSÃO 
 
Este trabalho apresentou a fundamentação, os requisitos e o desenvolvimento 
da Price4SaaS. No Capítulo 1, o propósito do estudo e o contexto no qual se enquadra 
foram introduzidos para indicar a sua relevância. No capítulo subsequente, a 
importância da precificação para uma aplicação SaaS e a revolução causada pela 
computação em nuvem foram expostas, juntamente com estudos e ferramentas 
correlatas que visam precificar este tipo de software. Já no Capítulo 3, o case Rent 
XP é exposto inicialmente para exemplificar um cenário que se beneficiaria da 
ferramenta proposta. Posteriormente, são apresentados os pré-requisitos para 
suporte a uma plataforma cloud, a elicitação de requisitos e a arquitetura de software. 
Esta seção é, então, finalizada com a exposição da implementação das 
funcionalidades da Price4SaaS. Por fim, na fase de testes e validação da ferramenta, 
apresentado no Capítulo 4, o case supracitado é melhor detalhado e a sua validação 
é realizada nas plataformas GCP e AWS, comparando-se os resultados obtidos. 
Com o desenvolvimento apresentado neste trabalho, considera-se que o seu 
objetivo geral foi atingido, uma vez que a ferramenta implementada auxilia na 
precificação de aplicações SaaS baseando-se no consumo de seus usuários. A 
proposta de Pricing as a Service (WU, et al., 2012), citada na seção 2.4, torna-se 
dinâmica na Price4SaaS, pois a estratégia de leitura de métricas da plataforma em 
nuvem por meio de suas APIs é adotada pela ferramenta. Por fim, desde que o 
provedor cloud atenda aos requisitos de disponibilização de informações de gastos, 
expostos na seção 3.2.1, a Price4SaaS oferece suporte a múltiplas plataformas, 
sendo GCP e AWS as escolhidas para exposição neste texto. 
Conclui-se, portanto, que a adoção da Price4SaaS por parte dos 
desenvolvedores de uma aplicação SaaS é uma opção promissora para viabilizar o 
modelo pay as you go (2.3.1) e que pode trazer como benefício a seus usuários o 
oferecimento de um serviço transparente e igualitário ao se demonstrar a razão da 
cobrança realizada. Contudo, no seu estado atual de desenvolvimento, o valor de 
negócio da ferramenta está condicionado à estratégia de rotulação de recursos 
pertencentes ao usuário da aplicação na plataforma cloud, conforme exposto nas 
seções 3.2.1 e 4.1. Com o intuito de direcionar trabalhos posteriores, a seguir são 
expostas as principais adversidades enfrentadas, bem como um encaminhamento 
para trabalhos futuros. 
65 
 
5.1 Problemas encontrados 
 
Dentre os diversos problemas encontrados durante o desenvolvimento do 
trabalho, merecem destaque: 
• Dificuldade de encontrar estudos

Continue navegando