One of our clients is replacing IBM/FileNet with Alfresco. As this will be a new Alfresco installation, the client is considering building out an Alfresco infrastructure within one of their data centers or within the Amazon Web Services (AWS) Cloud. This post will share our analysis of the pros and cons of both approaches.
Background – Alfresco for High-Availability
Most of our clients that use Alfresco for business critical systems focus on a completely redundant architecture. The architecture we are recommending for either on premise or AWS is presented below:
The main components of the Alfresco redundant architecture includes:
- Load Balanced Web Servers
- These Application servers are where Alfresco Share or TSG’s HPI are installed.
- Typically we recommend a Lunix/Tomcat environment.
- Clustered Alfresco Servers
- Repository servers clustered for redundancy and load balancing
- Clustered Index Servers (optional)
- Solr indexing/search for Alfresco repository
- This approach uses Alfresco’s external indexing server
The architecture also includes the Alfresco System Receiver for unrestricted consumer access as well as Ephesoft. We haven’t made those servers redundant yet but might in the future.
We have also included representations for persistent storage and database. For storage we recommend Amazon S3 and then SAN/NAS for on premise. For the database, Amazon RDS provides a fully redundant database solution (we typically recommend MYSQL). Finally, optional servers could be used to independently scale the Alfresco transformation service.
Benefits of Alfresco On-Premise
In our experience, the following are some of the benefits of hosting internally:
- Client would have full local control of environment
- Client could take advantage of existing hardware / software contracts for infrastructure management
- Client could utilize existing infrastructure configurations including network and security
- Client could utilize existing tools including environment management
- Client could utilize existing user management
- Client could utilize excess capacity on existing storage hardware
Benefits of Alfresco on the Amazon Cloud
Amazon, as an “on demand” infrastructure, has several major advantages over typical infrastructures, particularly when excess hardware and storage are not available and must be purchased. Advantages include:
- Fast provisioning
- No hardware costs/maintenance
- Able to template and replicate dev, test, and prod environment deployments
- Services are easily modifiable
- Services are scalable
- Pricing flexibility with on-demand or reserved instances
- Built-in Back Up Snapshots
- Redundant scalable Database
- Redundant scalable Storage
- Built in service monitoring
- Full security control
- System component failover available in local zones and between far-flung regions
As part of our Amazon partnership, TSG has developed a redundant Alfresco instance (that includes our tools as well) that can be brought up in a matter of hours rather than the typical install/configuration costs.
On-Premise or Amazon – Architectural Differences
On-Premise installation typically include:
- HW or SW Load balancers
- SAN / High Speed Disk
- Fully Redundant Scalable Database
- Fully Redundant Scalable SAN
- Email Server / Acct Management
- Environment Monitoring
- Auto-launch Virtual Servers
- Virtual Servers
- Secure network subnets and firewall
- Active Directory
- Direct Connection to Corporate Data
For On-Premise, the Infrastructure must be specified, procured, installed, and configured ahead of time. The infrastructure has limited flexibility and is unable to address over or under allocation of resources quickly.
Amazon Services typically include:
- Elastic Load Balancers (ELB)
- Elastic Block Storage (EBS)
- Relational Database Service (RDS)
- Simple Storage Service (S3)
- Simple Email Service (SES)
- Elastic Compute Cloud (EC2)
- Virtual Private Cloud (VPC)
- Identity Access Management (IAM)
- Virtual Private Network (VPN)
Amazon Services can be easily scaled up or down based on an as needed basis.
On-Premise for our configuration would require the following components:
- Virtual Servers with local storage
- Minimum of 10 to provide for fail-over for the Web and Alfresco tiers
- Three load balancers
- Database with full redundancy and failover with no data loss
- Large scale storage with full redundancy and failover with no data loss
- Email system integration
- Management infrastructure updates
Amazon recommended environments would require the following components:
- EC2 Servers with EBS (Linux) – Auto-scale with use of ELB
- Web App Server
- Alfresco Server
- Alfresco Indexing Server
- Ephesoft Server
- Business Application Server
- RDS (MySQL)
- Alfresco database
- Ephesoft database
- S3 for Alfresco content storage
- VPN for local data center connection
- VPC for network and security
- SMS for email
- IAM for local user management
Amazon or On-Premise – TSG Recommendation
Given all of the above, TSG is recommending Amazon for most of our clients when compared with procuring and configuring their own infrastructure components.
Typically the cost advantages of a rent versus own model will lean heavily toward Amazon as an obvious choice. For the above architecture, the Amazon costs come to somewhere in the 30-40K range per year, considerably below the cost of procuring and maintaining the servers in-house. Other significant savings that we have noticed for clients have included:
- Initial setup and ongoing maintenance is much more efficient with Amazon.
For our Alfresco clients, we can set up their instance in hours rather than struggle through the security and roles of on premise environments that might require certain resources for database, network or other requirements.
- For our clients, our access to the different environments is much easier.
Some on premise solutions require us to procure a client laptop for VPN connections (resulting in considerable delay). Our ability to access all of the required services can also be a stopping point. For one current client, it has taken 6 months to gain the right access and we are still waiting on certain privileges to stop or start Alfresco related services.
- Scaling up (or down) is considerably easier.
TSG has been advising clients for some time to be able to quickly address volume/transaction related issues as these can often be difficult to predict during initial system design. Amazon provides the ability to “right size” the application and change that sizing during the lifecycle of the application.
If you have any thoughts or comments you would like to add to the conversation, please add them below.