Firebase — Vantagens de um BaaS para sua Startup

Acompanho faz algum tempo o Firebase, principalmente após sua venda para o Google em 2014 (link). Porém, após o Google I/O desse ano, me chamou bastante atenção a nova versão lançada e algumas integrações aos serviços do Google.

Para ter uma idéia da importância do Firebase para o Google, no evento Google I/O desse ano, 34 sessões tinham relação direta ou indireta com o Firebase (segue playlist com todos os vídeos das sessões).

O Firebase se tornou uma plataforma BaaS (Backend as a Service — http://baas.apievangelist.com/) muito interessante para quem está iniciando ou possui uma Startup, indo além do BaaS e disponibilizando funções de Analytics, Aquisições de usuários e Monetização com Anúncios.

Por que adotar um BaaS em uma Startup?

Para explicar um pouco da possibilidade de adotar um BaaS como o Firebase para sua Startup, vamos entender um pouco como nasce uma Startup e quais suas principais preocupações durante o início.

Quando se inicia uma Startup, o principal objetivo é a validação de sua idéia, onde geralmente se busca respostas para questões como:

  • Quem são os usuários?
  • As pessoas querem meu produto?
  • As pessoas podem utilizar meu produto?
  • Quais os fluxos dos usuários ao utilizar meu produto?
  • Qual design gera os melhores resultados?

Seguindo os estágios de uma Startup proposto por Ash Maurya em seu livro Running Lean, existem os seguintes estágios:

Estágios de uma Startup

Durante os estágios de Problem/Solution Fit e Product/Market Fit é esperado que vários MVPs e validações de hipóteses de sua idéia sejam executados. De acordo com os resultados obtidos, algumas mudanças no seu produto ou estratégia de negócio (Pivots) devem ser realizados.

Nesses estágios (Problem/Solution Fit e Product/Market Fit), protótipos e versões do produto serão lançados para fazer as validações extremamente necessárias para sua Startup, afinal o maior risco de uma Startup é criar algo que ninguém queira.

Geralmente Startups quando fundadas por pessoas técnicas, existe uma preocupação grande ao iniciar o desenvolvimento em relação as tecnologias que serão utilizadas, como por exemplo, se o banco de dados será relacional ou algum NoSQL, hospedagem, etc.

Dependendo de qual produto a Startup pretende oferecer, como criar um aplicativo para smartphone por exemplo, exige um grande trabalho técnico, principalmente com o seu Backend, onde é necessário definir suas REST API, segurança OAuth2, login de usuários, integração com redes sociais, etc.

Startups iniciam geralmente com poucos recursos financeiros (geralmente dos próprios fundadores), poucas pessoas envolvidas (incialmente somente seus fundadores). Cada minuto deve ser gasto da melhor forma possível. Imagine gastar 6 meses para colocar uma versão inicial do produto no mercado e somente após esses período, descobrir que ninguém queria um produto da forma que você desenvolveu?

Em resumo: criar um produto exige um trabalho que resulta em um tempo gasto, e para uma Startup quanto antes puder validar melhor.

Alcançar o estágio Product/Market fit e então crescer (estágio Scale) é o que toda Startup busca, ou seja, ajustar seu produto e modelo de negócio de forma que usuários adorem seu produto, que tenha muita retenção e engajamento mesmo em pequenos números, para que então você possa crescer. Antes desse estágio, geralmente não vale a pena fazer grandes investimentos em tecnologia, growth market ou mesmo buscar grandes rodadas de investidores.

Para chegar até o estágio de Scale, vários ajustes e testes em seu produto serão realizados, e é essencial sua velocidade em ajustar o produto para conter as alterações necessárias, distribuir para os usuários e colher os resultados rapidamente.

Adotar uma plataforma BaaS como o Firebase pode reduzir muito tempo técnico no desenvolvimento do seu produto, e permitir gastar esse tempo no que realmente você precisa: conversar com seus usuários, validar hipóteses, aprender e ajustar seu plano de negócio (estágios de Problem/Solution Fit e Product/Market Fit).

Vantagens com o Firebase

Com o Firebase você pode desenvolver para iOS, Android ou Web, onde através do uso de seus SDKs de desenvolvimento, seu foco será na parte visual de sua aplicação (View) e todo Backend é configurado e gerenciado rapidamente através do Firebase.

Essas são algumas das vantagens ao utilizar o Firebase:

  • focar no desenvolvimento de sua aplicação, sem preocupações com Backend e algumas integrações (ex.: redes sociais)
  • dedicar mais tempo para criar um MVP mais elaborado
  • dedicar mais tempo para aprendizado de seus testes de hipóteses e MVPs
  • não precisar se preocupar com o crescimento, pois isso é todo administrado pelo Firebase, seja para 1 usuário ou 10 milhões de usuários
  • não precisar se preocupar com segurança do seu Backend com APIs ou hardware/máquinas virtuais
  • possui ferramentas que vão além do Backend, como ferramentas para Analytics e anúncios de propagandas (via AdMob)

Suas funcionalidades estão divididas entre 4 categorias: Analytics, Develop, Grow e Earn:

Uma grande vantagem é que as funcionalidades são independentes, ou seja, você escolhe o que deseja utilizar. Por exemplo, você pode optar por manter todo seu banco de dados e informações em seu próprio Backend e mesmo assim, utilizar o Notifications do Firebase para facilitar as notificações para as versões da sua aplicação no Android e iOS, utilizando um serviço único para ambas plataformas.

O Firebase possui uma função de Analytics gratuita e bastante poderosa para ajudar nas análises do seu produto e entender o comportamento de seus usuário, segmentações, etc.

Outra grande vantagem do Firebase é que ele não se limita apenas para aplicativos Mobile (iOS e Android), você pode desenvolver aplicações Web (Javascript ou Node.js) ou mesmo integrar algumas de suas funcionalidades com seu Backend já existente (Node.js ou Java).

Mais informações sobre como funciona e como utilizar cada uma das funções pode ser encontrada na própria documentação do Firebase (https://firebase.google.com/docs/)

Apesar de ter algumas das funções gratuitas, e principalmente um limite gratuito para todos os serviços, os preços não são dos mais altos e no próprio site do Firebase é possível fazer um cálculo de estimativa de preço de acordo com sua utilização (https://firebase.google.com/pricing/)


Embora esse post tenha o foco de compartilhar os benefícios que uma plataforma BaaS como o Firebase pode ajudar uma Startup em seu estágio inicial, isso não significa que após a validação de sua idéia você tenha que criar seu próprio Backend para conseguir atender todo o crescimento que ela atingir. Em geral, todas as plataformas BaaS já estão prontas para escalar e atender de acordo com a demanda da sua aplicação.

Pode ser que nem todos os casos, o Firebase ou uma outra plataforma BaaS possa atendê-lo, mas a sua grande maioria sim. O principal ponto é considerar sua utilização para agilizar todos os seus testes de hipóteses e time-to-market. Permitindo assim, que você aprenda o quanto antes sobre seus usuários e consiga ajustar seu produto rapidamente para algo que seus usuários desejam, seguindo assim o princípio: Fail Fast. Succeed Faster

Referências