Na computação nativa em nuvem, as abstrações em computação, rede e armazenamento facilitaram a vida dos desenvolvedores de várias maneiras. Mas com dados? Não muito.
Os desenvolvedores ainda precisam criar maneiras de definir dados, integrá-los, programá-los, monitorá-los, dimensioná-los e protegê-los. No Relatório sobre Dados e Inovação de 2022 do MongoDB, 73% dos 2.000 profissionais de TI entrevistados disseram que trabalhar com dados é a parte mais difícil da construção de aplicativos.
“Toda essa camada é um iceberg de complexidades e desafios por si só”, disse Chirag Shah, cofundador e CEO da startup Neurelo, que está adotando uma abordagem API-first para torná-la mais simples.
Neurelo visa trazer uma única camada que abstrai complexidades de dependências entre a aplicação e o banco de dados para aqueles que constroem aplicações usando PostgreSQL, MongoDB e My SQL.
APIs criadas para seu modelo de dados
Shah e o cofundador Guru Kamat, ambos com experiência em bancos de dados, viram esse “iceberg” em primeira mão em seu trabalho com clientes.
Guru Kamat
Chirag Xá
Anteriormente, Shah foi vice-presidente de produtos no MongoDB e liderou funções de produto e entrada no mercado na VMware, Hewlett Packard Enterprise e outras empresas. Kamat foi chefe de engenharia da Stripe Security Foundations e vice-presidente de engenharia da Palo Alto Networks para Prisma Cloud.
Essa experiência os levou a criar a Neurelo, com sede em Los Altos, Califórnia, há cerca de um ano e meio. Olhando para o futuro, eles decidiram que a API priorizaria e se perguntaram: “E se cada leitura e cada gravação do seu software no seu banco de dados se tornasse uma API padrão criada especificamente para o seu modelo de dados?” Em minutos, não em dias, nem em semanas. Agora, logo no primeiro dia, quando o desenvolvedor começa…Eles vão começar a escrever os programas em um minuto.”
Com a versão 1.0 de sua plataforma Cloud Data API, a Neurelo está oferecendo APIs personalizadas geradas automaticamente com base em seu modelo de dados, eliminando a necessidade de depender de drivers, linguagens de consulta de driver, mapeamento objeto-relacional (ORM) ou Node.js- modelagem de dados de objetos baseada (ODM) para MongoDB. Ele também cria automaticamente documentação para a API e lida com o controle de versão, alterando códigos e esquemas conforme a demanda do aplicativo.
“A API por si só é um grande aumento na velocidade do desenvolvedor porque todo o seu período de gestação, começando com a programação de banco de dados, linguagem de consulta, drivers, todas essas coisas são completamente neutralizadas. Eles podem simplesmente expor (seus) modelos de dados e começar em um minuto”, disse Shah.
Em uma postagem sobre sua experiência com uma versão de acesso antecipado do Neurelo, o desenvolvedor de software e instrutor de codificação Sean R. Reid escreveu que configurar uma API Express ou Django exigiria no mínimo seis ou sete etapas, provavelmente o dobro disso, o que não seria necessariamente seria assustador se ele gostasse de trabalho de back-end. Mas ele não faz isso.
“Meu ‘lugar feliz’ é o frontend, React, Remix, Next, Vue, etc. … Construir uma API era como aquela tarefa que você continua empurrando para o final da sua lista de tarefas….”
Ele detalha a ressurreição de um projeto há muito adormecido chamado BOOMKARKS após um erro de ortografia:
“O Neurelo tem muitas vantagens, mas vamos começar pela maior: adicionei meu banco de dados como fonte de dados e BOOM 💥, eu tinha uma API!
“Sério, isso era tudo que faltava para começar a usar a API BoomKarks. Neurolo leu meu esquema e conjurou GET, POST, PUT e DELETE rotas para todas as minhas tabelas primárias. Em poucos minutos eu poderia jogar fora alguns fetch() consultas e foi capaz de fazer todo o CRUD básico. Sem Node, sem Python, sem PHP, basta apontar a fonte de dados como meu servidor PostgreSQL, apertar o botão e o BOOMKARKS VIVE!”
As APIs são geradas nos formatos REST e GraphQL e podem lidar com inúmeras operações de criação, leitura, atualização e exclusão (CRUD) em tabelas ou coleções individuais, bem como consultas JOIN em várias entidades no banco de dados. As APIs, que Shah descreve como muito semelhantes em tecnologia à do Stripe ou Twilio, são armazenadas em sua plataforma de nuvem totalmente gerenciada.
Consultas complexas personalizadas e muito mais
Neurelo também pode gerar automaticamente consultas complexas personalizadas usando prompts em linguagem natural. Esta versão é baseada na tecnologia OpenAI, embora a empresa tenha feito experiências com Bard e outros modelos de IA. Ele vem treinando grandes modelos de linguagem em toda a sintaxe e semântica específicas do banco de dados para que você possa apenas fazer perguntas e gerar consultas otimizadas em SQL (Structured Query Language) ou MQL (Mongo Query Language) conforme necessário para o banco de dados específico, considerando o contexto do seu aplicativo a partir do modelo de dados.
Embora a abstração crie uma certa opacidade, o Neurelo pretende mostrar o que está acontecendo com cada leitura e gravação que ocorre por meio da API.
“A indústria erra o alvo quando oferece observabilidade em nível de consulta. Todo fornecedor de banco de dados oferece isso, certo? Mas o verdadeiro entendimento é: ‘Dê-me meu padrão de acesso aos dados. Quais são as minhas leituras? Quais são meus pontos de acesso? Qual coluna está obtendo tráfego de leitura de 90 pessoas?’ Coisas como essa são profundas, isso muda a forma como você realmente faz muitas coisas na produção”, disse ele, explicando que se uma coluna específica estiver recebendo tráfego intenso, por exemplo, isso pode determinar a maneira como você escala.
A observabilidade do Neurelo pode ser configurada em diferentes ambientes – desenvolvimento, teste, produção – para rastrear o desempenho de consultas de API e banco de dados.
Ele também oferece um recurso Schema-as-Code para tratar o esquema do banco de dados como código-fonte para rastrear alterações com controle de versão. Ele fornece um repositório codificado — uma fonte central de verdade — para coleta e gerenciamento automatizados de metadados em todos os aspectos do banco de dados, ajudando a aplicar padrões de forma consistente e a melhorar a colaboração entre os membros da equipe.
Lançou SDKs para TypeScript, Go, Java, PHP e Python, embora Shah tenha dito que Neurelo funciona com qualquer linguagem.
“Se você é um desenvolvedor front-end, construindo um aplicativo em, digamos, HTMX… você pode simplesmente começar a fazer chamadas tranquilas para seu banco de dados através de nós, você nem precisa se preocupar com drivers de banco de dados que não suportam essas linguagens, ” ele disse.
A tecnologia em si é construída em Rust. O engenheiro de software fundador, James Shockley, explicou por que escolheram Rust neste vídeo:
O analista Torsten Volk, diretor administrativo de pesquisa da Enterprise Management Associates (EMA), opinou sobre os aspectos de segurança do Neurelo.
“A combinação de tokens de acesso gerenciados centralmente e a capacidade de colocar IPs e intervalos de IP específicos na lista de permissões alinha as medidas de segurança da Neurelo com as de outros serviços de dados hospedados, como MongoDB ou AWS DynamoDB. Além disso, a Neurelo permite que as organizações hospedem seus executores – agentes dedicados responsáveis pela recuperação e manipulação de dados – no local. Esta opção de hospedagem local permite que as organizações apliquem o princípio de segurança do ‘privilégio mínimo’, restringindo efetivamente as permissões dos executores para minimizar o risco e o impacto de uma violação de segurança”, disse ele.
Quando utilizada em conjunto com a microssegmentação da rede da organização, a abordagem da Neurelo oferece segurança adicional ao isolar cargas de trabalho, o que restringe o movimento lateral de ameaças dentro do sistema. Essa separação arquitetônica entre o plano de controle hospedado pelo Neurelo e os agentes de execução gerenciados localmente (executores) aborda uma ampla gama de preocupações de segurança, explicou ele.
“À medida que os aplicativos modernos de microsserviços distribuídos dependem cada vez mais de estratégias de segurança centradas em aplicativos, em vez de apenas no fortalecimento da infraestrutura, o modelo da Neurelo de um plano de controle hospedado na nuvem com agentes hospedados no local é adequado para integração segura em ambientes corporativos. É importante notar, no entanto, que certos casos de utilização, especialmente aqueles com requisitos regulamentares rigorosos, podem não ser compatíveis com um plano de controlo baseado na nuvem. No entanto, estes casos representam uma fração relativamente pequena de aplicações empresariais, sugerindo que a plataforma da Neurelo poderia ser aplicável e segura para a grande maioria – potencialmente mais de 90% – das cargas de trabalho empresariais.”
Roteiro para a empresa
“A programação de banco de dados pode ser uma tarefa difícil, especialmente para aqueles que são novos na área. Compreender as complexidades dos tipos de dados, restrições, indexação e transações é um pré-requisito para a construção de aplicações de banco de dados eficientes e confiáveis. Mesmo desenvolvedores experientes podem passar horas ou até dias depurando e otimizando consultas para alcançar o desempenho desejado”, de acordo com um white paper da empresa.
Algumas empresas lançaram muitas ferramentas diferentes para resolver o problema – não é incomum encontrar cinco ou mais ferramentas para cada banco de dados – enquanto alguns gigantes da tecnologia como PayPal, X (antigo Twitter) e Facebook construíram suas próprias camadas de abstração, projetos que são caros para construir e manter.
Este lançamento é apenas o primeiro marco no roteiro da Neurelo. Ela está trabalhando para obter mais recursos de nível empresarial, como marcação de campos e outros controles de acesso a informações confidenciais e integração plug-n-play com cache, pesquisa e outros sistemas. Também há planos para desenvolver uma versão local.
“A utilização de APIs é uma parte fundamental no ciclo de vida de desenvolvimento, permitindo que a Neurelo crie, modifique e aprimore funcionalidades rapidamente. Essa abordagem acelera a produtividade do desenvolvedor e atua como um catalisador para a inovação”, disse o analista Paul Nashawaty, do The Futurum Group, por e-mail.
“… A camada de abstração da API Neurelo desempenha um papel na simplificação das complexidades associadas ao gerenciamento de banco de dados. Os desenvolvedores podem interagir com os sistemas de banco de dados subjacentes por meio de endpoints de API bem definidos, reduzindo as complexidades tradicionalmente associadas à manipulação direta do banco de dados. Essa camada de abstração melhora a compreensão do desenvolvedor e otimiza o processo geral de desenvolvimento. Além disso, ao alavancar os serviços gerenciados em nuvem, a Neurelo garante a segurança e confiabilidade de suas APIs, oferecendo um ambiente robusto e escalável. Essa integração estratégica não só resulta em um tempo de produção mais rápido, mas também proporciona melhor controle, previsibilidade e economia, contribuindo, em última análise, para o avanço tecnológico e vantagem competitiva da Neurelo no mercado”.
YOUTUBE.COM/THENEWSTACK
A tecnologia avança rápido, não perca um episódio. Inscreva-se em nosso canal no YouTube para transmitir todos os nossos podcasts, entrevistas, demonstrações e muito mais.
SE INSCREVER
Susan Hall é a editora patrocinadora do The New Stack. Seu trabalho é ajudar os patrocinadores a obter o maior número possível de leitores para o conteúdo que contribuem. Ela escreve para The New Stack desde seus primeiros dias, bem como para sites…
Este site utiliza cookies para melhorar sua experiência de navegação. Ao continuar, você concorda com o uso de cookies. Para mais informações, consulte nossa Política de Privacidade.
Funcional
Sempre ativo
O armazenamento ou acesso técnico é estritamente necessário para a finalidade legítima de permitir a utilização de um serviço específico explicitamente solicitado pelo assinante ou utilizador, ou com a finalidade exclusiva de efetuar a transmissão de uma comunicação através de uma rede de comunicações eletrónicas.
Preferências
O armazenamento ou acesso técnico é necessário para o propósito legítimo de armazenar preferências que não são solicitadas pelo assinante ou usuário.
Estatísticas
O armazenamento ou acesso técnico que é usado exclusivamente para fins estatísticos.O armazenamento técnico ou acesso que é usado exclusivamente para fins estatísticos anônimos. Sem uma intimação, conformidade voluntária por parte de seu provedor de serviços de Internet ou registros adicionais de terceiros, as informações armazenadas ou recuperadas apenas para esse fim geralmente não podem ser usadas para identificá-lo.
Marketing
O armazenamento ou acesso técnico é necessário para criar perfis de usuário para enviar publicidade ou para rastrear o usuário em um site ou em vários sites para fins de marketing semelhantes.