SlideShare ist ein Scribd-Unternehmen logo
DOAG 2015, Nürnberg
Andreas Koop
WEBLOGIC IM DOCKER
CONTAINER
WebLogic WebLogic
WebLogic
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
ENTERPRISE PRAGMATIC IT
DOAG 2014, Nürnberg, Andreas Koop
AGENDA
Evolution der Systemumgebungen und -techniken
Docker Grundlagen
WebLogic in Docker, Topologien
Herausforderungen & Best Practices
Fazit & Ausblick
4
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 …
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
DOAG 2015, Nürnberg, Andreas Koop
CONTAINER-TECHNOLOGIE
IST HIP
‣ Isolierte Prozessumgebung
‣ Schnell
‣ Leichtgewichtig
‣ Unveränderlich & Flüchtig
‣ Schnelle Bereitstellung
‣ Einfache Verteilung
7
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"]
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“
DOAG 2015, Nürnberg, Andreas Koop
DOCKER INTERACTION
10
Docker
Client
Docker Host (Linux)
RegistryDocker Daemon
Containers
Images
docker build
docker run
docker pull
docker push
…
DOAG 2015, Nürnberg, Andreas Koop
DOCKER GETTING STARTED
‣ Docker Toolbox

(incl. Virtualbox & Kitematic)
‣ Mac/Win: Linux Host VM
11
Mac OS
Docker
Client
boot2docker (Linux VM)
Docker Daemon
Container 1ContainerContainer
docker-machine create …
DEMO
docker build ...
BASICS
docker run ...
docker ps ...
docker stop ...
docker rm ...
DOAG 2014, Nürnberg, Andreas Koop
AGENDA
Evolution der Systemumgebungen und -techniken
Docker Grundlagen
WebLogic in Docker, Topologien
Herausforderungen & Best Practices
Fazit & Ausblick
13
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
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
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
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 .
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 .
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
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
…
Andreas Koop 21
DEMO
DOAG 2015, Nürnberg, Andreas Koop
‣ Dockerfile + App (WAR or EAR) + WLST Skripts

Step 1: Prepare WLST script(s)
WEBLOGIC APP IMAGE
(1/2)
22
DOAG 2015, Nürnberg, Andreas Koop
‣ Step 2: Dockerfile -> Run WLST Script
WEBLOGIC APP IMAGE
(2/2)
23
docker build -t enpit/shoppingcart:1.0-dev .
DOAG 2015, Nürnberg, Andreas Koop
RUN WEBLOGIC
APP CONTAINERS
24
docker run -d -p 8001:8001 wls-shoppingcart-app
Run WebLogic Application (WAR)
DOAG 2015, Nürnberg, Andreas Koop
WEBLOGIC DOCKER
TOPOLOGIEN
25
DOAG 2015, Nürnberg, Andreas Koop
TYPISCHE CONTAINER
TOPOLOGIE
26
Linux Host 2
Container2
WLS Domain
(Admin)Server
App
Container3
WLS Domain
(Admin)Server
App
…
Linux Host 1
Container1
WLS Domain
(Admin)Server
App
…
…
Load-
Balancer
(OHS, OTD)
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
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
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
DOAG 2014, Nürnberg, Andreas Koop
AGENDA
Evolution der Systemumgebungen und -techniken
Docker Grundlagen
WebLogic in Docker, Topologien
Herausforderungen & Best Practices
Fazit & Ausblick
30
DOAG 2015, Nürnberg, Andreas Koop
HERAUSFORDERUNGEN
31
MIT PERSPEKTIVE
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
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
DOAG 2015, Nürnberg, Andreas Koop
BEST
PRACTICE
34
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
DOAG 2015, Nürnberg, Andreas Koop
MULTI CONTAINER SETUP MIT
DOCKER-COMPOSE
36
weblogic
…
oradb
docker-compose up
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
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
DOAG 2014, Nürnberg, Andreas Koop
AGENDA
Evolution der Systemumgebungen und -techniken
Docker Grundlagen
WebLogic in Docker, Topologien
Herausforderungen & Best Practices
Fazit & Ausblick
39
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
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
VIELEN DANK FÜR IHRE
AUFMERKSAMKEIT
HABEN SIE NOCH FRAGEN?
DOAG 2015, Nürnberg 43
Treffen Sie uns am Stand der scope alliance auf Ebene 1
WebLogic im Docker Container

