Upload
sascha-brinkmann
View
101
Download
0
Tags:
Embed Size (px)
Citation preview
Managing Consultant
10 years of WCMS exp
erience
Christoph Behounek
Hobbies: Snowboard,
Longboard, Boardgame
s
Contact: [email protected]
@admiral49
About Me
Senior Solution Arch
itect
7 years of WCMS expe
rience
Loves working with J
ava
(script)
Sascha Brinkmann
Hobbies: Biking, Hik
ing, Travelling
Contact: [email protected]
@sasusu
About Me
Motivation
Just in case you’re stillnot sure weather you’re in a
software project.
Wait until you hear this:
ON MY MACHINE IT WORKS
© Sascha Brinkmann, eggs unimedia
Everyday problems of a software architect:
➢ How was the application server setup?
➢ Which service packs and hotfixes are
installed?
➢ Why does the ramp up take that long?
➢ Why is the velocity so little?
➢ Which version of my application is installed?
Motivation
Solution
Software container which can be defined centrally and reused everywhere
© Gianni del Bufalo, Some rights reserved
What is Docker?
Docker automates the deployment of applications inside software containers, by providing an additional
layer of abstraction and automation of OS-level virtualization on Linux.
© Docker, Inc.
VM vs. Docker
Computer Hardware
Host OS
Hypervisor
Guest OS
Bins + Libs
App A
Guest OS
Bins + Libs
App B
Computer Hardware
Host OS (Linux)
Docker Engine
Bins + Libs
App A
Bins + Libs
App B
Virtual Machines vs. Docker Container
Docker Image Structure
© Maersk Line, Some rights reserved
Docker Image Structure
Host OS (Linux)
Docker Engine
Bins + Libs
Application Server
Developed Application
Base Image
Layers of a Docker Image Dockerfile (Image Defintion)# Base ImageFROM ubuntu:latest
# Install JavaRUN apt-get update && \
apt-get install -y java7
# Download and unpack AEMADD http://repo.eggs.de/aem-quickstart.jar /optADD http://repo.eggs.de/license.properties /optRUN java -jar /opt/aem-quickstart.jar -unpack
# Install Service Packs and HotfixesRUN mkdir /opt/crx-quickstart/installADD http://repo.eggs.de/aem-updates.zip
/opt/crx-quickstart/install
# Install Custom ApplicationADD http://repo.eggs.de/my-app.zip
/opt/crx-quickstart/install
# Install Demo ContentADD http://repo.eggs.de/my-demo-content.zip
/opt/crx-quickstart/install
Service Packs + Hotfixes
Application Demo Content
AEM Application Stack
Computer Hardware
Host OS (Linux)
Docker Engine
Java + Tools
AEM Author
Java + Tools
AEM Publish
Service Packs + HF Service Packs + HF
Bins + Libs
Apache Webserver
Dispatcher Module
AEM Author Image
AEM Publish Image
Dispatcher Image
Docker Build Image
© Tobias Mandt, Some rights reserved
Docker Build Image
Docker Public Registry
Host OS (Linux)
Docker Engine
Computer Hardware
Docker Base Image
Dockerfile
Bins + LibsPull
App
Base Image
Build
Docker Build Pipeline
© Álvaro Vega F., Some rights reserved
Docker Build Pipeline
GIT
Jenkins
Docker Public Registry
Docker Private RegistryPull
Pull
Push
Pull
Pull
Test andQA Server
Developer
Dockerfile
Docker Compose Environment
Start a complete AEM environment with one shell command.
© Aaron Escobar, Some rights reserved
Docker Compose Environmentpublish:
hostname: aem-publish.aem.eggs.de
image: registry.mycompany.com/eggs/aem-publisher
ports:
- "4503:4503"
author:
hostname: aem-author.aem.eggs.de
image: registry.mycompany.com/eggs/aem-author
ports:
- "4502:4502"
links:
- publish
dispatcher:
hostname: aem-dispatcher.aem.eggs.de
image: registry.mycompany.com/eggs/apache-dispatcher
ports:
- "80"
links:
- publish
$ docker-compose up -d
Conclusion
© José Sáez, Some rights reserved
Conclusion
➢ Accelerate “Ramp Up”➢ Provide Test and Development Environment
with a one liner➢ Docker Container can be operate in the
cloud (Amazon AWS EC2, Google Cloud, Microsoft Azure, Rackspace, etc.)
➢ Speed Up Desaster Recovery➢ Deliver not only an app or a server, deliver
the system
Presentationeggs.de/connect2015
Sourcesgithub.com/eggsunimedia/docker-aem
The AuthorsChristoph Behounek - [email protected] Brinkmann - [email protected]
Get in Touch
Terms of Use
This work is licensed under a Creative Commons Attribution-NoDerivatives 4.0
International License