![Usando RAG baseado em SQL para analisar melhor os dados do banco de dados com GenAI](https://optimuscloud.com.br/wp-content/uploads/2024/04/Usando-RAG-baseado-em-SQL-para-analisar-melhor-os-dados-150x150.jpeg)
Usando RAG baseado em SQL para analisar melhor os dados do banco de dados com GenAI
10 de abril de 2024![Tetrate Enterprise Gateway para graduados enviados](https://optimuscloud.com.br/wp-content/uploads/2024/04/Tetrate-Enterprise-Gateway-para-graduados-enviados-150x150.png)
Tetrate Enterprise Gateway para graduados enviados
10 de abril de 2024Onde estamos com a adoção do WebAssembly? Dezoito meses atrás, The New Stack publicou um artigo perguntando o que estava impedindo Wasm; no mês passado, 51% dos entrevistados em uma pesquisa do The New Stack disseram que ainda não têm experiência pessoal com o WebAssembly. Há dois meses, outra de nossas pesquisas descobriu que, embora 23% tenham usado o WebAssembly no trabalho, 42% disseram que, embora não usem o WebAssembly, planejam fazê-lo quando ele amadurecer.
Para algo que existe há sete anos – um período de tempo substancial no contexto da indústria de software – é estranho que tantas pessoas ainda estejam esperando para começar a usá-lo.
!function(){“use strict”;window.addEventListener(“message”,(function(a){if(void 0!==a.data(“datawrapper-height”)){var e=document.querySelectorAll( “iframe”);for(var t in a.data(“datawrapper-height”))for(var r=0;r
O estado atual do WebAssembly
“A adoção é pequena, mas ainda está em crescimento lento e constante”, disse Oscar Spencer, Diretor de Engenharia da Suborbital, ao The New Stack. Oscar também é coautor da linguagem de programação Grain e conversou com The New Stack sobre o artigo mencionado acima. Nisso, ele expressou seu desapontamento com a retirada do projeto AssemblyScript de seu apoio ao WASI (WebAssembly System Interface), que foi amplamente visto como prejudicial à adoção e algo que levaria a uma maior fragmentação no ecossistema Wasm.
No entanto, Spencer agora está confiante de que o WebAssembly superou os problemas de 2022. “As ferramentas estão melhorando lentamente e a confiança do desenvolvedor está aumentando lentamente”, diz ele.
Até certo ponto, a fragmentação que Spencer previu em 2022 tem aconteceu – mas em vez de ser um desafio, tem sido sem dúvida um dos pontos fortes do WebAssembly.
Este é um ponto defendido por Ben Titzer, um dos cofundadores do WebAssembly. “Tem sido incrível vê-lo usado em tantos contextos por tantas pessoas diferentes”, disse ele. “Eu esperava que uma trajetória de adoção fosse mais centralizada… na verdade, ela se espalha muito de boca em boca, por meio de experimentos independentes.”
Steve Manuel, cofundador e CEO da Dylibso, uma empresa de software que cria ferramentas para ajudar as equipes a aproveitar o Wasm, diz que “ainda estamos nos primeiros dias”. Ele vê o estado atual da situação como consistindo principalmente de “engenheiros de sistemas e desenvolvedores de compiladores trabalhando para atingir o Wasm”. No entanto, ele vê “implementações significativas em grandes empresas” – como o Shopify, que usou Wasm para seu produto Functions – como um sinal de que “há uma onda de adoção ao virar da esquina”.
“Todos os desenvolvedores de aplicativos do Shopify estão agora se reformulando para trabalhar neste novo produto”, acrescentou. “Quer eles saibam ou não, estão implantando módulos WebAssembly no Shopify, disfarçados de aplicativos na plataforma.”
Sucessos e desafios da adoção
Titzer diz que, além de sua surpresa pelo fato de o projeto não ter sido realmente conduzido pela administração central, ele também ficou surpreso com “a natureza gradual das linguagens existentes voltadas para ele”.
“Embora obviamente C/C++ e Rust tenham chegado ao ecossistema desde o início, outras linguagens pareciam lentamente colocar o ‘dedo do pé na água’, primeiro tendo suporte limitado e depois gradualmente investindo mais à medida que o uso decolava.”
Como fundador de uma empresa que desenvolve especificamente ferramentas para ajudar os engenheiros a aproveitar o WebAssembly, Manuel está em uma excelente posição para rastrear e seguir tendências específicas de adoção. “Uma área interessante de crescimento é a adoção de aplicativos corporativos críticos para os negócios, escritos em Java.” ele diz. Isso pode parecer surpreendente, mas ele explica que “muitas pessoas que viveram a onda inicial do Java basicamente veem o Wasm como JVM 2.0”. Na prática, isso significa que “o Wasm estava sendo incorporado em aplicativos Java, em grande parte usando o tempo de execução Chicory, construído principalmente por Dylibso e Red Hat, especificamente para usuários Java”.
Outra área em que Manuel obteve sucesso com o WebAssembly foi ajudar os desenvolvedores a “incorporar sistemas de plug-ins em aplicativos de software”. Em outras palavras, “permitir que os usuários finais escrevam uma personalização para o software usando um programa – o plugin – compilado para WebAssembly”.
Pontos de interrogação sobre sem servidor?
Um caso de uso considerado particularmente apropriado para Wasm é sem servidor. No ano passado, um analista do setor disse ao The New Stack que acreditava que o WebAssembly tem potencial para lidar com o aprisionamento do fornecedor, um dos principais pontos fracos do serverless. Enquanto isso, nossa análise do relatório State of WebAssembly 2023 da Scott Logic descobriu que os casos de uso de WebAssembly sem servidor estão em declínio, passando de 36% dos entrevistados em 2022 para 13% em 2023 (provavelmente porque a pergunta da pesquisa mais recente diferenciava entre serviços de back-end e outros serviços sem servidor ofertas, como Funções como Serviço centradas no fornecedor).
Manuel acredita que existem alguns desafios nesta área.
“O ciclo de adoção pode demorar mais aqui, já que as equipes são forçadas a se reequipar e se requalificar, depois de provavelmente terem feito isso recentemente para adotar contêineres e Kubernetes”, disse ele. “Há esforços para trazer o Wasm para o Kubernetes de uma forma mais simplificada, mas são muito recentes.”
O que impulsionará o futuro do Wasm?
Em última análise, o Wasm pode ser aplicado em praticamente qualquer campo. Na verdade, Manuel observa que está confiante de que terá um papel a desempenhar no futuro dos LLMs e da IA, dada a sua capacidade de ser usado “como um tempo de execução seguro e portátil” para tais cargas de trabalho.
Existem algumas coisas importantes que impulsionarão a adoção do WebAssembly nos próximos meses e anos.
WASI é inegavelmente importante. Com a versão 0.2 amplamente aclamada pela comunidade WebAssembly como um marco, estabilizando partes fundamentais do design e do ecossistema do WebAssembly, ela fornece aos desenvolvedores uma maneira mais fácil de usar a tecnologia.
“A visualização dois do WASI é um ponto de verificação de interfaces estáveis”, disse Spencer. “A instabilidade da pré-visualização, (que) pode ter assustado ou impedido você de usar o Wasm na produção, já passou.”
Titzer também reconhece a importância do WASI para o ecossistema WebAssembly. “Representa uma grande oportunidade de ter uma plataforma bem pensada com excelentes propriedades de segurança desde o início, bem como implantações amplas”. No entanto, ele observa que não é tão simples. “Projetar APIs de alto nível que sejam multilinguagem e multiplataforma é um exemplo de um ‘problema grave’ em software. A comunidade WebAssembly terá que trabalhar duro para manter as camadas adequadas e evitar as armadilhas nas quais outros caíram.”
É interessante que tanto Titzer quanto Spencer vejam o que está por trás do WASI como ainda mais emocionante. Talvez não seja tão surpreendente dada a sua relação com o WebAssembly, mas mesmo assim destaca que o que é importante sobre o WebAssembly não é atingir um patamar onde finalmente fará sentido para todos, mas sim a sua capacidade para novas permutações e constantes reimaginações.
“Core WebAssembly – o design do conjunto de instruções – é uma camada abaixo do WASI que será adotada em contextos com os quais ainda não sonhamos”, disse Titzer. Enquanto isso, para Spencer, embora o WASI possa ter um “impacto mais imediato” para os desenvolvedores, é no Modelo de Componente – as instruções arquitetônicas que sustentam a interoperabilidade do Wasm – onde reside o valor real: “No longo prazo, a facilidade que vem do Modelo de Componente será o que fará Wasm decolar.”
Outra faceta importante a considerar quando se trata de adoção do Wasm são as novas linguagens que permitem compatibilidade com ele. Embora possa ser que isso tenha sido um tanto “gradual”, como diz Titzer, Manuel observa que as linguagens estão alcançando o Rust em termos de suporte ao WebAssembly. Ele observa, por exemplo, que Go recentemente adicionou suporte para WASI e que “pode compilar para Wasm para atingir praticamente qualquer tempo de execução Wasm”, e também menciona linguagens mais recentes como Zig. “O gerenciamento explícito de memória do Zig (…) brilha quando fornece um alocador muito útil ajustado especificamente para o modelo de memória do Wasm”, disse ele. “Programas escritos em Zig funcionam muito bem quando compilados para Wasm.”
Wasm está contando uma história clara?
É possível que um dos problemas do WebAssembly seja a sua capacidade de contar uma história clara sobre si mesmo. Com algo como o Docker, por exemplo, era simples: facilitava a construção e a execução de pequenos componentes de um sistema ou aplicativo dentro de contêineres.
Isso não quer dizer que não haja uma boa história sobre o WebAssembly; é mais que dizer algo que faça sentido para todos é complicado.
“Comunicar a ideia central do WebAssembly se torna mais fácil e mais difícil por ter algo novo e interessante que ele pode fazer hoje”, disse Titzer. “Essa história de valor externo sempre dependerá do contexto porque a tradução desse valor interno para o caso de uso é onde o valor externo aparece.”
Ele oferece alguns exemplos: “Para contratos inteligentes, a história é ‘execução determinística, verificavelmente correta e eficiente, alcançável a partir de linguagens convencionais’… para sistemas embarcados, é ‘CPUs estranhas parecem praticamente as mesmas agora e você não pode bloquear o dispositivo acidentalmente’.”
Manuel tem uma perspectiva semelhante à de Titzer: “Wasm conta muitas histórias convincentes – essa é tanto a sua fraqueza como a sua força.” Ele acredita que isso pode explicar por que não decolou no ritmo certo. “Esse amplo público (para WebAssembly) significa que ele tem impacto transversal, mas pode ser lento, pois o impacto é diluído, por enquanto, nessas áreas.”
Em outras palavras, a adoção do WebAssembly não é tão perceptível quanto poderíamos esperar porque é amplamente distribuído e espalhado por muitos domínios e casos de uso.
É apenas uma questão de expectativas?
Talvez, então, seja realmente uma questão de expectativas. “Ouço muitas pessoas falando sobre o que o Wasm é ou não, mas para mim, o Wasm é um alvo do compilador”, diz Spencer. “Sim, é um alvo de compilador com boas características de segurança e portabilidade, mas ainda é apenas um alvo de compilador. Substitua toda vez que você disser WebAssembly por x86 ou ARM e veja se ainda faz sentido.”
Em outras palavras, quando falamos sobre a adoção do WebAssembly esperamos ver algo quando, na verdade, o seu valor real não é necessariamente visível. “Como uma tecnologia fundamental, muitas vezes não é visível – ou talvez nem mesmo importante – que o Wasm esteja sendo usado nos bastidores”, sugere Titzer.
Com isso em mente, talvez Wasm é convencional. Spencer observa, por exemplo, que qualquer pessoa que navegue na web provavelmente interagirá com o WebAssembly diariamente. Mas, novamente, talvez não: “O Wasm se tornou popular quando todos paramos de falar tanto sobre isso”, acrescentou.
Deixando de lado as conversas da indústria, é possível que precisemos apenas reconhecer que o lento e constante vence a corrida. “Como eu disse a Luke (Wagner, co-criador do WebAssembly)”, conta Titzer, “‘dominar o mundo é um processo lento, como se fosse mofo crescendo nas coisas. Seja o molde.'”
Nota do editor: Relatórios estatísticos adicionais para esta postagem foram contribuídos por Lawrence Hecht.
A postagem Adoção do WebAssembly: a corrida está lenta e constante? apareceu primeiro em The New Stack.