SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
CISCO.COM CASE STUDY 
Extending Adobe AEM for High Availability, High Performance and High Scalability 
PRESENTED BY
ABOUT US 
2 
• Akhil Aggrawal 
• Distinguish Engineer & Chief 
Architect Cisco.com 
• linkedin.com/in/akhilaggrawal 
• @akhil183 
• Anshul Chhabra 
• Principal Architect, McAfee 
• Previously Architect, Cisco.com 
• linkedin.com/in/anshulchhabra 
• @Anshul2
Cisco’s Digital Presence 
355M 
visits to Cisco.com 
11.5M 
social reach 
112M 
organic search 
referrals 
3.9M 
paid search click-throughs 
3M 
social media 
mentions 
40% 34% 
71% 
4% 
10.7M 
mobile web 
visits 
1.4M 
social referrers 
to Cisco.com 
5.7M 
customer 
app 
downloads 
Q1FY14 – Q4FY14 
2.5M 
video views on 
Cisco.com 
Web Social Media Mobile 
7.5M 
video views on 
Cisco YouTube 
47% 
Video 
[Date Range: Q1FY14 – Q4FY14]
CISCO.COM WEB EXPERIENCE MANAGEMENT - 
(FEB24TH & 25TH) 
• Ave 1200 hits/sec @ Edge 
• 1.75m visitors 
• 41% to Cisco Datacenter 
• 28m hits @ Adobe AEM 
• 82m hits @ non-AEM (migration 
in fy15) 
• Contains ~800K files (.html, .jpg, .gif, .pdf, .mobi and more) [35% of overall cisco.com content] 
• ~1.5 TB 
Source: Enterprise Operation Intelligence (Splunk) & Akamai Control Panel & Enterprise Web Analytics
EXPECTATIONS FROM AEM ARCHITECTURE 
• Always on / Highly Available 
• Amazing Global Performance 
• Scalable to support cisco.com traffic/volume 
CISCO SPECIFIC REQUIREMENTS 
• Cisco Visibility Needs (Entitlement) 
• Personalization/Targetting 
• Localization 40 languages, 85 countries 
• Auto Generation of product pages as part of New Product Introduction Process 
• Content Rendition via CTS : Frame à html|pdf, wordà html|pdf
6 
WEB ARCHITECTURE
WEM PHYSICAL ARCHITECTURE (PUBLISH) 
Cisco DC1 Cisco DC2 
Active- Active Multiple Datacenter (Cisco MVDC) Architecture
WEM PHYSICAL ARCHITECTURE (AUTHOR) 
§ Single data center 
presence 
§ No Clustering 
§ ISSUE - Can not be 
distributed 
geographically/DC 
Cisco RCDN Datacenter
9 
HA AND FAULT TOLERANT
HA PROBING MODEL 
§ Web level probes stay 
at Web level 
§ Web won’t go down 
due to app failure 
§ Site Selection at Web 
and App Level 
DC1 Webserver Cisco 
ACE LB 
DC2 Webserver Cisco 
ACE LB 
DC1 AppServer 
Cisco ACE LB 
DC2 AppServer 
Cisco ACE LB
COMPLETE AEM APP 
FAILURE SCENARIO 
§ All App Servers Down 
§ Web still up 
§ Serves cached content 
§ Independent Alerting 
via Enterprise Monitoring 
DC1 Webserver Cisco 
ACE LB 
DC2 Webserver Cisco 
ACE LB 
DC1 AppServer 
Cisco ACE LB 
DC2 AppServer 
Cisco ACE LB
12 
CACHE IS KING!! 
Dispatcher as Billboard – Proactive Caching 
Akamai 
Entitlement Caching 
Impact Analysis
CACHING IN WEM 
Web 
• Page load : 2-5 s 
• Max request time 
within DC: 500ms 
Akamai Client 
Web 
CQ Publish Server ACE 
Leverage Apache to 
Stream content (via 
Adobe dispatcher) 
App level caching 
of High compute 
objects (ehCache) 
Assets + all content 
caching – guest, customer, 
etc (flexible cache ID) 
Dispatcher
WEM Caching 
Caching Layers 
BROWSER: USER CLIENT CACHING. ASSETS ARE CACHED WITH MAX-AGE= 
8H. PAGES/DOCUMENTS ARE CACHED WITH ETAG AND MAX-AGE=0. 
AKAMAI: CDN. EDGE CACHING. GEO DISTRIBUTED. PROVIDES FLEXIBLE 
CACHE ID BY WHICH MULTIPLE VERSIONS OF AN URL/PAGE CACHEABLE. 
APACHE: SERVES THE FILES CACHED BY DISPATCHER WITH ETAG. 
REWRITES INCOMING REQUESTS SUCH THAT THE URL ENCODES 
VERSION OF THE PAGE AND DISPATCHER SEES DIFFERENT URL FOR 
DIFFERENT VERSIONS OF A PAGE. 
DISPATCHER: AN APACHE MODULE THAT STORES CQ RESPONSES IN A 
FILE UNDER APACHE DOCUMENTROOT. THE FILE IS A REPRESENTATION 
OF THE URL. 
CQ: RUNTIME PAGE ASSEMBLY. DATA OF HIGH COMPUTATIONS ARE 
CACHED IN IN-MEMORY CACHE FOR FAST ACCESS. URL IS RESOLVED 
INTO CQ NODE WHICH HAS PROPERTIES, TAGS INCLUDING CONCEPTS, 
DOCTYPE 
Browser 
Akamai 
Apache/Dispatcher 
CQ 
ehCache 
Sling
END 2 END REQUEST FLOW & CACHING 
15 
With Caching comes complexity!!!
INCREMENTAL REFRESH DESIGN 
With Proactive Caching comes 
added complexity!!! 
For each Page in 
Set P {i} 
Process 
User Activate 
Author 
CQ 
Publish 
CQ 
Publish 
Dispatc 
her 
Page(s) 
Replic 
ation 
Node 
replication events 
ActivationListener 
Start 
Impact 
Analysis 
CQ /var 
[P-cd] 
d=d.getParent() 
Is d Series 
Doctype or 
above? 
P-cd 
continue 
For each Node P-cd 
in List L-cd 
L-cd=getList of 
Nodes tagged to 
d+c no 
yes 
Stop 
Note: 
P-cd is pages tagged to concept c and 
doctype d that are impacted. This is 
minimal impacted pages. 
The URLs are stored in CQ under /var/ 
ia_impacted_pages 
Refresh Job {P-cd} 
interval=15min 
For each publish 
Node N{x=1..8} 
GET N:4503/Pi? 
refresh 
http://Nx:4503/Pi?refresh 
On Complete 
On replication 
Complete 
replication 
complete: 
All publish nodes 
received the 
activation 
For each Page in 
Set P{i} 
For each publish 
Web server VIP 
V{y=1,2} 
GET invalidate Pi http://Vy:80/dipatcher 
/invalidate.cache?CQ:Handle=Pi 
Query-Action Legend 
debug - debug info 
cachemode=refresh - remove app 
cache for page and rebuild page and 
populate the cache 
cachemode=nocache: build page 
without using app cache 
Impact 
Analysis 
c[],d 
Remove cached file 
Pi.*.html & Pi.html 
WEM Cache Refresh Scheme 
for Dispatcher and App 
WEM 
Pi 
Architecture 
Team 
Call /invalidateHandler 
Script 
GET V:80/Pi.html 
Store file Pi.hmtl 
Bill Board for 
anonymous 
users* 
is Tag(s) 
changed 
? 
no 
Stop 
c[],d 
For activated Page P-cd, find Tags: 
Concepts c[] 
Doctype d 
Old Concepts oc[] 
Old Doctype od 
[previous active version] 
IA 
IA 
yes 
oc!=null?c=change(oc) 
od!=null?d=od 
note: change(oc) is concepts 
that changed 
IA 
current page 
8 x i 
for each concept 
in c[] 
c[],d 
/var c,d 
/ia_impacted_pages 
p1 
p2 
p1 
p3 
CQ /var 
[P-cd] 
read max 1000 
URLs in Set {P} 
** 
Pi 
Logic for U: 
set property status=complete 
set time=currentTime 
move the node under /var/ia_history 
**Logic for computing Set {P}: 
url=nextNode() 
if ({P} has url) { 
set property status=dup 
set time=currentTime 
move the node under /var/ia_history 
} else 
put url in {P}
17 
• CONTENT TRANSFORMATION 
• MULTI TENANCY
SUPPORTED DOCUMENT TRANSFORMATIONS 
Source Format Target Format 
book (all file extensions that are 
members of book will be processed) flb pdf, epub, Mobi 
fm (including chapters) 
html, pdf , (epub, Mobi – only for 
non-chapters) 
doc, docx html, pdf 
eps, epsi, ps, svg, tiff jpg
CONTENT RENDITION INTEGRATION
RENDITION PROCESS FLOW
21 
MULTITENANCY
1. No Shared Architecture 2. 100% Sharing of Architecture 
SEPARATE Adobe clusters 
Virtualized infrastructure 
SHARED Adobe Clusters 
Virtualized infrastructure 
Implementation 
Approach 
More Licenses (higher license cost) 
Better operational insulation 
More Scalable 
More autonomy/agility among 
tenants 
Less Licenses (lower license cost) 
Less operational insulation 
Less Scalable 
Less autonomy/agility among 
tenants 
IT Implication 
Stakeholder 
Impact 
Transparent 
Different 
approaches 
may be used 
depending on 
stakeholder 
needs and 
impact to 
existing platform 
Transparent
AEM 
Platform 
MULTI TENANCY MODEL 
CQ 
Instance 
VM 
Component/Theme Code Component/Theme Code 
CQ 
Java Code Java Code 
Instance 
VM 
CQ 
Instance 
VM 
CQ 
Instance 
VM 
Tenant2 
CQ 
Instance 
Tenant3 
CQ 
Instance 
platform Framework (monitoring/instrumentation etc) 
VM VM 
• Why separate CQ 
Instance? 
• Independent User 
Store 
• Fault Isolation 
• platform Contract 
• Logical/Physical 
Architecture 
• CQ Upgrade 
• Product Roadmap 
• Platform framework 
• Tenant Contract 
• Manage Component 
deployment 
• Manage Java Code 
Deployment 
Tenant1
24 
QUESTIONS?

