Difference between revisions of "OX HE Tutorial 100K"

Line 1: Line 1:
 
= Tutorial: High Available OX HE Deployment for up to 100.000 users =
 
= Tutorial: High Available OX HE Deployment for up to 100.000 users =
  
This article describes what you need for a typical OX HE Setup for up to 100.000 Users, which is fully clustered and high available.
+
'''This article describes what you need for a typical OX HE Setup for up to 100.000 Users, which is fully clustered and high available.'''
  
 
It contains everything you need to:
 
It contains everything you need to:
Line 7: Line 7:
 
* Install the whole system based on the relevant articles
 
* Install the whole system based on the relevant articles
 
* Find pointers to the next steps of integration
 
* Find pointers to the next steps of integration
 +
  
 
= System Design =
 
= System Design =
  
 
[[Image:SaaS-100k-1.jpg]]
 
[[Image:SaaS-100k-1.jpg]]
 +
 +
The system is designed, to provide maximum functionality and availability with a minimum of necessary hardware. If the services on one server fail, it is enough to take over the IP address to the other machine and service will stay up and running.
  
 
== Core Components for OX HE ==
 
== Core Components for OX HE ==
Line 20: Line 23:
 
== Infrastructure Components not delivered by OX ==
 
== Infrastructure Components not delivered by OX ==
  
* A Load Balancer in front of the OX servers (recommendation: keepalived)
 
 
* An email system providing IMAP and SMTP
 
* An email system providing IMAP and SMTP
 
* A control panel for creation and administration of users
 
* A control panel for creation and administration of users
 +
* A Load Balancer in front of the OX servers (optional, recommended)
  
= Installation Steps =
+
= Overview Installation Steps =
  
To deploy the described OX setup, you need to do the following steps:
+
To deploy the described OX setup, the following steps need to be done.
  
 +
== Mandatory Steps ==
 
# Initialize and configure MySQL database on both servers
 
# Initialize and configure MySQL database on both servers
 
# Install and configure OX on both servers
 
# Install and configure OX on both servers
  
 +
== Steps depending on your environment ==
 +
# Implement Load Balancer
 +
# Connect Control Panel
 +
# Connect Email System
 +
 +
== Recommended Optional Next Steps ==
 +
# Automated Frontend Tests
 +
# Upsell Plugin
 +
# Mobile Autoconfiguration
 +
# Automatic FailOver
 +
# Branding
 +
 +
 +
= Installation Steps - Instructions & Recommendations =
 +
 +
== Mandatory Steps ==
 +
 +
The following steps need to be done in every case to get OX up and running:
 +
 +
=== Initialize and configure MySQL database on both servers ===
 +
 +
MySQL will run on both servers. MySQL will be configured as Master-Master configuration to ensure data consistency on both servers.
 +
If one machine fails, the other machine will take over all functionality.
 +
 +
LINK_TO_DOCU
 +
 +
=== Install and configure OX on both servers ===
 +
 +
OX will be installed on both servers. It will be configured to '''write''' to the first MySQL database and to '''read''' from the second MySQL database. This will distribute the load during normal operation as smooth as possible.
 +
 +
The NFS server will be mounted and registered as filestore.
 +
 +
LINK_TO_DOCU
 +
 +
== Steps depending on your environment ==
 +
 +
The following components need to be implemented in your environment.
 +
 +
=== Implement Load Balancer ===
  
 +
A load balancer in front of the OX servers is optional, but recommended. (In small environments, DNS Round Robin may be sufficient).
  
 +
