SlideShare a Scribd company logo
1 of 33
Download to read offline
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Michael Marth | Senior Engineering Manager | @michaelmarth
Scaling CQ5
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 2
Michael
§ Engineering manager in R&D
§ Responsible for Granite (repo, CQSE, etc)
§ Many years in the field
§ Wears shorts today
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Escape the soup coma, let’s make this a workshop session
3
Soup Coma
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Scalability?
§ Performance vs Scalability
§ Performance: “it takes X secs to do Y”
§ Scalability: “it takes X secs to do Y simultaneously Z times”
§ Yet, performance can help with scalability
§ This talk
§ is about horizontal scalability (vertical scaling is trivial)
§ is about pre-Oak scalability patterns
§ The content will soon be documented in docs.day.com
4
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Scaling problems are good problems to have (you are in demand!)
5
Text
opportunities
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
CQ5 Scaling Patterns
1. High Volume and High Performance Delivery
2. High Frequency Input Feed
3. Many Editors
4. High Processing Input Feed
5. High Volume Input Feed
6.Geo-distributed Editors
7. Many DAM assets
8.Geo-distributed disaster recovery
6
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
High Volume and High Performance Delivery - Description
§ Use Case:
§ High traffic site (100m impressions/d)
§ Examples: adobe.com
§ Limiting factor
§ CPU on publish
7
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
High Volume and High Performance Delivery - Solution Pattern
8
§ Leverage dispatcher caching as much as possible
§ in latest dispatcher: single-page dispatcher flush and scripted flushing, use to cache/flush
content in dispatcher
§ SSI and/or client-side for personalized content
§ Selectors for query caching
§ CDN with short TTL
P
P Disp
Disp
Load
Balancer
round robin
CDN Client
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
High Volume and High Performance Delivery
§ Notes
§ Related to rendering performance, see also
§ CQ performance patterns (use CQ timing component, prefer tree walking over JCR queries,
use ClientLibraryManager to concat and minify JS, etc, see [1])
§ Generic performance patterns (reduce requests with e.g. css sprites, gzip responses, put JS
calls at bottom of HTML, etc, see [2])
§ Anti-Pattern
§ Adding publishers before leveraging caching
[1] http://dev.day.com/docs/en/cq/current/deploying/performance.html
[2] http://shop.oreilly.com/product/9780596529307.do
9
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
High Frequency Input Feed - Description
§ Use Case: news feed import (moderate amounts, but constant updates)
§ Limiting factor
§ Dispatcher cache invalidation
§ Therefore actual limiting factor is CPU on publish
10
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
High Frequency Input Feed - Solution Pattern 1
11
§ Set up content structure so that other pages do not get invalidated on dispatcher
cache
§ if possible: highly volatile content e.g. in /etc
§ with latest dispatcher: single-page flush possible
§ Separate replication queue (so that main queue is not blocked)
A
editing
import
process
Backend
P
replication
Disp
flush
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
High Frequency Input Feed - Solution Pattern 2
§ Set up content structure so that other pages do not get invalidated on dispatcher
cache
§ as previous pattern
§ Import directly into Publish (no replication necessary)
A
import
process
Backend
P Disp
flush
import
process
Backend
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
High Frequency Input Feed
§ Questions to ask
§ Human filtering/processing needed? Then imports should be on author and
replicated.
§ If no: is the use case OK with different states on publish?
§ if yes: no replication needed, then pattern 2 is preferable
13
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Many Editors - Description
§ Use Case:
§ News or media portal
§ >50 editors editing content concurrently
§ Limiting factor
§ Depends on what do the editors actually do:
§ Heavyweight editing, e.g. MSM rollouts, starting WFs: repository- or CPU-bound
§ Lightweight editing: CPU bound
14
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Many Editors - Solution Pattern 1
15
§ Sharding: split up different web sites / parts of web sites onto separate author
instances
§ Publish instances are shared
A
site 3
editing
P
A
site 2
editing
P
A
site 1
editing
P
replication
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Many Editors - Solution Pattern 2
16
§ Sharding: split up different web sites into separate author instances, but replicate into
one main author, e.g. for shared workflow processes
§ Practical if the shards do not need to share content.
§ Cross-replication can be done, but will be hard to keep consistent
§ Publish instances are shared
A
site 3
editing
A
site 2
editing
P
A
site 1
editing
replication
A
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Many Editors
§ Questions to ask
§ What do the editors actually do?
§ Notes
§ Author dispatcher helps to reduce CPU load on author instances
§ Author cluster instead of sharding will mitigate the problem if CPU-bound
17
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
High Processing Input Feed - Description
18
§ Use Case:
§ DAM import of images
§ 1000 images at once
§ happens regularly
§ other editors are editing content at the same time
§ Limiting factor
§ CPU, memory on author
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
High Processing Input Feed - Solution Pattern 1
19
§ Separate processing instances from human editing instances
§ Offload 1 Workflow step, e.g. thumbnail generation from PSDs
§ There can be more than 1 processing instance
§ Replicate back and forth in packages if possible
§ CQ5.6.1: share DS between instances and replicate without binary, offloading framework
A
Processing
Author
Processing
Author
editing
workflows
running
offload CPU-intensive
WF steps
by replication
workflow steps
running, replicating results back
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
High Processing Input Feed - Solution Pattern 2
20
§ Separate pre-processing instances for uploading
§ There can be more than 1 pre-processing instance
§ CQ5.6.1: share DS between instances and replicate without binary
A
Processing
Author
editing
workflows
running
replication
image
upload
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
High Processing Input Feed
21
§ Notes
§ Author cluster can help mitigate the problem, but editors must edit content on slave
§ Throttling WFs or execution during night can help mitigate the problem
§ If the import is limited by CPU needed image conversion consider using ImageMagick
rather than Java
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
High Volume Input Feed - Description
22
§ Use Case:
§ Product data import
§ 1 million products, 10000 modifications/day
§ Limiting factor
§ Writing to the repository
§ reads are also blocked
§ Potentially (to a lesser degree) in case repository scans are needed to create diffs:
§ CPU for calculating diffs
§ Repository read caches get flushed
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
High Volume Input Feed - Solution Pattern
23
§ Separate import instance to process imports, partition if possible
§ only useful if import requires significant CPU (e.g. no diff delivered)
§ Replicate to author
§ Replicate as package
§ CQ5.6.1: share DS between instances and replicate without binary
§ Replication to publish as package if possible
A
Import
Processing
Author
editing
import into
repository
replication of diff
import
processBackend
P
replication
of diff
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
High Volume Input Feed
24
§ Questions to ask
§ Can the import be throttled? Most problems get much less severe.
§ Do all changes get on publish?
§ Notes
§ Use batch saves (1000 nodes) on import (reduces overhead in indexing, etc and speeds up
the import overall)
§ Import as nt:unstructured rather cq:Page if possible
§ If not: switch off heavy listeners (e.g. ContentSync) or use the JcrObservationThrottle
§ Anti-Pattern
§ Usage of network disc (usually have high latency)
§ Replicating to publish through same replication queue as editorial content
§ Might heavily delay important editorial changes from publication
§ Using PageManager (cannot operate in batch mode, unless you use 5.6.1 where that option
was added)
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Geo-distributed Editors
25
§ Use Case:
§ Editors located in different geos (US, EMEA, APAC)
§ Limiting factor
§ Bandwidth between editor location and author server location
§ Use Dispatcher in front of Author
§ Guiding principle: limit traffic between Dispatcher and editor location.
§ gzip traffic
§ Use Client Library Manager to minimize traffic
§ minify, concat and gzip all client libraries
§ Cache all responses that are not under /content in
§ Editor’s browser cache
§ Potentially also dispatcher cache
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Geo-distributed Editors - Solution Pattern
26
ADisp
cache
cache
minimize requests
gzip responses
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Geo-distributed Editors
§ Notes
§ In extreme cases consider writing templates that treat author renditions differently from
publish renditions (especially reducing the number of necessary requests, e.g. by dropping
requests to tracking servers, external CSS, etc)
§ Or use Scaffolding for editing
27
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Many DAM Assets
§ Use Case:
§ Many assets (>5Mio) in DAM
§ Limiting factor
§ Disc space
28
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Many DAM Assets - Solution Pattern
29
§ Split physical storage of data store and repository tar files
§ tar files need disc with very low latency
§ for data store high latency is acceptable
§ Locate data store on cheap discs remotely (NAS, S3)
§ Share data store between instances
§ In 5.6.1: use binary-less replication in case of shared DS to minimize network traffic
Repository
tar DS
local S3
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Many DAM Assets
§ Notes
§ In case of shared DS: the DS garbage collection needs to be run on an instance that keeps
references to all assets in DS
§ In 5.6.1: huge performance improvements (~10x or more) for DS GC when the persistence is
tar-based
30
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Geo-distributed disaster recovery
31
§ Use Case:
§ Data centers located in different geos
§ One DC shall act as failover for author
§ Limiting factor
§ Latency between DCs (in very low latency cases CRX clustering could be used)
§ Use file level tools like rysnc to create replicas in 2nd DC
§ Hourly: sync data store
§ This is usually the most time consuming part
§ Sync can be performed anytime, due to add-only data store architecture
§ Nightly:
§ Create incremental backup into filesystem on 1st DC to get consistent state of files
§ Rsync backup to 2nd DC. For that period CQ on 2nd DC must not be running.
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Geo-distributed disaster recovery - Solution Pattern
32
© 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

More Related Content

What's hot

Sql Server High Availability & DR Technologies
Sql Server High Availability & DR TechnologiesSql Server High Availability & DR Technologies
Sql Server High Availability & DR TechnologiesRockSolid SQL
 
VMworld 2014: Virtualizing Databases
VMworld 2014: Virtualizing DatabasesVMworld 2014: Virtualizing Databases
VMworld 2014: Virtualizing DatabasesVMworld
 
Scaling Up and Out your Virtualized SQL Servers
Scaling Up and Out your Virtualized SQL ServersScaling Up and Out your Virtualized SQL Servers
Scaling Up and Out your Virtualized SQL Serversheraflux
 
SQL Server High Availability and Disaster Recovery
SQL Server High Availability and Disaster RecoverySQL Server High Availability and Disaster Recovery
SQL Server High Availability and Disaster RecoveryMichael Poremba
 
Drupal performance optimization Best Practices
Drupal performance optimization Best PracticesDrupal performance optimization Best Practices
Drupal performance optimization Best PracticesRatnesh kumar, CSM
 
Bp307 Practical Solutions for Connections Administrators, tips and scrips for...
Bp307 Practical Solutions for Connections Administrators, tips and scrips for...Bp307 Practical Solutions for Connections Administrators, tips and scrips for...
Bp307 Practical Solutions for Connections Administrators, tips and scrips for...Sharon James
 
VMworld 2014: Virtualize Active Directory, the Right Way!
VMworld 2014: Virtualize Active Directory, the Right Way!VMworld 2014: Virtualize Active Directory, the Right Way!
VMworld 2014: Virtualize Active Directory, the Right Way!VMworld
 
Delphix Platform Overview
Delphix Platform OverviewDelphix Platform Overview
Delphix Platform OverviewFranco_Dagosto
 
Sa106 – practical solutions for connections administrators
Sa106 – practical solutions for connections administratorsSa106 – practical solutions for connections administrators
Sa106 – practical solutions for connections administratorsSharon James
 
Practical solutions for connections administrators lite
Practical solutions for connections administrators litePractical solutions for connections administrators lite
Practical solutions for connections administrators liteSharon James
 
MySQL Enterprise Backup: Better Very Large Database Backup & Recovery and More!!
MySQL Enterprise Backup: Better Very Large Database Backup & Recovery and More!!MySQL Enterprise Backup: Better Very Large Database Backup & Recovery and More!!
MySQL Enterprise Backup: Better Very Large Database Backup & Recovery and More!!Tinku Ajit
 
Dueling duplications RMAN vs Delphix
Dueling duplications RMAN vs DelphixDueling duplications RMAN vs Delphix
Dueling duplications RMAN vs DelphixKyle Hailey
 
Accelerating Devops via Data Virtualization | Delphix
Accelerating Devops via Data Virtualization | DelphixAccelerating Devops via Data Virtualization | Delphix
Accelerating Devops via Data Virtualization | DelphixDelphixCorp
 
Practical solutions for connections administrators
Practical solutions for connections administratorsPractical solutions for connections administrators
Practical solutions for connections administratorsSharon James
 
VMworld 2013: Virtualizing Highly Available SQL Servers
VMworld 2013: Virtualizing Highly Available SQL Servers VMworld 2013: Virtualizing Highly Available SQL Servers
VMworld 2013: Virtualizing Highly Available SQL Servers VMworld
 
Connections install in 45 mins
Connections install in 45 minsConnections install in 45 mins
Connections install in 45 minsSharon James
 
VMworld Europe 2014: Virtual SAN Best Practices and Use Cases
VMworld Europe 2014: Virtual SAN Best Practices and Use CasesVMworld Europe 2014: Virtual SAN Best Practices and Use Cases
VMworld Europe 2014: Virtual SAN Best Practices and Use CasesVMworld
 
J2EE Performance And Scalability Bp
J2EE Performance And Scalability BpJ2EE Performance And Scalability Bp
J2EE Performance And Scalability BpChris Adkin
 

What's hot (20)

Sql Server High Availability & DR Technologies
Sql Server High Availability & DR TechnologiesSql Server High Availability & DR Technologies
Sql Server High Availability & DR Technologies
 
VMworld 2014: Virtualizing Databases
VMworld 2014: Virtualizing DatabasesVMworld 2014: Virtualizing Databases
VMworld 2014: Virtualizing Databases
 
What is Delphix
What is DelphixWhat is Delphix
What is Delphix
 
Scaling Up and Out your Virtualized SQL Servers
Scaling Up and Out your Virtualized SQL ServersScaling Up and Out your Virtualized SQL Servers
Scaling Up and Out your Virtualized SQL Servers
 
SQL Server High Availability and Disaster Recovery
SQL Server High Availability and Disaster RecoverySQL Server High Availability and Disaster Recovery
SQL Server High Availability and Disaster Recovery
 
Drupal performance optimization Best Practices
Drupal performance optimization Best PracticesDrupal performance optimization Best Practices
Drupal performance optimization Best Practices
 
Bp307 Practical Solutions for Connections Administrators, tips and scrips for...
Bp307 Practical Solutions for Connections Administrators, tips and scrips for...Bp307 Practical Solutions for Connections Administrators, tips and scrips for...
Bp307 Practical Solutions for Connections Administrators, tips and scrips for...
 
VMworld 2014: Virtualize Active Directory, the Right Way!
VMworld 2014: Virtualize Active Directory, the Right Way!VMworld 2014: Virtualize Active Directory, the Right Way!
VMworld 2014: Virtualize Active Directory, the Right Way!
 
Delphix Platform Overview
Delphix Platform OverviewDelphix Platform Overview
Delphix Platform Overview
 
Sa106 – practical solutions for connections administrators
Sa106 – practical solutions for connections administratorsSa106 – practical solutions for connections administrators
Sa106 – practical solutions for connections administrators
 
Practical solutions for connections administrators lite
Practical solutions for connections administrators litePractical solutions for connections administrators lite
Practical solutions for connections administrators lite
 
MySQL Enterprise Backup: Better Very Large Database Backup & Recovery and More!!
MySQL Enterprise Backup: Better Very Large Database Backup & Recovery and More!!MySQL Enterprise Backup: Better Very Large Database Backup & Recovery and More!!
MySQL Enterprise Backup: Better Very Large Database Backup & Recovery and More!!
 
Dueling duplications RMAN vs Delphix
Dueling duplications RMAN vs DelphixDueling duplications RMAN vs Delphix
Dueling duplications RMAN vs Delphix
 
Accelerating Devops via Data Virtualization | Delphix
Accelerating Devops via Data Virtualization | DelphixAccelerating Devops via Data Virtualization | Delphix
Accelerating Devops via Data Virtualization | Delphix
 
Practical solutions for connections administrators
Practical solutions for connections administratorsPractical solutions for connections administrators
Practical solutions for connections administrators
 
VMworld 2013: Virtualizing Highly Available SQL Servers
VMworld 2013: Virtualizing Highly Available SQL Servers VMworld 2013: Virtualizing Highly Available SQL Servers
VMworld 2013: Virtualizing Highly Available SQL Servers
 
Delphix
DelphixDelphix
Delphix
 
Connections install in 45 mins
Connections install in 45 minsConnections install in 45 mins
Connections install in 45 mins
 
VMworld Europe 2014: Virtual SAN Best Practices and Use Cases
VMworld Europe 2014: Virtual SAN Best Practices and Use CasesVMworld Europe 2014: Virtual SAN Best Practices and Use Cases
VMworld Europe 2014: Virtual SAN Best Practices and Use Cases
 
J2EE Performance And Scalability Bp
J2EE Performance And Scalability BpJ2EE Performance And Scalability Bp
J2EE Performance And Scalability Bp
 

Viewers also liked

Creating Multiscreen Apps using Adobe Flash Platform
Creating Multiscreen Apps using Adobe Flash PlatformCreating Multiscreen Apps using Adobe Flash Platform
Creating Multiscreen Apps using Adobe Flash PlatformHemanth Sharma
 
RTMFP Overview for IETF77
RTMFP Overview for IETF77RTMFP Overview for IETF77
RTMFP Overview for IETF77stoem
 
Game design & development
Game design & developmentGame design & development
Game design & developmentHemanth Sharma
 
JUMP13 Whitepapers Live: Mobile Innovation
JUMP13 Whitepapers Live: Mobile InnovationJUMP13 Whitepapers Live: Mobile Innovation
JUMP13 Whitepapers Live: Mobile InnovationJamie Brighton
 
Search Engines and Flash: Secrets, Tricks, and Black Magic
Search Engines and Flash: Secrets, Tricks, and Black MagicSearch Engines and Flash: Secrets, Tricks, and Black Magic
Search Engines and Flash: Secrets, Tricks, and Black Magicguestb1f3a
 

Viewers also liked (7)

dps_webinar
dps_webinardps_webinar
dps_webinar
 
Creating Multiscreen Apps using Adobe Flash Platform
Creating Multiscreen Apps using Adobe Flash PlatformCreating Multiscreen Apps using Adobe Flash Platform
Creating Multiscreen Apps using Adobe Flash Platform
 
RTMFP Overview for IETF77
RTMFP Overview for IETF77RTMFP Overview for IETF77
RTMFP Overview for IETF77
 
E banking
E   bankingE   banking
E banking
 
Game design & development
Game design & developmentGame design & development
Game design & development
 
JUMP13 Whitepapers Live: Mobile Innovation
JUMP13 Whitepapers Live: Mobile InnovationJUMP13 Whitepapers Live: Mobile Innovation
JUMP13 Whitepapers Live: Mobile Innovation
 
Search Engines and Flash: Secrets, Tricks, and Black Magic
Search Engines and Flash: Secrets, Tricks, and Black MagicSearch Engines and Flash: Secrets, Tricks, and Black Magic
Search Engines and Flash: Secrets, Tricks, and Black Magic
 

Similar to Scaling CQ5

Redis Developers Day 2014 - Redis Labs Talks
Redis Developers Day 2014 - Redis Labs TalksRedis Developers Day 2014 - Redis Labs Talks
Redis Developers Day 2014 - Redis Labs TalksRedis Labs
 
Aem asset optimizations & best practices
Aem asset optimizations & best practicesAem asset optimizations & best practices
Aem asset optimizations & best practicesKanika Gera
 
Veeam webinar - Deduplication best practices
Veeam webinar - Deduplication best practicesVeeam webinar - Deduplication best practices
Veeam webinar - Deduplication best practicesJoep Piscaer
 
ActiveMQ Performance Tuning
ActiveMQ Performance TuningActiveMQ Performance Tuning
ActiveMQ Performance TuningChristian Posta
 
Automating a PostgreSQL High Availability Architecture with Ansible
Automating a PostgreSQL High Availability Architecture with AnsibleAutomating a PostgreSQL High Availability Architecture with Ansible
Automating a PostgreSQL High Availability Architecture with AnsibleEDB
 
Global Data Replication with Galera for Ansell Guardian®
Global Data Replication with Galera for Ansell Guardian®Global Data Replication with Galera for Ansell Guardian®
Global Data Replication with Galera for Ansell Guardian®MariaDB plc
 
Advanced EPUB creation for iPad with Adobe InDesign CC - Digital Book World 2014
Advanced EPUB creation for iPad with Adobe InDesign CC - Digital Book World 2014Advanced EPUB creation for iPad with Adobe InDesign CC - Digital Book World 2014
Advanced EPUB creation for iPad with Adobe InDesign CC - Digital Book World 2014DouglasWaterfall
 
OVH Lab - Enterprise Cloud Databases
OVH Lab - Enterprise Cloud DatabasesOVH Lab - Enterprise Cloud Databases
OVH Lab - Enterprise Cloud DatabasesOVHcloud
 
2007-05-23 Cecchet_PGCon2007.ppt
2007-05-23 Cecchet_PGCon2007.ppt2007-05-23 Cecchet_PGCon2007.ppt
2007-05-23 Cecchet_PGCon2007.pptnadirpervez2
 
DOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M usersDOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M usersYoav Avrahami
 
AWS Meetup - Sydney - February
AWS Meetup - Sydney - February AWS Meetup - Sydney - February
AWS Meetup - Sydney - February markghiasy
 
Platform Engineering for the Modern Oracle World
Platform Engineering for the Modern Oracle WorldPlatform Engineering for the Modern Oracle World
Platform Engineering for the Modern Oracle WorldSimon Haslam
 
ukoug-soa-sig-june-2016 v0.5
ukoug-soa-sig-june-2016 v0.5ukoug-soa-sig-june-2016 v0.5
ukoug-soa-sig-june-2016 v0.5Bruno Alves
 
Upgrading to Oracle SOA 12.1 & 12.2 - Practical Steps and Project Experiences
Upgrading to Oracle SOA 12.1 & 12.2 - Practical Steps and Project ExperiencesUpgrading to Oracle SOA 12.1 & 12.2 - Practical Steps and Project Experiences
Upgrading to Oracle SOA 12.1 & 12.2 - Practical Steps and Project ExperiencesBruno Alves
 
Emc sql server 2012 overview
Emc sql server 2012 overviewEmc sql server 2012 overview
Emc sql server 2012 overviewsolarisyougood
 
Containerizing GPU Applications with Docker for Scaling to the Cloud
Containerizing GPU Applications with Docker for Scaling to the CloudContainerizing GPU Applications with Docker for Scaling to the Cloud
Containerizing GPU Applications with Docker for Scaling to the CloudSubbu Rama
 
Docker vs. Kubernetes vs. Serverless
Docker vs. Kubernetes vs. ServerlessDocker vs. Kubernetes vs. Serverless
Docker vs. Kubernetes vs. ServerlessLogicworksNY
 

Similar to Scaling CQ5 (20)

Redis Developers Day 2014 - Redis Labs Talks
Redis Developers Day 2014 - Redis Labs TalksRedis Developers Day 2014 - Redis Labs Talks
Redis Developers Day 2014 - Redis Labs Talks
 
Aem asset optimizations & best practices
Aem asset optimizations & best practicesAem asset optimizations & best practices
Aem asset optimizations & best practices
 
Veeam webinar - Deduplication best practices
Veeam webinar - Deduplication best practicesVeeam webinar - Deduplication best practices
Veeam webinar - Deduplication best practices
 
ActiveMQ Performance Tuning
ActiveMQ Performance TuningActiveMQ Performance Tuning
ActiveMQ Performance Tuning
 
Automating a PostgreSQL High Availability Architecture with Ansible
Automating a PostgreSQL High Availability Architecture with AnsibleAutomating a PostgreSQL High Availability Architecture with Ansible
Automating a PostgreSQL High Availability Architecture with Ansible
 
Global Data Replication with Galera for Ansell Guardian®
Global Data Replication with Galera for Ansell Guardian®Global Data Replication with Galera for Ansell Guardian®
Global Data Replication with Galera for Ansell Guardian®
 
Advanced EPUB creation for iPad with Adobe InDesign CC - Digital Book World 2014
Advanced EPUB creation for iPad with Adobe InDesign CC - Digital Book World 2014Advanced EPUB creation for iPad with Adobe InDesign CC - Digital Book World 2014
Advanced EPUB creation for iPad with Adobe InDesign CC - Digital Book World 2014
 
S903 palla
S903 pallaS903 palla
S903 palla
 
NoSQL and ACID
NoSQL and ACIDNoSQL and ACID
NoSQL and ACID
 
OVH Lab - Enterprise Cloud Databases
OVH Lab - Enterprise Cloud DatabasesOVH Lab - Enterprise Cloud Databases
OVH Lab - Enterprise Cloud Databases
 
2007-05-23 Cecchet_PGCon2007.ppt
2007-05-23 Cecchet_PGCon2007.ppt2007-05-23 Cecchet_PGCon2007.ppt
2007-05-23 Cecchet_PGCon2007.ppt
 
DOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M usersDOs and DONTs on the way to 10M users
DOs and DONTs on the way to 10M users
 
AWS Meetup - Sydney - February
AWS Meetup - Sydney - February AWS Meetup - Sydney - February
AWS Meetup - Sydney - February
 
Platform Engineering for the Modern Oracle World
Platform Engineering for the Modern Oracle WorldPlatform Engineering for the Modern Oracle World
Platform Engineering for the Modern Oracle World
 
Scaling PHP apps
Scaling PHP appsScaling PHP apps
Scaling PHP apps
 
ukoug-soa-sig-june-2016 v0.5
ukoug-soa-sig-june-2016 v0.5ukoug-soa-sig-june-2016 v0.5
ukoug-soa-sig-june-2016 v0.5
 
Upgrading to Oracle SOA 12.1 & 12.2 - Practical Steps and Project Experiences
Upgrading to Oracle SOA 12.1 & 12.2 - Practical Steps and Project ExperiencesUpgrading to Oracle SOA 12.1 & 12.2 - Practical Steps and Project Experiences
Upgrading to Oracle SOA 12.1 & 12.2 - Practical Steps and Project Experiences
 
Emc sql server 2012 overview
Emc sql server 2012 overviewEmc sql server 2012 overview
Emc sql server 2012 overview
 
Containerizing GPU Applications with Docker for Scaling to the Cloud
Containerizing GPU Applications with Docker for Scaling to the CloudContainerizing GPU Applications with Docker for Scaling to the Cloud
Containerizing GPU Applications with Docker for Scaling to the Cloud
 
Docker vs. Kubernetes vs. Serverless
Docker vs. Kubernetes vs. ServerlessDocker vs. Kubernetes vs. Serverless
Docker vs. Kubernetes vs. Serverless
 

More from connectwebex

Jackrabbit OCM in practice
Jackrabbit OCM in practiceJackrabbit OCM in practice
Jackrabbit OCM in practiceconnectwebex
 
Building Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience ManagerBuilding Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience Managerconnectwebex
 
AEM 6 DAM - Integrations, Integrations, Integrations
AEM 6 DAM - Integrations, Integrations, IntegrationsAEM 6 DAM - Integrations, Integrations, Integrations
AEM 6 DAM - Integrations, Integrations, Integrationsconnectwebex
 
JCR, Sling or AEM? Which API should I use and when?
JCR, Sling or AEM? Which API should I use and when?JCR, Sling or AEM? Which API should I use and when?
JCR, Sling or AEM? Which API should I use and when?connectwebex
 
Build single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMBuild single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMconnectwebex
 
Presentation daniel takai
Presentation daniel takaiPresentation daniel takai
Presentation daniel takaiconnectwebex
 
Presentation thomas simlinger
Presentation thomas simlingerPresentation thomas simlinger
Presentation thomas simlingerconnectwebex
 
