advertisement

Alfresco WCM For High Scalability

50 %
50 %
advertisement
Information about Alfresco WCM For High Scalability

Published on August 5, 2008

Author: alfresco

Source: slideshare.net

Description

Alfresco WCM For High Scalability
advertisement

Alfresco Web Content Management Deployment and Replication for High Scalability Ben Hagan www.alfresco.com

Agenda Introduction Why Scale? The Impact Of Scalability Types Of Scalability Achieving Horizontal Scalability Achieving Vertical Scalability Cache Strategy Blueprint For Static Sites Blueprint For Dynamic Sites How Does Alfresco Fit In? Dynamic Sites Powered By Alfresco Architecture Use Alfresco As It Was Intended Summary

Introduction

Why Scale?

The Impact Of Scalability

Types Of Scalability

Achieving Horizontal Scalability

Achieving Vertical Scalability

Cache Strategy

Blueprint For Static Sites

Blueprint For Dynamic Sites

How Does Alfresco Fit In?

Dynamic Sites Powered By Alfresco

Architecture

Use Alfresco As It Was Intended

Summary

Introduction Scalability The ability to grow an application to meet growing demand/needs Is my application scalable? As it is today, can my application grow to meet demand without breaking, and without sacrificing service levels, as demanded by your users? Will I need an application or architectural redesign?

Scalability

The ability to grow an application to meet growing demand/needs

Is my application scalable?

As it is today, can my application grow to meet demand without breaking, and without sacrificing service levels, as demanded by your users?

Will I need an application or architectural redesign?

Why Scale? Why Scale? My requirements have changed More users - means more data! Data type may change PDF content rather than HTML based I now want to stream rich media – podcast etc More CPU / memory / bandwidth / application / database intensive tasks: We need more complex search facilities We need user generated content We would like to personalise our content No longer cache content Future proofing and agility

Why Scale?

My requirements have changed

More users - means more data!

Data type may change

PDF content rather than HTML based

I now want to stream rich media – podcast etc

More CPU / memory / bandwidth / application / database intensive tasks:

We need more complex search facilities

We need user generated content

We would like to personalise our content

No longer cache content

Future proofing and agility

The Impact Of Scalability Real-Worlds Considerations Capital Investment will be made Do I have the investment available if I need to scale? How much will it cost? The system will become more complex Do I have the technical resource? Is my current architecture suitable for the required scalability? Software – OS, Application Servers, Database etc Hardware – available for expansion, bandwidth, even rack space! Maintenance costs will increase Do I have the budget? Time will be required to act Do I have the time to meet my deadlines?

Real-Worlds Considerations

Capital Investment will be made

Do I have the investment available if I need to scale?

How much will it cost?

The system will become more complex

Do I have the technical resource?

Is my current architecture suitable for the required scalability?

Software – OS, Application Servers, Database etc

Hardware – available for expansion, bandwidth, even rack space!

Maintenance costs will increase

Do I have the budget?

Time will be required to act

Do I have the time to meet my deadlines?

Types of Scalability Horizontal and Vertical Horizontal We add more servers in the corresponding layer, and these multiple servers work together to accommodate an increased load. Most clustering solutions, distributed file systems, load-balancers assist with horizontal scalability. Vertical Adding resource within the same logical unit to increase capacity. An example of this would be to add CPUs to an existing server, or expanding RAM.

Horizontal and Vertical

Horizontal

We add more servers in the corresponding layer, and these multiple servers work together to accommodate an increased load.

Most clustering solutions, distributed file systems, load-balancers assist with horizontal scalability.

Vertical

Adding resource within the same logical unit to increase capacity. An example of this would be to add CPUs to an existing server, or expanding RAM.

Achieving Horizontal Scalability Ensure that the components of the architecture can be individually scaled by adding more servers/nodes. Replicate the node Split content and applications across multiple nodes. Database Replication Clustering Application Alfresco Dynamic Site Server (DSS) - replication Alfresco File System Receiver (FSR) - replication Web Specific Application Cache Web Server Web Application Servers – Tomcat, Weblogic etc

Ensure that the components of the architecture can be individually scaled by adding more servers/nodes.

Replicate the node

Split content and applications across multiple nodes.

