A short introduction to the technical architecture of the Odoo Online platform, including the advanced integrated features (instant DNS, email gateways, etc.), and the technical aspect of the SLA.
By Olivier Dony - Lead Developer & Community Manager, OpenERP
3. Architecture
o Domain Controller
o DNS
o Monitoring
o OAuth Provider
o Authorization
o Control center
o Hosts
o End-user server
Domain
Controller
OAuth
Provider
Host
Host
Host
Backups
Host
Host
Host
Backups
DC1 DC2
4. Architecture: Hosts
o Physical hosts with Odoo saas-x series
o Local PostgreSQL cluster per host: 3k+ databases
o Off-the-shelf hardware: e.g. Xeon E3 8c/16t,
64GB RAM, SAS Raid-1
o Provisioning in tier1 DC: less than 1h
o 8 hosts in 3 continents and counting
o Fully scripted maintenance
5. Global Points of Presence
Beauharnois
(QC, Canada)
(2012)
Paris + Gravelines +
Strasbourg (France) (2008)
Hong Kong
(2014)
Latency and bandwidth matter EU-APAC: ~250ms - 1 Mbps (500KB = 4sec)
US-APAC:~250ms - 1 Mbps (500KB = 4sec)
EU-US: ~100ms - 100+ Mbps (500KB = 40ms)
6. Advanced features
o Instant domain name allocation (DNS)
o SQL-backed replicated DNS services
o Support for personal domain names
o Mail gateway IN + OUT
o Out: dedicated Postfix SMTP + IP, Mandrill
o In: odoo-smtpd daemon – db resolution and routing
o Database duplication on demand
o 1-click duplication for testing – auto-expired
7. Advanced features
o Global Provisioning
o GeoIP DC allocation at subscription
o Moving to another host on demand
online@odoo.com
o Progressive rollout of new features (saas-x)
o On-demand migration, multiple saas-x per host
o Automated migrations with rollback
o Auto-rollback for manual migration as needed
8. Service Level Agreement
o 99.9% uptime (DC providers: 99.95%)
o 24/7 support via email, 8/5 via phone (FR/EN)
o Average response time: 1.5 hours during EU BH
o RTO: 4h | RPO: 24h (disasters so far: 0)
o 14 Full backups: 7 days, 4 weeks, 3 months
o Replicated in min. 2 remote data centers
9. Challenges
o PostgreSQL 9 clusters with 3k+ databases
o Scripted, version controlled maintenance
o Consistent environment everywhere (Ubuntu LTS)
o Patching OpenSSL + deploying new certs in 2 commands
o Automated migration/rollout
o No custom modules but heavy customizations
o Extra columns, tables, reports, menus
o Automated actions, server actions, cron jobs
o As of saas-4: data-only modules: odoo deploy