If you do not have a load balancing solution already in place, we recommend to use [[http://www.keepalived.org/]] as reliable and cost effective solution.
  
The hardware recommendations for an Open-Xchange cluster setup which is able to serve up to 100.000 users is:
+
Read more about [[Keepalived]]
  
* 2 Open-Xchange HE installations (Hardware requirements: 16GB RAM / 4 cores each)
+
=== Connect Control Panel ===
* 1 Master-Master configured database cluster (Hardware requirements: 16GB RAM / 4 cores each)
 
* 1 Load balancer (Software or Hardware)
 
* X NFS servers (Filestores), depends on the amount of storage which is required
 
  
= Database setup and configuration =
+
=== Connect Email System ===
  
In this section you will find information of how to create the MySQL Master-Master replication setup that will be connected to the Open-Xchange HE setup during the next step. A detailed description of how this can be done is described here:
+
== Recommended Optional Next Steps ==
  
[[Load_balancing_and_clustering#Master.2FSlave_database_setup|MySQL Master-Master replication setup]]
+
You will find plenty of additional documentation for customization of OX.
  
= Basic Open-Xchange HE setup and configuration =
+
When the main setup is completed, we recommend to start with the following articles to enhance your system and to become more attractive for your users.
  
To install the Open-Xchange Hosting Edition that is required for this setup please follow the Quick installation guides for the according OS:
+
=== Automated Frontend Tests ===
  
* [[Open-Xchange_Installation_Guide_for_Debian_5.0|Download and Installation Guide for Debian GNU/Linux 5.0 (Lenny)]]
+
It is a good idea, to verify the functionality of your freshly set up and integrated system. Our QA department does that with tests, running automatically on the web frontend. We release this tests with every release and recommend you to use them to verify your environment with every update.
* [[Open-Xchange_Installation_Guide_for_SLES10|Download and Installation Guide for SUSE Linux Enterprise Server 10]]
 
* [[Open-Xchange_Installation_Guide_for_SLES11|Download and Installation Guide for SUSE Linux Enterprise Server 11]]
 
* [[Open-Xchange_Installation_Guide_for_RHEL5|Download and Installation Guide for RedHat Enterprise Linux 5]]
 
* [[Installing_OX_Language_Packages|Installing Open-Xchange Language Packages]]
 
* [http://software.open-xchange.com/OX6/stable/ Software repository]
 
  
IMPORTANT: During the installation process you will need to create the Config Database which holds all necessary Database cluster information, but as this setup provides a dedicated MySQL Master-Master database. Simply skip the following step during the setup:
+
Read more about [[Automated_GUI_Tests]]
  
* Open-Xchange configuration (usually step 5)
+
=== Upsell Plugin ===
 +
=== Mobile Autoconfiguration ===
 +
=== Automatic FailOver ===
 +
=== Branding ===

Revision as of 22:02, 25 January 2011

Tutorial: High Available OX HE Deployment for up to 100.000 users

This article describes what you need for a typical OX HE Setup for up to 100.000 Users, which is fully clustered and high available.

It contains everything you need to:

  • Understand the design of the OX HE setup including additional services
  • Install the whole system based on the relevant articles
  • Find pointers to the next steps of integration


System Design

SaaS-100k-1.jpg

The system is designed, to provide maximum functionality and availability with a minimum of necessary hardware. If the services on one server fail, it is enough to take over the IP address to the other machine and service will stay up and running.

Core Components for OX HE

  • Two basic configured Open-Xchange HE servers (HW recommendation: 16GB RAM / 4 cores each)
  • MySQL installed directly on these server
  • NFS Server to store documents and files

Infrastructure Components not delivered by OX

  • An email system providing IMAP and SMTP
  • A control panel for creation and administration of users
  • A Load Balancer in front of the OX servers (optional, recommended)

Overview Installation Steps

To deploy the described OX setup, the following steps need to be done.

Mandatory Steps

  1. Initialize and configure MySQL database on both servers
  2. Install and configure OX on both servers

Steps depending on your environment

  1. Implement Load Balancer
  2. Connect Control Panel
  3. Connect Email System

Recommended Optional Next Steps

  1. Automated Frontend Tests
  2. Upsell Plugin
  3. Mobile Autoconfiguration
  4. Automatic FailOver
  5. Branding


Installation Steps - Instructions & Recommendations

Mandatory Steps

The following steps need to be done in every case to get OX up and running:

Initialize and configure MySQL database on both servers

MySQL will run on both servers. MySQL will be configured as Master-Master configuration to ensure data consistency on both servers. If one machine fails, the other machine will take over all functionality.

LINK_TO_DOCU

Install and configure OX on both servers

OX will be installed on both servers. It will be configured to write to the first MySQL database and to read from the second MySQL database. This will distribute the load during normal operation as smooth as possible.

The NFS server will be mounted and registered as filestore.

LINK_TO_DOCU

Steps depending on your environment

The following components need to be implemented in your environment.

Implement Load Balancer

A load balancer in front of the OX servers is optional, but recommended. (In small environments, DNS Round Robin may be sufficient).

If you do not have a load balancing solution already in place, we recommend to use [[1]] as reliable and cost effective solution.

Read more about Keepalived

Connect Control Panel

Connect Email System

Recommended Optional Next Steps

You will find plenty of additional documentation for customization of OX.

When the main setup is completed, we recommend to start with the following articles to enhance your system and to become more attractive for your users.

Automated Frontend Tests

It is a good idea, to verify the functionality of your freshly set up and integrated system. Our QA department does that with tests, running automatically on the web frontend. We release this tests with every release and recommend you to use them to verify your environment with every update.

Read more about Automated_GUI_Tests

Upsell Plugin

Mobile Autoconfiguration

Automatic FailOver

Branding