weblogic im docker container

44
DOAG 2015, Nürnberg Andreas Koop WEBLOGIC IM DOCKER CONTAINER WebLogic WebLogic WebLogic

Upload: enpit-gmbh-co-kg

Post on 13-Apr-2017

901 views

Category:

Presentations & Public Speaking


0 download

TRANSCRIPT

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 SpecialistCertified Professional for Software ArchitectureProfessional Scrum MasterCommunity DOAG, ADF EMG, ADF German Community, Google Plus,Twitter @andreaskoop @enpitBlogNews - 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

VirtualisierungVMWare, Virtualbox, Oracle VM, kvm, …

ProvisionierungVagrant, Puppet, Chef, Ansible, …

ContainerDocker, 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 Verteilung7

Andreas Koop

DOCKER GRUNDLAGEN

8

Image Docker HubDockerfile

Registry

Container

build push

pull

runcommit

‣ 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: 14Image

Image

apache:2.0wordpress: 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 builddocker rundocker pulldocker 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: 7Image: JDK 7 und WebLogic Bin

Image: WebLogic Domain

weblogic:12.2.1my/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 DOMAINIMAGE

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 Container2WLS Domain(Admin)Server

App

Container3WLS Domain(Admin)Server

App

Linux Host 1Container1WLS 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

‣ Einfach27

DOAG 2015, Nürnberg, Andreas Koop

Linux Host 1WLS Domain

KLASSISCHE WEBLOGIC TOPOLOGIE

28

Container1AdminServer

Dynamic Cluster

Load-Balancer

(OHS, OTD)

Container2ManagedServer

App

Container3ManagedServer

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 Dochttp://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