O que é um Backend as a Service?

BaaS – Tudo que você precisa saber!

O presente artigo irá detalhar as vantagens e desvantagens de se utilizar um backend as a service no desenvolvimento de aplicações web ou mobile. 

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 – 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 –  Uma plataforma que permite a criação de uma infra-estrutura pronta AngularJS para a sua aplicação.
  • RapidAPI – Uma plataforma de back-end que permite a gravação de dados e integração de APIs.
  • Stamplay – 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.

Quer saber mais? Leia estes dois artigos:

Backend as a Service

Backend como Servico

Artigo original publicado por mim no InfoQ

BaaS – Prós e Contras


Leave a reply

Your email address will not be published.