Contenu connexe

Tendances

Hybrid Mobile Development with Apache Cordova and
Hybrid Mobile Development with Apache Cordova and Hybrid Mobile Development with Apache Cordova and
Hybrid Mobile Development with Apache Cordova and
Ryan Cuprak
 

Tendances (20)

Run your Java code on Cloud Foundry
Run your Java code on Cloud FoundryRun your Java code on Cloud Foundry
Run your Java code on Cloud Foundry
 
DCSF 19 Developing Apps with Containers, Functions and Cloud Services
DCSF 19 Developing Apps with Containers, Functions and Cloud ServicesDCSF 19 Developing Apps with Containers, Functions and Cloud Services
DCSF 19 Developing Apps with Containers, Functions and Cloud Services
 
ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...
ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...
ECS19 - Nik Charlebois - Automate the Deployment & Monitoring of SharePoint w...
 
DevOps Toolbox: Infrastructure as code
DevOps Toolbox: Infrastructure as codeDevOps Toolbox: Infrastructure as code
DevOps Toolbox: Infrastructure as code
 
Microservices Testing at Scale
Microservices Testing at ScaleMicroservices Testing at Scale
Microservices Testing at Scale
 
Getting Started with PaaS
Getting Started with PaaSGetting Started with PaaS
Getting Started with PaaS
 
