adobe experience manager: top 5 common pitfalls to avoid · 2020-06-19 · © 2018 adobe systems...

Post on 24-Jul-2020

4 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Adobe Experience Manager: Top 5 Common Pitfalls to avoid

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Speakers

2

Chadwick ChengLead Technical Support Consultant -AEM

Aswinkumar LoganathanAEM Cloud Engineer

Zoran NikolovskiAEM Cloud Engineer

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Guest Speaker

3

Richard MouldingeCommerce Practice Manager

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Adobe Experience Cloud

4

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Customer Challenges

5

Maintenance Architecture Configuration

Tuning Upgrade Performance Testing

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Agenda

Tuning Maintenance Performance Security Upgrade Customer Story

6

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

TuningZoran Nikolovski

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Apache Oak – Node Storage

8

JCR / Oak API

Oak Core

Node StorageDatabase / Persistence

API

Two Node Store OptionsSegment - Tar Document - MongoDB

AEM AEM 1 AEM 2

MongoDBPrimary

MongoDBSecondary

reads /writes

reads / writes

Tar

Segment

MongoDBSecondary

Document

ApacheOak

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Optimize AEM Architecture – Maximize Performance

Key Points to consider: External Datastore (File/S3/Azure)

SegmentMK (TarMK) : for Performance DocumentMK (MongoMK) : for High Availability/Horizontal Scalability

For more information:https://docs.adobe.com/docs/en/aem/6-3/deploy/platform/data-store-config.htmlhttps://helpx.adobe.com/experience-manager/6-3/sites/deploying/using/recommended-deploys.html

9

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Tuning your OAK repository

Create custom indexes for frequently used search queries set includedPaths to restrict the index to only certain content paths

Prevent expansive queries from overloading the system. -Doak.queryLimitInMemory=500000

-Doak.queryLimitReads=100000

-Dupdate.limit=250000 (only for DocumentNodeStore, eg. MongoMK, RDBMK)

For more information:

http://jackrabbit.apache.org/oak/docs/query/query.html#Slow_Queries_and_Read_Limitshttp://aemfaq.blogspot.com/2014/08/oak-query-log-file-analyzer-tool.htmlhttp://docs.adobe.com/docs/en/aem/6-0/deploy/upgrade/queries-and-indexing.html#Configuring%20the%20indexes

10

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

AEM Assets Optimization

Key points to consider: Replication Binary-less Replication – Large Asset Implementations

Workflows Transient Workflows

'or' Offloading

Network & Storage NodeStore on High Performance SSD

For more information:https://helpx.adobe.com/experience-manager/6-3/assets/using/performance-tuning-guidelines.htmlhttps://helpx.adobe.com/experience-manager/6-3/assets/using/best-practices-for-assets.html

11

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Optimize Assets Replication

Binary-less replication – save storage space and improve performance

12

AuthorInstance Publish

Instances

DataStore(File/S3/Azure)

Replicationof nodes, excluding

binary files

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Optimize Asset Workflows

Configure Granite Workflow Queue Reduce max retries - 3 Set max parallel jobs – ½ # of CPU cores

Disable features that aren’t required Binary Text extraction Sub-asset generation Metadata writeback

Enable Transient Workflows Or Offload Asset Workflows to another AEM instance

Official documentationhttps://docs.adobe.com/docs/en/aem/6-3/administer/content/assets/best-practices-for-assets/performance-tuning-guidelines.html

13

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Optimize Network and Storage for Assets

Tar/MongoDB - High performance SSD storage Store the index cache on a separate drive Configure java temp folder – RAM drive Allocate sufficient network bandwidth – MongoDB Use https for transfer – avoid slowdown due to firewalls

14

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

New Asset Workflow Processes

Adobe’s Image Transcoding Library Core Image handling functions (Encoding , Transcoding , Image resizing , etc) Advantages over other 3rd party libs (performance, scalability and quality)

PDF Rasterizer Accurate Output Selective & Quality thumbnails Faster processing - Less memory usage

Both supported in AEM 6.3 and 6.4 Both compatible with Offloading and Transient Workflow

For more information:https://helpx.adobe.com/experience-manager/6-3/assets/using/imaging-transcoding-library.htmlhttps://helpx.adobe.com/experience-manager/6-3/assets/using/aem-pdf-rasterizer.html

15

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Maintenance

Chadwick Cheng

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

AEM Maintenance

For more information:https://helpx.adobe.com/experience-manager/kb/AEM6-Maintenance-Guide.html

17

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

AEM 6.4 Maintenance

18

Enhanced logging Version purge and Audit purge stop at end of maintenance window

