Introdução a Serveless e Functions as a Servive(FaaS) para leigos
Serveless? Functions as a Servive(FaaS)? Para que serve ?AWS Lamda ? Quem utiliza ? Google Functions? cases? Azure Functions?
Antigamente tínhamos softwares que eram desenvolvidos sob arquiteturas monolíticas e acabavam com seus processos altamente acoplados, não estavam preparados para serem escaláveis, muito menos para evoluírem ao longo do tempo e por serem altamente acoplados, um único ponto de falha poderia impactar toda solução, causando a indisponibilidade para o cliente.
Com o passar do tempo viu a necessidade de criar sistemas que fossem mais adaptáveis a diversidade e independentes entre si, com isso surgiu a ideia de separar o software em “serviços ”, realizando cada um, uma de função específica de forma autônomos, especializados e escaláveis.
Adotando a arquitetura de micros serviços conseguimos uma maior agilidade de desenvolvimento, um escalabilidade flexível ao cenário do cliente, tornamos a solução mais fácil de ser implantada, ganhamos uma liberdade maior de atuar com diferentes tecnologias em um mesmo projeto, além de tornar o código reutilizável e com a independência entre o micros serviços ganhamos mais resiliências as adversidades do meio, ou seja, a possibilidade do sistema continuar funcionando sem que uma funcionalidade de um serviço afete todo o sistema.
Visando simplificar ainda mais, as empresa que possuem soluções de computação em nuvem como a AWS, Google e Microsoft, entre outras, começaram a criar soluções onde o se abstrai e facilita o gerenciamento e configuração da infraestrutura de servidores (Serverless), possibilitaram a escalabilidade continua, criaram modelos de negócio onde o usuário paga apenas pelo tempo de computação consumido, além de possibilitar uma performance uniforme, na prática o desenvolvedor se preocupa apenas com o desenvolvimento da função e na disponibilização dessa função como serviço, criando um nova abordagem conhecida como Function as a Service (FaaS).
Acompanhado essa abordagem de funções como serviço, a AWS criou a solução AWS Lambda que além de de incorporar a abordar as funções como serviço é passível de se conectar a suas outras soluções de sua nuvem e criar soluções diversas em computação em nuvem.
Utilizando o AWS Lambda, the Seattle Time consegue redimensionar imagens para visualização em diferentes dispositivos evitando custo de aquisição e configuração de infraestrutura, sem problemas com grandes volumes de tráfego atendendo seus clientes é mantendo seus serviços estáveis.
A Aible utiliza o AWS lambda utiliza para treinamento e previsões de machine learning, trazendo mais economia, enquanto se beneficia da fácil escalabilidade e gerenciamento para IA é impactar o negócio de maneira rápida e eficaz.
O Google para competir com a AWS, disponibiliza o Cloud Functions através de sua solução de computação em nuvem, o Google Cloud com todas funcionalidades Serverless e Faas, além de um framework próprio para desenvolvimento.
A Semios faz utiliza o Cloud Function para interagir com seus modelos de aprendizados de máquina em tempo real de forma escalável e adaptável ao tráfego requerido é conseguindo a estabilidade necessária para o negócio.
A Smart Parking criou toda solução essencial a empresa, simplificando a configuração e utilização de infraestrutura em apenas quatro meses para criar é aproveitar uma plataforma de IoT para o desenvolvimento de cidades inteligentes.
A Microsoft também aderiu a esse movimento e criou a solução Azure Functions através de sua solução de cloud, a Azure. Essa solução além de oference o suporte a Serverless, disponibiliza suporte para linguagens c#, JavaScript, Fixo #, Java, PowerSheel, Python e TypeScript.
A Relativity diminuiu o tempo de implementação de sua plataforma de descoberta eletrônica que antes eram de quatro meses utilizando os métodos tradicionais para apenas uma semana com a utilização de Functions.
A Direct.one com a utilização de Functions aumentou em cincos vezes a quantidade de transações é diminuiu enquanto o custo que antes era para custear máquinas virtuais.
Serverless e FaaS são a evolução natural dos micros serviços tradicionais que já foram visto como uma revolução em relação a arquiteturas monolíticas super acopladas de APIs complexas. Sua utilização diminui os custos, simplifica a configuração, manutenção e gerenciamento de infraestrutura, além de torna a soluções mais resilientes as adversidades.
Referências
https://aws.amazon.com/pt/microservices/?nc1=h_ls
https://aws.amazon.com/pt/lambda/?nc1=h_ls
https://aws.amazon.com/pt/solutions/case-studies/the-seattle-times/
https://cloud.google.com/functions/
https://cloud.google.com/customers/semios
https://blog.tecnospeed.com.br/o-que-e-arquitetura-serverless/
https://www.stratoscale.com/blog/compute/keeping-small-serverless-functions-vs-microservices/
https://azure.microsoft.com/pt-br/services/functions/
https://customers.microsoft.com/pt-br/story/relativity-partner-professional-services-azure
# Obrigado por sua leitura! :)