Skip to content
Cuelogic
  • Services
    • Services

      Build better software and explore engineering excellence with our industry-leading tech services.

      • Product Engineering
        • Product Engineering
          • Product Development
          • UX Consulting
          • Application Development
          • Application Modernization
          • Quality Assurance Services
          Menu
          • Product Development
          • UX Consulting
          • Application Development
          • Application Modernization
          • Quality Assurance Services
          Migrating application and databases to the cloud, moving from legacy technologies to a serverless platform for a FinTech organization.
          Download ❯
      • Cloud Engineering
        • Cloud Engineering
          • Cloud Services
          • DevOps Services
          • Cloud Migration
          • Cloud Optimization
          • Cloud Computing Services
          Menu
          • Cloud Services
          • DevOps Services
          • Cloud Migration
          • Cloud Optimization
          • Cloud Computing Services
          Building end-to-end data engineering capabilities and setting up DataOps for a healthcare ISV managing sensitive health data.
          Download ❯
      • Data & Machine Learning
        • Data & Machine Learning
          • Big Data Services
          • AI Consulting
          Menu
          • Big Data Services
          • AI Consulting
          Setting up a next-gen SIEM system, processing PB scale data with zero lag, and implementing real-time threat detection.
          Download ❯
      • Internet of Things
        • Internet of Things
          • IoT Consulting
          • IoT App Development
          Menu
          • IoT Consulting
          • IoT App Development
          Building a technically robust IoT ecosystem that was awarded the best implementation in Asia Pacific for a new age IoT business.
          Download ❯
      • Innovation Lab as a Service
        • Innovation Lab as a Service
          • Innovation Lab as a Service
          Menu
          • Innovation Lab as a Service
          Establishing an Innovation Lab for the world’s largest Pharma ISV, accelerating product innovation & tech research while ensuring BaU.
          Download ❯
      • Cybersecurity Services
        • Cybersecurity Services
          • Cybersecurity Services
          Menu
          • Cybersecurity Services
          Big Data Engineering at scale for IAC’s SIEM system, processing PB scale data to help brands like Tinder, Vimeo, Dotdash, etc.
          Download ❯
      • Healthcare IT Services
        • Healthcare IT Services
          • Healthcare IT Services
          Menu
          • Healthcare IT Services
          Upgrading a platform for patients to access doctors via chat or video consultation, modernizing design, & migrating infra to the cloud.
          Download ❯
  • Company
    • Company

      Find out why Cuelogic, a world-leading software product development company, is the best fit for your needs. See how our engineering excellence makes a difference in the lives of everyone we work with.

    • about usAbout

      Discover how Cuelogic is as a global software consultancy and explore what makes us stand apart.

    • CultureCulture

      Read about our free and open culture, a competitive edge that helps clients and employees thrive.

    • Current openingCurrent Openings

      Want to join us? Search current openings, check out the recruitment process, or email your resume.

  • Insights
  • Tell Us Your Project
Tell Us Your Project  ❯
Product Development  2 Mins Read  December 29, 2016  Prashant Gurav

Code Base management for Multitenant Application

Share Via –
Share on facebook
Share on twitter
Share on linkedin

Home > Code Base management for Multitenant Application

Single Github Repository vs Multiple Repositories  

This article is an outcome of our experience in working with multi-tenant applications for customers. Lately, we have been working on a SaaS based enterprise level application. The biggest challenge we faced here was source codebase management as per tenant-directed (customer/enterprise) codebase change requirements.

All major discussions revolved around a prime decision:

Should everything be placed in a single github/svn repository or be maintained in separate repositories (tenant wise)?

General comparisons are commonplace. That is why, to answer this pertinent, recurring query, we have attempted to document the use of single repository and multiple repositories, as per area of work and project phase. First, let us summarize for the record, both repository types:

1. Single Repository: Single codebase for all customers.

2. Multiple Repository: Separate codebases for every customer.

Now onto the context-based comparison that details the use of single repository and multiple repositories:

Area of Work/Phase Multiple Repository Single Repository
Design/Architecture (Based on current architecture) No need to work on current architecture.Can be replicated as it is. Time Required:  will take relative lesse time for configuration changes, environment setup and other minor changes. (depends on the project running stage and complexity) Architecture change required to adapt multi-tenant requirement, call required on design patterns as well.
Time Required: Will take longer time.
Requirement Analysis, Approach Decision Less time required. More time required.
Implementation/Development Advantages:

  • Reduced impact analysis time.
  • Reduced implementation time.
  • Codebase and DB management will be easy.
  • Less complex Maintenance.
Advantages:

  • Decrease in code redundancy,more structured codebase.
  • Implementation of common changes/bug fixes will take less time.
  • Unit testing will take less time.
