Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Architecture Design #39

Open
aliencrash opened this issue Aug 22, 2019 · 6 comments
Open

Architecture Design #39

aliencrash opened this issue Aug 22, 2019 · 6 comments

Comments

@aliencrash
Copy link

aliencrash commented Aug 22, 2019

I have being testing the Saas Addons and I would like to be discuss some of design concepts.

  1. When the build are created this database are created always based on a template database right?
  2. If 1. is the case, it means we are always restricted to a database template. How would this work for a Kubernetes operator? This design will always force you to have all databases in a single PostgreSQL Pod or server, while we can have each database and odoo in a Pod.
  3. This design also have an issue when we need to have a client with self-service portal like odoo. Because Build only install modules that come from template. I think what would be good is that the build have their own modules. So when the build is created it takes the template modules + their own modules. Template modules would be just a base to force specific modules like access.

My questions are just to understand what is you design concept for the future. We have being developed the kubernete and we are already able to create Pods from Odoo.

Regards


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@yelizariev
Copy link

  1. yes
  2. More correct statement is as following: "SaaS Operators (not a K8s operator) may have the same postgresql scope. If you want to have different postgresql servers, you create different "SaaS Operators" that connect to specific postgresql server.
    Also, take a note, that Postgresql may be deployed in a separate cluster.
    So, are you not restricted on a capacity of postgresql.
  3. Are you talking about features similar to odoo.sh? To have custom modules, you can always create a separate "SaaS operator" with specific set of modules (repositories). So, similar features are possible, though it's not the main purpose of the system at the moment (it's saas, not paas).

Thanks for you interest

@yelizariev yelizariev mentioned this issue Aug 27, 2019
@aliencrash
Copy link
Author

Thanks for your reply,
I'm replying inline.

2. More correct statement is as following: "SaaS Operators (not a K8s operator) _may_ have the same postgresql scope. If you want to have different  postgresql servers, you create different "SaaS Operators" that connect to specific postgresql server.
   Also, take a note, that Postgresql may be deployed in a separate cluster.
   So, are you not restricted on a capacity  of postgresql.

With your experience what would be better a single postgresql cluster or for let say client Pod a database inside the pod.

3. Are you talking about features similar to odoo.sh? To have custom modules, you can always create a separate "SaaS operator" with specific set of modules (repositories). So, similar features are possible, though it's not the main purpose of the system at the moment (it's saas, not paas).

Actually I'm not talking about odoo.sh but the self service concept were the user pick their on module and then the database is created with that modules. We already create a template from a sale order were each product that represents a app is mapped to a module.
So what I wanted to avoid is to have a template for each client. my change would be to create build based on sales order where in the saas.db we add the base modules from the template plus the app the client picked up.

We are very interested in this module and we may contribute. that's why I'm questioning.

Thank you.

@aliencrash
Copy link
Author

Is this module vision to be a manual SaaS or automated, like self service?

@yelizariev
Copy link

With your experience what would be better a single postgresql cluster or for let say client Pod a database inside the pod.

I'd prefer separate postgres cluster to have possibility to scale it separately from Odoo

So what I wanted to avoid is to have a template for each client. my change would be to create build based on sales order where in the saas.db we add the base modules from the template plus the app the client picked up.

Yes, that's possible. You create a template with base module, then saas make a build out of it and then "Post Init" code installs extra modules or makes any other kind of additional customization

@yelizariev
Copy link

yelizariev commented Sep 2, 2019

Is this module vision to be a manual SaaS or automated, like self service?

We mostly focuse on self-service (saas_public module), but creating build by admin only is also possible (saas module).

@yelizariev
Copy link

You can start contribute with small tasks you can find in README files. The big task is described in #49

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants