Odoo Production & Staging Management
A few shreds of advise for your Odoo implementation partner that you can pass on..

The Odoo community is relatively young, fast but sometimes somewhat immature when dealing with the security of Odoo ERP systems.

This webpage catalogs a few do's and don'ts, which you can cross-check with your Odoo implementation partner. Or let us know, and we can help you too.

                            Use a GIT-Repo


                            Using a GIT-repo should be obligatory for all developers contributing to your ERP instance, even if you are working in a multi-developer mode, including:

                            • In-house developers

                            • (Outsourcing) Module developers from apps.odoo.com

                            • Developers of your implementation partner

                            Using a GIT-repo avoids unforeseeable conflicts between new and existing source-code. Testing new features on a Staging server ensures avoidable surprises and down-time on your production system.


                            Separate PROD and STAG

                            Separate your production and staging/test environments on to two different physical, or at the least virtual machines (VMs). This brings the following advantages, in order of priority.

                            #1. A fatal crash of one system will not result in the wiping out of the production and staging/test machines both at once.

                            #2. Production performance will not be influenced by the various development and testing activities happening on the staging/test environment.

                            #3. In one instance we monitored, the development and test instances were installed in similarly named Linux directories. Such instances are particularly vulnerable to a programmer error, in case a developer should mis-type a command on a particularly long or un-caffeinated day!



                            Virtual Machines are available a dime a dozen (ok, maybe not literally). So ordering a separate VM for staging/test purposes should definitely not break the bank, and pays itself off many times by eliminating the risk of the production-system overloading, and/or crashing.

                            Automate Backups

                            Automate backups of your Odoo instance on production systems. In case of a blackout, you can recover by..

                            1. restoring the backup of specific databases, and restore the modules and core-code from a GIT-repo (assuming you are using one). If you are not using a GIT-repo, your only resort in case of a fatal crash would be to restore code from a test machine, or a developer's local programming environment.

                            2. restore a snapshot of the virtual machine, in case your VMs are being backed-up. (We use this method on our server-infrastructure) 

                            3. Allow Kubernetes or a similar container-orchestration system to recover automatically.

                            Merchant Operating System Implementation Strategy for e-Commerce - Part one
                            The objectives and types of the Merchant Operating System integration