Alfresco Process Services REST API - Alfresco DevCon 2018
 Alfresco Process Services REST API - Alfresco DevCon 2018 Alfresco Process Services REST API - Alfresco DevCon 2018
Alfresco Process Services REST API - Alfresco DevCon 2018
 
DevCon 2018 - 5 ways to use AWS with Alfresco
DevCon 2018 - 5 ways to use AWS with AlfrescoDevCon 2018 - 5 ways to use AWS with Alfresco
DevCon 2018 - 5 ways to use AWS with Alfresco
 
Securing applications
Securing applicationsSecuring applications
Securing applications
 
EMC World 2016 12 Factor Apps FTW
EMC World 2016 12 Factor Apps FTWEMC World 2016 12 Factor Apps FTW
EMC World 2016 12 Factor Apps FTW
 
(DVO314) USA Today Uses Chef & AWS for Infrastructure Standardization
(DVO314) USA Today Uses Chef & AWS for Infrastructure Standardization(DVO314) USA Today Uses Chef & AWS for Infrastructure Standardization
(DVO314) USA Today Uses Chef & AWS for Infrastructure Standardization
 
Azure dev ops integrations with Jenkins
Azure dev ops integrations with JenkinsAzure dev ops integrations with Jenkins
Azure dev ops integrations with Jenkins
 
Node.js to the rescue
Node.js to the rescueNode.js to the rescue
Node.js to the rescue
 
DevOps and AWS - Code PaLOUsa 2017
DevOps and AWS  - Code PaLOUsa 2017DevOps and AWS  - Code PaLOUsa 2017
DevOps and AWS - Code PaLOUsa 2017
 
Instant ColdFusion with Vagrant
Instant ColdFusion with VagrantInstant ColdFusion with Vagrant
Instant ColdFusion with Vagrant
 
Cloud Foundry Summit 2015: 12 Factor Apps For Operations
Cloud Foundry Summit 2015: 12 Factor Apps For OperationsCloud Foundry Summit 2015: 12 Factor Apps For Operations
Cloud Foundry Summit 2015: 12 Factor Apps For Operations
 
Hybrid Mobile Development with Apache Cordova and
Hybrid Mobile Development with Apache Cordova and Hybrid Mobile Development with Apache Cordova and
Hybrid Mobile Development with Apache Cordova and
 
Building Microservices with the 12 Factor App Pattern on AWS
Building Microservices with the 12 Factor App Pattern on AWSBuilding Microservices with the 12 Factor App Pattern on AWS
Building Microservices with the 12 Factor App Pattern on AWS
 
Let's serve your data
Let's serve your dataLet's serve your data
Let's serve your data
 
Accessible Video Anywhere with ColdFusion an AWS
Accessible Video Anywhere with ColdFusion an AWSAccessible Video Anywhere with ColdFusion an AWS
Accessible Video Anywhere with ColdFusion an AWS
 

En vedette

Multi tenancy - Wining formula for a PaaS
Multi tenancy - Wining formula for a PaaSMulti tenancy - Wining formula for a PaaS
Multi tenancy - Wining formula for a PaaS
WSO2
 

En vedette (7)

EVOLVE'15 | Enhance | Loyola Baskar | Cisco - Multi-tenancy AEM Architectur...
EVOLVE'15 |  Enhance | Loyola Baskar | Cisco -  Multi-tenancy AEM Architectur...EVOLVE'15 |  Enhance | Loyola Baskar | Cisco -  Multi-tenancy AEM Architectur...
EVOLVE'15 | Enhance | Loyola Baskar | Cisco - Multi-tenancy AEM Architectur...
 
EVOLVE'15 | Enhance | Norberto Leite | Effectively Scale and Operate AEM with...
EVOLVE'15 | Enhance | Norberto Leite | Effectively Scale and Operate AEM with...EVOLVE'15 | Enhance | Norberto Leite | Effectively Scale and Operate AEM with...
EVOLVE'15 | Enhance | Norberto Leite | Effectively Scale and Operate AEM with...
 
EVOLVE'14 | Maximize | Gary Gamitian & Sean Browne | Zero to AEM in 12 Months
EVOLVE'14 | Maximize | Gary Gamitian & Sean Browne | Zero to AEM in 12 MonthsEVOLVE'14 | Maximize | Gary Gamitian & Sean Browne | Zero to AEM in 12 Months
EVOLVE'14 | Maximize | Gary Gamitian & Sean Browne | Zero to AEM in 12 Months
 
EVOLVE'15 | Enhance | Peter Krmpotic | Content optimization and personalizati...
EVOLVE'15 | Enhance | Peter Krmpotic | Content optimization and personalizati...EVOLVE'15 | Enhance | Peter Krmpotic | Content optimization and personalizati...
EVOLVE'15 | Enhance | Peter Krmpotic | Content optimization and personalizati...
 
Circuit 2015 Keynote - Carsten Ziegeler
Circuit 2015 Keynote -  Carsten ZiegelerCircuit 2015 Keynote -  Carsten Ziegeler
Circuit 2015 Keynote - Carsten Ziegeler
 
Maximize the power of OSGi in AEM
Maximize the power of OSGi in AEM Maximize the power of OSGi in AEM
Maximize the power of OSGi in AEM
 
Multi tenancy - Wining formula for a PaaS
Multi tenancy - Wining formula for a PaaSMulti tenancy - Wining formula for a PaaS
Multi tenancy - Wining formula for a PaaS
 

Similaire à EVOLVE'14 | Enhance | Anshul Chhabra & Akhil Aggrawal | Cisco - AEM High Availability

Web Application Development using PHP and MySQL
Web Application Development using PHP and MySQLWeb Application Development using PHP and MySQL
Web Application Development using PHP and MySQL
Ganesh Kamath
 

Similaire à EVOLVE'14 | Enhance | Anshul Chhabra & Akhil Aggrawal | Cisco - AEM High Availability (20)

20171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v0120171122 aws usergrp_coretech-spn-cicd-aws-v01
20171122 aws usergrp_coretech-spn-cicd-aws-v01
 
Kube con china_2019_7 missing factors for your production-quality 12-factor apps
Kube con china_2019_7 missing factors for your production-quality 12-factor appsKube con china_2019_7 missing factors for your production-quality 12-factor apps
Kube con china_2019_7 missing factors for your production-quality 12-factor apps
 
GE Predix 新手入门 赵锴 物联网_IoT
GE Predix 新手入门 赵锴 物联网_IoTGE Predix 新手入门 赵锴 物联网_IoT
GE Predix 新手入门 赵锴 物联网_IoT
 
Java Development on Bluemix
Java Development on BluemixJava Development on Bluemix
Java Development on Bluemix
 
Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...
Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...
Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...
 
Ignite 2017 - Windows Server Feature Release
Ignite 2017 - Windows Server Feature ReleaseIgnite 2017 - Windows Server Feature Release
Ignite 2017 - Windows Server Feature Release
 
Web Application Development using PHP and MySQL
Web Application Development using PHP and MySQLWeb Application Development using PHP and MySQL
Web Application Development using PHP and MySQL
 
Docker and Cloud - Enables for DevOps - by ACA-IT
Docker and Cloud - Enables for DevOps - by ACA-ITDocker and Cloud - Enables for DevOps - by ACA-IT
Docker and Cloud - Enables for DevOps - by ACA-IT
 