five Sling features you should know
five Sling features you should knowfive Sling features you should know
five Sling features you should knowconnectwebex
 
Efficient content structures and queries in CRX/CQ
Efficient content structures and queries in CRX/CQEfficient content structures and queries in CRX/CQ
Efficient content structures and queries in CRX/CQconnectwebex
 
Web, Mobile, App and Back!
Web, Mobile, App and Back!Web, Mobile, App and Back!
Web, Mobile, App and Back!connectwebex
 
Tighten your Security and Privacy
Tighten your Security and PrivacyTighten your Security and Privacy
Tighten your Security and Privacyconnectwebex
 
THE BREAK-UP - A user interface love story
THE BREAK-UP - A user interface love storyTHE BREAK-UP - A user interface love story
THE BREAK-UP - A user interface love storyconnectwebex
 
Configuring CQ Security
Configuring CQ SecurityConfiguring CQ Security
Configuring CQ Securityconnectwebex
 
Integration Testing in AEM
Integration Testing in AEMIntegration Testing in AEM
Integration Testing in AEMconnectwebex
 
Sling Component Filters in CQ5
Sling Component Filters in CQ5 Sling Component Filters in CQ5
Sling Component Filters in CQ5 connectwebex
 
Integrating Backend Systems
Integrating Backend SystemsIntegrating Backend Systems
Integrating Backend Systemsconnectwebex
 
Auto-testing production CQ instances with Muppet
Auto-testing production CQ instances with MuppetAuto-testing production CQ instances with Muppet
Auto-testing production CQ instances with Muppetconnectwebex
 

More from connectwebex (19)

Jackrabbit OCM in practice
Jackrabbit OCM in practiceJackrabbit OCM in practice
Jackrabbit OCM in practice
 
Building Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience ManagerBuilding Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience Manager
 
AEM 6 DAM - Integrations, Integrations, Integrations
AEM 6 DAM - Integrations, Integrations, IntegrationsAEM 6 DAM - Integrations, Integrations, Integrations
AEM 6 DAM - Integrations, Integrations, Integrations
 
JCR, Sling or AEM? Which API should I use and when?
JCR, Sling or AEM? Which API should I use and when?JCR, Sling or AEM? Which API should I use and when?
JCR, Sling or AEM? Which API should I use and when?
 
Build single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMBuild single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEM
 
SonarQube for AEM
SonarQube for AEMSonarQube for AEM
SonarQube for AEM
 
Presentation daniel takai
Presentation daniel takaiPresentation daniel takai
Presentation daniel takai
 
Presentation thomas simlinger
Presentation thomas simlingerPresentation thomas simlinger
Presentation thomas simlinger
 
five Sling features you should know
five Sling features you should knowfive Sling features you should know
five Sling features you should know
 
Efficient content structures and queries in CRX/CQ
Efficient content structures and queries in CRX/CQEfficient content structures and queries in CRX/CQ
Efficient content structures and queries in CRX/CQ
 
Web, Mobile, App and Back!
Web, Mobile, App and Back!Web, Mobile, App and Back!
Web, Mobile, App and Back!
 
Tighten your Security and Privacy
Tighten your Security and PrivacyTighten your Security and Privacy
Tighten your Security and Privacy
 
THE BREAK-UP - A user interface love story
THE BREAK-UP - A user interface love storyTHE BREAK-UP - A user interface love story
THE BREAK-UP - A user interface love story
 
Configuring CQ Security
Configuring CQ SecurityConfiguring CQ Security
Configuring CQ Security
 
Integration Testing in AEM
Integration Testing in AEMIntegration Testing in AEM
Integration Testing in AEM
 
Sling Component Filters in CQ5
Sling Component Filters in CQ5 Sling Component Filters in CQ5
Sling Component Filters in CQ5
 
Integrating Backend Systems
Integrating Backend SystemsIntegrating Backend Systems
Integrating Backend Systems
 
Auto-testing production CQ instances with Muppet
Auto-testing production CQ instances with MuppetAuto-testing production CQ instances with Muppet
Auto-testing production CQ instances with Muppet
 
CQ Maven Methods
CQ Maven MethodsCQ Maven Methods
CQ Maven Methods
 

Recently uploaded

Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023Neil Kimberley
 
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...lizamodels9
 
How to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League CityHow to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League CityEric T. Tung
 
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...Lviv Startup Club
 
Cracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptxCracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptxWorkforce Group
 
Monte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSMMonte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSMRavindra Nath Shukla
 
HONOR Veterans Event Keynote by Michael Hawkins
HONOR Veterans Event Keynote by Michael HawkinsHONOR Veterans Event Keynote by Michael Hawkins
HONOR Veterans Event Keynote by Michael HawkinsMichael W. Hawkins
 
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...rajveerescorts2022
 
The Coffee Bean & Tea Leaf(CBTL), Business strategy case study
The Coffee Bean & Tea Leaf(CBTL), Business strategy case studyThe Coffee Bean & Tea Leaf(CBTL), Business strategy case study
The Coffee Bean & Tea Leaf(CBTL), Business strategy case studyEthan lee
 
Insurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usageInsurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usageMatteo Carbone
 
Value Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and painsValue Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and painsP&CO
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756dollysharma2066
 
It will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 MayIt will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 MayNZSG
 
Grateful 7 speech thanking everyone that has helped.pdf
Grateful 7 speech thanking everyone that has helped.pdfGrateful 7 speech thanking everyone that has helped.pdf
Grateful 7 speech thanking everyone that has helped.pdfPaul Menig
 