QA and UAT Testing Advantages:

  • Customer wise impact testing not required.
  • Testing of customized enhancement will take less time.
Advantages:

  • No need to execute customer wise 'smoke test' for common changes.
  • Reduced regression cycle time.
Deployment Advantages:

  • Deployment possible without disturbing another customer’s environment.
Advantages:

  • Trimmed deployment time.
  • Reduced rollback time.
Database (Customer wise DB) Possible Possible

Approach Selection Criteria

The following two factors were of prime importance in deciding between single repo and multiple repo:

i) Customization Depth:  What functionality customization level are we expecting?

ii) Number of Customers:  How many customers targeted/expected for this platform?
 Check our comparative graph out based on these two parameters:  

multitenant_approach

Below points are indicative of low customization depth

  1. UI changes (Angular, HTML, CSS, JS).
  2. Minimal Server changes which will have less impact on application code and third party plugins (if any).
  3. NO Domain Specific changes expected
  4. NO API response level changes expected

Customization depth varies as per your framework and code architecture. Therefore you should be able to define or set an expectation around this.

Summary

I hope the article will further help your judgement in choosing between a single repository and multiple repositories.

You are welcome to respond with your own suggestions and tips as comments to this blog.

Recommended Content
Low Code Platform: The Future of Software Development ❯
Micro Frontend Deep Dive – Top 10 Frameworks To Know About ❯
Micro Frontends – Revolutionizing Front-end Development with Microservices ❯
Go Back to Main Page ❯
Tags
web development multi-tenancy application code base management single repo multiple repo architecture code architecture
Share This Blog
Share on facebook
Share on twitter
Share on linkedin

Leave a Reply Cancel reply

People Also Read

Product Development

Low Code Platform: The Future of Software Development

8 Mins Read
Quality Engineering

BDD vs TDD : Highlighting the two important Quality Engineering Practices

8 Mins Read
DevOps

Getting Started With Feature Flags

10 Mins Read
Subscribe to our Blog
Subscribe to our newsletter to receive the latest thought leadership by Cuelogic experts, delivered straight to your inbox!
Services
Product Engineering
  • Product Development
  • UX Consulting
  • Application Development
  • Application Modernization
  • Quality Assurance Services
Menu
  • Product Development
  • UX Consulting
  • Application Development
  • Application Modernization
  • Quality Assurance Services
Data & Machine Learning
  • Big Data Services
  • AI Consulting
Menu
  • Big Data Services
  • AI Consulting
Innovation Lab as a Service
Cybersecurity Services
Healthcare IT Solutions
Cloud Engineering
  • Cloud Services
  • DevOps Services
  • Cloud Migration
  • Cloud Optimization
  • Cloud Computing Services
Menu
  • Cloud Services
  • DevOps Services
  • Cloud Migration
  • Cloud Optimization
  • Cloud Computing Services
Internet of Things
  • IoT Consulting
  • IoT App Development
Menu
  • IoT Consulting
  • IoT App Development
Company
  • About
  • Culture
  • Current Openings
Menu
  • About
  • Culture
  • Current Openings
We are Global
India  |  USA  | Australia
We are Social
Facebook
Twitter
Linkedin
Youtube
Subscribe to our Newsletter

We don't spam!

cuelogic

We are Hiring!

Blogs

Recent Posts

  • Low Code Platform: The Future of Software Development
  • BDD vs TDD : Highlighting the two important Quality Engineering Practices
  • Getting Started With Feature Flags
  • Data Mesh – Rethinking Enterprise Data Architecture
  • Top Technology Trends for 2021
cuelogic

We are Hiring!

Blogs

Recent Posts

  • Low Code Platform: The Future of Software Development
  • BDD vs TDD : Highlighting the two important Quality Engineering Practices
  • Getting Started With Feature Flags
  • Data Mesh – Rethinking Enterprise Data Architecture
  • Top Technology Trends for 2021
We are Global
India  |  USA  | Australia
We are Social
Facebook
Twitter
Linkedin
Youtube
Subscribe to our Newsletter

We don't spam!

Services
Product Engineering

Product Development

UX Consulting

Application Development

Application Modernization

Quality Assurance Services

Cloud Engineering

Cloud Services

DevOps Services

Cloud Migration

Cloud Optimization

Cloud Computing Services

Data & Machine Learning

Big Data Services

AI Consulting

Internet of Things

IoT Consulting

IoT Application Services

Innovation Lab As A Service
Cybersecurity Services
Healthcare IT Services
Company

About

Culture

Current Openings

Insights
Privacy Policy  
All Rights Reserved © Cuelogic 2021

Close

Do you have an app development challenge? We'd love to hear about it!

By continuing to use this website, you consent to the use of cookies in accordance with our Cookie Policy.