Weitere ähnliche Inhalte

PDF
WebLogic im Docker Container
PDF
Einführung in Puppet und Vagrant
PPTX
WebLogic Server auf ODA: Erfahrungen aus einem Kundenprojekt
PDF
OpenShift-Build-Pipelines: Build ► Test ► Run!
PDF
Oracle WebLogic for DevOps
PDF
Development in der Cloud-Ära
PDF
2014 borys neselovskyi_web_logic_server_auf_oda_praesentation
PDF
2012 borys neselovskyi_automatisierte_middleware_installation_praesentation
WebLogic im Docker Container
Einführung in Puppet und Vagrant
WebLogic Server auf ODA: Erfahrungen aus einem Kundenprojekt
OpenShift-Build-Pipelines: Build ► Test ► Run!
Oracle WebLogic for DevOps
Development in der Cloud-Ära
2014 borys neselovskyi_web_logic_server_auf_oda_praesentation
2012 borys neselovskyi_automatisierte_middleware_installation_praesentation

Was ist angesagt? (20)

PDF
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-Pipelines
PDF
BED-Con - Tools für den täglichen Kampf als Entwickler
PDF
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
PDF
Parkraumbewirtschaftung mit Oracle ADF Mobile?
KEY
CI und OTPC in ADF Projekten
PDF
Jenkins Acceleration
PDF
Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s
PDF
Javaland 2016 - Flyway vs. LiquiBase - Battle der Datenbankmigrationstools
PDF
Was ist neu in .NET 4.5?
PDF
Oracle Technology Monthly Oktober 2017
PPTX
Docker for Windows / Windows Container
PDF
Docker - Containervirtualisierung leichtgemacht
PDF
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
PDF
Gameduell Glassfish Migration
PDF
Kaps - Es muss nicht immer Kubernetes sein
PDF
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
PPTX
DevOps der Triple-E Klasse - Eclipse DemoCamp
PDF
Die Java Plattform Strategie
PPTX
Tipps und Tricks im Umgang mit Docker
PDF
Softwerkskammer Chemnitz Special Pecha Kucha Night
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-Pipelines
BED-Con - Tools für den täglichen Kampf als Entwickler
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Parkraumbewirtschaftung mit Oracle ADF Mobile?
CI und OTPC in ADF Projekten
Jenkins Acceleration
Kontinuierliches (Nicht)-Funktionales Testen von Microservices auf K8s
Javaland 2016 - Flyway vs. LiquiBase - Battle der Datenbankmigrationstools
Was ist neu in .NET 4.5?
Oracle Technology Monthly Oktober 2017
Docker for Windows / Windows Container
Docker - Containervirtualisierung leichtgemacht
Durchgestartet? Eine Einführung in die Google App Engine / Java - Reloaded!
Gameduell Glassfish Migration
Kaps - Es muss nicht immer Kubernetes sein
Continuous Delivery für Cloud-native Anwendungen auf Cloud-nativer Infrastruktur
DevOps der Triple-E Klasse - Eclipse DemoCamp
Die Java Plattform Strategie
Tipps und Tricks im Umgang mit Docker
Softwerkskammer Chemnitz Special Pecha Kucha Night
Anzeige

Andere mochten auch (20)

