O que é Web Assembly (WASM) e para que serve?

O que é Web Assembly (WASM) e para que serve?

Você já ouviu falar em WebAssembly (Wasm)? Resumindo: é uma nova forma de onde e como o código-fonte é processado, movendo a carga das instâncias da nuvem (ou ser  vidores, etc.) para o navegador do usuário final através de “micro sandboxes” que irão compilar o aplicativo.

Imagine que Wasm é um ator que pode se comunicar nativamente com os navegadores atuais. Uma espécie de tradutor que permite que certas linguagens de programação – como C/C++, C# e Rust – falem a “linguagem da web”. O interessante é que ele faz isso de forma muito eficiente, rodando na velocidade que o navegador permite.

Além disso, Wasm é um agente muito cuidadoso . Quando está em ação, garante que não atrapalhe ou cause conflitos com o navegador. Ele fica em seu próprio espaço, como se estivesse em sua própria bolha, teoricamente isolado do restante do sistema (sandbox).

E o que isso tem a ver com o mundo “Cloud Native”? Permite que aplicações em nuvem deleguem custos (tempo, recursos, tráfego... sim, também faturamento) contribuindo para aplicações mais eficientes, seguras e fáceis de gerenciar tanto para os usuários quanto para todos nós que sofremos com pipelines, implantações e blablabla.

Vamos falar de eficiência. Era uma Fórmula 1? Bem, é isso que Wasm faz. Converte programas em um formato especial que pode ser executado diretamente pela máquina, sem desvios desnecessários.

Quando se trata de segurança, Wasm é como alguém que se sente mais confortável em sua própria casa. Ele não sai de sua área e não vai bisbilhotar onde não deveria. Isso significa que ele não mexe com o sistema operacional nem causa problemas no navegador. Tranquilidade total.

E em termos de escalabilidade, Wasm é como aquela peça versátil que você pode usar em qualquer ocasião. Funciona em qualquer lugar que aceite WebAssembly. Você precisa que seu aplicativo cresça? Wasm pode se adaptar às mudanças.

Finalmente, aqui estão exemplos concretos de como o Wasm é usado em aplicações Cloud Native:

  • Microsserviços: pense nos microsserviços como pequenos ajudantes que realizam tarefas específicas. Wasm oferece treinamento especial para serem eficientes e seguros no mundo da nuvem.
  • Micro front-ends: São como capítulos de um livro, mas para aplicativos. Wasm os torna portáteis para funcionar em qualquer navegador. Assim de simples.
  • Inteligência Artificial e Aprendizado de Máquina: Você se lembra dos filmes em que as máquinas parecem pensar? Wasm permite que modelos de aprendizado de máquina façam sua mágica na nuvem.

Resumindo, Wasm é como um vislumbre do futuro dos aplicativos em nuvem. Mas atenção...

Riscos e ameaças

O último risco para o WebAssembly que gostaria de apontar me preocupa e me assusta porque já vi isso acontecer com muita frequência. Isso me assusta porque o ego, as más práticas, o “não tocar porque não”, o sigilo e o desprezo pelos outros podem levar a isso . E isso me assusta porque o pensamento da velha escola em "capturar um mercado" (olá Microsoft), muitas vezes resulta em seguir um curso de ação que resulta em...

Fragmentação.

Isto ocorre quando uma tecnologia central é cooptada por muitas partes, cada uma tentando tornar a sua implementação incompatível com as outras. Às vezes, a incompatibilidade é feita “em nome da rapidez” ou do cumprimento de critérios de curto prazo. "Precisávamos sair do padrão para atender à demanda dos clientes." Outras vezes, surge como uma resposta aos concorrentes: “Decidimos não compartilhar o código-fonte para obter vantagem competitiva”. Infelizmente, por vezes é simplesmente devido à ignorância e à falta de envolvimento da comunidade.

Keep reading on SREDevOps.org: