Olá Leitores, Boa Tarde.
O tema de Serverless Computing é relativamente novo no mercado mas os benefícios que essa tecnologia traz possibilitará empresas terem seus ambientes automatizado sem a necessidade de grandes investimentos de dinheiro e tempo.
Serverless Computing é também conhecido como Function as a service (FaaS), é um modelo de execução de código de computação em Cloud no qual o provedor de Cloud gerencia totalmente o início e a parada da plataforma de contêiner de uma função como um serviço (PaaS), conforme necessário para atender solicitações.
A grande sacada aqui em “Serverless Computing” é justamente ser utilizado por uma empresa sem a necessidade de comprar, alugar ou provisionar servidores ou máquinas virtuais para o código de back-end executar.
Serverless Computing pode ser usado em conjunto com código escrito em estilo de servidor tradicional, como microservices e também pode ser ativado por eventos específicos (como o registro de usuário, uma autenticação, performance, etc) ou ser configurado para ser executado atrás de uma plataforma de gerenciamento de API.
Um exemplo bem claro de como este serviço poderá funcionar pode ser destinada a aplicações orientadas a UserInterface como um site de e-commerce.
Vamos pensar em um sistema tradicional de 3 camadas orientado ao cliente com lógica do lado do servidor. Tradicionalmente, a arquitetura será algo deste modo, e digamos que é implementado em Java no lado do servidor, com um componente HTML / Javascript como o cliente:

Com essa arquitetura, o cliente pode ser relativamente inteligente, com grande parte da lógica no sistema – autenticação, navegação de página, pesquisa, transações – implementada pelo aplicativo de servidor. No entanto, com uma arquitetura Serverless isso pode funcionar melhor desta maneira:

Esta é uma visão simplificada, mas mesmo com isso há uma série de mudanças significativas que aconteceram aqui. Note que esta não é uma recomendação de uma migração de arquitetura, trata-se apenas de um exemplo para expor o conceitos de Serverless.
Na prática atualmente temos alguns serviços de ServerLess já transformados em produtos pelo principais provedores de Cloud como IBM (com o OpenWhisk), AWS (com o Lambda) e Google (com o Google Cloud Functions).
A critério de curiosidade é interessante sabermos o que temos por trás destes serviços e temos uma base em qual linguagem cada um deles está desenvolvido.
- IBM – OpenWhisk – Open Source Serverless – suporta Node.js, Swift, Python e Java via Docker Containers e futuramente em Kubernetes.
- AWS – Lamdba – Node.js, Python, Java, C#
- Google – Cloud Functions – Node.js
O serviço de Serverless da IBM, conhecido como OpenWhish fornece um serviço de computação distribuída para executar a lógica do aplicativo em resposta a eventos. Existem vários conceitos como:
- Triggers: Uma classe de eventos emitidos por fontes de eventos.
- Actions: Encapsular o código real a ser executado que suporta ligações de vários idiomas incluindo NodeJS, Swift e programas binários arbitrários encapsulados em Docker Containers. As ações invocam qualquer parte de um ecossistema aberto incluindo serviços Bluemix existentes para análise, dados, cognitivo ou qualquer outro serviço de terceiros.
- Rules: uma associação entre uma triggers e um action.
- Packages: Descrever os serviços externos de forma uniforme.

Quer testar na prática ?
Acesse agora mesmo o BlueMix – https://console.ng.bluemix.net/openwhisk/.

Combine Serverless com InfraEstrutura até Watson !!! 🙂

Em posts futuros trago um serveless funcionando com um vídeo.
Referências:
https://martinfowler.com/articles/serverless.html#unpacking-faas
https://developer.ibm.com/openwhisk/
Obrigado e abraços,
Thiago Viola
Cloud Mid Market Sales Leader
SoftLayer Subject Matter Expert
E-mail: thiagoviola@yahoo.com.br
LinkedIn: br.linkedin.com/in/thiagoviola
Blog: https://thiagoviola.wordpress.com/
Twitter: @ThiViola
YouTube Channel: https://www.youtube.com/user/tviola87
Slide Share: http://www.slideshare.net/ThiagoViola
Respostas de 2