PDF
Cloud-native Apps – Architektur, Implementierung, Demo
PPTX
Modernisierung in Zeiten wie diesen
PDF
Choice-o-mat - Entscheidungshilfe für Oracles Entwicklungswerkzeuge
PDF
Die 5 Mythen der Forms-Modernisierung
PDF
Agilität und Microservices als Chance für Modernisierung?
PDF
REST in Peace - Mit ORDS, Node.JS, ADF, Java oder OSB?
ODP
Testing JSF with Arquillian and Selenium
PPTX
ApEx effektiv - DOAG 2010 - OPITZ CONSULTING - Stephan Engel
PDF
Gestern OWB, heute ODI
PDF
Was ist Docker?
PPTX
Forms Microsoft and more
PDF
Client side webdevelopment with jet
PDF
API Management - Why it matters!
PDF
Was ist Docker ?
PPTX
Mastering DevOps With Oracle
PPTX
Mastering DevOps with Oracle
PDF
Forms 12c und der Oracle SB
PDF
Best Practices für Last- und Performancetests von Enterprise Applikationen au...
PDF
CFR Risk Management & Insurance Services
PPT
Canada 2014
Cloud-native Apps – Architektur, Implementierung, Demo
Modernisierung in Zeiten wie diesen
Choice-o-mat - Entscheidungshilfe für Oracles Entwicklungswerkzeuge
Die 5 Mythen der Forms-Modernisierung
Agilität und Microservices als Chance für Modernisierung?
REST in Peace - Mit ORDS, Node.JS, ADF, Java oder OSB?
Testing JSF with Arquillian and Selenium
ApEx effektiv - DOAG 2010 - OPITZ CONSULTING - Stephan Engel
Gestern OWB, heute ODI
Was ist Docker?
Forms Microsoft and more
Client side webdevelopment with jet
API Management - Why it matters!
Was ist Docker ?
Mastering DevOps With Oracle
Mastering DevOps with Oracle
Forms 12c und der Oracle SB
Best Practices für Last- und Performancetests von Enterprise Applikationen au...
CFR Risk Management & Insurance Services
Canada 2014
Anzeige

Ähnlich wie WebLogic im Docker Container (20)

PDF
Boost your APEX Deployment and Provisioning with Docker
PDF
Oracle WebLogic for DevOps
PDF
Was gibt es Neues im Docker-Universum
PDF
Ausrollen von Multi-Tier-Applikationen mit Docker
PDF
Docker und Kubernetes Patterns & Anti-Patterns
PDF
Docker und Kubernetes Patterns & Anti-Patterns
PDF
Alternativen des Betriebs von Weblogic mit Kubernetes/Docker
PDF
Continuous Delivery in ADF Projekten
PDF
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
PDF
Oracle und Docker
PDF
Java magazin9 2012_wls 12c_das_dutzend_ist_voll
PDF
Cloud-native Apps - Architektur, Implementierung, Demo
PDF
DOAG Webinar Oracle und Docker
PPTX
Dockerize It - Mit apex in die amazon cloud
PDF
Continuous Delivery in Oracle ADF Projekten
PDF
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
PDF
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
PDF
Podman in Action: The next generation of container engines - MEAP Version 3 D...
PDF
Docker Einführung @GPN15
PDF
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
Boost your APEX Deployment and Provisioning with Docker
Oracle WebLogic for DevOps
Was gibt es Neues im Docker-Universum
Ausrollen von Multi-Tier-Applikationen mit Docker
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
Alternativen des Betriebs von Weblogic mit Kubernetes/Docker
Continuous Delivery in ADF Projekten
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
Oracle und Docker
Java magazin9 2012_wls 12c_das_dutzend_ist_voll
Cloud-native Apps - Architektur, Implementierung, Demo
DOAG Webinar Oracle und Docker
Dockerize It - Mit apex in die amazon cloud
Continuous Delivery in Oracle ADF Projekten
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Docker und Virtualisierung - Container Use Cases für eine isolierte, performa...
Podman in Action: The next generation of container engines - MEAP Version 3 D...
Docker Einführung @GPN15
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...

Mehr von enpit GmbH & Co. KG (15)