'DOCKER' & CLOUD: ENABLERS For DEVOPS
'DOCKER' & CLOUD:  ENABLERS For DEVOPS'DOCKER' & CLOUD:  ENABLERS For DEVOPS
'DOCKER' & CLOUD: ENABLERS For DEVOPS
 
App fabric introduction
App fabric introductionApp fabric introduction
App fabric introduction
 
DEVNET-1121 Customizing Cisco Video Access for Guests
DEVNET-1121	Customizing Cisco Video Access for GuestsDEVNET-1121	Customizing Cisco Video Access for Guests
DEVNET-1121 Customizing Cisco Video Access for Guests
 
Faster, more Secure Application Modernization and Replatforming with PKS - Ku...
Faster, more Secure Application Modernization and Replatforming with PKS - Ku...Faster, more Secure Application Modernization and Replatforming with PKS - Ku...
Faster, more Secure Application Modernization and Replatforming with PKS - Ku...
 
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
 
Azure Nights August2017
Azure Nights August2017Azure Nights August2017
Azure Nights August2017
 
IBM WebSphere Liberty and Docker Deep Dive
IBM WebSphere Liberty and Docker Deep DiveIBM WebSphere Liberty and Docker Deep Dive
IBM WebSphere Liberty and Docker Deep Dive
 
The twelve factor app
The twelve factor appThe twelve factor app
The twelve factor app
 
Migrate a on-prem platform to the public cloud with Java - SpringBoot and PCF
Migrate a on-prem platform to the public cloud with Java - SpringBoot and PCFMigrate a on-prem platform to the public cloud with Java - SpringBoot and PCF
Migrate a on-prem platform to the public cloud with Java - SpringBoot and PCF
 
12-Factor Apps
12-Factor Apps12-Factor Apps
12-Factor Apps
 
MongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the Cloud
MongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the CloudMongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the Cloud
MongoDB World 2018: MongoDB and Cloud Foundry – A Match Made for the Cloud
 
Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...
 Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e... Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...
Cloud-Native .Net des applications containerisées .Net sur Linux, Windows e...
 

Plus de Evolve The Adobe Digital Marketing Community

Plus de Evolve The Adobe Digital Marketing Community (20)

Evolve 19 | Sarah Xu & Kanika Gera | Adobe I/O - Why You Need it to Execute o...
Evolve 19 | Sarah Xu & Kanika Gera | Adobe I/O - Why You Need it to Execute o...Evolve 19 | Sarah Xu & Kanika Gera | Adobe I/O - Why You Need it to Execute o...
Evolve 19 | Sarah Xu & Kanika Gera | Adobe I/O - Why You Need it to Execute o...
 
Evolve 19 | Upen Manickam & Amanda Gray | Adventures in SPA with AEM 6.5
Evolve 19 | Upen Manickam & Amanda Gray | Adventures in SPA with AEM 6.5Evolve 19 | Upen Manickam & Amanda Gray | Adventures in SPA with AEM 6.5
Evolve 19 | Upen Manickam & Amanda Gray | Adventures in SPA with AEM 6.5
 
Evolve 19 | Ameeth Palla | Adobe Asset Link - Use Cases and Pitfalls to Avoid
Evolve 19 | Ameeth Palla | Adobe Asset Link - Use Cases and Pitfalls to AvoidEvolve 19 | Ameeth Palla | Adobe Asset Link - Use Cases and Pitfalls to Avoid
Evolve 19 | Ameeth Palla | Adobe Asset Link - Use Cases and Pitfalls to Avoid
 
Evolve 19 | Giancarlo Berner | JECIS 2 - The Beginning of a New Era in Buildi...
Evolve 19 | Giancarlo Berner | JECIS 2 - The Beginning of a New Era in Buildi...Evolve 19 | Giancarlo Berner | JECIS 2 - The Beginning of a New Era in Buildi...
Evolve 19 | Giancarlo Berner | JECIS 2 - The Beginning of a New Era in Buildi...
 
Evolve 19 | Paul Legan & Kristin Jones | Anatomy of a Solid AEM Implementatio...
Evolve 19 | Paul Legan & Kristin Jones | Anatomy of a Solid AEM Implementatio...Evolve 19 | Paul Legan & Kristin Jones | Anatomy of a Solid AEM Implementatio...
Evolve 19 | Paul Legan & Kristin Jones | Anatomy of a Solid AEM Implementatio...
 
Evolve 19 | Rabiah Coon & Rebecca Blaha | Rockstar Kickoffs for AEM Projects
Evolve 19 | Rabiah Coon & Rebecca Blaha | Rockstar Kickoffs for AEM ProjectsEvolve 19 | Rabiah Coon & Rebecca Blaha | Rockstar Kickoffs for AEM Projects
Evolve 19 | Rabiah Coon & Rebecca Blaha | Rockstar Kickoffs for AEM Projects
 
Evolve19 | Nick Panagopoulos | World Focus: Translation Tips and Trends
Evolve19 | Nick Panagopoulos | World Focus: Translation Tips and TrendsEvolve19 | Nick Panagopoulos | World Focus: Translation Tips and Trends
Evolve19 | Nick Panagopoulos | World Focus: Translation Tips and Trends
 
Evolve 19 | Rabiah Coon, Sabrina Schmidt & Noah Linge | Industry Focus | Furn...
Evolve 19 | Rabiah Coon, Sabrina Schmidt & Noah Linge | Industry Focus | Furn...Evolve 19 | Rabiah Coon, Sabrina Schmidt & Noah Linge | Industry Focus | Furn...
Evolve 19 | Rabiah Coon, Sabrina Schmidt & Noah Linge | Industry Focus | Furn...
 
Evolve 19 | Carl Madaffari | Best Practices | From Customer Data to Customer ...
Evolve 19 | Carl Madaffari | Best Practices | From Customer Data to Customer ...Evolve 19 | Carl Madaffari | Best Practices | From Customer Data to Customer ...
Evolve 19 | Carl Madaffari | Best Practices | From Customer Data to Customer ...
 
Evolve 19 | Kevin Campton & Sharat Radhakrishnan | Industry Focus | Autodesk ...
Evolve 19 | Kevin Campton & Sharat Radhakrishnan | Industry Focus | Autodesk ...Evolve 19 | Kevin Campton & Sharat Radhakrishnan | Industry Focus | Autodesk ...
Evolve 19 | Kevin Campton & Sharat Radhakrishnan | Industry Focus | Autodesk ...
 
Evolve 19 | Gina Petruccelli | Let’s Dig Into Requirements
Evolve 19 | Gina Petruccelli | Let’s Dig Into RequirementsEvolve 19 | Gina Petruccelli | Let’s Dig Into Requirements
Evolve 19 | Gina Petruccelli | Let’s Dig Into Requirements
 
Evolve 19 | Dave Fox | Retaining Niche Talent in a Highly Competitive Environ...
Evolve 19 | Dave Fox | Retaining Niche Talent in a Highly Competitive Environ...Evolve 19 | Dave Fox | Retaining Niche Talent in a Highly Competitive Environ...
Evolve 19 | Dave Fox | Retaining Niche Talent in a Highly Competitive Environ...
 
Evolve 19 | Paul Legan | Going Beyond Metadata: Extracting Meaningful Informa...
Evolve 19 | Paul Legan | Going Beyond Metadata: Extracting Meaningful Informa...Evolve 19 | Paul Legan | Going Beyond Metadata: Extracting Meaningful Informa...
Evolve 19 | Paul Legan | Going Beyond Metadata: Extracting Meaningful Informa...
 
Evolve19 | Giancarlo Berner & Brett Butterfield | AI & Adobe Sensei
Evolve19 | Giancarlo Berner & Brett Butterfield | AI & Adobe SenseiEvolve19 | Giancarlo Berner & Brett Butterfield | AI & Adobe Sensei
Evolve19 | Giancarlo Berner & Brett Butterfield | AI & Adobe Sensei
 
Evolve 19 | Gordon Pike | Prepping for Tomorrow - Creating a Flexible AEM Arc...
Evolve 19 | Gordon Pike | Prepping for Tomorrow - Creating a Flexible AEM Arc...Evolve 19 | Gordon Pike | Prepping for Tomorrow - Creating a Flexible AEM Arc...
Evolve 19 | Gordon Pike | Prepping for Tomorrow - Creating a Flexible AEM Arc...
 
Evolve 19 | Jayan Kandathil | Running AEM Workloads on Microsoft Azure
Evolve 19 | Jayan Kandathil | Running AEM Workloads on Microsoft AzureEvolve 19 | Jayan Kandathil | Running AEM Workloads on Microsoft Azure
Evolve 19 | Jayan Kandathil | Running AEM Workloads on Microsoft Azure
 
Evolve 19 | Amol Anand & Daniel Gordon | Author in AEM Once - Deliver Everywhere
Evolve 19 | Amol Anand & Daniel Gordon | Author in AEM Once - Deliver EverywhereEvolve 19 | Amol Anand & Daniel Gordon | Author in AEM Once - Deliver Everywhere
Evolve 19 | Amol Anand & Daniel Gordon | Author in AEM Once - Deliver Everywhere
 
Evolve 19 | Benjie Wheeler | Intro to Adobe Experience Manager 6.5
Evolve 19 | Benjie Wheeler | Intro to Adobe Experience Manager 6.5Evolve 19 | Benjie Wheeler | Intro to Adobe Experience Manager 6.5
Evolve 19 | Benjie Wheeler | Intro to Adobe Experience Manager 6.5
 