Database

Replication

Clustering

Application

Alfresco Dynamic Site Server (DSS) - replication

Alfresco File System Receiver (FSR) - replication

Web Specific Application

Cache

Web Server

Web Application Servers – Tomcat, Weblogic etc

Achieving Vertical Scalability Identify the bottleneck Alfresco Authoring Environment Alfresco Delivery Environment Sometime vertical scaling is the right answer! Can be quick, simple and cheap Re-designing software is not! Hardware is cheap Faster/more CPU(s)? More memory? Faster disks? New RAID configuration? Faster load balancer?

Identify the bottleneck

Alfresco Authoring Environment

Alfresco Delivery Environment

Sometime vertical scaling is the right answer!

Can be quick, simple and cheap

Re-designing software is not!

Hardware is cheap

Faster/more CPU(s)?

More memory?

Faster disks? New RAID configuration?

Faster load balancer?

Cache Strategy HUGE subject which impacts performance in many areas! Database Application Disk Memory Browser E tc …. Static and Dynamic websites What can I cache? What can I not cache? How long should I cache? Chose the right hardware for the software application

HUGE subject which impacts performance in many areas!

Database

Application

Disk

Memory

Browser

E tc ….

Static and Dynamic websites

What can I cache?

What can I not cache?

How long should I cache?

Chose the right hardware for the software application

A Blueprint For Static Sites Load Balancer Web Server File System Receiver (FSR) Alfresco Authoring Environment Web Server File System Receiver (FSR) Web Server File System Receiver (FSR)

A Blueprint For Dynamic Sites Load Balancer Web Server Web Server Web Server Alfresco Authoring Environment Alfresco Dynamic Site Server (DSS) Alfresco Dynamic Site Server (DSS)

How does Alfresco fit in? De-coupled delivery architecture Flexible platform for scalability Content deployment to File System Receivers (FSR) Alfresco Dynamic Site Servers (DSS) Leverage deployment to selectively push content to appropriate nodes Static HTML content: Front-end servers Images: Image servers Multimedia: Streaming servers CDNs (Content Delivery Network ): As needed

De-coupled delivery architecture

Flexible platform for scalability

Content deployment to

File System Receivers (FSR)

Alfresco Dynamic Site Servers (DSS)

Leverage deployment to selectively push content to appropriate nodes

Static HTML content: Front-end servers

Images: Image servers

Multimedia: Streaming servers

CDNs (Content Delivery Network ): As needed

Replication Of Delivery Nodes Delivery Nodes - Server Farm Simple to configure with Alfresco WCM Unlimited number of replicated nodes Automated or manual deployment Point in time snap-shots Deploy Revert Cheap high availability Provision new nodes very easily Commodity hardware High Availability Maintenance

Delivery Nodes - Server Farm

Simple to configure with Alfresco WCM

Unlimited number of replicated nodes

Automated or manual deployment

Point in time snap-shots

Deploy

Revert

Cheap high availability

Provision new nodes very easily

Commodity hardware

High Availability

Maintenance

Replicate Or Cluster My Delivery? Dynamic Site Servers (DSS) do not NEED to be clustered. Replication can be used effectively. If User Generated Content (UGC) is not a requirement, there is no reason to cluster Or any other type of update where the nodes need to be synchronised Clustering can be an overhead with no benefit When does clustering become a disadvantage? Traffic between nodes Time to updates nodes exceeds slows the response time Threshold – exceeded What is that number? Dependant on application Write intensive activity Approximately 3 nodes – load dependant

Dynamic Site Servers (DSS) do not NEED to be clustered. Replication can be used effectively.

If User Generated Content (UGC) is not a requirement, there is no reason to cluster

Or any other type of update where the nodes need to be synchronised

Clustering can be an overhead with no benefit

When does clustering become a disadvantage?

Traffic between nodes

Time to updates nodes exceeds slows the response time

Threshold – exceeded

What is that number?

Dependant on application

Write intensive activity

Approximately 3 nodes – load dependant

Example Replication With UGC Load Balancer Web Server Web Server Web Server Alfresco Authoring Environment Alfresco Dynamic Site Server (DSS) Alfresco Dynamic Site Server (DSS) Alfresco Dynamic Site Server (DSS) Web Server Web Server UGC UGC UGC

Architecture Any architecture has many moving parts.. Web development framework Java: JSF, Struts, Wicket, you name it … Ruby: Ruby on Rails NET: ASP.NET PHP: Zend, CakePHP, CodeIgniter Python: Django Alfresco can be used with all these frameworks. No propriety lock in Each of these has different capabilities and often require different implementation strategies.

Any architecture has many moving parts..

Web development framework

Java: JSF, Struts, Wicket, you name it …

Ruby: Ruby on Rails

NET: ASP.NET

PHP: Zend, CakePHP, CodeIgniter

Python: Django

Alfresco can be used with all these frameworks.

No propriety lock in

Each of these has different capabilities and often require different implementation strategies.

Summary Take inventory of Alfresco's capabilities and limitations and implement accordingly Alfresco is a Java based cross-platform application This provides choice – which OS, Database, which App server? Leverage the correct functionality for YOUR requirements For example – Content Renditions - an article may have these renditions Title Only: For front page Title and Abstract: For news page Full Article etc.. Just because Alfresco can also manage code, doesn't mean that one *has* to use it for that. It's OK to use other code repositories to manage code e.g. SVN Deploy "builds" to Alfresco so as to leverage: In-context previews Sandboxing for each content editor Release management/deployment

Take inventory of Alfresco's capabilities and limitations and implement accordingly

Alfresco is a Java based cross-platform application

This provides choice – which OS, Database, which App server?

Leverage the correct functionality for YOUR requirements

For example – Content Renditions - an article may have these renditions

Title Only: For front page

Title and Abstract: For news page

Full Article etc..

Just because Alfresco can also manage code, doesn't mean that one *has* to use it for that.

It's OK to use other code repositories to manage code e.g. SVN

Deploy "builds" to Alfresco so as to leverage:

In-context previews

Sandboxing for each content editor

Release management/deployment

Summary Cont.. Whatever you choose, be mindful and try to keep the architecture and design as simple as possible. Using Alfresco WCM provides a wealth of flexibility and choices when designing a scalable web architecture Low cost and high performance Open Standards and Open Source Future proof and agile

Whatever you choose, be mindful and try to keep the architecture and design as simple as possible.

Using Alfresco WCM provides a wealth of flexibility and choices when designing a scalable web architecture

Low cost and high performance

Open Standards and Open Source

Future proof and agile

Alfresco WCM Deployment and Replication for High Scalability For More Alfresco Recorded Webinars: www.alfresco.com/about/events/ondemand Free Trial: http://www.alfresco.com/products/ecm/enttrial/ Thank You…

Add a comment

Related pages

Alfresco Scalability Blueprint | Alfresco

Alfresco Scalability Blueprint. The Alfresco 4 Scalability Blueprint ... and main contributor of the Maven Alfresco SDK, a high productivity ...
Read more

Web Content Services - alfrescowiki

Web Content Services. ... of content and high numbers of users Alfresco provides a solution that ... and Scalability: Add more Alfresco as your ...
Read more

Alfresco Video Blog » WCM

Alfresco Video Blog. ... Posts Tagged ‘WCM ... And the low cost scalability of Web 2.0. Learn how Alfresco Web Content Management delivers.
Read more

Caching Alfresco WCM Content to Improve Performance and ...

Caching Alfresco WCM Content to Improve Performance and Scalability ... Our solution utilizes both Alfresco DM and WCM. ... Any level that high will ...
Read more

High Availability On Linux - alfrescowiki

High Availability On Linux. From ... The deployment supports high availability and is thus ... log4j.logger.org.alfresco.repo.node.index ...
Read more

High Scalability | LinkedIn

View 201 High Scalability posts, ... A journey into high scalability... to SQL Server 2012 High Availability ... alfresco. Alfresco WCM For High Scalability.
Read more

Scalability & Performance - Alfresco

alfresco.com Scalability & Performance ... This HA-style configuration offers a higher level of reliability and ... Elastic Scalability — Add ...
Read more

Scalability & Performance - Alfresco

• Horizontal Scalability — Alfresco can be installed on more than one node ... configuration offers a higher level of reliability and resilience, ...
Read more