Como criar aplicativos sem servidor com SST e MongoDB Atlas
Avalie esse Artigo
A computação sem servidor agora está se tornando o padrão para o desenvolvimento de aplicativos na nuvem. Em seu núcleo, o serverless permite que os desenvolvedores criem pequenos pacotes de código que são executados por um provedor de nuvem para responder a eventos. Esses eventos podem variar de solicitações HTTP a tarefas cron, ou até mesmo notificações de upload de arquivos. Esses pacotes de código são chamados de funções ou funções Lambda, nomeados após AWS Lambda, o serviço AWS que os alimenta. Esse modelo permite que os serviços sem servidor sejam dimensionados com facilidade e sejam incrivelmente econômicos, pois você paga apenas pelo número exato de milissegundos necessários para executá-los.
No entanto, trabalhar localmente com funções Lambda pode ser complicado. Você precisará emular os eventos localmente ou reimplantá-los na nuvem sempre que fizer uma alteração. Por outro lado, devido à execução dessas funções baseada em eventos, você também precisará usar serviços que ofereçam suporte a um modelo semelhante. Por exemplo, um banco de dados tradicional espera que você mantenha uma conexão e a reutilize para fazer consultas. Isso não funciona bem no modelo sem servidor, pois as funções do Lambda são efetivamente sem estado. Cada invocação de uma função Lambda cria um novo ambiente. O estado de todas as invocações anteriores é perdido, a menos que seja confirmado no armazenamento persistente.
Ao longo dos anos, tem havido um fluxo constante de melhorias por parte da comunidade para enfrentar esses desafios. A experiência do desenvolvedor está agora em um ponto em que é incrivelmente fácil construir aplicativos full-stack sem servidor. Nesta postagem, veremos a nova maneira de criar aplicativos sem servidor. Isso inclui o uso de:
- Serverless Stack (SST), um framework para criar aplicações sem servidor com uma ótima experiência para o desenvolvedor local.
- Um banco dedados sem servidor no MongoDB Atlas, o serviço de banco de dados em cloud mais avançado do mercado.
“With MongoDB Atlas and SST, it’s now easier than ever to build full-stack serverless applications. " — andrew davidson, vice-presidente de gerenciamento de produtos, MongoDB
Vejamos como o uso dessas ferramentas juntas pode facilitar a criação de aplicativos sem servidor.
As funções Lambda são pacotes de código executados em resposta a eventos de nuvem. Por isso é um pouco complicado trabalhar com eles localmente, já que você deseja que eles respondam a eventos que ocorrem na nuvem. Você pode contornar isso emulando esses eventos localmente ou reimplementando suas funções para testá-los. Ambas as abordagens não funcionam bem na prática.
O SST é uma estrutura para criar aplicativos sem servidor que permite aos desenvolvedores trabalhar em suas funções do Lambda localmente. Ele apresenta algo chamado Live Lambda Development, que faz o proxy das solicitações da nuvem para sua máquina local, as executa localmente e envia os resultados de volta. Isso permite que você trabalhe em suas funções localmente sem precisar redistribuí-las ou emular os eventos.
Portanto, o desenvolvimento do Live Lambda permite que você trabalhe em seus aplicativos sem servidor, da mesma forma que faria com um aplicativo tradicional baseado em servidor.
Os bancos de dados tradicionais operam sob o pressuposto de que há uma conexão consistente entre o aplicativo e o banco de dados. Ele também pressupõe que você será responsável por dimensionar a capacidade do banco de dados, assim como faria com seu aplicativo baseado em servidor.
No entanto, em um contexto sem servidor, você está simplesmente escrevendo o código e o provedor de nuvem é responsável por dimensionar e operar o aplicativo. Você espera que seu banco de dados também se comporte da mesma forma. Você também espera que ele lide com novas conexões automaticamente.
Para resolver esse problema, o MongoDB Atlas iniciou instâncias sem servidor, atualmente disponíveis em visualização. Isso permite que os desenvolvedores usem a experiência de desenvolvimento de classe mundial do MongoDB sem qualquer configuração, manutenção ou ajuste. Você simplesmente escolhe a região e receberá um endpoint do banco de dados on-demand para seu aplicativo.
Você pode então fazer queries em seu banco de dados, como faria normalmente, e todo o resto é cuidado pelo Atlas. As instâncias sem servidor aumentam ou diminuem automaticamente, dependendo do seu uso, para que você nunca precise se preocupar em provisionar mais do que o necessário e pague apenas pelo que usar.
Nesta postagem, vimos uma rápida visão geral do cenário atual sem servidor e como a computação sem servidor abstrai e automatiza muitas das decisões de infraestrutura de nível inferior. Então, você pode se concentrar na criação de recursos que são importantes para o seu negócio!
Para obter ajuda para criar seu primeiro aplicativo sem servidor com SST e o MongoDB Atlas, confira nosso tutorial: How to use MongoDB Atlas in your serverless app.
" As instâncias sem servidor e o SST do MongoDB Atlas permitem que os desenvolvedores aproveitem a experiência incomparável do MongoDB para criar aplicativos sem servidor completos. " — Jane V, CEO, SST
Não deixe de conferir o início rápido e participar dos fóruns da comunidade para obter mais insights sobre a criação de aplicações sem servidor com o MongoDB Atlas.