Evolve 19 | Bruce Swann | Adobe Campaign - Capabilities, Roadmap, and Fit wit...
Evolve 19 | Bruce Swann | Adobe Campaign - Capabilities, Roadmap, and Fit wit...Evolve 19 | Bruce Swann | Adobe Campaign - Capabilities, Roadmap, and Fit wit...
Evolve 19 | Bruce Swann | Adobe Campaign - Capabilities, Roadmap, and Fit wit...
 
Evolve 19 | Pete Hoback & Francisco Fagalde | AEM QA, UAT, & Go Live
Evolve 19 | Pete Hoback & Francisco Fagalde | AEM QA, UAT, & Go LiveEvolve 19 | Pete Hoback & Francisco Fagalde | AEM QA, UAT, & Go Live
Evolve 19 | Pete Hoback & Francisco Fagalde | AEM QA, UAT, & Go Live
 

Dernier

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Dernier (20)

Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

EVOLVE'14 | Enhance | Anshul Chhabra & Akhil Aggrawal | Cisco - AEM High Availability

  • 1. CISCO.COM CASE STUDY Extending Adobe AEM for High Availability, High Performance and High Scalability PRESENTED BY
  • 2. ABOUT US 2 • Akhil Aggrawal • Distinguish Engineer & Chief Architect Cisco.com • linkedin.com/in/akhilaggrawal • @akhil183 • Anshul Chhabra • Principal Architect, McAfee • Previously Architect, Cisco.com • linkedin.com/in/anshulchhabra • @Anshul2
  • 3. Cisco’s Digital Presence 355M visits to Cisco.com 11.5M social reach 112M organic search referrals 3.9M paid search click-throughs 3M social media mentions 40% 34% 71% 4% 10.7M mobile web visits 1.4M social referrers to Cisco.com 5.7M customer app downloads Q1FY14 – Q4FY14 2.5M video views on Cisco.com Web Social Media Mobile 7.5M video views on Cisco YouTube 47% Video [Date Range: Q1FY14 – Q4FY14]
  • 4. CISCO.COM WEB EXPERIENCE MANAGEMENT - (FEB24TH & 25TH) • Ave 1200 hits/sec @ Edge • 1.75m visitors • 41% to Cisco Datacenter • 28m hits @ Adobe AEM • 82m hits @ non-AEM (migration in fy15) • Contains ~800K files (.html, .jpg, .gif, .pdf, .mobi and more) [35% of overall cisco.com content] • ~1.5 TB Source: Enterprise Operation Intelligence (Splunk) & Akamai Control Panel & Enterprise Web Analytics
  • 5. EXPECTATIONS FROM AEM ARCHITECTURE • Always on / Highly Available • Amazing Global Performance • Scalable to support cisco.com traffic/volume CISCO SPECIFIC REQUIREMENTS • Cisco Visibility Needs (Entitlement) • Personalization/Targetting • Localization 40 languages, 85 countries • Auto Generation of product pages as part of New Product Introduction Process • Content Rendition via CTS : Frame à html|pdf, wordà html|pdf
  • 7. WEM PHYSICAL ARCHITECTURE (PUBLISH) Cisco DC1 Cisco DC2 Active- Active Multiple Datacenter (Cisco MVDC) Architecture
  • 8. WEM PHYSICAL ARCHITECTURE (AUTHOR) § Single data center presence § No Clustering § ISSUE - Can not be distributed geographically/DC Cisco RCDN Datacenter
  • 9. 9 HA AND FAULT TOLERANT
  • 10. HA PROBING MODEL § Web level probes stay at Web level § Web won’t go down due to app failure § Site Selection at Web and App Level DC1 Webserver Cisco ACE LB DC2 Webserver Cisco ACE LB DC1 AppServer Cisco ACE LB DC2 AppServer Cisco ACE LB
  • 11. COMPLETE AEM APP FAILURE SCENARIO § All App Servers Down § Web still up § Serves cached content § Independent Alerting via Enterprise Monitoring DC1 Webserver Cisco ACE LB DC2 Webserver Cisco ACE LB DC1 AppServer Cisco ACE LB DC2 AppServer Cisco ACE LB
  • 12. 12 CACHE IS KING!! Dispatcher as Billboard – Proactive Caching Akamai Entitlement Caching Impact Analysis
  • 13. CACHING IN WEM Web • Page load : 2-5 s • Max request time within DC: 500ms Akamai Client Web CQ Publish Server ACE Leverage Apache to Stream content (via Adobe dispatcher) App level caching of High compute objects (ehCache) Assets + all content caching – guest, customer, etc (flexible cache ID) Dispatcher
  • 14. WEM Caching Caching Layers BROWSER: USER CLIENT CACHING. ASSETS ARE CACHED WITH MAX-AGE= 8H. PAGES/DOCUMENTS ARE CACHED WITH ETAG AND MAX-AGE=0. AKAMAI: CDN. EDGE CACHING. GEO DISTRIBUTED. PROVIDES FLEXIBLE CACHE ID BY WHICH MULTIPLE VERSIONS OF AN URL/PAGE CACHEABLE. APACHE: SERVES THE FILES CACHED BY DISPATCHER WITH ETAG. REWRITES INCOMING REQUESTS SUCH THAT THE URL ENCODES VERSION OF THE PAGE AND DISPATCHER SEES DIFFERENT URL FOR DIFFERENT VERSIONS OF A PAGE. DISPATCHER: AN APACHE MODULE THAT STORES CQ RESPONSES IN A FILE UNDER APACHE DOCUMENTROOT. THE FILE IS A REPRESENTATION OF THE URL. CQ: RUNTIME PAGE ASSEMBLY. DATA OF HIGH COMPUTATIONS ARE CACHED IN IN-MEMORY CACHE FOR FAST ACCESS. URL IS RESOLVED INTO CQ NODE WHICH HAS PROPERTIES, TAGS INCLUDING CONCEPTS, DOCTYPE Browser Akamai Apache/Dispatcher CQ ehCache Sling
  • 15. END 2 END REQUEST FLOW & CACHING 15 With Caching comes complexity!!!
  • 16. INCREMENTAL REFRESH DESIGN With Proactive Caching comes added complexity!!! For each Page in Set P {i} Process User Activate Author CQ Publish CQ Publish Dispatc her Page(s) Replic ation Node replication events ActivationListener Start Impact Analysis CQ /var [P-cd] d=d.getParent() Is d Series Doctype or above? P-cd continue For each Node P-cd in List L-cd L-cd=getList of Nodes tagged to d+c no yes Stop Note: P-cd is pages tagged to concept c and doctype d that are impacted. This is minimal impacted pages. The URLs are stored in CQ under /var/ ia_impacted_pages Refresh Job {P-cd} interval=15min For each publish Node N{x=1..8} GET N:4503/Pi? refresh http://Nx:4503/Pi?refresh On Complete On replication Complete replication complete: All publish nodes received the activation For each Page in Set P{i} For each publish Web server VIP V{y=1,2} GET invalidate Pi http://Vy:80/dipatcher /invalidate.cache?CQ:Handle=Pi Query-Action Legend debug - debug info cachemode=refresh - remove app cache for page and rebuild page and populate the cache cachemode=nocache: build page without using app cache Impact Analysis c[],d Remove cached file Pi.*.html & Pi.html WEM Cache Refresh Scheme for Dispatcher and App WEM Pi Architecture Team Call /invalidateHandler Script GET V:80/Pi.html Store file Pi.hmtl Bill Board for anonymous users* is Tag(s) changed ? no Stop c[],d For activated Page P-cd, find Tags: Concepts c[] Doctype d Old Concepts oc[] Old Doctype od [previous active version] IA IA yes oc!=null?c=change(oc) od!=null?d=od note: change(oc) is concepts that changed IA current page 8 x i for each concept in c[] c[],d /var c,d /ia_impacted_pages p1 p2 p1 p3 CQ /var [P-cd] read max 1000 URLs in Set {P} ** Pi Logic for U: set property status=complete set time=currentTime move the node under /var/ia_history **Logic for computing Set {P}: url=nextNode() if ({P} has url) { set property status=dup set time=currentTime move the node under /var/ia_history } else put url in {P}
  • 17. 17 • CONTENT TRANSFORMATION • MULTI TENANCY
  • 18. SUPPORTED DOCUMENT TRANSFORMATIONS Source Format Target Format book (all file extensions that are members of book will be processed) flb pdf, epub, Mobi fm (including chapters) html, pdf , (epub, Mobi – only for non-chapters) doc, docx html, pdf eps, epsi, ps, svg, tiff jpg
  • 22. 1. No Shared Architecture 2. 100% Sharing of Architecture SEPARATE Adobe clusters Virtualized infrastructure SHARED Adobe Clusters Virtualized infrastructure Implementation Approach More Licenses (higher license cost) Better operational insulation More Scalable More autonomy/agility among tenants Less Licenses (lower license cost) Less operational insulation Less Scalable Less autonomy/agility among tenants IT Implication Stakeholder Impact Transparent Different approaches may be used depending on stakeholder needs and impact to existing platform Transparent
  • 23. AEM Platform MULTI TENANCY MODEL CQ Instance VM Component/Theme Code Component/Theme Code CQ Java Code Java Code Instance VM CQ Instance VM CQ Instance VM Tenant2 CQ Instance Tenant3 CQ Instance platform Framework (monitoring/instrumentation etc) VM VM • Why separate CQ Instance? • Independent User Store • Fault Isolation • platform Contract • Logical/Physical Architecture • CQ Upgrade • Product Roadmap • Platform framework • Tenant Contract • Manage Component deployment • Manage Java Code Deployment Tenant1