Your SlideShare is downloading. ×

Alfresco WCM For High Scalability


Published on

Alfresco WCM For High Scalability

Alfresco WCM For High Scalability

Published in: Technology
  • Be the first to comment

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide
  • Transcript

    • 1. Alfresco Web Content Management Deployment and Replication for High Scalability Ben Hagan
    • 2. 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
    • 3. 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?
    • 4. 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
    • 5. 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?
    • 6. 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.
    • 7. 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
    • 8. 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?
    • 9. 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
    • 10. 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)
    • 11. 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)
    • 12. 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
    • 13. 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
    • 14. 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
    • 15. 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
    • 16. 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.
    • 17. 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
    • 18. 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
    • 19. Alfresco WCM Deployment and Replication for High Scalability For More Alfresco Recorded Webinars: Free Trial: Thank You…