Organizational Transformation Lead with Culture
Organizational Transformation Lead with CultureOrganizational Transformation Lead with Culture
Organizational Transformation Lead with CultureSeta Wicaksana
 
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptx
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptxB.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptx
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptxpriyanshujha201
 
Call Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine ServiceCall Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine Serviceritikaroy0888
 
Monthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptxMonthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptxAndy Lambert
 

Recently uploaded (20)

Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023
 
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
Russian Call Girls In Gurgaon ❤️8448577510 ⊹Best Escorts Service In 24/7 Delh...
 
How to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League CityHow to Get Started in Social Media for Art League City
How to Get Started in Social Media for Art League City
 
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
Yaroslav Rozhankivskyy: Три складові і три передумови максимальної продуктивн...
 
Cracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptxCracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptx
 
Monte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSMMonte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSM
 
HONOR Veterans Event Keynote by Michael Hawkins
HONOR Veterans Event Keynote by Michael HawkinsHONOR Veterans Event Keynote by Michael Hawkins
HONOR Veterans Event Keynote by Michael Hawkins
 
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
 
The Coffee Bean & Tea Leaf(CBTL), Business strategy case study
The Coffee Bean & Tea Leaf(CBTL), Business strategy case studyThe Coffee Bean & Tea Leaf(CBTL), Business strategy case study
The Coffee Bean & Tea Leaf(CBTL), Business strategy case study
 
Insurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usageInsurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usage
 
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pillsMifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
Mifty kit IN Salmiya (+918133066128) Abortion pills IN Salmiyah Cytotec pills
 
Value Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and painsValue Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and pains
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
It will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 MayIt will be International Nurses' Day on 12 May
It will be International Nurses' Day on 12 May
 
Grateful 7 speech thanking everyone that has helped.pdf
Grateful 7 speech thanking everyone that has helped.pdfGrateful 7 speech thanking everyone that has helped.pdf
Grateful 7 speech thanking everyone that has helped.pdf
 
VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
 
