adaptto() 2018 - upgrading an aem cluster using docker · florin iordache, adobe. agenda 2...

22
APACHE SLING & FRIENDS TECH MEETUP 10-12 SEPTEMBER 2018 Upgrading an AEM cluster using Docker Florin Iordache, Adobe

Upload: others

Post on 29-Jun-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: adaptTo() 2018 - Upgrading an AEM cluster using Docker · Florin Iordache, Adobe. Agenda 2 Challenges with AEM clusters Docker and AEM Cluster maintenance and OAK CNS AEM Upgrades

APACHE SLING & FRIENDS TECH MEETUP10-12 SEPTEMBER 2018

Upgrading an AEM cluster using DockerFlorin Iordache, Adobe

Page 2: adaptTo() 2018 - Upgrading an AEM cluster using Docker · Florin Iordache, Adobe. Agenda 2 Challenges with AEM clusters Docker and AEM Cluster maintenance and OAK CNS AEM Upgrades

Agenda

2

▪ Challenges with AEM clusters▪ Docker and AEM▪ Cluster maintenance and OAK CNS▪ AEM Upgrades in the cloud

Page 3: adaptTo() 2018 - Upgrading an AEM cluster using Docker · Florin Iordache, Adobe. Agenda 2 Challenges with AEM clusters Docker and AEM Cluster maintenance and OAK CNS AEM Upgrades

3

AEM cluster - challenges

Page 4: adaptTo() 2018 - Upgrading an AEM cluster using Docker · Florin Iordache, Adobe. Agenda 2 Challenges with AEM clusters Docker and AEM Cluster maintenance and OAK CNS AEM Upgrades

Challenges with AEM clusters

4

▪ Large, monolithic application▪ Whole repository is shared▪ Data integrity during upgrade difficult▪ Zero downtime (almost) impossible

Page 5: adaptTo() 2018 - Upgrading an AEM cluster using Docker · Florin Iordache, Adobe. Agenda 2 Challenges with AEM clusters Docker and AEM Cluster maintenance and OAK CNS AEM Upgrades

AEM Author cluster example

5

▪ External storage service▪ Same (shared) repository

Page 6: adaptTo() 2018 - Upgrading an AEM cluster using Docker · Florin Iordache, Adobe. Agenda 2 Challenges with AEM clusters Docker and AEM Cluster maintenance and OAK CNS AEM Upgrades

6

AEM and Docker

Page 7: adaptTo() 2018 - Upgrading an AEM cluster using Docker · Florin Iordache, Adobe. Agenda 2 Challenges with AEM clusters Docker and AEM Cluster maintenance and OAK CNS AEM Upgrades

AEM and Docker

7

▪ AEM in a Docker container▪ Cloud friendly▪ Faster development pipeline▪ Cont. deployment friendly

Page 8: adaptTo() 2018 - Upgrading an AEM cluster using Docker · Florin Iordache, Adobe. Agenda 2 Challenges with AEM clusters Docker and AEM Cluster maintenance and OAK CNS AEM Upgrades

AEM Docker Author cluster

8

Page 9: adaptTo() 2018 - Upgrading an AEM cluster using Docker · Florin Iordache, Adobe. Agenda 2 Challenges with AEM clusters Docker and AEM Cluster maintenance and OAK CNS AEM Upgrades

AEM Docker Author cluster - details

9

▪ Still using an external storage system▪ Repository using CNS

▪ Local private: /libs,/apps▪ External shared: everything else

▪ Some restrictions apply to the local repo

Page 10: adaptTo() 2018 - Upgrading an AEM cluster using Docker · Florin Iordache, Adobe. Agenda 2 Challenges with AEM clusters Docker and AEM Cluster maintenance and OAK CNS AEM Upgrades

Local repository restrictions

10

▪ Can’t write to /libs & /apps at runtime▪ No re-indexing at runtime▪ No repository eventing

Page 11: adaptTo() 2018 - Upgrading an AEM cluster using Docker · Florin Iordache, Adobe. Agenda 2 Challenges with AEM clusters Docker and AEM Cluster maintenance and OAK CNS AEM Upgrades

OAK CNS essential for cluster maintenance

11

▪ Allows repository split into multiple parts▪ Different AEM instances can have different

