portabilis / i-educar

Lançando o maior software livre de educação do Brasil!
https://ieducar.org
GNU General Public License v2.0
604 stars 452 forks source link

[RODMAP] - PostgreSQL SaaS #882

Closed msoares94 closed 1 year ago

msoares94 commented 1 year ago

CONTEXTO:

A adaptação da aplicação para trabalhar com banco de dados no modelo SaaS, desacopla a complexidade de gestão da infraestrutura subjacente desse mecanismo e isso não impossibilitaria de termo a possibilidade de implantação do i-Educar com banco de dados Self-managed.

Atualmente pelo que pude identificar o que impossibilita isso é as exportações existentes hoje na aplicação que delega para funções nativas do PostgreSQL, acredito que por causa da diferença de performance entre querys de aplicação para exportação x função de exportação nativa do banco de dados.

@portabiler, me disponibilizo para uma conversa junto a equipe técnica que cuida do software da comunidade para entender melhor algumas peculiaridades técnias a fim de montarmos uma POC para trazer essa possibilidade de implantar o i-Educar utilizando um PostgreSQL SaaS

Vejo isso como um caminho a seguir e inevitável, pois acredito que a Portabilis ganharia com essa evolução, baixando os custos operacionais de manutenção em bancos de dados Self-managed e não somente isso, seria um ponto de partida para levar o i-Educar para um orquestrador Kubernetes tendo em vista que não teria um forte acoplamento a funções do PostgreSQL e assim ter um POD Kubernetes por Tenant, apontando cada um para seu devido banco de dados.

PSC, @edersoares e @tiagocamargo

edersoares commented 1 year ago

@marcosoliveirasoares94 que iniciativa!

Internamente não estamos avançando para um banco de dados auto gerenciado, mas é algo que gostaríamos sim que a comunidade construísse, tanto para facilitar a aderência ao i-Educar quanto para mantê-lo funcional mais facilmente.

Eu me disponibilizo para a conversa e levantar pontos de dificuldades que já enfrentamos em tentativas de utilizar um banco auto gerenciado. Eu sugiro olhar esta pasta https://github.com/portabilis/i-educar/tree/2.8/database/migrations/legacy e ver as primeiras migrations, em geral elas acabam sendo um problema devido a limitações de acessos destes bancos, mas estamos dispostos a estudar alternativas junto com a comunidade!

vamodale

msoares94 commented 1 year ago

Muito bom saber que isso seria de ajuda para ambas as partes.

Então acredito que podemos sim criar uma iniciativa de 60 minutos a cada 15 dias ou 30 dias para discutirmos a respeito.

Antes deu iniciar essa demanda, gostaria de saber quais os problemas já enfrentaram que conseguiram superar e não passar pelos mesmo, afim de não perder tempo.

edersoares commented 1 year ago

@marcosoliveirasoares94 algo avançou nesta questão?

edersoares commented 1 year ago

Estarei encerrando a issue por hora, mas caso volte a avançar em algo, pode reabri-la. Obrigado.

msoares94 commented 1 year ago

@edersoares, pode manter fechado por hora, esse caso é um pouco complicado, ainda estou obtendo erros em usar o PostgreSQL SaaS na AWS, pois o usuário postgres que é o usuário mestre não tem permissão para desabilitar as TRIGGERS, sendo possível a ação pelo usuário rdsadmin porém esse usuário a AWS não permite acesso por ser um usuário utilizado pela equipe de SRE da AWS