Blog
Nossas últimas novidadesQuanto custa hospedar um sistema? Explicamos em 5 passos.
Equipe X-Apps
Depois de investir no desenvolvimento e criação do app para sua empresa, vem a pergunta: o que fazer para lançar e manter o aplicativo disponível?
Chegamos na fase da hospedagem do sistema, etapa importante para seu projeto funcionar corretamente quando for disponibilizado nas lojas de aplicativos.
Abaixo, explicamos em cinco passos o que é preciso fazer e quanto você vai gastar em média para ter seu app ou sistema funcionando sem problemas.
>> Ainda não sabe quanto custa criar um app personalizado? Leia aqui.
Neste artigo você vai aprender:
- Quanto custa disponibilizar o aplicativo nas principais lojas virtuais;
- O custo de contratar um serviço de banco de dados;
- Os principais serviços de hospedagem em nuvem para aplicações web e APIs;
- O que é Kubernetes e suas vantagens;
Visão geral
Antes de falarmos de valores, é importante saber que você precisará basicamente de quatro coisas para lançar o app da sua empresa:
Chegar a um custo total fixo é difícil, pois os gastos com esses serviços variam de projeto a projeto. No entanto, podemos estimar uma faixa inicial de preços.
Uma vez pagas as licenças de desenvolvedores (de 25 a 124 dólares), para começar rodar um sistema em produção, os custos totais giram em torno de 78 a 138 dólares por mês dependendo do provedor.
Caso o seu sistema seja mais robusto, com tráfego maior e funcionalidades mais complexas, é possível contratar um sistema de escalonamento automático a partir de 133 dólares por mês com o uso de Docker e Kubernetes (vamos falar disso mais na frente).
Além disso, há outros custos como: registro de domínio, certificados ssl e banda da internet que variam conforme o provedor, especificações e serviços agregados.
>> Desenvolva seu sistema personalizado com a fábrica de software X-Apps
Vamos descobrir o que são e quanto custa cada uma das cinco etapas?
Passo 1: Contratar a licença developer
A licença developer é a permissão para publicar nas lojas de aplicativos. Os preços e condições variam de acordo com a empresa:
- Apple App Store: 99 dólares por ano;
- Google Play Store: 25 dólares (uma vez);
Diferenças entre Google Play e App Store
Subir um app na Google Store é mais simples e mais barato. Pagando a taxa única de 25 dólares, é possível cadastrar diversos apps na mesma conta. Mais detalhes aqui.
Já a Apple cobra uma taxa anual. Hoje, ela não permite que terceiros publiquem aplicativos de outras empresas, sendo necessária a contratação de uma licença para cada organização. Caso essa regra não seja respeitada, a Apple pode remover o aplicativo das lojas sem aviso prévio.
Além disso, é preciso ter um Duns Number, identificação internacional para empresas.
>> Leia também: O que é Duns Number
Quero disponibilizar o aplicativo apenas para os funcionários da minha empresa. Como faço?
A Apple possui um plano específico para isso. O Developer Enterprise Program permite a distribuição interna de apps caso não seja própria a sua disponibilização pública no App Store.
O programa tem a taxa anual de 299 dólares e, para ser elegível, a empresa precisa apresentar alguns requisitos, como:
- Ter mais de 100 funcionários;
- Possuir registro jurídico;
- Garantir o download e o uso seguro e privado do aplicativo;
Mais requisitos e informações você encontra aqui.
Passo 2: escolher o banco de dados
O banco de dados é utilizado para armazenar as informações críticas do sistema, sendo necessária a contratação de um serviço confiável a longo prazo.
O Mongo DB Atlas é uma tecnologia altamente recomendada para banco de dados, sendo utilizado por empresas como Facebook, Google e Adobe.
Além de ser um banco de dados não relacional (NoSQL), que possui alta capacidade de consulta e gravação, o Mongo DB utiliza o conceito de DBaaS (Database as a Service) que facilita muito para escalar o aplicativo ou sistema no futuro.
O Mongo DB Atlas pode ser hospedado nos principais serviços como Amazon AWS, Microsoft Azure ou Google Cloud. Você pode conferir os planos e contratar aqui.
O plano M10 é recomendado como necessidade mínima e tem um custo aproximado de 58 dólares mensais, dependendo da hospedagem escolhida.
Posso contratar planos mais baratos?
O Mongo DB Atlas até possui outros planos mais baratos, mas eles não são recomendados nem mesmo para ambientes de testes, pois possuem memória RAM compartilhada.
Isso quer dizer que, quando não está em uso, o banco de dados "dorme" para liberar recursos no servidor, podendo causar grandes transtornos e instabilidades.
Passo 3: contratar Backup
O backup é um elemento importante para manter os dados salvos. Para essa finalidade, o mínimo recomendado é que se tenha um recurso simples. Alguns serviços de hospedagem já integram essa funcionalidade nos planos cobrados.
Por exemplo: o plano M10 do Mongo DB Atlas, além de ter servidores dedicados, também possui backup de hora em hora, chamado snapshot, que garante a segurança contra perda de informações.
Passo 4: hospedar aplicações
Antes de entrarmos nos detalhes de preços, é fundamental saber que para rodar um API ou sistema web é necessário uma máquina com as seguintes configurações:
Hoje, com os serviços de computação em nuvem, é possível contratar máquinas digitais com essas configurações e que suportem o seu projeto.
A Amazon (AWS), por exemplo, oferece o serviço Amazon Elastic Compute Cloud (EC2) com planos específicos.
De acordo com os cálculos da plataforma, uma máquina simples (t2.medium) com 100 GB de espaço (EBS) custa em torno de 29 dólares por mês.
Na DigitalOcean, outro serviço de computação em nuvem, essa configuração sai mais em conta. Cada instância nessa hospedagem é chamada de Droplet e sai por 20 dólares ao mês.
Agora, se tivermos dois sistemas (API + Sistema web) e mais o cache dinâmico, serão necessárias duas instâncias ao custo total de 40 dólares ao mês (DigitalOcean) ou 60 dólares ao mês (AWS).
Outra opção é contratar uma só máquina com o dobro de capacidade em relação à primeira.
É melhor ter uma máquina maior ou duas menores?
Depende. Geralmente, uma máquina com o dobro de capacidade apresentaria melhor performance, mas é necessário tomar alguns cuidados.
Na AWS por exemplo, uma t2.large custa praticamente o dobro de uma t2.medium e com o dobro de memória, porém ambas possuem apenas 2 vCPUs.
Ou seja, na AWS é mais vantajoso ter duas t2.medium somando 4 vCPUs em vez de uma máquina só com 2 vCPUs.
Já na DigitalOcean, como a máquina maior possui o dobro de processador, de memória e de disco, é uma opção mais interessante. Porém, observe que a quantidade de transferência de dados na internet não escala da mesma forma.
Isso porque no Droplet de 20 dólares você tem disponível 4TB e na de 40 dólares apenas 5TB.
Pode ser que 4TB seja muito mais que o suficiente. Mas, se seu consumo de banda for alto, compensaria, então, dividir isso em duas Droplets de 4TB, totalizando 8TB.
Consigo gastar menos com isso? Sou uma startup e quero economizar cada centavo.
Essas configurações acima são as mínimas recomendadas para um servidor em produção, mesmo com baixo volume. Por mais que seja tecnicamente possível rodar em máquinas mais simples, isso traria mais problemas e dor de cabeça com instabilidade do sistema.
E quando essas máquinas não derem conta, o que faço?
Você pode monitorar o consumo e fazer upgrades conforme a necessidade. Cada provedor tem uma forma de apresentar esse uso.
Existem startups como a Clean Cloud que ajudam você a economizar e otimizar seus recursos na AWS e Azure.
Com 80 dólares por mês, por exemplo, é possível ter na DigitalOcean uma instância/droplet como:
Processador: 6 vCPU (considerando Intel 3.0 GHz)
Memória: 16 GB
Disco: 320 GB
Mas, atenção: quando se gasta mais de 80 dólares por mês em uma só máquina ou em outras instâncias menores, o seu sistema já tem um volume que compensa seguir para infraestruturas gerenciadas por Kubernetes.
Azure App Service
Uma outra boa opção de host é o Azure App Service. Ele traz a possibilidade de gerar e pagar as faturas em reais. Os preços estão disponíveis aqui.
Outra facilidade dessa solução é a de permitir escalar tanto verticalmente, contratando máquinas mais potentes, como horizontalmente, aumentando o número de máquinas de forma automática até 30 ou 100 instâncias, dependendo de como é contratado.
Porém, esse serviço apresenta alguns detalhes que devem ser levados em consideração.
Quando se contrata uma máquina nesse serviço já é incluído o armazenamento em disco. Ou seja, se precisar de mais espaço em disco, você obrigatoriamente terá de fazer o upgrade de toda a máquina, pois não é possível somente adicionar mais espaço.
Qual a nossa opinião?
Com base em nossa experiência, o Azure App Service é muito recomendado. Mas atenção: ao compará-lo com o Kubernetes gerenciado da Digital Ocean, esse último ainda tem melhor custo-benefício.
Passo 5: transferência para Kubernetes
Até então, estávamos falando de hospedagens para sistemas iniciais ou básicos. É importante deixar claro que a partir de agora as orientações são para projetos maiores, que esperam alto tráfego de usuários, que precisam de configurações mais potentes de máquinas e que ultrapassam o valor de 75 dólares gastos ao mês nas opções de hosts anteriores.
>> Leia também: Saiba como ter um app para empresas
O que é Kubernetes?
Lançado em 2015 pelos engenheiros do Google, o Kubernetes (também conhecido como K8s) é uma plataforma de código aberto responsável por automatizar a implantação e a gestão de softwares em pacotes, chamados de containers.
Cada container, de forma isolada, pode receber dados, bibliotecas e configurações próprias. E é o Kubernetes que vai melhor orquestrar esses pacotes, garantindo boa performance e segurança do sistema.
Essa tecnologia é tão poderosa que foi usada no Pokémon Go, um dos aplicativos que tiveram maior crescimento em seu lançamento.
Quais são as vantagens?
Atualmente, Kubernetes é a melhor solução para rodar aplicações em Docker. São pelo menos duas grandes vantagens dessa união:
1) O sistema consegue escalar e desescalar serviços conforme o uso;
No primeiro caso, com a plataforma do Kubernetes, por exemplo, é possível ter um servidor rodando e, assim que necessário, aumentar seu potencial de processamento de forma automática.
Em outras palavras, no momento que precisar de mais processamento, o Kubernetes já inicia uma instância em outro container Docker em poucos minutos.
2) Os custos são pagos por hora de serviço;
A segunda vantagem dessa opção é que você paga por hora do que for utilizado. Assim, é possível se organizar para ter 3 máquinas rodando durante o dia (quando muitas pessoas utilizam o seu sistema) e somente 1 máquina ao longo da noite.
Se seu serviço for um e-commerce, isso também é vantajoso para promoções. Quando o tráfego aumentar, você poderá ficar tranquilo com várias máquinas rodando ao mesmo tempo. Logo depois, é só reduzir.
Quais são os custos?
Os principais provedores de hospedagem, como Amazon AWS, Microsoft Azure e Google Cloud, oferecem essa tecnologia.
Com base em nossa experiência, a hospedagem com a melhor relação custo-benefício para começar a rodar o seu sistema com esse serviço é a da DigitalOcean.
Para iniciar com essa estrutura, será necessário um investimento de, no mínimo, 75 dólares ao mês.
Conforme o sistema for utilizando configurações, o auto scaling vai cobrando mais US$ 60 por node, aumentando o valor da fatura.
Como já falamos anteriormente: só vale a pena seguir para o Kubernetes da Digital Ocean quando os gastos com hospedagem da aplicação ultrapassam o valor de 75 dólares.
Outros serviços de hospedagem
1) Plataformas para aplicações em nuvem
Esta opção facilita o trabalho do desenvolvimento, principalmente quando o desenvolvedor não pode investir muito tempo em configurações e quer simplesmente rodar suas aplicações e serviços na nuvem.
Firebase e Heroku são os exemplos mais populares e geralmente oferecem possibilidades e ferramentas bem interessantes tanto para desenvolvimento quanto para hospedagem de sistemas.
Porém, usar somente esses serviços como padrão pode trazer problemas de limitação principalmente quando o seu sistema ou aplicativo crescer.
Veja bem: no início, há planos gratuitos e de baixo custo. Conforme o uso aumenta, esse tipo de solução acaba saindo bastante cara se você usá-la para todo o projeto.
Além disso, essas plataformas não permitem o uso de contêineres em Docker e Kubernetes, que atualmente são as soluções que entregam maior escala em relação ao custo-benefício.
Qual a nossa opinião?
Essa é uma boa opção apenas para rodar alguns sistemas internos que nunca terão muito volume ou uso.
Firebase
O Firebase foi adquirido pela Google e contempla uma série de recursos que facilitam muito o desenvolvimento, sendo amigável até para os menos experientes que estão criando seus primeiros aplicativos.
O Firebase só não é recomendado na medida em que o volume vai aumentando, pois os valores podem subir muito.
Heroku
Assim como o Firebase, o Heroku (adquirido pela Salesforce) também é uma plataforma para aplicações em nuvem.
Muitas empresas que começam com o Heroku acabam migrando para o Kubernetes por motivos como performance, confiabilidade e limitações, como vemos neste artigo.
LocaWeb
Empresa brasileira, a LocaWeb possui planos cobrados em reais, auxiliando bastante as organizações que não querem ou podem faturar os serviços em dólares.
O plano VPS 4 GB, com as configurações iniciais de processamento necessárias, sai por R$ 104,90 ao mês.
Mesmo sendo uma opção nacional, ela ainda não possui serviços mais avançados, como o Kubernetes.
2) Microserviços e Serverless
Se você busca por alta qualidade e não se importa tanto com os custos de infraestrutura, a melhor opção é desenhar a arquitetura de seu sistema em microserviços.
Esta possibilidade permite que cada componente seja desacoplado e que funcione de forma isolada, escalando de forma autônoma.
A grande vantagem dos Microserviços é serem Serverless, ou seja, você não precisa se preocupar com servidores, somente em desenvolver seus componentes e disponibilizá-los na nuvem para que possam ser usados por outras aplicações.
Assim, é possível criar uma arquitetura que isola completamente um serviço em termos de hardware e software.
Grandes corporações como o Nubank utilizam essa arquitetura. Porém, seu investimento é alto e muitas empresas acabam desistindo por conta disso.
Qual a nossa opinião?
Apesar das diversas vantagens e facilidades desta opção, não é possível estimar previamente o custo de uma arquitetura desse tipo. Isso porque, ela cresce muito conforme o software é desenvolvido e vai sendo utilizado.
Conclusão
Os custos para hospedar um sistema ou aplicativo não têm um valor fixo e padronizado, eles variam de acordo com as especificidades e os objetivos do projeto.
Se seu sistema ainda está em produção e não precisa de máquinas potentes, é possível ter um gasto a partir de 78 dólares por mês ao contratar os serviços de banco de dados, de backup e de hospedagem de aplicações.
Por outro lado, se é esperado um grande tráfego num projeto mais robusto, esse valor sobe para 133 dólares por mês utilizando os Kubernetes como sistema padrão de hospedagem.
Ficou com alguma dúvida sobre hospedagem de sistemas? A fábrica de softwares X-Apps te ajuda na escolha e na contratação dos serviços fundamentais para o seu sistema ou aplicativo.
Converse com um dos nossos especialistas e peça um orçamento aqui.
Leia mais
>> Cuidados ao validar um projeto de desenvolvimento de software