*ERROR* [FelixStartLevel] org.apache.jackrabbit.oak.plugins.segment.SegmentTrackerSegment not found: cbc28630-4ea0-4372-a7f1-8fcd10c57572. Creation date delta is 3 ms.org.apache.jackrabbit.oak.plugins.segment.SegmentNotFoundException: Segment cbc28630-4ea0-4372-a7f1-8fcd10c57572 not foundat org.apache.jackrabbit.oak.plugins.segment.file.FileStore.readSegment(FileStore.java:1294)at org.apache.jackrabbit.oak.plugins.segment.SegmentTracker.readSegment(SegmentTracker.java:242)

Looks Familiar ?

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Performance

Chadwick Cheng

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Performance: Implementation

21

Site Performance API calls to be handled client side Make external service calls fault tolerant Set timeouts Cache Exponential back-off algorithm

Optimize client-side performance CSS in html <head> JS in end of <body> Minify and GZip client libraries

Cache JS and CSS

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Performance: Implementation

22

Author Instance Performance Reduce the total components per page Avoid nesting paragraph systems

For more information:http://helpx.adobe.com/experience-manager/kb/optimize-aem-site-performance.html

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Performance: Caching

23

Browser CDN AEMDispatcher

AEM

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Performance: Caching

24

Browser CDN AEMDispatcher

AEM

Send me /content/test.htmlGET /content/test.html HTTP/1.1

Here’s /content/test.html, cache it for 5 minutes.

200 OKCache-Control: max-age=300Last-Modified: Wed, 21 Mar 2018 06:00:00 GMT…

Has the file been modified?If-Modified-Since: Wed, 21 Mar 2018 06:00:00 GMT

No.304 Not Modified

• HTTP response headers:Cache-Control: max-age=300Last-Modified: Wed, 21 Mar 2018 06:00:00 GMT

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Performance: Caching

25

Browser CDN AEMDispatcher

AEM

• Same HTTP Headers as browser• Use a CDN that supports stale-while-revalidate and stale-if-error• GZip compress everything except pre-compressed file formats

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Performance: Caching

26

Browser CDN AEMDispatcher

AEM

• Leverage Cache-Control header & disable flush agents• Leverage re-fetching dispatcher flush

For more information:https://helpx.adobe.com/experience-manager/kb/optimizing-the-dispatcher-cache.html

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Performance: Caching

27

Browser CDN AEMDispatcher

AEM

• Send headers:Cache-Control: max-age=300Last-Modified: Wed, 21 Mar 2018 06:00:00 GMT

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Indexing in AEM

Define indexes for custom queries Use Oak lucene property indexes Be specific avoid rules that index everything e.g. nt:base nodetype

For more information:https://docs.adobe.com/docs/en/aem/6-3/deploy/platform/queries-and-indexing.htmlhttps://helpx.adobe.com/experience-manager/6-3/sites/developing/using/troubleshooting-slow-queries.htmlhttps://docs.adobe.com/ddc/en/gems/oak-lucene-indexes.html

28

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

SecurityChadwick Cheng

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

User / Group Permissions

Do not grant admin access to everyone Never modify out-of-the-box group or user permissions Instead add groups as members of out-of-the-box groups Define permissions against groups, not users Leverage rep:glob type ACLs to allow multi-tenancy

For more information:https://helpx.adobe.com/experience-manager/kb/how-to-leverage-rep-glob-aces-to-manage-permissions-on-multi-ten0.htmlhttps://helpx.adobe.com/experience-manager/6-3/sites/administering/using/security.html

30

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Service Users

Use in application code instead of “admin” session Define ACLs directly for the service user

Leverage ACS Commons “Ensure Service User”

For more information:https://adobe-consulting-services.github.io/acs-aem-commons/features/ensure-service-users/index.htmlhttps://helpx.adobe.com/experience-manager/6-3/sites/administering/using/security-service-users.html

31

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

User Administration

6.3 Enhancements Closed User Group feature modified

6.4 Enhancements Assets UI - Closed User Groups support (6.3 SP1 CFP2)

New user properties UI

For more information:

https://helpx.adobe.com/experience-manager/6-3/sites/administering/using/closed-user-groups.html

32

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

UpgradeAswinkumar Loganathan

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Why upgrade?

Platform perspective Adds stability Helps scalability

ROI perspective New features

Helps reduce customizations

For more information:https://helpx.adobe.com/experience-manager/kt/platform-repository/using/upgrade-aem-article-understand.html

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Types of Release and Updates

Full Release Maintenance Releases Service Pack

Cumulative Fix Pack

Oak Cumulative Fix Pack

Hotfix

Feature Pack

Overlay

• Includes new features, improvements, bug fixes

• Yearly Release• Delivered as a standalone product installer• Ex: AEM 6.3, 6.4, etc.