private repositories▪ Upgrading -> replacing the container

Page 12: adaptTo() 2018 - Upgrading an AEM cluster using Docker · Florin Iordache, Adobe. Agenda 2 Challenges with AEM clusters Docker and AEM Cluster maintenance and OAK CNS AEM Upgrades

12

Upgrading an AEM Docker cluster

Page 13: adaptTo() 2018 - Upgrading an AEM cluster using Docker · Florin Iordache, Adobe. Agenda 2 Challenges with AEM clusters Docker and AEM Cluster maintenance and OAK CNS AEM Upgrades

Cluster upgrade

13

Page 14: adaptTo() 2018 - Upgrading an AEM cluster using Docker · Florin Iordache, Adobe. Agenda 2 Challenges with AEM clusters Docker and AEM Cluster maintenance and OAK CNS AEM Upgrades

Cluster upgrade - challenges

14

▪ Can’t use the “normal” upgrade mode▪ Upgrading the shared repository content▪ Compatibility of the shared repository▪ Rollback

Page 15: adaptTo() 2018 - Upgrading an AEM cluster using Docker · Florin Iordache, Adobe. Agenda 2 Challenges with AEM clusters Docker and AEM Cluster maintenance and OAK CNS AEM Upgrades

Cluster upgrade – no explicit Upgrade mode

15

▪ No UpgradeTasks▪ Local repository automatically updated▪ Deferred upgrade tasks for the shared repo

Page 16: adaptTo() 2018 - Upgrading an AEM cluster using Docker · Florin Iordache, Adobe. Agenda 2 Challenges with AEM clusters Docker and AEM Cluster maintenance and OAK CNS AEM Upgrades

Cluster upgrade – shared repository

16

▪ Use content packages for new content▪ Deferred approach for existing content▪ Backward & forward compatibility

Page 17: adaptTo() 2018 - Upgrading an AEM cluster using Docker · Florin Iordache, Adobe. Agenda 2 Challenges with AEM clusters Docker and AEM Cluster maintenance and OAK CNS AEM Upgrades

Cluster upgrade – rollback

17

▪ Private repository automatically rolled back▪ Challenging for the shared contents

▪ Avoid reverting, rely on fwd. compatibility▪ Rollback to revision▪ Restore from backup

Page 18: adaptTo() 2018 - Upgrading an AEM cluster using Docker · Florin Iordache, Adobe. Agenda 2 Challenges with AEM clusters Docker and AEM Cluster maintenance and OAK CNS AEM Upgrades

18

Guidelines

Page 19: adaptTo() 2018 - Upgrading an AEM cluster using Docker · Florin Iordache, Adobe. Agenda 2 Challenges with AEM clusters Docker and AEM Cluster maintenance and OAK CNS AEM Upgrades

Guidelines – Content & code adaption

19

▪ Private, read-only /libs and /apps▪ Only deploy time changes possible▪ Code needs to avoid runtime updates

▪ Shared – all rest▪ Avoid upgrade tasks

▪ Clear separation of application and content

Page 20: adaptTo() 2018 - Upgrading an AEM cluster using Docker · Florin Iordache, Adobe. Agenda 2 Challenges with AEM clusters Docker and AEM Cluster maintenance and OAK CNS AEM Upgrades

Guidelines – Upgrades in the cloud

20

▪ Choose deployment type wisely▪ Avoid backwards incompatible content

changes▪ Incremental, asynchronous content updates▪ Avoid shared content repo rollback/revert

Page 21: adaptTo() 2018 - Upgrading an AEM cluster using Docker · Florin Iordache, Adobe. Agenda 2 Challenges with AEM clusters Docker and AEM Cluster maintenance and OAK CNS AEM Upgrades

AEM Docker beta program access

21

▪ What’s available▪ AEM 6.4SP1 Docker image▪ Dockerfile▪ Documentation/Samples

▪ Reach out to me to request access▪ [email protected]

Page 22: adaptTo() 2018 - Upgrading an AEM cluster using Docker · Florin Iordache, Adobe. Agenda 2 Challenges with AEM clusters Docker and AEM Cluster maintenance and OAK CNS AEM Upgrades

References

22

▪ OAK CNS documentationhttps://jackrabbit.apache.org/oak/docs/nodestore/compositens.html