Um BaaS pode ser visto como uma ponte conectando o backend e o frontend de uma aplicação. Os BaaS auxiliam os desenvolvedores a acelerar a criação de aplicações web e mobile e simplificam a criação de APIs. Em vez de codificar o backend inteiro, o desenvolvedor usa o BaaS para criar as APIs e conectá-las às aplicações.
Por que utilizar um BaaS?
Backend-as-a-service (BaaS) é um serviço de computação em nuvem que serve como middleware. O mesmo fornece aos desenvolvedores uma forma para conectar suas aplicações mobile e web a serviços na nuvem a partir de APIs e SDKs. O link abaixo traz a definição de BaaS fornecida pela Techopedia.
https://www.techopedia.com/definition/29428/backend-as-a-service-baas
O BaaS possibilita aos desenvolvedores mobile e web a abstrair completamente a infraestrutura do lado do servidor (server side infrastructure). Os desenvolvedores podem montar os blocos de construção necessários e apenas escrever o código que os conecta. Isso permite que os desenvolvedores se concentrem na experiência dousuário ( Front end U/X) em vez de lidar com a infraestrutura e codificação do backend.
Aplicações web e mobile demandam um conjunto de características análogas e muitas atividades repetitivas. Por exemplo, a criação de uma página de Log In e Log Out está presente em quase todos os sites e faz bastante sentido automatizar sua criação. Há muitos outros exemplos de atividades repetitivas comuns em aplicações, como notificação por e-mail, integração com redes sociais e notificações Push. Em geral, esses serviços apresentam sua própria API e precisam ser incorporados separadamente à aplicação. A criação demanda muito tempo e esforço e pode ser automatizada com a utilização de um BaaS.
Um dos principais objetivos do BaaS é automatizar atividades repetitivas e evitar utilizar desenvolvedores para realizar tarefas de baixo valor agregado. Desta forma, as horas alocadas para o desenvolvimento de um projeto de software ficam restritas às tarefas complexas e de alto valor agregado e que não podem ser automatizadas. O custo total do desenvolvimento de um backend pode ser reduzido em até 80% a partir da utilização de um BaaS e o tempo de desenvolvimento do backend também pode ser minimizado.
O tempo de aprendizado para utilização de um BaaS é relativamente pequeno, permitindo que para sistemas de menor escala um desenvolvedor Frontend ou Mobile construa um projeto inteiro de software (frontend + backend) sozinho. Para projetos maiores, o desenvolvedor do backend pode focar seus esforços em atividades de alto valor agregado.
Principais empresas do mercado BaaS
Até o inicio de 2016 o maior representante do mercado de BaaS era o Parse.com. A empresa, que faz parte do Facebook, tem mais de um milhão de aplicativos instalados em sua plataforma, e mais de 600 mil usuários. O Parse foi adquirido pelo Facebook em 2013, mas no início de 2016 a rede social decidiu finalizar as operações da empresa. Em 2017 a plataforma será descontinuada. Com isto, milhões de aplicações terão que buscar alternativas para migração. Algumas opções de BaaS são mostradas abaixo:
- Back4app - www.back4app.com - Empresa criada no Brasil que auxilia desenvolvedores e empresas a migrar aplicações do Parse. Suporta aplicações web, mobile e IoT e é Open Source.
- Firebase - www.firebase.com - Permite o armazenamento de dados, autenticação de usuário, hospedagem estática, e muito mais.
- AWS Móvel Hub - este é um substituto Parse direta que recentemente saiu pela AWS. Embora este está em Beta, AWS é uma plataforma bem respeitado que suporta muitos grandes empresas como Netflix e Yelp. AWS Móvel Hub - desenvolver, testar e Lançamento Mobile Apps
- BackAnd - www.backand.com - Uma plataforma que permite a criação de uma infra-estrutura pronta AngularJS para a sua aplicação.
- RapidAPI - www.rapidapi.com - Uma plataforma de back-end que permite a gravação de dados e integração de APIs.
- Stamplay - www.stamplay.com - Permite a construção de aplicativos em seu navegador sem codificação usando APIs como blocos.
Veja uma lista no Quora com as principais alternativas ao Parse.
Mercado
Conforme mostrado nos sites da Technavio e Marketsandmarkets, o mercado de BaaS terá taxa de crescimento superior a 80% ao ano e atingirá 28 bilhões de dólares em 2020, ou seja, será aproximadamente 10 vezes maior que o atual no final da década.
O crescimento será motivado pelas economias orientadas a aplicativos em todo mundo e a indispensabilidade de aplicativos móveis na criação de valor econômico. Os aplicativos também apresentam um impacto bastante grande nas indústrias como um todo e trazem mudanças disruptivas em negócios e processos. O conceito de mobilidade empresarial gira em torno de aplicativos e virtualmente todas as organizações estão investindo em aplicações mobile para aumentar a mobilidade.
Em 2020 existirão cerca de 20 milhões de desenvolvedores no mundo e este se tornará um dos grupos profissionais que mais irá crescer. Os desenvolvedores estarão divididos entre 140 mil startups, 230 mil empresas de desenvolvimento de sistemas e diversas outros segmentos de empresas.
Vantagens
- Fornecedores - O mercado é relativamente maduro e existem inúmeros fornecedores confiáveis para todos os tipos de necessidades.
- Esforço de Desenvolvimento - Um desenvolvedor pode economizar semanas no que tange à criação de um backend. Um BaaS é uma alternativa bastante boa para acelerar o desenvolvimento de sistemas.
- Monetização - Dado que o tempo para a criação de uma aplicação é bem menor, o MVP pode ser lançado de forma muito rápida. Consequentemente, a geração de receita se inicia mais cedo. Muito importante, em especial, para startups.
- Escalabilidade - A quantidade de usuários pode ser escalada sem interrupções ou perda de performance.
- Segurança - As empresas de BaaS fornecem protocolos de segurança muito bons.
Desvantagens
- Controle - Os desenvolvedores apresentam menor controle sobre o código fonte e o acesso ao backend é mais restrito.
- Vendor Lock In - O usuário deve ser cauteloso e avaliar de forma muito criteriosa os fornecedores. É uma decisão de longo prazo e deve ser dada preferência a fornecedores que permitam a migração de dados ser houver necessidade.
Palavras Chave: BaaS ,API , Backend, Parse, Parse Alternativa, Firebase, Parse Migração, Backend as a Service, Servidor, Infraestrutura.
Sobre o autor
George Batschinski é formado em Engenharia Aeronáutica pelo ITA e apresenta MBA pela IESE Business School. Atua no setor de desenvolvimento de sistemas desde 2004, gerenciando times de desenvolvimento de soluções de software nas áreas de aviação, edução e finanças. É sócio fundador da GTAC e do Back4app.