22
APACHE SLING & FRIENDS TECH MEETUP BERLIN, 26-28 SEPTEMBER 2016 AEM in Docker Andrei Darashenka, freelancer

AEM in Docker Andrei Darashenka, freelancer...Docker vocabulary adaptTo() 2016 5 Image like a filesystem snapshot Container like a running program Docker hub like an app store for

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: AEM in Docker Andrei Darashenka, freelancer...Docker vocabulary adaptTo() 2016 5 Image like a filesystem snapshot Container like a running program Docker hub like an app store for

APACHE SLING & FRIENDS TECH MEETUPBERLIN, 26-28 SEPTEMBER 2016

AEM in DockerAndrei Darashenka, freelancer

Page 2: AEM in Docker Andrei Darashenka, freelancer...Docker vocabulary adaptTo() 2016 5 Image like a filesystem snapshot Container like a running program Docker hub like an app store for

adaptTo() 2016 2

Page 3: AEM in Docker Andrei Darashenka, freelancer...Docker vocabulary adaptTo() 2016 5 Image like a filesystem snapshot Container like a running program Docker hub like an app store for

adaptTo() 2016 3

Docker

Page 4: AEM in Docker Andrei Darashenka, freelancer...Docker vocabulary adaptTo() 2016 5 Image like a filesystem snapshot Container like a running program Docker hub like an app store for

Docker benefits

adaptTo() 2016 4

▪ Software delivery▪ Predictable environments▪ Fast rollout▪ Cheap “Virtualisation”▪ Overlay filesystem

Page 5: AEM in Docker Andrei Darashenka, freelancer...Docker vocabulary adaptTo() 2016 5 Image like a filesystem snapshot Container like a running program Docker hub like an app store for

Docker vocabulary

adaptTo() 2016 5

▪ Image like a filesystem snapshot▪ Container like a running program▪ Docker hub like an app store for docker images▪ Registry like a private docker hub

Page 6: AEM in Docker Andrei Darashenka, freelancer...Docker vocabulary adaptTo() 2016 5 Image like a filesystem snapshot Container like a running program Docker hub like an app store for

adaptTo() 2016 6

AEM in Docker

Page 7: AEM in Docker Andrei Darashenka, freelancer...Docker vocabulary adaptTo() 2016 5 Image like a filesystem snapshot Container like a running program Docker hub like an app store for
Page 8: AEM in Docker Andrei Darashenka, freelancer...Docker vocabulary adaptTo() 2016 5 Image like a filesystem snapshot Container like a running program Docker hub like an app store for

AEM is an antipattern for Docker

adaptTo() 2016 8

▪ Docker is designed for microservices▪ AEM is a monolith

▪ Docker runs the best with stateless containers▪ AEM has a big filesystem snapshot

Page 9: AEM in Docker Andrei Darashenka, freelancer...Docker vocabulary adaptTo() 2016 5 Image like a filesystem snapshot Container like a running program Docker hub like an app store for

You cannot drive fast

adaptTo() 2016 9

Page 10: AEM in Docker Andrei Darashenka, freelancer...Docker vocabulary adaptTo() 2016 5 Image like a filesystem snapshot Container like a running program Docker hub like an app store for

Alternative without docker

adaptTo() 2016 10

Page 11: AEM in Docker Andrei Darashenka, freelancer...Docker vocabulary adaptTo() 2016 5 Image like a filesystem snapshot Container like a running program Docker hub like an app store for
Page 12: AEM in Docker Andrei Darashenka, freelancer...Docker vocabulary adaptTo() 2016 5 Image like a filesystem snapshot Container like a running program Docker hub like an app store for

Good news

adaptTo() 2016 12

▪ Tarmk is append-only storage▪ Mongomk is a remote▪ Solrcloud▪ Data Store on external filesystem or on S3

Page 13: AEM in Docker Andrei Darashenka, freelancer...Docker vocabulary adaptTo() 2016 5 Image like a filesystem snapshot Container like a running program Docker hub like an app store for

adaptTo() 2016 13

▪ Live instances: Many publishers, same dataset▪

▪ Test instances: Many publishers, many datasets▪▪

Test vs. Live instances

Page 14: AEM in Docker Andrei Darashenka, freelancer...Docker vocabulary adaptTo() 2016 5 Image like a filesystem snapshot Container like a running program Docker hub like an app store for

Building AEM images for test

adaptTo() 2016 14

▪ Dockerfile to create base, author, publisher▪ Start author+publisher, install project, import

products, rollout pages, replicate▪ Stop author+publisher, compact tar, commit▪ Image: 3-50 GB

Page 15: AEM in Docker Andrei Darashenka, freelancer...Docker vocabulary adaptTo() 2016 5 Image like a filesystem snapshot Container like a running program Docker hub like an app store for

Building AEM images for test

adaptTo() 2016 15

▪ Feature-branch image▪▪

▪ Build time 15-20 min, Image 50-200 MB

▪ 2-5 min to start

Page 16: AEM in Docker Andrei Darashenka, freelancer...Docker vocabulary adaptTo() 2016 5 Image like a filesystem snapshot Container like a running program Docker hub like an app store for

Building AEM images for test

adaptTo() 2016 16

▪ Volumes▪▪▪▪

Page 17: AEM in Docker Andrei Darashenka, freelancer...Docker vocabulary adaptTo() 2016 5 Image like a filesystem snapshot Container like a running program Docker hub like an app store for

Building AEM images for live with tarmk

adaptTo() 2016 17

▪ Use data container: backup etc...▪▪

▪ Use log container: send logs to ELK▪▪

▪ /tmp

Page 18: AEM in Docker Andrei Darashenka, freelancer...Docker vocabulary adaptTo() 2016 5 Image like a filesystem snapshot Container like a running program Docker hub like an app store for

Starting new publisher with tarmk

adaptTo() 2016 18

1. Add this publisher to author with fake IP:port2. Pause other publisher + commit data-container3. Start new publisher from committed data-image4. On author set correct IP:port of the publisher5. Enable publisher in load-balancer

Page 19: AEM in Docker Andrei Darashenka, freelancer...Docker vocabulary adaptTo() 2016 5 Image like a filesystem snapshot Container like a running program Docker hub like an app store for

Use AEM in cluster

adaptTo() 2016 19

▪ Use S3 with binaryless replication

▪ Put publisher/dispatcher in one pod

▪ Commit your containers just before/after rollout▪ On problems simply recreate a publisher▪ Hot-standby is important ;)▪ Varnish 5.0 is released :)

Page 20: AEM in Docker Andrei Darashenka, freelancer...Docker vocabulary adaptTo() 2016 5 Image like a filesystem snapshot Container like a running program Docker hub like an app store for

adaptTo() 2016 20

Appendix

Page 22: AEM in Docker Andrei Darashenka, freelancer...Docker vocabulary adaptTo() 2016 5 Image like a filesystem snapshot Container like a running program Docker hub like an app store for

adaptTo() 2016 22

Questions