Serverless

Serverless

Também conhecido como: Funções como Serviço (FaaS), o serverless = "servidor sem servidor" permite que as equipes de desenvolvimento de aplicativos nativos da nuvem transfiram a carga operacional de execução e envio de código para seus provedores de nuvem - reduzindo custos indiretos, aumentando a escalabilidade e simplificando o ciclo de DevOps.

Serverless já é percebido como a próxima evolução na infraestrutura de aplicativos, mas ainda existem alguns obstáculos a serem superados - especificamente a padronização.

A guerra dos navegadores (cenário passado)

A padronização tem sido uma força unificadora para o mundo da computação. Se você tem idade suficiente para lembrar os primeiros dias da Internet (quando ainda era chamada de World Wide Web), vai se lembrar das guerras entre navegadores: Internet Explorer e o Netscape. Na luta pela hegemonia, cada navegador pressionava suas próprias atualizações para HTML, que eram amplamente incompatíveis com o outro navegador.

Está guerra culminou no ponto em que os sites criados para um navegador não funcionariam bem no outro, fragmentando a Internet e aumentando os custos de desenvolvimento da Web. Os desenvolvedores tiveram que criar efetivamente dois sites ou perder a audiência usando o outro navegador.

Está situação só mudou com o Web Standards Project , uma coalizão popular que em 2001 persuadiu com sucesso o Internet Explorer, Netscape e outros navegadores a adotar padrões estabelecidos pelo World Wide Web Consortium . O resultado é a internet que conhecemos e amamos hoje: uma plataforma aberta, colaborativa e universal que conecta pessoas on-line em todo o mundo, facilitando significativamente a vida dos desenvolvedores da web.

A guerra das nuvens - clouds war (cenário atual)

Hoje, o ecossistema "noserver"-sem servidor, ainda está fragmentado, assim como a Internet antiga. Entre o AWS Lambda, o Microsoft Azure Functions, o Google Cloud Functions e as inúmeras outras plataformas, muitas funções serverless são proprietárias, o que torna um desafio migrar um aplicativo de uma plataforma para outra. A falta de portabilidade e interoperabilidade entre plataformas está impedindo a adoção serverless, pois os desenvolvedores temem ficar presos ao fornecedor.

A falta de padronização "no server" - (sem servidor), também apresenta desafios de segurança. Embora o servidor serverless possa otimizar as operações cortando o gerenciamento do servidor, os desenvolvedores perdem a visibilidade das cargas de trabalho executadas nas plataformas serverless. Isso significa que ameaças à segurança, como infiltração de dados, configurações incorretas, aprovisionamento excessivo de privilégios de acesso, podem passar despercebidas. O efeito disso é deixar os desenvolvedores dependentes das APIs fornecidas pelo provedor serverless para observar possíveis ameaças à segurança. Sem uma estrutura padronizada noserver, não pode haver ferramentas de segurança padronizadas ou práticas recomendadas que funcionem no ecossistema serverless.

Os caminhos para a padronização (cenário atual/futuro)

Grupo de trabalho Serverless - CNCF

CloudEvents 1.0

Knative- Kubernetes

A força das tendências

O Knative está na frente pois o Google construiu sua plataforma serverless de última geração e totalmente gerenciada, Cloud Run, em torno do Knative, o que significa que outras plataformas serverless poderão em breve seguir o exemplo.O próprio Knative se baseia no Kubeless, um esforço anterior para padronizar o servidor sem o Kubernetes.

O conceito de Serverless oferece acima de tudo liberdade aos desenvolvedores para focar na criação de funcionalidade em seu código, ao invés de gerenciar os servidores nos quais essas funções são executadas. A liberação dessa responsabilidade operacional é vital, tem o potencial de liberar inovação e valor comercial significativos para os desenvolvedores de aplicativos, mas a falta de padronização ameaça fragmentar o ecossistema serverless e criar vencedores e perdedores. Com a padronização, vem o poder da colaboração de código aberto que alimentou a inovação desde o início da era da computação. Resta torcer para que nessa guerra, bem como na dos navegadores, possa o consumidor final ser beneficiado.