evolve'16 | enhance | anil kalbag & anshul chhabra | comparative architecture analysis of...
TRANSCRIPT
#evolverocks
COMPARATIVE ARCHITECTURE ANALYSIS OF LARGE SCALE AEM
INSTALLATIONSANIL KALBAGDISTINGUISHED ENGINEER, IT @ CISCOANSHUL CHHABRA DISTINGUISHED IT ARCHITECT @ SYMANTEC
8-30-2016
#evolverocks
SPEAKERS INTRODUCTIONAnshul ChhabraDistinguished IT ArchitectSymantecPreviouslyPrincipal Architect @ McAfeeIT Architect @ Cisco
twitter.com/anshul2
linkedin.com/in/anshulchhabra
Anil KalbagDistinguished Engineer, ITCisco.com
linkedin.com/in/anil-kalbag
twitter.com/akalbag
#evolverocks 3
TALK OUTLINE• Introduction – 5 mins• Case Study 1 – 10 mins• Case Study 2 – 10 mins• Analysis/Comparison – 15 mins• Q&A – 5 mins
#evolverocks 4
CASE STUDY OUTLINE• Basic Usage Data• Architecture Overview (specific decisions)• Multi-Tenancy & Migration Strategy
• Cloud Strategy• Globalization Strategy – approach• Other Customizations
• Integrations
#evolverocks
CASE STUDY NO 1
ANSHUL CHHABRA DISTINGUISHED IT ARCHITECT @ SYMANTEC
8-30-2016
6#evolverocks
SYMANTEC.COM BY THE NUMBERS Traffic
SizeVelocityGlobal
• 3.3 billion requests/month
• 150 million Page Views/month
• 40k No of Pages• 150G:Size of Repository
• 200/30: No of Authors (total/concurrent)
• 20 Countries• 12 Languages
7#evolverocks
LOGICAL (DECISIONSFRAMEWORK) ARCHITECTURE
Data Center 1
AEM Author PairDispatcherWebServer
Inte
rnal
Zon
e
Dispatcher WebServer
Cluster
AEM Publish Cluster
Data Center 2
Dispatcher WebServer
Cluster
AEM Publish Cluster
CDN
(Akamai)
AEM LicensesBase Decisions
Physical/Virtual/Cloud
OS(Linux/Windows)
Storage (SAN/NAS)Architecture Questions
Dispatcher @ Author
LB @ publishHA: DR, Multi-DCCaching
LogicalPreview
LifecycleTarMK, MongoMK
8#evolverocks
Decision Point OptionsVirtual/Physical All Virtuals | All Physicals | Hybrid |CloudOS Linux| WindowsStorage Attached | SAN | NASDispatcher@Author Yes | NoLB @ Publish Yes (n:n) | No (1:1)HA: DR, Multi-DC Single DC/Multi DC, DR:Yes| No,
CDN : Yes |NoCaching CDN, Custom Dispatcher Cache, Custom
App cachePreview Lifecycle Yes | No Author Scalability TarMK| MongoMK | Customized Solution
DECISION TABLE DEEP DIVE Ba
seAr
chite
ctur
al
Logi
cal
9#evolverocks
MULTI TENANCY CURRENT STATE
Web
Pr
oper
tyAE
M In
stan
ce
DAM-Instance
Pub
Atln SDL
Sym-Instance
Pub1
Web
Pub2
intrnt
Cust-Instance
Pub
UW VYGR
NS-Instance
N-Pub
NDC
P-Instance
N-Pub
N-P
WSP-Pub
WS
Dev-Pub
Dev
WS-Instance
WS-Pub3
WS-1
WS-Pub2
WS-2
WS-Pub-3
WS-3
AEM Instance
AEM Publish Instances
Web Properties/Applications
10#evolverocks
MULTI TENANCY CURRENT STATE
Web
Pr
oper
tyAE
M In
stan
ce
DAM-Instance
Pub
Atln SDL
Sym-Instance
Pub1
Web
Pub2
intrnt
Cust-Instance
Pub
UW VYGR
NS-Instance
N-Pub
NDC
P-Instance
N-Pub
N-P
WSP-Pub
WS
Dev-Pub
Dev
WS-Instance
WS-Pub3
WS-1
WS-Pub2
WS-2
WS-Pub-3
WS-3
Inst
ance
Inst
ance
Inst
ance
Inst
ance
Inst
ance
Inst
ance
11#evolverocks
TARGET STATE : INSTANCE GOVERNANCEAkam
ai – Caching/Acceleration
Authors
AEM Author Pair
AEM Publish Farm – Data center 1
AEM Publish Farm – Data center 2
Visitors
Request Flow
Akamai – Caching/Acceleration
Authors
AEM Author Pair
AEM Publish Farm – Data center 1
AEM Publish Farm – Data center 2
Visitors
Request Flow
Akamai – Caching/Acceleration
Authors
AEM Author Pair
AEM Publish Farm – Data center 1
AEM Publish Farm – Data center 2
Visitors
Request Flow
• Finite number of Instances – with Governance• New instance should be created only when:
– Independent branding and experience – Independent Dev teams and stakeholders – with
totally different integrations – Totally different operational SLAs required– Example Symantec/Norton
12#evolverocks
MIGRATION STRATEGY
• Technologies before AEM: Teamsite, Drupal• AEM adopted three years ago• Major web presence on AEM
– Long tail of migrations continue to this day• Two options for migrations
– Assisted Migrations (scripted, automated)– User driven (new platform for new content + retire older content)
13#evolverocks
GLOBALIZATION• 2 Level Structure
• EN is master
• Language (eg French) – followed by Locale
• Content Translation with SDL World Server
• Custom Integration
Live Copy
EnglishMaster
en-au
en-sg en-uk en-in
en-ca
PortugeseMaster
pt-pt
pt-br
SpanishMaster
es-es
es-br
FrenchMaster
fr-fr
fr-ca
ChineseMaster
ch-cn
ch-tw
ch-hk
2 3
1
en-us
Custom Impl
14#evolverocks
Decision OptionsCountry Site Content All pages | Selective PagesDomain Single Domain | Country Specific DomainsContent Structure Englishlanguagelocale) |
EnglishLocale) |CustomPropagation Mechanism Multi Site Manager |Language Copy | otherIntegration Mechanism 3rd Party (ClayTablet)| Connector | CustomTranslation Manual| Automated | Hybrid(MTPE)Source Blueprint | Existing branch or PageRollout Configuration Manual | Auto
GLOBALIZATION• Decisions Deep Dive
#evolverocks
CASE STUDY NO 2
ANIL KALBAG DISTINGUISHED ENGINEER, IT @ CISCO
8-30-2016
16#evolverocks
CISCO.COM –FRONT DOOR TO CISCO’S BUSINESS
375 Million
MONTHLY PAGE VIEWS
17MANNUAL SEARCHES
1+ MillionDIGITAL ASSETS
15 MillionMONTHLY VISITORS
99.99% UPTIME 70 LOCALES 650K+ PAGES
Marketing Sales Support Employees
Every visit is an opportunity to market, sell, and support our customers and engage employees.
17#evolverocks
DC2 DRDC1
DM
ZIn
tern
al N
etP
rote
cted
Net
8 core X 32G AEM 6.04TB NAS for datastore/host 1TB SAN for segmentstore
8 core X 32G AEM 6.04TB NAS for datastore/host 1TB SAN for segmentstore
8 core X 32G AEM 6.04TB NAS for datastore1TB SAN for segmentstore
8 core X 32G AEM 6.04TB SAN for datastore1TB SAN for segmentstore
6 core X 32G Apache 2.2 4TB NAS for shared htdocs
6 core X 32G Apache 2.2 4TB NAS for shared htdocs
6 core X 32G Apache 2.2 4TB NAS for shared htdocs
lb3lb2lb1
dc1.cisco.com dc2.cisco.com dr.cisco.com
lb1 lb2 lb3
DEPLOYMENT ARCHITECTURECisco.com Deployment
author.cisco.com Internal GSS/DNS
RCDN
lb
2 core X 16G Apache 2.2 2TB NAS for shared htdocs
content replication to all DC
www.cisco.comExternal GSS/DNS
Three Availability Zones; Two Regions
Active-Active with DR
Load Balancers at Web & App Tiers
Identical Publish Instances
CDN
Multiple Levels of Caching
Sharding of Author Instances
18#evolverocks 18
Decision Point Options
Virtual/Physical All Virtuals | All Physicals | ✓Hybrid |CloudOS ✓Linux | WindowsStorage Attached |✓SAN|✓ NASDispatcher@Author ✓Yes | NoLB @ Publish ✓Yes (n:n) | No (1:1)HA: DR, Multi-DC Single DC/✓Multi DC, DR:✓Yes|No, CDN : ✓Yes|No
Caching ✓CDN, ✓Custom Dispatcher Cache, ✓Custom App cache
Preview Lifecycle Yes | ✓NoMicoKernel ✓TarMK | MongoMK | Custom Backup/Synch
Base
Arch
itect
ura
lLo
gica
lARCHITECTUREDECISIONS DEEP DIVE
19#evolverocks
MIGRATION – LEGACY TO AEMBusiness participation is critical
Deciding what to migrate and when• SEO metric
Lift-n-shift vs. Transformation
Combination of automated and manual activities
Optimization Preprocessing Creation Verification Activation
2.7 millionsassets
281site areas
1framework
20#evolverocks
MULTI-TENANCYRealms and Microsites – Set of technologies, business process, conventions and best practices that enable and streamline multi-tenancy on a single digital platform
Criteria• One or more page meant to function as
separate entity within cisco.com• Targeting a specific audience• Not part of Cisco.com top level navigation• Separate permissions for authoring• Library of templates and components to
choose from
Digital Check-In Process
Benefits
Performance, CMS, Video, Security, etc.
GlobalReady
SearchOptimized
Mobile 5-starExperience
CostEffective
IntegratedMetrics
21#evolverocks
GLOBALIZATION• Country Site Strategy
• Created using AEM Multi Site Manager
• Content Translation
• Assets for global sites
Live Copy
INTL EnglishMaster
en-au
en-sg en-uk
en-in en-ca
en-nz ja-jp
th-th
vi-vn
en-us
PortugeseMaster
pt-pt
pt-br
SpanishMaster
es-ar
es-co
es-cr
FrenchMaster
fr-fr
fr-ca
fr-ch
ChineseMaster
ch-cn
ch-tw
ch-hk
1 2 3
22#evolverocks
GLOBALIZATIONDECISIONS DEEP DIVE
Decision OptionsCountry Site Content All pages | ✓ Selective PagesDomain ✓ Single Domain | Country Specific DomainsContent Structure ✓ Englishlanguagelocale) |
EnglishLocale) |CustomPropagation Mechanism ✓ Multi Site Manager |Language Copy | otherIntegration Mechanism 3rd Party | Connector | ✓ CustomTranslation ✓Manual| ✓Automated | ✓Hybrid(MTPE)Source ✓Blueprint | Existing branch or PageRollout Configuration ✓ Manual | ✓Auto
23#evolverocks
DYNAMIC PAGESListing pages dynamically generated
Query based on Concept & Doctype
Reduces workload for Authors
Changes in product hierarchy immediately reflected on website
Impacts Sharding of Author Instances
24#evolverocks
AEM IN THE CLOUD
Web Servers and AEM Publish instances running in private Cloud
AEM on Application Centric Infrastructure (ACI) enabled private cloud• Reduce TCO• Automate IT tasks• Accelerate deployments
#evolverocks
COMPARATIVE ANALYSIS
ANSHUL CHHABRA & ANIL KALBAG
8-30-2016
#evolverocks 26
Decision Point OptionsVirtual/Physical All Virtuals| All Physicals | ✓Hybrid|CloudOS ✓Linux | WindowsStorage Attached |SAN| NASDispatcher@Author ✓Yes | NoLB @ Publish ✓Yes (n:n) | No (1:1)HA: DR, Multi-DC Single DC/ ✓Multi DC, DR: ✓Yes|No,
CDN : ✓Yes|NoCaching ✓CDN, ✓Custom Dispatcher Cache,
✓Custom App cachePreview Lifecycle Yes | ✓NoMicoKernel ✓TarMK | MongoMK | Custom Backup/Synch
ARCHITECTURE DECISION TABLE DEEP DIVE
Base
Arch
itect
ura
lLo
gica
l
Scalability: Physicals with attached storage frequently preferred
for AuthorLinux – more prevalent
choice.Author: Attached/SANPublish: SAN/NASPerformance & Author
concurrency.Maximize Resiliency Vs Increase cache
clearing complexityMost companies use all three
Dynamic Pages, cacheability.External preview
capabilityAuthor Scalability.
#evolverocks
27
WHY MULTI TENANCYLeverage
Architecture
•Caching•High Availability•Best Practices for maintenance/monitoring
•Product Upgrades/Patches
Leverage Expertise
•Cross utilization of AEM expertise across projects
•Reduce intra-company competition for resources in marketplace
•Retain good resources by giving them varied challenges
Leverage Adobe
•Coordinated engagement• Influence Product Roadmap•Maximise ROI•Get our patches prioritized
Adobe is a leader in Web Content Mgmt Space
28#evolverocks
MULTI TENANCY COMPARISON
Akamai – Caching/Acceleration
Authors
AEM Author Pair
AEM Publish Farm – Data center 1
AEM Publish Farm – Data center 2
Visitors
Request Flow
Akamai – Caching/Acceleration
Authors
AEM Author Pair
AEM Publish Farm – Data center 1
AEM Publish Farm – Data center 2
Visitors
Request Flow
Akamai – Caching/Acceleration
Authors
AEM Author Pair
AEM Publish Farm – Data center 1
AEM Publish Farm – Data center 2
Visitors
Request Flow
Akamai – Caching/Acceleration
Authors
AEM Author Pair
AEM Publish Farm – Data center 1
AEM Publish Farm – Data center 2
Visitors
Request Flow
Separate instanceFor every team
One Uber instanceShared by all
Maximize Re-use
Maximize Tactical Agility & Isolation
AEM as a Service
• Templates and Components reused• All integrations are taken care of
SaaS
• AEM Container upgrades/maintenance/patches are provided• Framework/Architecture elements reused
PaaS
• Only Infrastructure (not AEM specific)
IaaS
Copyright © 2014 Symantec Corporation29
Recommended
30#evolverocks
AEM ARCHITECTURE ANTI PATTERNS• Over Customization • Everything is a nail – when AEM is the hammer
• AEM as a Façade • AEM as THE Application Engine
• Taking every “sold” feature on its face value• AEM – Target integration
• Continuing to use AEM classic UI over touch• Not planning for continued investment in AEM (and other Adobe)
Products & resources• Includes investment in a tight well organized team• Investment of time in building a good relationship in Adobe & community
31#evolverocks
AEM IN THE CLOUD• Most installations so far are on prem – or not completely cloud
native.• Future – looks different – more and more push to Cloud.• Multiple options going forward
• AEM Managed Services (AWS MarketPlace)• Azure Virtual Machine (BYOL) – on windows• Rackspace – complete with full suggested deployment architectures
• Need Adobe Product to evolve more also:• More Cloud Native offerings• Support for MicroServices & Continuous Integration& Delivery• Better Support for Multi Tenancy in same instance
32#evolverocks
WISHLIST FROM ADOBE• Improved Integrations – eg: Target, Segments (Audience Mgr),
eCommerce• Better Support and penetration in Cloud
• More Cloud Native offerings• Support for MicroServices & Continuous Integration& Delivery• Better Support for Multi Tenancy in same instance
• More robust and scalable repository • Improved support for Active Passive Mode, Backups, Maintenance
activities• Improved content transfer capability from Prod to Non-Prod
#evolverocks
THANK YOU!