• Includes improvements & bug fixes• Quarterly Release• Delivered as a package via package share• Ex: AEM 6.3.1.0, 6.4.1.0, etc.

• Includes all fixes through specific dates (CFP3 = CFP1 + CFP2) Available only for versions <= 6.3

• Monthly Release• Delivered as a package via package share• Ex: AEM 6.3.2.1, 6.3.2.2, etc.

• Similar to CFP• Contains only oak related fixes• Released as necessary

• Includes fixes for specific issue• Provided as necessary• Individual hotfixes publicly unavailable as

individual packages anymore• Grouped and delivered within CFP’s & SP’s

• Includes new features, improvements & bugfixes

• Features backported from next version• Released as necessary• Delivered as package via package share

• Includes bugfixes for javascript & jsp• Released as necessary• Delivered as package by AEM customer

care

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Types of Releases and Updates

Full Release Maintenance Releases Service Pack

Cumulative Fix Pack

Oak Cumulative Fix Pack

Hotfix

Feature Pack

Overlay

For more information:Release updates: https://helpx.adobe.com/experience-manager/aem-releases-updates.htmlRelease roadmap: https://helpx.adobe.com/experience-manager/maintenance-releases-roadmap.html

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

What do we upgrade?

AEM Software Custom Code Authoring User Interface

(if not already done)

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Upgrade Types

In-Place Upgrade Data Migration

38

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

In-Place Upgrade

Pros Preferred upgrade method Follow official documentation Simpler for large deployments Versions are retained by default

Cons Author instance downtime

For more information:https://helpx.adobe.com/experience-manager/6-3/sites/deploying/using/in-place-upgrade.html

39

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Data Migration

Pros Potentially avoid downtime Simple for small systems and lower environments

Cons Complex and time consuming for large systems Unofficial method – power users only Error prone

For more information:https://gist.github.com/andrewmkhoury/280c6d0ac1db03b57c58https://www.slideshare.net/TomaszRkawek/crx2oak-all-the-secrets-of-repository-migrationhttps://jackrabbit.apache.org/oak/docs/migration.html

40

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Code Upgrade

1. Install to fresh AEM version2. Disable /libs ui overlays under /apps3. Update maven dependencies – Uber jar version4. Upgrade ACS commons package5. Upgrade to core components6. Use unit tests7. Test and find broken API calls8. Fix the issues and retest

New in 6.4 - Pattern Detector Runs on older AEM version Detects potential 6.4 upgrade-breaking changes Generates a report

41

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Testing

Regression test all the hosted applications

Test the authoring functionality

Re-run load and stress tests

42

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Avoid surprises

Test upgrade on a copy of production Know your hardware and software maintenance schedules Know the related 3rd party application release schedules Always take Backups before upgrade Test and validate the backup and restore process end to end

Upgrade ACS Commons package to the right version Update the right configuration for versioned clientlibs

Update the right configuration for error pages

43

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Factors Contributing to Delay

Inadequate planning and preparation Low level of automation Lack of sufficient test environments Inadequate time for testing Low test coverage Low visibility on organizational procedures Lack of communication with stakeholders Lack of training

44

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Why TouchUI?

TouchUI has more features than ClassicUI All new features are being developed in TouchUI Most new features work only with TouchUI ClassicUI is going to be decommissioned

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Did you know?

Touch UI is not all about component dialogs A lot of touch UI features can be used OOB

(except those related to page editing) Classic dialog can be used within touch UI’s

page editor till touch dialogs are enabled Content is frequently updated using only

10% to 15% of the components More than 60% of the components are usually used

only in 1 or very few number of pages

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Recommendations for TouchUI transition

Enable touchUI as the default navigation UI for author

Create touch dialogs for page properties Prepare a component report to prioritize

the high value components Create touch dialogs for the components based

on priority in multiple smaller phases Do not approach touchUI transition as

one big project Develop all new components with Touch dialogs

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Need help with upgrade?

Business case Product capability showcase Implementation Training Quick questions

Reach out to your Adobe Customer Success Manager today

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Customer StoryRichard Moulding

eCommerce Practice ManagerSuncorp

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

Takeaways

Store large files in an External Datastore Tune configurations to suit your use case for optimal performance

Have a robust maintenance and system monitoring plan Try to upgrade to the latest version TEST comprehensively before moving to production

50

© 2018 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

What’s Next ?

Experience League https://landing.adobe.com/experience-league/

HelpXhttps://helpx.adobe.com/support/marketing-cloud.html

Adobe Customer Care Office Hours https://helpx.adobe.com/customer-care-office-hours.html

Come visit us at the Adobe HUB !

51

top related