Saiba como o Serverless é possível com PHP na Amazon Lambda usando bref.
O que é Serverless?
Segundo documentação da Red Hat:
Serverless é um modelo de desenvolvimento nativo em nuvem para criação e execução de aplicações sem o gerenciamento de servidores.
Os servidores ainda são usados nesse modelo, mas eles são abstraídos do desenvolvimento de aplicações. O provedor de nuvem fica responsável pelas tarefas rotineiras de provisionamento, manutenção e escala da infraestrutura do servidor.
Os desenvolvedores só precisam empacotar o código em containers para fazer a implantação.
Depois da implantação, as aplicações serverless atendem à demanda e aumentam ou diminuem a escala automaticamente de acordo com as necessidades. As soluções serverless dos provedores de nuvem pública costumam ser oferecidas sob demanda por meio de um modelo de execução orientado a eventos. Por isso, não há cobrança pelas funções serverless não utilizadas.
4 Vantagens no uso de Serverless
“Sem Servidor”
Sem o gerenciamento de servidor (serverless) não quer dizer que não existirá servidor mas essencialmente que você não precisa mantê-los erguidos quando a aplicação não estiver sendo usada economizando recursos e dinheiro.
Empacotar códigos
Para a implantação de serverless geralmente empacotaremos códigos em contextos bem específicos como funções para que ao ser executado faça determinada atividade e encerre. Não é necessário o projeto todo, apenas aquele pedaço necessário empacotado.
Sob Demanda
Por serem executados sob demanda e exercerem funções específicas, estas rotinas possuem início, meio e fim. Por isso geralmente não são cobrados por hora e sim por segundos e não precisam ficar ligados no caso de não utilização. Também são auto-escaláveis pelas próprios nuvens e suas arquiteturas pois essencialmente são descentralizados.
Orientado a Eventos
O gatilho inicial de uma função para que o processo serverless funcione e mais utilizado é um evento e este tipo de abordagem traz consigo uma infinidade de vantagens e desafios.
Estes eventos podem ser através de filas, eventos nativos da própria nuvem como “upload no storage do S3” e portanto abrem um leque de possibilidades.
Bref como solução para PHP
Quem já ouviu falar sobre Serverless e deu uma pesquisada sabe que na nuvem da Amazon este serviço é conhecido por AWS Lambda.
Porém, o suporte nativo do AWS Lambda é para nodeJS, Go, Python e Java não suportando nativamente ainda o PHP.
Nós na Vivaweb<> já escrevemos alguns lambdas em nodeJS que é uma linguagem familiar para muitos programadores PHP inclusive mas para automatizar outras rotinas seria muito bom contar com nossos próprios códigos já existentes, testados e funcionais.
E é aí o que Bref entra: trazer tudo isso já resolvido para você usar AWS Lambda através do uso de bref com uma PHP Runtime pronta pra deploy.
Serverless pra tudo? Não!
Serverless pra que?
Segundo a própria documentação, para:
- APIs
- Workers
- Batch Proccess
- Scripts
- Websites
Mas nossa avaliação é de que para os primeiros trabalhos performados para Serverless – em uma aplicação já existente – poderiam ser os famosos Cron Jobs ou Batch Process e demais scripts que rodam de maneira isoladas da aplicação.
Bref e PHP 8
O Bref já anunciou que PHP está “supimpa” para ser incorporado…
Se era um motivo que faltava…
Ficou curioso? Quer saber mais?
- Site Oficial: https://bref.sh/docs/
- Documentação Oficial: https://bref.sh/docs/