After choosing to deploy Odoo for your company, you will need to choose a deployment method. There are multiple different options that you should evaluate. Like most decisions in your business the right choice really lies in the evaluating the pro's and con's as well as the price of each.
The primary options are:
Cloud Service (AWS, Google, Digital Ocean)
The on-premise server has been the preferred method of deployment for most businesses for a very long time. In this model your company would need it's own server, and likely a full time IT staff in order to deploy the system. Usually, if your company values having your data in your own building you probably already have the server stack. Odoo can be deployed on multiple different operating systems but is most commonly used on Linux servers.
The pro's of on-premise deployment are that you are able to control your own data, and in many respects your own up-time. Server maintenance and availability are largely going to be dependent on that aptitude of your staff. If your company has already made these infrastructure investments in hardware and staff this might be the right method for you.
The con's of on-premise deployment might also be listed above in the pro list if your team does not have the hardware or staff to manage the server structure. There are other con's to consider as well, including security, and patches. If you have your own server, you will need to properly secure your network and server to prevent attacks or intrusion. Odoo releases patches weekly and some of them are critical security patches. Your team needs to be prepared to test and apply the patches as necessary.
Hiring a cloud service is (probably) the most popular deployment method used today to deploy Odoo. This method is different from on-premise because the servers are not in your building, but the control of the system is very similar. There are many different levels of cloud servers today but the most basic ones can be as little as $35/ month to operate. There are multiple providers who can provide a cloud server but the most popular are the big ones like Amazon Web Services, the Google Cloud and Digital Ocean.
The clear pro's to this method is that you can have a lot of control over the server without having it in your building or being responsible for maintenance, and up-time. The provider also has a responsibility to secure the server from attacks.
The con's to using a cloud service to deploy your own instance are similar to the on-premise deployment. Just because you have hired AWS (who is terrific at securing their cloud servers) that doesn't mean that your application is necessarily secure. You will still need to have a plan in place to apply security patches and make sure that your API's and any customization's do not unnecessarily expose your data.
The Odoo "SAAS" offer is largely just referred to as "Odoo Cloud Hosting" on the Odoo website. This is the default offering for most Odoo users who directly do business with Odoo and want to use the system out of the box. In the SAAS model, your system is pre-deployed with everything you need to make Odoo run properly. This is by far the most economical way to run the enterprise version of Odoo as this hosting method is included in the price.
There are a lot of Pro's to using Odoo on the SAAS platform. First, Odoo SAAS users run a pretty advanced version of the Odoo code base because every customer has the same version. Also, Odoo is fully responsible for the up-time, backups, and security of the server. This is a huge advantage for customers who do not have the ability to do manage this on their own. When hosting on Odoo's servers, your code is updated each Monday automatically with security patches and bug fixes.
The con's to the Odoo SAAS hosting method is that you cannot customize Odoo through the use of third party applications. Many of the built in integrations are available (think amazon, authorize.net, etc.) but if you wanted to write your own API to a new service or build a custom module it is not possible. This does not include customization's using Odoo Studio.
Odoo.sh (our preference)
The Odoo.sh platform is our preference at SSI. The SH platform represents the best of all of these deployment methods because it is both professionally managed and allows for Odoo to be customized. The Odoo.sh platform was really built for partners like SSI who are software and implementation experts but not necessarily hosting or operating system experts. The platform allows us to focus on developing features and function without worrying about up-time or patches.
The pro's of the Odoo.sh platform include everything from the SAAS platform with the benefits of being able to customize Odoo and build custom integrations. Likewise, security patches and bug fixes are automatically deployed by Odoo on a weekly basis. Server maintenance, up-time, and security also fall to the Odoo team to manage. The Odoo.sh platform also allows a company to quickly (within minutes) spin off test environments to test customization's or transactions with their own data before making them in their live system.
The con's of the platform are that the pricing is not included and is subject to an additional fee. There are also some limitations to the types of traffic, ports, and libraries that can be installed on Odoo's platform. These are fairly complex restrictions and do not affect the majority of customers. Most of the limitations are simply there to protect the integrity of the platform and are really best practices for shared servers.
As an Odoo partner, we really prefer the Odoo.sh platform for our customers. Having Odoo host the system gives us and our clients the peace of mind that the server is optimized to work for Odoo and the backups, up-time, and security are the responsibility of Odoo instead of contractors who may or may not know anything about how Odoo as an application works. Deploying Odoo on your own server or a third party hosting service is an absolutely viable option and for many customers is a good option. The biggest concern with these options would be that you are responsible for patching the system periodically and making sure the server is secure.
|Cloud Provider||Odoo SAAS||Odoo.SH|
|Responsible for up time||Your Staff||Provider||Odoo||Odoo|
|Automated Security Patches||No||No||Yes||Yes|
|Automated Bug Fixes||No||No||Yes||Yes|
|Odoo Can be Customized||Yes||Yes||No||Yes|
|Automated Backups||Configuration required by you||Yes||Yes||Yes|
|Price Level||High if you need to buy equipment and hire labor. Low if you already have it.||low for hosting, you will need your own staff or contractor||included in enterprise fee||fee based on storage and number of users|