.. vim: set fileencoding=utf-8 : .. Copyright (c) 2016 Idiap Research Institute, http://www.idiap.ch/ .. .. Contact: beat.support@idiap.ch .. .. .. .. This file is part of the beat.web module of the BEAT platform. .. .. .. .. Commercial License Usage .. .. Licensees holding valid commercial BEAT licenses may use this file in .. .. accordance with the terms contained in a written agreement between you .. .. and Idiap. For further information contact tto@idiap.ch .. .. .. .. Alternatively, this file may be used under the terms of the GNU Affero .. .. Public License version 3 as published by the Free Software and appearing .. .. in the file LICENSE.AGPL included in the packaging of this file. .. .. The BEAT platform is distributed in the hope that it will be useful, but .. .. WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY .. .. or FITNESS FOR A PARTICULAR PURPOSE. .. .. .. .. You should have received a copy of the GNU Affero Public License along .. .. with the BEAT platform. If not, see http://www.gnu.org/licenses/. .. .. _administratorguide-hardware_guidelines: Deployment Guidelines ===================== In this section, we evaluate three common scenarios in which the BEAT platform could be deployed. These scenarios were picked so to maximize the installation range and serve as a reference to potential BEAT deployers. .. _administratorguide-hardware_guidelines-single-machine: Single machine -------------- In this scenario, every module of the Figure ":ref:`administratorguide-architecture-hardware`" is supposed to run on one single, possibly multi-core, machine. This is the configuration that might be used to develop the platform and demonstrate it when no access to the Internet is available. The performance of this installation will depend on the number of CPU cores that can be dedicated to the processing nodes as no network connectivity will be required. .. _administratorguide-hardware_guidelines-distributed-nodes: Distributed processing nodes ---------------------------- .. _administratorguide-usecaseanalysis-distributed-nodes: .. figure:: img/hardware-distributed-nodes.* :width: 80% Distributed processing nodes In this scenario, depicted in :numref:`administratorguide-usecaseanalysis-distributed-nodes`, every processing node is running on a dedicated machine. One computer acts as the web front-end, handling all the incoming requests from the users, scheduling the jobs on the processing nodes and sending the results to the users. All the machines have access to the Cache, hosted on a separate file system. The files needed to serve the website and to store the database are located on the same machine than the Web Server and the Database Server. .. _administratorguide-hardware_guidelines-distributed-architecture: Load-balanced distributed architecture -------------------------------------- .. _administratorguide-usecaseanalysis-load-balancing: .. figure:: img/hardware-load-balancing.* Load-balanced distributed architecture In this scenario, depicted in :numref:`administratorguide-usecaseanalysis-load-balancing`, every module (web server, database server, scheduler, processing node) is running on a dedicated machine. A load-balancing server (possibly a dedicated hardware one) distributes the incoming requests over *M* web servers, which allows a great number of clients to use the platform at the same time. The platform uses a replication mechanism to distribute the load on the database over *N* database servers. *P* processing nodes are available to let the Scheduler optimize the execution of several experiments in parallel. All the machines (but the Database servers) have access to the Data Cache, hosted on a separate file system. Each web server has a local copy of the website. Each Database server has a local copy of the database (kept in sync via a replication mechanism).