Presentation on WebLogic Basics and how to run WebLogic 12.2.1 in Docker Container. Live-Demo included. Talk was given at DOAG 2015 in Nürnberg, Germany.
2. Andreas Koop
Geschäftsführung
& ConsultingABOUT ME
Consulting, Training Oracle Technology
Oracle ADF Certified Implementation Specialist
Certified Professional for Software Architecture
Professional Scrum Master
Community
DOAG, ADF EMG, ADF German Community, Google Plus,
Twitter @andreaskoop @enpit
Blog
News - http://www.enpit.de/blog
Technical (english) - http://multikoop.blogspot.com
2
www.scope-alliance.de
4. DOAG 2014, Nürnberg, Andreas Koop
AGENDA
Evolution der Systemumgebungen und -techniken
Docker Grundlagen
WebLogic in Docker, Topologien
Herausforderungen & Best Practices
Fazit & Ausblick
4
5. Andreas Koop
EVOLUTION DER SYSTEMUMGEBUNGEN UND -
TECHNIKEN
5
Physical
Server
Virtualisierung
VMWare, Virtualbox,
Oracle VM, kvm, …
Provisionierung
Vagrant, Puppet, Chef, Ansible, …
Container
Docker, rkt, …
„On-The-Fly“
AWS Lambda, nginScript VM …
6. DOAG 2015, Nürnberg, Andreas Koop
VIRTUAL MACHINE
VS CONTAINER
6
Maschine
Host OS
Hypervisor
Guest OS
Bins/Libs
App 1
Maschine
OS
Bins/Libs
App 1
Container - Engine
Guest OS
Bins/Libs
App 2
Guest OS
Bins/Libs
App 3
Bins/Libs
App 2
Bins/Libs
App 3
7. DOAG 2015, Nürnberg, Andreas Koop
CONTAINER-TECHNOLOGIE
IST HIP
‣ Isolierte Prozessumgebung
‣ Schnell
‣ Leichtgewichtig
‣ Unveränderlich & Flüchtig
‣ Schnelle Bereitstellung
‣ Einfache Verteilung
7
8. Andreas Koop
DOCKER GRUNDLAGEN
8
Image Docker Hub
Dockerfile
Registry
Container
build push
pull
…
run
commit
‣ bel. viele Container
sind startbar
‣ Distribution auf
beliebige Umgebungen
FROM oraclelinux:7.0
…
RUN rpm -i /u01/$JRPM
…
USER oracle
RUN java -jar $WLS..
..
CMD [„startSmth.sh"]
9. DOAG 2015, Nürnberg, Andreas Koop
DOCKER IMAGE LAYERING
9
bootfs/kernel
Base Image ubuntu: 14
Image
Image
apache:2.0
wordpress: 3.3
Image my/wpsite: 1.0
ContainerContainerContainerContainer
some_name 1..n
„copy on write fs“
13. DOAG 2014, Nürnberg, Andreas Koop
AGENDA
Evolution der Systemumgebungen und -techniken
Docker Grundlagen
WebLogic in Docker, Topologien
Herausforderungen & Best Practices
Fazit & Ausblick
13
14. DOAG 2015, Nürnberg, Andreas Koop
WEBLOGIC ON DOCKER
OVERVIEW
14
Base Image: Oracle Linux 7 oraclelinux: 7
Image: JDK 7 und WebLogic Bin
Image: WebLogic Domain
weblogic:12.2.1
my/weblogicdomain:12.2.1
ContainerContainerContainer
Development
Image: WebLogic App 1 my/weblogicapp1:1.0
ContainerContainerContainer
Test
ContainerContainerContainer
Prod
15. DOAG 2015, Nürnberg, Andreas Koop
ORACLE ZERTIFIZIERUNG
WEBLOGIC ON DOCKER
15
WebLogic JDK Host OS (Kernel) Docker
12.2.1 8
OL 6 UL 6 (3.8.13)
OL 7 (3.8.13 / 3.10)
1.7+
12.2.1 8 RHEL 7 (3.10) 1.7+
12.1.3 7 / 8
OL 6 UL 5 (3.8.13)
OL 7 (3.8.13 / 3.10)
1.3.3+
12.1.3 7 / 8 RHEL 7 (3.10) 1.3.3+
https://blogs.oracle.com/WebLogicServer/entry/oracle_weblogic_server_12_21
16. DOAG 2015, Nürnberg, Andreas Koop
BASE IMAGE
16
‣ Nothing to do! Oracle Linux 7, offizielles Image
auf Docker-Hub verfügbar
Für alle Neugierigen. So schaut das Dockerfile aus
17. DOAG 2015, Nürnberg, Andreas Koop
‣ Kein „fertiges Image“ auf Docker-Hub verfügbar.
wegen notw. „OTN Licence Agreement“ f. JDK / WLS
Selber bauen.
JDK / WEBLOGIC IMAGE
17
Dockerfile für
Developer- oder
Generic-Installer
verfügbar
12.1.3 und 12.2.1
docker build -t oracle/weblogic:12.2.1-dev .
18. DOAG 2015, Nürnberg, Andreas Koop
‣ Domain ist individuell. Docker-Image muss gebaut
werden. Beispiele auf GitHub 12.1.3 / 12.2.1
WEBLOGIC DOMAIN
IMAGE
18
docker build -t enpit/samplewls:12.2.1-dev .
19. DOAG 2015, Nürnberg, Andreas Koop
WEBLOGIC DOCKER
CONTAINER
19
WebLogic
Docker Image
Container
AdminServer
Container
Managed Server
NodeManager
WebLogic Domain
…
2 Typen
von WebLogic
Containern
möglich
20. DOAG 2015, Nürnberg, Andreas Koop
RUN WEBLOGIC
CONTAINERS
20
docker run -d --name=wlsms1 --link
wlsadmin:wlsadmin -p 7001:7001 -p 5556:5556
enpit/samplewls:12.2.1-dev createServer.sh
Run Base-Domain / AdminServer
Add Managed Server (Must be manually started)
docker run -d —name=wlsadmin -p 8001:8001 enpit/
samplewls:12.2.1-dev
docker run -d --name=wlsms2 --link
wlsadmin:wlsadmin enpit/samplewls:12.2.1-dev
createServer.sh
…
27. DOAG 2015, Nürnberg, Andreas Koop
TYPISCHE CONTAINER
TOPOLOGIE
‣ Jeder Container ist eine Instanz der selben
WebLogic Domain
‣ Alle Apps, Datenquellen, JMS, Libs werden auf den
AdminServer bereitgestellt.
‣ „Docker-Way“ Topologie
‣ Kein Session-Failover möglich
‣ Einfach
27
28. DOAG 2015, Nürnberg, Andreas Koop
Linux Host 1
WLS Domain
KLASSISCHE WEBLOGIC
TOPOLOGIE
28
Container1
AdminServer
Dynamic Cluster
Load-
Balancer
(OHS, OTD)
Container2
ManagedServer
App
Container3
ManagedServer
App
NodeManager NodeManager
…
! Stand heute kein Multi-Host Support
29. DOAG 2015, Nürnberg, Andreas Koop
KLASSISCHE WEBLOGIC
TOPOLOGIE
‣ Aus einem Image können 2 unterschiedliche
Container-Typen gestartet werden.
‣ Alle Apps, Datenquellen, JMS, Libs werden auf
ManagedServern bereitgestellt.
‣ Klassische Topologie, Docker untypisch
‣ Session-Failover möglich
‣ Komplex(er)
29
30. DOAG 2014, Nürnberg, Andreas Koop
AGENDA
Evolution der Systemumgebungen und -techniken
Docker Grundlagen
WebLogic in Docker, Topologien
Herausforderungen & Best Practices
Fazit & Ausblick
30
32. DOAG 2015, Nürnberg, Andreas Koop
HERAUSFORDERUNGEN IN
EINER CONTAINER WELT
‣ Persistente Daten - Datenbank, Logs, „State“…
=> Volume Management (Data Containers, …)
‣ Container-Linking/Orchestrierung, Service-Discovery
=> Cluster-Management (Swarm, Kubernetes,
Mesosphere, …)
‣ Monitoring
=> Sensu, cAdvisor, Prometheus, …
‣ Neue Betriebsprozesse, SW-Architekturen
=> Skills, Organisationsstrukturen, Agilität
32
33. DOAG 2015, Nürnberg, Andreas Koop
PERSPEKTIVE
‣ Improved Networking in Docker 1.9 => linking
becomes deprecated. Multi-Host Support!
‣ Service Discovery / Cluster, Scheduling-Management
mit docker swarm und etcd, consul oder zookeeper
‣ Standardisierung von Microservice-Architekturen
‣ new: Oracle Docker Cloud Service
33
35. DOAG 2015, Nürnberg, Andreas Koop
ERSTELLUNG VON WEBLOGIC
IMAGES
‣ Images klein halten! Insbesondere auch die
einzelnen Layer. (Cleanup nicht vergessen bei
yum / apt-get / Installationsfiles !)
‣ Ggf. Nutzung bestehender Provisionierungsskripte
wie Puppet, Chef, Ansible
‣ Bonus: Bereitstellung eines build.sh Skripts
35
36. DOAG 2015, Nürnberg, Andreas Koop
MULTI CONTAINER SETUP MIT
DOCKER-COMPOSE
36
weblogic
…
oradb
docker-compose up -d
37. DOAG 2015, Nürnberg, Andreas Koop
UPGRADE / PATCHING
‣ Erweiterung des Basis WebLogic Docker Images
‣ Neue Container können anschließend vom
gepatchten Image gestartet werden.
37
oraclelinux: 7
weblogic:12.2.1-dev
weblogic:12.2.2p-dev
weblogic:12.2.3p-dev
38. DOAG 2015, Nürnberg, Andreas Koop
WEBLOGIC ON DOCKER IN
DER SW-ENTWICKLUNG
‣ Überschaubare Komplexität. Geringes Investment
‣ Neben WebLogic-Umgebungen können auch ganze
Entwicklungsumgebungen inkl. IDE erstellt werden.
Zugriff erfolgt dann via X11, VNC, RDP oder XRDP.
‣ Es lohnt sich sich mit Docker zu befassen!
38
39. DOAG 2014, Nürnberg, Andreas Koop
AGENDA
Evolution der Systemumgebungen und -techniken
Docker Grundlagen
WebLogic in Docker, Topologien
Herausforderungen & Best Practices
Fazit & Ausblick
39
40. DOAG 2015, Nürnberg, Andreas Koop
ZUSAMMENFASSUNG & FAZIT
‣ Docker macht Spaß, ist schnell. Container sind
kurzlebig. Umdenken notwendig.
‣ Auswirkungen Software- & Systemarchitektur:
Neue Herausforderungen bzgl. Service-Discovery,
Container-Cluster-Management, Monitoring!
‣ Isolation, Mandantenfähigkeit, Cluster-
Management auf Container-Ebene zu erwarten
‣ Produktivumgebungen sind nicht zu unterschätzen
40
41. DOAG 2015, Nürnberg, Andreas Koop
WEITERE
INFORMATIONEN
‣ The Docker Book
‣ WebLogic 12.2.1 on Docker Doc
http://docs.oracle.com/middleware/1221/wls/DOCKR/overvew.htm
‣ WebLogic Docker Whitepaper (June 2015)
http://www.oracle.com/technetwork/middleware/weblogic/overview/weblogic-server-
docker-containers-2491959.pdf
‣ WebLogic Dockerfiles on GitHub.com
https://github.com/oracle/docker/tree/master/OracleWebLogic
41