O pioneiro do PostgreSQL, Mike Stonebraker, e o criador do Spark, Matei Zaharia, juntamente com outros cientistas da computação do MIT e Stanford, criaram um novo sistema operacional orientado a banco de dados (DBOS) para ajudar no desenvolvimento de aplicações web greenfield.
Eles criaram uma empresa, DBOS Inc., para disponibilizar o sistema operacional aos desenvolvedores.
Seu primeiro produto, DBOS Cloud, lançado terça-feira, é uma plataforma de aplicativos transacionais sem servidor, às vezes também definida como funções como serviço (FaaS). Ele é oferecido via Amazon Web Services (AWS) usando o serviço de monitoramento de máquinas virtuais de código aberto Firecracker e é alimentado pelo sistema operacional DBOS.
Ele consiste em três componentes principais: um DBOS SDK de código aberto atualmente para TypeScript, um DBOS Time Travel Debugger e o sistema operacional subjacente.
A empresa disse que ajudará os desenvolvedores a construir e executar funções, fluxos de trabalho e aplicativos sem servidor, acrescentando que vem com recursos como depuração de viagem no tempo e dados de observabilidade acessíveis por SQL.
Gênese do DBOS e DBOS Cloud
Mas como Stonebraker, Zaharia e outros pesquisadores se uniram para construir o DBOS e qual foi o seu raciocínio?
Há mais de três anos, disse Stonebraker ao InfoWorld, ele identificou que o aumento na demanda por dados e computação havia criado um novo desafio para os bancos de dados: armazenar estados de sistema operacional de grande magnitude. Nessa época ele assistiu a uma palestra de Zaharia, que também é CTO da Databricks, onde ouviu este último “reclamar” do desempenho do PostgreSQL.
O CTO da Databricks, de acordo com Stonebraker, estava explicando como sua empresa estava realizando o agendamento do sistema operacional.
“Zaharia disse que o Databricks gerencia rotineiramente 'um milhão' de subtarefas do Spark em uma nuvem e não há nenhuma maneira possível de a empresa operar nessa escala e usar técnicas tradicionais de agendamento de sistema operacional. Em vez disso, Zaharia disse que o Databricks estava colocando todas as informações de agendamento em um banco de dados Postgres e fazendo o agendamento como um aplicativo SQL”, explicou Stonebraker.
Stonebraker entrou em contato com a Zaharia logo depois, percebendo que “há um monte de empresas comerciais que não conseguem usar os recursos tradicionais do sistema operacional em escala”.
Suas discussões levaram ao nascimento do DBOS, quando os fundadores decidiram executar um sistema de gerenciamento de banco de dados na parte inferior de sua nova pilha e, em seguida, executar todos os serviços do sistema operacional como iguais.
“Construímos o suficiente junto com a equipe para provar que esse sistema operacional invertido é tão rápido quanto qualquer empresa que esteja usando ou fazendo atualmente. Essencialmente, isso significava que as empresas poderiam obter tudo no banco de dados sem queda no desempenho”, disse Stonebraker.
Proveniência dos dados
Como o banco de dados registra tudo, a próxima tarefa da equipe foi desenvolver um sistema de proveniência de dados que minimizasse o uso do kernel baseado em Linux.
“Temos um sistema de origem muito sofisticado que é armazenado em um data warehouse”, disse Stonebraker, acrescentando que isso permite que o DBOS elimine muitas camadas, como Linux, Kubernetes, quaisquer outros sistemas de arquivos transacionais e qualquer sistema de entrega de alta disponibilidade.
A eliminação de camadas, segundo a empresa, traz benefícios em termos de custo, complexidade e redução da superfície de ataque.
“Você não precisa de contêineres ou camadas de orquestração e escreve menos código porque o sistema operacional está fazendo mais por você”, explicou Stonebraker, acrescentando que é um ambiente simples para manter e monitorar eventos anormais sem comprometer a velocidade quando comparado aos produtos existentes.
A outra vantagem, segundo Stonebraker, é a capacidade do sistema operacional fazer backup rapidamente em caso de eventos adversos, como um ataque de ransomware.
“No caso de um ataque, o backup do sistema pode ser feito em um horário específico, pois possui todo o log de eventos para contornar a transação ofensiva. O backup leva de segundos a minutos, em contraste com outras ofertas, onde pode levar dias ou semanas”, explicou o fundador.
Após o desenvolvimento do sistema de origem, a equipe construiu uma interface de programação para desenvolvedores com foco na nuvem e não em sistemas locais.
“Escrevemos um ambiente de programação de software como serviço (SaaS) em cima de nosso sistema de banco de dados”, disse Stonebraker, acrescentando que era um ambiente baseado em Typescript.
Ele permite que os desenvolvedores escrevam uma coleção de microoperações conectadas em um gráfico, que são ingeridas no banco de dados, onde obterão controle de simultaneidade para impedir bugs de programas paralelos. Ele também oferece suporte a um depurador para aplicativos, disse ele.
Nuvem primeiro
Embora a equipe tenha decidido lançar primeiro o DBOS na nuvem, esse não é o seu único objetivo.
“Com o tempo, assim que tivermos força, provavelmente iremos nos voltar para a empresa, porque é onde estão as grandes quantias de dinheiro”, disse Stonebraker, acrescentando que os ciclos de vendas de software empresarial são normalmente “muito longos”.
Para que ele seja executado no local, a equipe precisará adicionar suporte para o conjunto POSIX de interfaces padrão para Unix.
A documentação técnica do DBOS para ajudar os desenvolvedores a começar a usá-lo pode ser encontrada aqui.
Em termos de preço, o DBOS Cloud em seu nível gratuito oferece um milhão de chamadas de serviço por mês e um tempo de retenção de dados do sistema de 3 dias ao usar o Amazon RDS Postgres.
Empresas ou desenvolvedores podem optar por usar o DBOS Cloud em outros bancos de dados, mas terão que fazer uma solicitação de personalização.
Haverá muitos compradores para DBOS?
Embora vários analistas, incluindo Carl Olofson da IDC, Tony Baer da dbInsight e Holger Mueller da Constellation Research, atestem o impacto positivo do DBOS na redução do tempo necessário para desenvolver uma aplicação e as vantagens de segurança da plataforma, eles destacam certas desvantagens e preocupações.
Mueller se perguntou se a empresa DBOS poderia escalar. “Uma pequena equipe no DBOS será capaz de executar um sistema operacional, banco de dados, observabilidade, fluxo de trabalho e pilha cibernética tão boa quanto a combinação dos melhores fornecedores?” ele perguntou.
Olfson também destacou que nesta era de sistemas de gerenciamento de banco de dados especializados, como valores-chave, séries temporais e documentos, entre outros, um sistema de banco de dados relacional pode não ser capaz de atender a todas as necessidades.
Explicando melhor sobre segurança cibernética, Olofson destacou que embora o DBOS possua bons recursos de segurança, a maior causa de roubo e perda de dados é o uso de credenciais falsas, geralmente obtidas por meio de técnicas como ataques de phishing.
“Nenhuma tecnologia DBMS pode impedir que um malfeitor com credenciais aparentemente legítimas roube ou destrua dados”, disse Olofson.