11
votes
Accepted
What is a good software architecture for POS with offline mode?
The default option I see a lot of people taking is to have a local database with the same structure and sync it with the server. This is quick to setup and there are various tools and libraries you ...
10
votes
monolith vs microservices for app idea
Never over architect from the get-go. You will spend most of your time on the architecture and not the actual business case you are implementing. (This is especially true if you are trying out a new ...
9
votes
Are on-premise software solutions safe for the vendor? It seems the client can steal the code
I'm wary about on-premise solutions. It appears to me that the client has access to the source code
No. They have access to an executable that is semantically equivalent to the source code, but it ...
8
votes
Accepted
Is there a service for efficiently solving redundant software problems
Not exactly.
The problem is that the new user database will have some variation. Where is your authentication source? What fields should users have? Do you need to send out a message when users are ...
8
votes
Multi tenancy or multi instance?
I am asking myself the exact same question at the moment.
I am leaning towards the multi-instance single tenancy solution but have not taken a definitive decision yet. Let me share some of my ...
8
votes
Multi tenant architecture, single database?
Multi-tenant systems seem more complicated to develop, but are vastly easier to manage and are much more flexible.
In principle, it is easy to have multiple “databases”. More precisely, it is easy to ...
6
votes
How to structure a SaaS application?
For my current project I had similar requirements like you. I have decided to use a backend server exposing a REST API. And for the cleints I am using a nginx server, which handles the subdomains and ...
5
votes
Accepted
Engineering approach for Metadata Driven Architecture
Oof, big topic. Yes, this can be a typical pattern in enterprise-class software, but I don't necessarily think it's a good one. Consider avoiding it if you can. The core issue here is that it ...
5
votes
Accepted
How do you handle multiple database connections on an multitenancy applications
There is no single best way to handle this. How you manage database connections is highly dependent on application architecture and the infrastructure that supports it.
You do not have much ...
4
votes
Multi tenancy or multi instance?
Supporting both options is possible also (a pool of tenants across multiple instances).
I favor multi-instance cause of the natural isolation. Each customer's instance runs in it's own processes and ...
4
votes
Accepted
Can we use a GPL 2 product for the commercial purpose?
Yes, GPLv2 code can be used in the manner you describe. That in fact is one of the motivations for the AGPL and GPLv3. The modified code must, of course, never be given to anyone outside the ...
4
votes
How should multi-tenancy be implemented for child resources in a SaaS database design?
If all code fetching data from the database is written correctly, then there is no need to have tenant id on each table. However, in practice bugs are inevitable, so there will at some point be ...
4
votes
Accepted
is there a unified term for the open-source and managed services in our HLD?
services that are not internally developed and maintained but still play a part in the overall system environment
Components/parts/whatever that your team/company/etc. did not develop themselves but ...
3
votes
Is there a service for efficiently solving redundant software problems
To speak more specifically to the use-case you gave Yes. Identity as a service exists for precisely that reason. There are many providers such as AWS Cognito (https://aws.amazon.com/cognito/) and ...
3
votes
Do I need to add the copyright notice of the original contributors in the SaaS service contract of a forked AGPL software?
Short answer: Yes, you must attribute.
The AGPL (especially v3) is about as unambiguous as it gets. Not only do you need to fully attribute the source, it's a near-certainty (especially with v3) that ...
3
votes
Is cloud storage such as Dropbox SaaS, PaaS, IaaS or something else entirely?
The real answer is that it doesn't matter. No one is going to ding you for calling Dropbox a "Platform" or a "Service".
SaaS or PaaS are both fine. I would personally use SaaS as that is what most ...
3
votes
Accepted
creating platform for multiple webapps
A container per client is great if there's ever a chance they'll download it and run it elsewhere. Otherwise, consider a multi-tenant architecture and save the containers, VMs, etc for adding ...
3
votes
Accepted
Multi tenant architecture, single database?
You've misunderstood the article
You've taken "multi-tenant" to mean "an application which is used by more than one tenant". I'm actually on your side here and I interpret multi-...
3
votes
Can you suggest ways to assure client data confidentiality in a SaaS product managed by yourself?
There needs to be further discussion with the client about their actual requirements.
An extreme solution would be to go full end-to-end encryption, which would mean that your backend only sees ...
2
votes
Accepted
Lean or agile SaaS: deployment / release features during or after sprint
I'd propose releasing immediately on sprint completion, or as soon after as is possible. For these reasons
During the sprint puts a requirement on the team to have a potentially shippable increment ...
2
votes
Can we use a GPL 2 product for the commercial purpose?
Read the GPL 2 license carefully, and be prepared to share the code along with all your changes with others.
If you hand over the software to anybody outside your company without giving them the ...
2
votes
Accepted
Database Architecture for SaaS application
From the first glance, the design is not terribly efficient, but the caveat here is that it's hard to be definite without knowing your scalability and redundancy requirements.
Multi-tenancy is one ...
2
votes
Can we use a GPL 2 product for the commercial purpose?
Since you are not distributing the software to anyone outside your organization, there is no requirement to make the source code for your changes available. The applies for GPLv1, GPLv2 and GPLv3.
...
2
votes
Can ssh -X be considered as SaaS?
SaaS is a business term for the delivery of software. "Service" here is being used in the business sense (plumbing service, roof repair service) rather than in the technical sense (HTTP service, SSH ...
2
votes
Accepted
Design Idea to Overcome Slow DB (a black box) Access
If possible, start simple (or spend more time analysing the actual usage patterns - eg read vs write). It might be that you can put a simple cache on the front to help with only read performance:
a ...
2
votes
Accepted
Architecture for SaaS that can run in my company's cloud or in clients' networks
You need some logic that depends on whether you're running the software yourself as SaaS or whether the software is run by a customer, but both more monolithic and more service-oriented approaches can ...
2
votes
Accepted
Can you suggest ways to assure client data confidentiality in a SaaS product managed by yourself?
The answer really depends on what you're doing with the data on the backend. If you're just storing blobs of data for your client, you can:
Encrypt it on the front-end with a key the back-end never ...
1
vote
Multitenancy - Tenant provider in microservices architecture
If I understood correctly, you need to propagate tenant_id(*) to most (all?) of your services, which will then convert that tenant_id into database access information (not quite sure from your ...
1
vote
Accepted
What are best ways to manage and keep track of services
In microservices, this problem is solved by having... an additional service which lists another services. Being the central point for service discovery and indexing, it may reduce the risk of ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
software-as-a-service × 87architecture × 13
web-applications × 11
multitenancy × 9
php × 8
database × 8
microservices × 8
design × 7
licensing × 7
web-services × 6
database-design × 4
gpl × 4
cloud-computing × 4
design-patterns × 3
api × 3
open-source × 3
security × 3
mysql × 3
deployment × 3
enterprise-architecture × 3
soa × 3
services × 3
cloud × 3
web-development × 2
architectural-patterns × 2