Organizational Transformation Lead with Culture
Organizational Transformation Lead with CultureOrganizational Transformation Lead with Culture
Organizational Transformation Lead with Culture
 
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptx
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptxB.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptx
B.COM Unit – 4 ( CORPORATE SOCIAL RESPONSIBILITY ( CSR ).pptx
 
Call Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine ServiceCall Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine Service
 
Monthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptxMonthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptx
 

Scaling CQ5

  • 1. © 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Michael Marth | Senior Engineering Manager | @michaelmarth Scaling CQ5
  • 2. © 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 2 Michael § Engineering manager in R&D § Responsible for Granite (repo, CQSE, etc) § Many years in the field § Wears shorts today
  • 3. © 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Escape the soup coma, let’s make this a workshop session 3 Soup Coma
  • 4. © 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Scalability? § Performance vs Scalability § Performance: “it takes X secs to do Y” § Scalability: “it takes X secs to do Y simultaneously Z times” § Yet, performance can help with scalability § This talk § is about horizontal scalability (vertical scaling is trivial) § is about pre-Oak scalability patterns § The content will soon be documented in docs.day.com 4
  • 5. © 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Scaling problems are good problems to have (you are in demand!) 5 Text opportunities
  • 6. © 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. CQ5 Scaling Patterns 1. High Volume and High Performance Delivery 2. High Frequency Input Feed 3. Many Editors 4. High Processing Input Feed 5. High Volume Input Feed 6.Geo-distributed Editors 7. Many DAM assets 8.Geo-distributed disaster recovery 6
  • 7. © 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. High Volume and High Performance Delivery - Description § Use Case: § High traffic site (100m impressions/d) § Examples: adobe.com § Limiting factor § CPU on publish 7
  • 8. © 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. High Volume and High Performance Delivery - Solution Pattern 8 § Leverage dispatcher caching as much as possible § in latest dispatcher: single-page dispatcher flush and scripted flushing, use to cache/flush content in dispatcher § SSI and/or client-side for personalized content § Selectors for query caching § CDN with short TTL P P Disp Disp Load Balancer round robin CDN Client
  • 9. © 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. High Volume and High Performance Delivery § Notes § Related to rendering performance, see also § CQ performance patterns (use CQ timing component, prefer tree walking over JCR queries, use ClientLibraryManager to concat and minify JS, etc, see [1]) § Generic performance patterns (reduce requests with e.g. css sprites, gzip responses, put JS calls at bottom of HTML, etc, see [2]) § Anti-Pattern § Adding publishers before leveraging caching [1] http://dev.day.com/docs/en/cq/current/deploying/performance.html [2] http://shop.oreilly.com/product/9780596529307.do 9
  • 10. © 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. High Frequency Input Feed - Description § Use Case: news feed import (moderate amounts, but constant updates) § Limiting factor § Dispatcher cache invalidation § Therefore actual limiting factor is CPU on publish 10
  • 11. © 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. High Frequency Input Feed - Solution Pattern 1 11 § Set up content structure so that other pages do not get invalidated on dispatcher cache § if possible: highly volatile content e.g. in /etc § with latest dispatcher: single-page flush possible § Separate replication queue (so that main queue is not blocked) A editing import process Backend P replication Disp flush
  • 12. © 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. High Frequency Input Feed - Solution Pattern 2 § Set up content structure so that other pages do not get invalidated on dispatcher cache § as previous pattern § Import directly into Publish (no replication necessary) A import process Backend P Disp flush import process Backend
  • 13. © 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. High Frequency Input Feed § Questions to ask § Human filtering/processing needed? Then imports should be on author and replicated. § If no: is the use case OK with different states on publish? § if yes: no replication needed, then pattern 2 is preferable 13
  • 14. © 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Many Editors - Description § Use Case: § News or media portal § >50 editors editing content concurrently § Limiting factor § Depends on what do the editors actually do: § Heavyweight editing, e.g. MSM rollouts, starting WFs: repository- or CPU-bound § Lightweight editing: CPU bound 14
  • 15. © 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Many Editors - Solution Pattern 1 15 § Sharding: split up different web sites / parts of web sites onto separate author instances § Publish instances are shared A site 3 editing P A site 2 editing P A site 1 editing P replication
  • 16. © 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Many Editors - Solution Pattern 2 16 § Sharding: split up different web sites into separate author instances, but replicate into one main author, e.g. for shared workflow processes § Practical if the shards do not need to share content. § Cross-replication can be done, but will be hard to keep consistent § Publish instances are shared A site 3 editing A site 2 editing P A site 1 editing replication A
  • 17. © 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Many Editors § Questions to ask § What do the editors actually do? § Notes § Author dispatcher helps to reduce CPU load on author instances § Author cluster instead of sharding will mitigate the problem if CPU-bound 17
  • 18. © 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. High Processing Input Feed - Description 18 § Use Case: § DAM import of images § 1000 images at once § happens regularly § other editors are editing content at the same time § Limiting factor § CPU, memory on author
  • 19. © 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. High Processing Input Feed - Solution Pattern 1 19 § Separate processing instances from human editing instances § Offload 1 Workflow step, e.g. thumbnail generation from PSDs § There can be more than 1 processing instance § Replicate back and forth in packages if possible § CQ5.6.1: share DS between instances and replicate without binary, offloading framework A Processing Author Processing Author editing workflows running offload CPU-intensive WF steps by replication workflow steps running, replicating results back
  • 20. © 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. High Processing Input Feed - Solution Pattern 2 20 § Separate pre-processing instances for uploading § There can be more than 1 pre-processing instance § CQ5.6.1: share DS between instances and replicate without binary A Processing Author editing workflows running replication image upload
  • 21. © 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. High Processing Input Feed 21 § Notes § Author cluster can help mitigate the problem, but editors must edit content on slave § Throttling WFs or execution during night can help mitigate the problem § If the import is limited by CPU needed image conversion consider using ImageMagick rather than Java
  • 22. © 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. High Volume Input Feed - Description 22 § Use Case: § Product data import § 1 million products, 10000 modifications/day § Limiting factor § Writing to the repository § reads are also blocked § Potentially (to a lesser degree) in case repository scans are needed to create diffs: § CPU for calculating diffs § Repository read caches get flushed
  • 23. © 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. High Volume Input Feed - Solution Pattern 23 § Separate import instance to process imports, partition if possible § only useful if import requires significant CPU (e.g. no diff delivered) § Replicate to author § Replicate as package § CQ5.6.1: share DS between instances and replicate without binary § Replication to publish as package if possible A Import Processing Author editing import into repository replication of diff import processBackend P replication of diff
  • 24. © 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. High Volume Input Feed 24 § Questions to ask § Can the import be throttled? Most problems get much less severe. § Do all changes get on publish? § Notes § Use batch saves (1000 nodes) on import (reduces overhead in indexing, etc and speeds up the import overall) § Import as nt:unstructured rather cq:Page if possible § If not: switch off heavy listeners (e.g. ContentSync) or use the JcrObservationThrottle § Anti-Pattern § Usage of network disc (usually have high latency) § Replicating to publish through same replication queue as editorial content § Might heavily delay important editorial changes from publication § Using PageManager (cannot operate in batch mode, unless you use 5.6.1 where that option was added)
  • 25. © 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Geo-distributed Editors 25 § Use Case: § Editors located in different geos (US, EMEA, APAC) § Limiting factor § Bandwidth between editor location and author server location
  • 26. § Use Dispatcher in front of Author § Guiding principle: limit traffic between Dispatcher and editor location. § gzip traffic § Use Client Library Manager to minimize traffic § minify, concat and gzip all client libraries § Cache all responses that are not under /content in § Editor’s browser cache § Potentially also dispatcher cache © 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Geo-distributed Editors - Solution Pattern 26 ADisp cache cache minimize requests gzip responses
  • 27. © 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Geo-distributed Editors § Notes § In extreme cases consider writing templates that treat author renditions differently from publish renditions (especially reducing the number of necessary requests, e.g. by dropping requests to tracking servers, external CSS, etc) § Or use Scaffolding for editing 27
  • 28. © 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Many DAM Assets § Use Case: § Many assets (>5Mio) in DAM § Limiting factor § Disc space 28
  • 29. © 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Many DAM Assets - Solution Pattern 29 § Split physical storage of data store and repository tar files § tar files need disc with very low latency § for data store high latency is acceptable § Locate data store on cheap discs remotely (NAS, S3) § Share data store between instances § In 5.6.1: use binary-less replication in case of shared DS to minimize network traffic Repository tar DS local S3
  • 30. © 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Many DAM Assets § Notes § In case of shared DS: the DS garbage collection needs to be run on an instance that keeps references to all assets in DS § In 5.6.1: huge performance improvements (~10x or more) for DS GC when the persistence is tar-based 30
  • 31. © 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Geo-distributed disaster recovery 31 § Use Case: § Data centers located in different geos § One DC shall act as failover for author § Limiting factor § Latency between DCs (in very low latency cases CRX clustering could be used)
  • 32. § Use file level tools like rysnc to create replicas in 2nd DC § Hourly: sync data store § This is usually the most time consuming part § Sync can be performed anytime, due to add-only data store architecture § Nightly: § Create incremental backup into filesystem on 1st DC to get consistent state of files § Rsync backup to 2nd DC. For that period CQ on 2nd DC must not be running. © 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Geo-distributed disaster recovery - Solution Pattern 32
  • 33. © 2012 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.