PPTX
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
PPTX
Mit Legosteinen Maschinelles Lernen lernen
PDF
Visualisierung von fachlichen Informationen mit Oracle ADF
PDF
WebCenter Portal - Integrate Custom taskflows
PDF
Java WebApps und Services on Oracle Java Cloud Service
PDF
Rapid Application Development (RAD) im Enterprise - Quo vadis Portal?
PDF
Best Practices für Multi-Channel Application Development
PDF
Effective Blueprints for Forms 2 Oracle ADF
PDF
Oracle Cloud verleiht ADF-Anwendungen Flügel
PDF
ADF Software Factory - Software aus der Werkstatt
PDF
Deployment Best Practices on WebLogic Server (DOAG IMC Summit 2013)
KEY
WepApps mit Play! - Nichts leichter als das
KEY
ADF User Interface Design Best Practices
KEY
Administration von ADF Anwendungen
ZIP
WebLogic Administration und Deployment mit WLST
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Mit Legosteinen Maschinelles Lernen lernen
Visualisierung von fachlichen Informationen mit Oracle ADF
WebCenter Portal - Integrate Custom taskflows
Java WebApps und Services on Oracle Java Cloud Service
Rapid Application Development (RAD) im Enterprise - Quo vadis Portal?
Best Practices für Multi-Channel Application Development
Effective Blueprints for Forms 2 Oracle ADF
Oracle Cloud verleiht ADF-Anwendungen Flügel
ADF Software Factory - Software aus der Werkstatt
Deployment Best Practices on WebLogic Server (DOAG IMC Summit 2013)
WepApps mit Play! - Nichts leichter als das
ADF User Interface Design Best Practices
Administration von ADF Anwendungen
WebLogic Administration und Deployment mit WLST

WebLogic im Docker Container

  • 1. DOAG 2015, Nürnberg Andreas Koop WEBLOGIC IM DOCKER CONTAINER WebLogic WebLogic WebLogic
  • 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“
  • 10. DOAG 2015, Nürnberg, Andreas Koop DOCKER INTERACTION 10 Docker Client Docker Host (Linux) RegistryDocker Daemon Containers Images docker build docker run docker pull docker push …
  • 11. DOAG 2015, Nürnberg, Andreas Koop DOCKER GETTING STARTED ‣ Docker Toolbox
 (incl. Virtualbox & Kitematic) ‣ Mac/Win: Linux Host VM 11 Mac OS Docker Client boot2docker (Linux VM) Docker Daemon Container 1ContainerContainer docker-machine create …
  • 12. DEMO docker build ... BASICS docker run ... docker ps ... docker stop ... docker rm ...
  • 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 …
  • 22. DOAG 2015, Nürnberg, Andreas Koop ‣ Dockerfile + App (WAR or EAR) + WLST Skripts
 Step 1: Prepare WLST script(s) WEBLOGIC APP IMAGE (1/2) 22
  • 23. DOAG 2015, Nürnberg, Andreas Koop ‣ Step 2: Dockerfile -> Run WLST Script WEBLOGIC APP IMAGE (2/2) 23 docker build -t enpit/shoppingcart:1.0-dev .
  • 24. DOAG 2015, Nürnberg, Andreas Koop RUN WEBLOGIC APP CONTAINERS 24 docker run -d -p 8001:8001 wls-shoppingcart-app Run WebLogic Application (WAR)
  • 25. DOAG 2015, Nürnberg, Andreas Koop WEBLOGIC DOCKER TOPOLOGIEN 25
  • 26. DOAG 2015, Nürnberg, Andreas Koop TYPISCHE CONTAINER TOPOLOGIE 26 Linux Host 2 Container2 WLS Domain (Admin)Server App Container3 WLS Domain (Admin)Server App … Linux Host 1 Container1 WLS Domain (Admin)Server App … … Load- Balancer (OHS, OTD)
  • 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
  • 31. DOAG 2015, Nürnberg, Andreas Koop HERAUSFORDERUNGEN 31 MIT PERSPEKTIVE
  • 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
  • 34. DOAG 2015, Nürnberg, Andreas Koop BEST PRACTICE 34
  • 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
  • 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
  • 42. VIELEN DANK FÜR IHRE AUFMERKSAMKEIT HABEN SIE NOCH FRAGEN?
  • 43. DOAG 2015, Nürnberg 43 Treffen Sie uns am Stand der scope alliance auf Ebene 1