Alfresco One 5.1 On-Premises Reference Architecture
Alfresco One 5.1 On-Premises Reference Architecture
1 On-Premises
Reference Architecture
Copyright 2017 by Alfresco and others.
Information in this document is subject to change without notice. No part of this document
may be reproduced or transmitted in any form or by any means, electronic or mechanical, for
any purpose, without the express written permission of Alfresco. The trademarks, service
marks, logos, or other intellectual property rights of Alfresco and others used in this
documentation ("Trademarks") are the property of Alfresco and their respective owners. The
furnishing of this document does not give you license to these patents, trademarks,
copyrights, or other intellectual property except as expressly provided in any written
agreement from Alfresco.
The United States export control laws and regulations, including the Export Administration
Regulations of the U.S. Department of Commerce, and other applicable laws and regulations
apply to this documentation which prohibit the export or re-export of content, products,
services, and technology to certain countries and persons. You agree to comply with all
export laws, regulations, and restrictions of the United States and any foreign agency or
authority and assume sole responsibility for any such unauthorized exportation.
You may not use this documentation if you are a competitor of Alfresco, except with
Alfresco's prior written consent. In addition, you may not use the documentation for purposes
of evaluating its functionality or for any other competitive purposes.
This copyright applies to the current version of the licensed program.
ii
Document History
iv
Executive Summary
Executive Summary
This document is a high-level best practices guide for deploying Alfresco One in an on-premises
installation. It describes the recommendation for the Alfresco One deployment architectures.
Document purpose
The purpose of this document is to describe reference architectures for Alfresco One in an on
premises installation.
Reference architectures define a blueprint for customers to build systems that are capable of
supporting a specific size of deployment. The deployment sizes are included in this document
(see Deployment size definitions section).
Once the reference architecture for the required deployment size is installed on premises,
customers can then benchmark, scale, and tune the system.
The purpose of this reference architecture document is to:
Reduce risk for customers by offering a proven deployment architecture
Enable high performance implementations
Demonstrate how to scale
Provide information to enable deployment in a variety of technical situations
This document endeavors to specify the hardware and software requirements for building an
Alfresco system for several sizes of deployment (see Deployment size definitions section).
This reference architecture document is intended for use in conjunction with other Alfresco
technical white papers, such as the Sizing Guide and the Scalability Blueprint. For more
information about these documents, and other resources, see the Resources section.
Intended audience
This document assists anyone who has responsibility for building the infrastructure of an
Alfresco One on-premises deployment.
The typical audience includes system designers, implementers, and administrators, who will
install and administer Alfresco One.
Assumptions
This document assumes a general knowledge of Alfresco One.
Those implementing the chosen reference architecture will require an in-depth knowledge of
Alfresco One administration and ideally be an Alfresco Certified Engineer (ACE) or an Alfresco
Certified Administrator (ACA) (https://university.alfresco.com/certification). An in-depth
knowledge of Alfresco clustering is also highly recommended.
This Reference Architecture document details the deployment of Alfresco One 5.1.x and above.
For the specific supported platforms for Alfresco One 5.1.x, see the Supported Platforms page
on the Alfresco website:
https://www.alfresco.com/services/subscription/supported-platforms
Supported software stacks for the reference architectures are described later in this document
in the Software specifications section.
Hardware requirements for the different deployment sizes are covered in the Hardware
specifications section.
Note: It is assumed that you can install and configure for scale your chosen operating
system and DBMS.
It is assumed that the ratio of concurrent / total users is 1/10. That is, for every
10 users defined in Alfresco, 10% are using the system at any given time.
Glossary of terms
The following table provides a list of terms and acronyms used in this document:
Acronym/term Meaning
LB Load Balancer
HA High Availability
The main Alfresco glossary, with an extensive list of acronyms and terms, can be found here:
http://docs.alfresco.com/5.1/glossary/glossary.html
The following table provides the size definitions for the Starter, Business, Enterprise, and
Enterprise - Scaled deployments.
Other factors should be considered for the size of each deployment, such as the predominant
type of document stored in the repository. For example, does the repository primarily store
office documents, images, or XML content?
These additional factors are covered in the Sizing Guide and Scalability Blueprint.
Starter
Business
Enterprise
Enterprise – Scaled
Key components
Each reference architecture diagram comprises the key components of an Alfresco One
deployment. This section outlines the specific implementations of each of the components.
Note: The specific configuration of this load balancer is dependent on the protocols it is
expected to handle.
Database server
The Alfresco and Share nodes, and index servers, are configured to communicate with a
standalone database server. All metadata for repository content is stored in this database. The
database server can represent a single point of failure, so you should have suitable failover
systems in place.
Alternatively, advanced features of the selected database such as replication and sharding
can be used, as required.
Configuration of advanced database features is vendor dependent and is out of the scope of
this document.
Content Store
For the reference architecture, the default content store is assumed. This is the File Content
Store. Alfresco supports many content store types, which are detailed in the official Alfresco
documentation.
The content store is an abstraction, and using a different content store has little impact on the
reference architecture.
Alfresco also supports multiple content stores. Where multiple content stores are involved, each
store needs to be attached to all of the Alfresco repository nodes in the cluster, as well as any
deployed index servers.
Index server
The index server (based on Alfresco plus Apache Solr) is responsible for indexing content,
processing search requests, and returning search results.
Detailed information about Solr and how it is used in an Alfresco One deployment is available in
the official Alfresco documentation:
http://docs.alfresco.com/5.1/concepts/solr-home.html
Load Balancing
The choice of load balancer will depend on your preferred vendor and anticipated system loads.
A range of possibilities may be deployed including dedicated hardware, or generic servers
running load balancing software such as Nginx, Apache HTTP, and so on.
See the Sizing Guide for additional information on estimating likely loads.
Hardware specifications
This section describes the hardware requirements for each reference architecture.
Note: If you are going to use cloud-based computing resources such as AWS or
Rackspace to build a reference architecture, then refer to the AWS Reference
Architecture, the Scalability Blueprint, and the Sizing Guide documents for
information on specifying resources such as vCPUs, RAM, and storage.
Starter
The following table specifies the hardware requirements for building the Starter reference
architecture.
Alfresco/Share/Index Quad core, 16 500GB HDD Local disk is used for application
Server Intel Xeon files, temporary files, and index.
E5-2676 v3
Business
The following table specifies the hardware requirements for building the Business reference
architecture.
Alfresco/Share Quad core, Intel 16 500GB HDD Local disk is used for application
/Index Server Xeon E5-2676 files, temporary files, and index.
v3
The Business architecture has a duplicate system in place for High Availability (HA).
Enterprise
The following table specifies the hardware requirements for building the Enterprise reference
architecture.
Alfresco/Share Quad core, Intel 16 500GB HDD Local disk is used for application
Server (2) Xeon E5-2676 files and temporary files
v3
Index Server Quad core, Intel 32 500GB SSD Index servers require high disk
(1) Xeon E5-2670 performance. See the Sizing
v2 Guide for detailed index sizing
formulas.
Enterprise - Scaled
The following table specifies the hardware requirements for building the Enterprise - Scaled
reference architecture.
Alfresco/Share Quad core, 16 500GB HDD Local disk is used for application files
Server (4) Intel Xeon and temporary files.
E5-2676 v3
Index Server Quad core, 32 500GB SSD Index servers require high disk
(2) Intel Xeon performance. See the Sizing Guide for
E5-2670 v2 detailed index sizing formulas.
Content Store N/A N/A Mounted Size and performance depends on size
Server storage, of repository. See the Sizing Guide for
local, SAN, or formulas.
NAS.
The Enterprise x5 architecture has a duplicate system in place for High Availability (HA).
Software specifications
This section lists the specific software required to build a reference architecture.
Repository http://docs.alfresco.com/5.1/concepts/intro-core.html
Share http://docs.alfresco.com/5.1/concepts/share-configuring-intro.html
Database http://docs.alfresco.com/5.1/concepts/intro-db-setup.html
Solr http://docs.alfresco.com/5.1/concepts/solr-overview.html
Validation
Alfresco provides an environment validation tool (EVT) that helps ensure the environment into
which Alfresco will be deployed is correctly configured, running a supported stack, and meets
some minimum performance requirements. It is recommended that the EVT be run on a new
environment before it begins accepting production workloads.
Benchmarking
Once you have installed your system you will need to benchmark it in order to assess its
performance. Once benchmarked the system can be tuned, and scaled if required.
See the Sizing Guide and Scalability Blueprint documents for benchmark results.
Tuning
Alfresco One is a Java application. Many of the performance tuning methods you can apply to
Alfresco One are as for other Java applications - for example making sure enough RAM and
stack is allocated to the JVM.
Some notes on tuning the JVM to suit Alfresco One can be found in the following
documentation:
http://docs.alfresco.com/5.1/concepts/jvm-tuning.html
Scaling
Once a reference architecture is deployed it will be necessary to benchmark, tune and scale the
deployment. This may occur soon after installation to meet your requirements, but may also
happen over time as your requirements grow. Alfresco provides a Scalability Blueprint
document to assist you with scaling your solution.
Briefly, there are two possibilities for scaling:
Scale up - upgrade machines (more CPU, more RAM, more cache, bigger HDD)
Scale out - add more machines - more clustering - add dedicated transformation server
The scaling requirements will depend on the customer’s specific needs, but would typically
based on number of concurrent users, number and types of documents, required
transformations, rate of ingestion of new documents and so on.
Scaling out is not linear and it is generally advisable to scale up your nodes initially, prior to
scaling out, especially the repository nodes.
A typical scenario that would allow the reference architecture to scale out to an Enterprise x5
deployment (see Size definitions section earlier in this document) would require increasing the
Alfresco/Share nodes from two to four, and increasing the index server nodes from one to two,
increasing the number of shards as required. The database server would also need to be
scaled up (and out) accordingly.
See the Scalability Blueprint document
(https://www.alfresco.com/resources/whitepapers/alfresco-scalability-blueprint) for further
information on scaling out.
Sizing
The reference architecture provided in this document is a vetted starting point for an Alfresco
deployment. The hardware recommendations provided will support the size of deployment
indicated in each sizing option. Deployments that vary significantly from the reference
architecture (such as higher concurrent / total user ratios, extremely large repositories or
metadata complexity beyond typical use cases) should refer to the Alfresco Sizing Guide for
assistance in determining the required hardware.
Resources
Further information can be found from the following resources:
Resource Link
Contact
Details of Alfresco consultancy services can be found at the following page on the Alfresco
website:
https://www.alfresco.com/alfresco-consulting