WebAssembly na Plataforma de Edge Computing da Azion: faça tudo no edge

A Azion trabalha diariamente para tornar a vida dos desenvolvedores mais fácil e suas aplicações mais poderosas. Por isso, temos o prazer de anunciar que a Plataforma de Edge Computing da Azion agora conta com suporte nativo para WebAssembly.

Arijit Ghosh - Product Marketing Manager
Lucas Bispo - Engineer
Thiago Silva - Technical Researcher
WebAssembly na Plataforma de Edge Computing da Azion: faça tudo no edge

O que é WebAssembly?

WebAssembly (também conhecido como WASM) é uma linguagem de programação lower-level, mais próxima do Assembly, que permite que códigos escritos em linguagens compiladas como C, C++, Go, Rust e muitas outras sejam executados em velocidade quase nativa na Web. O WebAssembly traz consigo algumas características indispensáveis para o desenvolvimento web no mundo contemporâneo, tais como:

  • É rápido e eficiente, pois é projetado para ser decodificado e executado em formato binário;
  • É seguro, pois é executado em sandboxes;
  • É aberto e depurável, pois é disponível em formato textual;
  • É parte da Open Web Platform.[1]

Historicamente, o Javascript tem sido a linguagem de preferência para o desenvolvimento web. No entanto, quando se trata de implementar casos de uso mais recentes, que envolvem computação intensiva como jogos AR/VR e 3D (que exigem gerenciamento de memória low leve), o Javascript enfrenta grandes problemas de desempenho.

Assim, o WebAssembly é uma solução perfeita para permitir que esses casos de uso sejam executados diretamente na web. Mas é importante destacar que o WASM não é um substituto, mas sim um complemento ao Javascript. A partir de agora, desenvolvedores podem inovar mais rápido, escrevendo aplicações sofisticadas e tirando proveito dos pontos fortes dessas duas linguagens.

Modernize suas aplicações com WebAssembly

A economia hiperconectada de hoje exige experiências digitais superiores e inovação cada vez mais rápida. Nesse cenário, executar aplicações em uma plataforma edge computing moderna e distribuída é a solução perfeita. No entanto, as aplicações mais sofisticadas são escritas em linguagens compiladas, para serem executados em infraestruturas legadas, como na cloud ou on-premise. Dessa forma, não é possível executar essas aplicações no edge, que normalmente oferece suporte a linguagens interpretadas.

Por isso, o problema em que os desenvolvedores normalmente esbarram é como modernizar rapidamente aplicações legadas para serem executadas em plataformas de edge computing?

Uma opção seria reescrever todas as aplicações em Javascript. Mas essa abordagem é arriscada, pois pode incorrer em custos significativos em termos de tempo, dinheiro e produtividade do desenvolvedor. Além disso, como observado acima, muitas dessas aplicações nem podem ser reescritas em Javascript sem sacrificar a velocidade e a segurança.

Assim, o WebAssembly oferece uma alternativa muito melhor, mais simples e mais rápida. Com o WASM, o código existente só precisa ser recompilado para o edge, sem a necessidade de reescrever o código em uma nova linguagem. Esse processo de modernização pode ser ainda mais acelerado com a implementação dessas aplicações na Plataforma de Edge Computing da Azion, uma plataforma NoOps e que oferece altíssimo desempenho e segurança.

Como usar WebAssembly na plataforma da Azion

Vamos demonstrar, de modo prático, um dentre os tantos casos de uso de que você pode se beneficiar ao adotar o WASM na plataforma da Azion.

A manipulação de imagens é um componente fundamental das aplicações de e-commerce. É necessário um grande poder de processamento para fornecer imagens com a “qualidade certa”, que preservam a experiência do usuário e, ao mesmo tempo, melhoram a performance e reduzem o uso de largura de banda.

Considere um código de redimensionamento de imagem que foi escrito em C para ser executado em infraestruturas legadas, como um datacenter.

Um código como esse, projetado para ser executado em poucos locais, invariavelmente enfrentará problemas de desempenho e escalabilidade. Para resolver esses problemas, é preciso executá-lo em uma plataforma de edge hiperdistribuída, onde as imagens são processadas mais próximas do usuário. Mas, em vez de reescrever esse código em Javascript, o que pode levar meses, você pode usar o WASM para modernizá-lo em minutos, tornando possível executá-lo no edge.

Em primeiro lugar, você precisa compilar seu código original para o formato WASM e, em seguida, converter o código em bytes. Você pode utilizar um script Shell como esse:

od -An -v -t uC <YOUR_WASM_CODE>.wasm \
| sed -e "s/^[[:blank:]]*//g;s/[[:blank:]]*$//g" \
-e "s/[[:blank:]][[:blank:]]*/\n/g" \
| tr '\n' ',' \
| sed -e "s/,*$//g" > <BYTES_RESULT>.txt

Após passar o código WASM pelo script acima, temos um código parecido com este:

Agora, o código WASM pode ser chamado diretamente de uma edge function, como demonstrado abaixo (você pode encontrar informações mais detalhadas sobre o Edge Functions na nossa documentação):

A partir de agora, essa edge function pode ser implementada e executada em cada uma das edge locations da Azion distribuídas no mundo todo.

Pronto! Em poucos minutos, você trouxe sua aplicação completa para ser executada com performance nativa diretamente no edge da Azion, melhorando sua escalabilidade, disponibilidade e segurança.

Mudar para edge nunca foi tão simples

Neste post, demonstramos como a adoção do WebAssembly pode transformar o modo como você cria e executa suas aplicações de forma mais rápida e efetiva no edge. Mas isso é apenas uma pequena amostra do que você pode fazer com o WASM na Plataforma de Edge Computing da Azion.

Você pode aprender mais sobre todas as possibilidades do WASM para o desenvolvimento de edge functions consultando nossa documentação. Você também pode se cadastrar gratuitamente na nossa plataforma para testar esses e todos os outros recursos que oferecemos para potencializar seu negócio e ajudar a criar aplicações serverless preparadas para o futuro.

Todas as novas contas incluem:

  • US$ 300,00 em créditos de serviço válidos por 12 meses
  • Acesso completo a todos os produtos e recursos
  • Implementação da sua primeira edge application em menos de 5 segundos
  • Sessão de onboarding grátis

E tudo sem precisar cadastrar um cartão de crédito.

E caso você ainda tenha alguma dúvida, não hesite em falar com nossos experts. Siga-nos também no LinkedIn, no Instagram e no Youtube para mais insights sobre edge computing e sobre os nossos produtos.

Referências

[1] https://webassembly.org/

Inscreva-se na nossa Newsletter