SlideShare ist ein Scribd-Unternehmen logo
1 von 20
© OPITZ CONSULTING 2017
Informationsklassifikation:
Öffentlich
 Überraschend mehr Möglichkeiten
© OPITZ CONSULTING 2017
Benjamin Stein, Jan Winkels
APEX meets Docker
© OPITZ CONSULTING 2017
Informationsklassifikation:
Öffentlich Seite 2
Inhalt
1
2
3
Docker…
…meets APEX
Versionierung und CI
APEX meets Docker
© OPITZ CONSULTING 2017
Informationsklassifikation:
Öffentlich Seite 3
Docker
 Was ist das?
 Repositories, Images, Container
 Dockerfile
1
APEX meets Docker
© OPITZ CONSULTING 2017
Informationsklassifikation:
ÖffentlichAPEX meets Docker Seite 4
Was ist Docker?
 ermöglicht das Ausführen von Applikationen in Containern
 Container
 Sind eine minimalistische Virtuelle Maschine
 Beinhalten nur die notwendigen Komponenten
 können aufeinander aufbauen
 Können miteinander verbunden werden
Sind eine minimalistische Virtuelle Maschine
Beinhalten nur die notwendigen Komponenten
können aufeinander aufbauen
Können miteinander verbunden werden
© OPITZ CONSULTING 2017
Informationsklassifikation:
ÖffentlichAPEX meets Docker Seite 5
Zitate
 “Developers use Docker to eliminate ‘works on my machine’ problems
when collaborating on code with co-workers.”
 “Enterprises use Docker to build agile software delivery pipelines to ship
new features faster, more securely and with confidence for both Linux,
Windows Server, and Linux-on-mainframe apps.”
 Quelle: https://www.docker.com/what-docker
© OPITZ CONSULTING 2017
Informationsklassifikation:
ÖffentlichAPEX meets Docker Seite 6
Repositories – Images – Container
Repository 1
Image 1
Image 2
Image 3
Repository 2
Container 1
Container 2
Container 3
Container 4
Container 5
pull
© OPITZ CONSULTING 2017
Informationsklassifikation:
ÖffentlichAPEX meets Docker Seite 7
Repositories
 Öffentlich
 https://hub.docker.com/explore/
 Auswahl von 100,000+ Images
 Verknüpft mit GitHub
 Privat / Lokal
 Gleiche Funktionen, jedoch für interne Projekte
 Images können direkt aus den Repositories geladen werden
 docker pull nginx
© OPITZ CONSULTING 2017
Informationsklassifikation:
ÖffentlichAPEX meets Docker Seite 8
Dockerfile
 Beschreibt, wie der Container aufgebaut werden soll
 Beispiel:
 Starte einen oraclelinux Container
 Führe yum aus, um weitere pakete zu installieren
 Lade Oracle XE in den Container
 Führe das Installationsscript für Oracle XE aus
 Speichere den Container in einem Image
 Das Bauen kann länger dauern
© OPITZ CONSULTING 2017
Informationsklassifikation:
Öffentlich Seite 9
…meets APEX
 Die Idee
 Vor- und Nachteile
 Demo
2
APEX meets Docker
© OPITZ CONSULTING 2017
Informationsklassifikation:
ÖffentlichAPEX meets Docker Seite 10
Die Idee
 Ich habe eine Idee und brauche schnell einen frischen APEX Dummy
 Ich möchte für verschiedene Projekte / Kunden separate APEX Instanzen
erstellen
 Ich möchte mehrere APEX Versionen (z.B. 5.0 + 5.1) parallel laufen lassen
und vergleichen
 Läuft meine 5.0 App in 5.1?
 Ich spare Zeit
© OPITZ CONSULTING 2017
Informationsklassifikation:
ÖffentlichAPEX meets Docker Seite 11
Vorteile
 Es gibt für fast alles einen Container
 Sehr schnell einsatzfähig
 Geringer Ressourcenverbrauch
 Einfacher Austausch von Versionen
 Container läuft in allen Umgebungen gleich
 Einfache Persistierung
 Container kann als Image archiviert werden
© OPITZ CONSULTING 2017
Informationsklassifikation:
ÖffentlichAPEX meets Docker Seite 12
Nachteile
 Unter Windows läuft die DockerMachine in einer separaten VM
 Hyper-V oder VirtualBox
 Speicherintensiv
© OPITZ CONSULTING 2017
Informationsklassifikation:
ÖffentlichAPEX meets Docker Seite 13
Demo
 Image laden
 docker pull winkelsjan/apex5.1
 Neuen Container starten:
 docker run -it --name apex-51-doag -p 8080:8080 -p 1521:1521 winkelsjan/apex5.1:ords
 Neuen Container als daemon starten:
 docker run -d --name apex-51-doag -p 8080:8080 -p 1521:1521 winkelsjan/apex5.1:ords
 Container stoppen
 docker stop apex-51-doag
 Container starten
 docker start apex-51-doag
© OPITZ CONSULTING 2017
Informationsklassifikation:
Öffentlich Seite 14
Versionierung und CI
 Es gibt ein Image
 Exportieren von Anwendungen
 Importieren von Anwendungen
 Blog:
http://apexormore.blogspot.de/2017/11/how-to-
create-continuous-delivery.html
3
APEX meets Docker
© OPITZ CONSULTING 2017
Informationsklassifikation:
ÖffentlichAPEX meets Docker Seite 15
Es gibt ein Image
 Image laden
 docker pull winkelsjan/apex5.1:cd
Variable Name Value
DBHOST Hostname of your database
DBNAME A name for the tnsnames.ora
DBPORT Port of your database
DBSID SID of your database
SCHEMA Name of the source schema
SCHEMAPW Password of the source schema
WORKSPACE Name of your APEX workspace. Case Sensitive!
APEXAPPID The ID of your APEX application
APEXAPPNAME The name of your APEX application
EXPORTPATH The Path under which the export files will be stored. Standard is /home/apple
FULL_DEPLOY_MODE Schema creation mode
© OPITZ CONSULTING 2017
Informationsklassifikation:
ÖffentlichAPEX meets Docker Seite 16
Exportieren von Anwendungen
 Container zum Exportieren der APEX Anwendung
Export git push
Ausführen eines Shell Skripts Manuell über Konsole oder
Grafische Oberfläche
© OPITZ CONSULTING 2017
Informationsklassifikation:
ÖffentlichAPEX meets Docker Seite 17
Importieren von Anwendungen
 Zweiter Container zum Importieren von APEX Anwendungen
git pull Deploy
Manuell über Konsole oder
Grafische Oberfläche
Ausführen eines Shell Skripts
© OPITZ CONSULTING 2017
Informationsklassifikation:
Öffentlich Seite 18
Fragen?
APEX meets Docker
© OPITZ CONSULTING 2017
Informationsklassifikation:
Öffentlich
 Überraschend mehr Möglichkeiten
@OC_WIRE OPITZCONSULTING opitzconsultingWWW.OPITZ-CONSULTING.COM
Kontakt
Benjamin Stein
Developer
Benjamin.Stein@opitz-consulting.com
+49 2261 6001-1173
Jan Winkels
Developer
Jan.winkels@opitz-consulting.com
+49 2261 6001-1082
APEX meets Docker
© OPITZ CONSULTING 2017
Informationsklassifikation:
Öffentlich

Weitere ähnliche Inhalte

Was ist angesagt?

Was gibt es Neues im Docker-Universum
Was gibt es Neues im Docker-UniversumWas gibt es Neues im Docker-Universum
Was gibt es Neues im Docker-UniversumNicholas Dille
 
Architektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsArchitektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsmatfsw
 
5. Treffen der .NET User Group Paderborn
5. Treffen der .NET User Group Paderborn5. Treffen der .NET User Group Paderborn
5. Treffen der .NET User Group PaderbornMark Lechtermann
 
Alternativen des Betriebs von Weblogic mit Kubernetes/Docker
Alternativen des Betriebs von Weblogic mit Kubernetes/DockerAlternativen des Betriebs von Weblogic mit Kubernetes/Docker
Alternativen des Betriebs von Weblogic mit Kubernetes/DockerOPITZ CONSULTING Deutschland
 
DevOps: Automatisierte Deployments mit TFS & Octopus Deploy
DevOps: Automatisierte Deployments mit TFS & Octopus DeployDevOps: Automatisierte Deployments mit TFS & Octopus Deploy
DevOps: Automatisierte Deployments mit TFS & Octopus DeployMark Lechtermann
 
DevOps der Triple-E Klasse - Eclipse DemoCamp
DevOps der Triple-E Klasse - Eclipse DemoCampDevOps der Triple-E Klasse - Eclipse DemoCamp
DevOps der Triple-E Klasse - Eclipse DemoCampWerner Keil
 
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-Pipelines
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-PipelinesContinuous Testing: Integration- und UI-Testing mit OpenShift-Build-Pipelines
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-PipelinesTobias Schneck
 
Enterprise CI/CD: Continuous Integration & Delivery im Enterprise-Umfeld
Enterprise CI/CD: Continuous Integration & Delivery im Enterprise-UmfeldEnterprise CI/CD: Continuous Integration & Delivery im Enterprise-Umfeld
Enterprise CI/CD: Continuous Integration & Delivery im Enterprise-UmfeldQAware GmbH
 
Dnug 112014 modernization_openn_ntf_ersatzsession
Dnug 112014 modernization_openn_ntf_ersatzsessionDnug 112014 modernization_openn_ntf_ersatzsession
Dnug 112014 modernization_openn_ntf_ersatzsessionOliver Busse
 
Liebe Mobiliar, wie macht Ihr eigentlich DevOps?
Liebe Mobiliar, wie macht Ihr eigentlich DevOps?Liebe Mobiliar, wie macht Ihr eigentlich DevOps?
Liebe Mobiliar, wie macht Ihr eigentlich DevOps?Philipp Grossenbacher
 

Was ist angesagt? (11)

Was gibt es Neues im Docker-Universum
Was gibt es Neues im Docker-UniversumWas gibt es Neues im Docker-Universum
Was gibt es Neues im Docker-Universum
 
Architektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsArchitektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOps
 
5. Treffen der .NET User Group Paderborn
5. Treffen der .NET User Group Paderborn5. Treffen der .NET User Group Paderborn
5. Treffen der .NET User Group Paderborn
 
Alternativen des Betriebs von Weblogic mit Kubernetes/Docker
Alternativen des Betriebs von Weblogic mit Kubernetes/DockerAlternativen des Betriebs von Weblogic mit Kubernetes/Docker
Alternativen des Betriebs von Weblogic mit Kubernetes/Docker
 
DevOps: Automatisierte Deployments mit TFS & Octopus Deploy
DevOps: Automatisierte Deployments mit TFS & Octopus DeployDevOps: Automatisierte Deployments mit TFS & Octopus Deploy
DevOps: Automatisierte Deployments mit TFS & Octopus Deploy
 
DevOps der Triple-E Klasse - Eclipse DemoCamp
DevOps der Triple-E Klasse - Eclipse DemoCampDevOps der Triple-E Klasse - Eclipse DemoCamp
DevOps der Triple-E Klasse - Eclipse DemoCamp
 
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-Pipelines
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-PipelinesContinuous Testing: Integration- und UI-Testing mit OpenShift-Build-Pipelines
Continuous Testing: Integration- und UI-Testing mit OpenShift-Build-Pipelines
 
Enterprise CI/CD: Continuous Integration & Delivery im Enterprise-Umfeld
Enterprise CI/CD: Continuous Integration & Delivery im Enterprise-UmfeldEnterprise CI/CD: Continuous Integration & Delivery im Enterprise-Umfeld
Enterprise CI/CD: Continuous Integration & Delivery im Enterprise-Umfeld
 
Development in der Cloud-Ära
Development in der Cloud-ÄraDevelopment in der Cloud-Ära
Development in der Cloud-Ära
 
Dnug 112014 modernization_openn_ntf_ersatzsession
Dnug 112014 modernization_openn_ntf_ersatzsessionDnug 112014 modernization_openn_ntf_ersatzsession
Dnug 112014 modernization_openn_ntf_ersatzsession
 
Liebe Mobiliar, wie macht Ihr eigentlich DevOps?
Liebe Mobiliar, wie macht Ihr eigentlich DevOps?Liebe Mobiliar, wie macht Ihr eigentlich DevOps?
Liebe Mobiliar, wie macht Ihr eigentlich DevOps?
 

Ähnlich wie Apex meets Docker

DOAG Webinar Oracle und Docker
DOAG Webinar Oracle und DockerDOAG Webinar Oracle und Docker
DOAG Webinar Oracle und DockerStefan Oehrli
 
WebLogic Server auf ODA: Erfahrungen aus einem Kundenprojekt
WebLogic Server auf ODA: Erfahrungen aus einem KundenprojektWebLogic Server auf ODA: Erfahrungen aus einem Kundenprojekt
WebLogic Server auf ODA: Erfahrungen aus einem KundenprojektOPITZ CONSULTING Deutschland
 
Docker und IBM Bluemix
Docker und IBM BluemixDocker und IBM Bluemix
Docker und IBM BluemixStephan Max
 
Boost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with DockerBoost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with DockerSteven Grzbielok
 
2014 borys neselovskyi_web_logic_server_auf_oda_praesentation
2014 borys neselovskyi_web_logic_server_auf_oda_praesentation2014 borys neselovskyi_web_logic_server_auf_oda_praesentation
2014 borys neselovskyi_web_logic_server_auf_oda_praesentationbneselov
 
WebLogic im Docker Container
WebLogic im Docker ContainerWebLogic im Docker Container
WebLogic im Docker ContainerAndreas Koop
 
docker.io @ CentOS 7 - Secure And Portable Containers Made Easy
docker.io @ CentOS 7 - Secure And Portable Containers Made Easydocker.io @ CentOS 7 - Secure And Portable Containers Made Easy
docker.io @ CentOS 7 - Secure And Portable Containers Made Easyinovex GmbH
 
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“OPEN KNOWLEDGE GmbH
 
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...gedoplan
 
Ausrollen von Multi-Tier-Applikationen mit Docker
Ausrollen von Multi-Tier-Applikationen mit DockerAusrollen von Multi-Tier-Applikationen mit Docker
Ausrollen von Multi-Tier-Applikationen mit DockerB1 Systems GmbH
 

Ähnlich wie Apex meets Docker (20)

Dockerize It - Mit apex in die amazon cloud
Dockerize It - Mit apex in die amazon cloudDockerize It - Mit apex in die amazon cloud
Dockerize It - Mit apex in die amazon cloud
 
DOAG Webinar Oracle und Docker
DOAG Webinar Oracle und DockerDOAG Webinar Oracle und Docker
DOAG Webinar Oracle und Docker
 
WebLogic Server auf ODA: Erfahrungen aus einem Kundenprojekt
WebLogic Server auf ODA: Erfahrungen aus einem KundenprojektWebLogic Server auf ODA: Erfahrungen aus einem Kundenprojekt
WebLogic Server auf ODA: Erfahrungen aus einem Kundenprojekt
 
Docker und IBM Bluemix
Docker und IBM BluemixDocker und IBM Bluemix
Docker und IBM Bluemix
 
Boost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with DockerBoost your APEX Deployment and Provisioning with Docker
Boost your APEX Deployment and Provisioning with Docker
 
OC|Webcast "Java heute" vom 28.09.2021
OC|Webcast "Java heute" vom 28.09.2021OC|Webcast "Java heute" vom 28.09.2021
OC|Webcast "Java heute" vom 28.09.2021
 
2014 borys neselovskyi_web_logic_server_auf_oda_praesentation
2014 borys neselovskyi_web_logic_server_auf_oda_praesentation2014 borys neselovskyi_web_logic_server_auf_oda_praesentation
2014 borys neselovskyi_web_logic_server_auf_oda_praesentation
 
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
 
WebLogic im Docker Container
WebLogic im Docker ContainerWebLogic im Docker Container
WebLogic im Docker Container
 
Oracle und Docker
Oracle und DockerOracle und Docker
Oracle und Docker
 
WebLogic im Docker Container
WebLogic im Docker ContainerWebLogic im Docker Container
WebLogic im Docker Container
 
Docker Workbench
Docker WorkbenchDocker Workbench
Docker Workbench
 
2020 oracle lizenznews
2020 oracle lizenznews2020 oracle lizenznews
2020 oracle lizenznews
 
docker.io @ CentOS 7 - Secure And Portable Containers Made Easy
docker.io @ CentOS 7 - Secure And Portable Containers Made Easydocker.io @ CentOS 7 - Secure And Portable Containers Made Easy
docker.io @ CentOS 7 - Secure And Portable Containers Made Easy
 
Was ist Docker?
Was ist Docker?Was ist Docker?
Was ist Docker?
 
OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021OC|Webcast "Java heute" vom 24.08.2021
OC|Webcast "Java heute" vom 24.08.2021
 
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
Auf geht‘s in die Cloud: „Das kann doch nicht so schwer sein!“
 
Einführung in Docker
Einführung in DockerEinführung in Docker
Einführung in Docker
 
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
Das Runde muss in das Eckige - Java-Anwendungen für Kubernetes entwickeln und...
 
Ausrollen von Multi-Tier-Applikationen mit Docker
Ausrollen von Multi-Tier-Applikationen mit DockerAusrollen von Multi-Tier-Applikationen mit Docker
Ausrollen von Multi-Tier-Applikationen mit Docker
 

Mehr von OPITZ CONSULTING Deutschland

Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"OPITZ CONSULTING Deutschland
 
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der PraxisOC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der PraxisOPITZ CONSULTING Deutschland
 
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und CloudOC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und CloudOPITZ CONSULTING Deutschland
 
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!OPITZ CONSULTING Deutschland
 
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...OPITZ CONSULTING Deutschland
 
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...OPITZ CONSULTING Deutschland
 
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?OPITZ CONSULTING Deutschland
 
OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring OPITZ CONSULTING Deutschland
 
Effiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud NutzungEffiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud NutzungOPITZ CONSULTING Deutschland
 
OC|Weekly Talk - Mitarbeiterführung in Zeiten von Social Distance
OC|Weekly Talk - Mitarbeiterführung in Zeiten von Social DistanceOC|Weekly Talk - Mitarbeiterführung in Zeiten von Social Distance
OC|Weekly Talk - Mitarbeiterführung in Zeiten von Social DistanceOPITZ CONSULTING Deutschland
 

Mehr von OPITZ CONSULTING Deutschland (20)

OC|Webcast: Grundlagen der Oracle Lizenzierung
OC|Webcast: Grundlagen der Oracle LizenzierungOC|Webcast: Grundlagen der Oracle Lizenzierung
OC|Webcast: Grundlagen der Oracle Lizenzierung
 
OC|Webcast "Daten wirklich nutzen"
OC|Webcast "Daten wirklich nutzen"OC|Webcast "Daten wirklich nutzen"
OC|Webcast "Daten wirklich nutzen"
 
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
Architecture Room Stuttgart - "Cloud-native ist nur ein Teil des Spiels!"
 
OC|Webcast "Willkommen in der Cloud!"
OC|Webcast "Willkommen in der Cloud!"OC|Webcast "Willkommen in der Cloud!"
OC|Webcast "Willkommen in der Cloud!"
 
OC|Webcast "Die neue Welt der Virtualisierung"
OC|Webcast "Die neue Welt der Virtualisierung"OC|Webcast "Die neue Welt der Virtualisierung"
OC|Webcast "Die neue Welt der Virtualisierung"
 
10 Thesen zur professionellen Softwareentwicklung
10 Thesen zur professionellen Softwareentwicklung10 Thesen zur professionellen Softwareentwicklung
10 Thesen zur professionellen Softwareentwicklung
 
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der PraxisOC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
OC|Webcast: Oracle Lizenzierung - Die größten Fallen in der Praxis
 
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und CloudOC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
OC|Webcast: Oracle Lizenzierung - Virtualisierung und Cloud
 
OC|Webcast: Grundlagen der Oracle-Lizenzierung
OC|Webcast: Grundlagen der Oracle-LizenzierungOC|Webcast: Grundlagen der Oracle-Lizenzierung
OC|Webcast: Grundlagen der Oracle-Lizenzierung
 
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
OC|Weekly Talk: Inspect’n’Adapt – Make Change come true!
 
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
OC|Webcast: Schnell und clever in die AWS Cloud – Migrationsszenarien und Han...
 
OC|Weekly Talk The Power of DevOps…
OC|Weekly Talk  The Power of DevOps…OC|Weekly Talk  The Power of DevOps…
OC|Weekly Talk The Power of DevOps…
 
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
OC|Weekly Talk: "Das müsste man mal digitalisieren" - Mit Low-Code schnell zu...
 
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
OC|Weekly Talk: Service Management – Was hat sich durch Corona geändert?
 
OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring OC|Weekly Talk - Digitales Coaching & Smart Sparring
OC|Weekly Talk - Digitales Coaching & Smart Sparring
 
OC|Weekly Talk - Beratung remote
OC|Weekly Talk - Beratung remoteOC|Weekly Talk - Beratung remote
OC|Weekly Talk - Beratung remote
 
Effiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud NutzungEffiziente Betriebsoptimierung durch Cloud Nutzung
Effiziente Betriebsoptimierung durch Cloud Nutzung
 
OC|Weekly Talk - Mitarbeiterführung in Zeiten von Social Distance
OC|Weekly Talk - Mitarbeiterführung in Zeiten von Social DistanceOC|Weekly Talk - Mitarbeiterführung in Zeiten von Social Distance
OC|Weekly Talk - Mitarbeiterführung in Zeiten von Social Distance
 
OC|Weekly Talk Remote Design Thinking
OC|Weekly Talk Remote Design ThinkingOC|Weekly Talk Remote Design Thinking
OC|Weekly Talk Remote Design Thinking
 
OC|Webcast Smart Innovation am 7. April 2020
OC|Webcast Smart Innovation am 7. April 2020OC|Webcast Smart Innovation am 7. April 2020
OC|Webcast Smart Innovation am 7. April 2020
 

Apex meets Docker

  • 1. © OPITZ CONSULTING 2017 Informationsklassifikation: Öffentlich  Überraschend mehr Möglichkeiten © OPITZ CONSULTING 2017 Benjamin Stein, Jan Winkels APEX meets Docker
  • 2. © OPITZ CONSULTING 2017 Informationsklassifikation: Öffentlich Seite 2 Inhalt 1 2 3 Docker… …meets APEX Versionierung und CI APEX meets Docker
  • 3. © OPITZ CONSULTING 2017 Informationsklassifikation: Öffentlich Seite 3 Docker  Was ist das?  Repositories, Images, Container  Dockerfile 1 APEX meets Docker
  • 4. © OPITZ CONSULTING 2017 Informationsklassifikation: ÖffentlichAPEX meets Docker Seite 4 Was ist Docker?  ermöglicht das Ausführen von Applikationen in Containern  Container  Sind eine minimalistische Virtuelle Maschine  Beinhalten nur die notwendigen Komponenten  können aufeinander aufbauen  Können miteinander verbunden werden Sind eine minimalistische Virtuelle Maschine Beinhalten nur die notwendigen Komponenten können aufeinander aufbauen Können miteinander verbunden werden
  • 5. © OPITZ CONSULTING 2017 Informationsklassifikation: ÖffentlichAPEX meets Docker Seite 5 Zitate  “Developers use Docker to eliminate ‘works on my machine’ problems when collaborating on code with co-workers.”  “Enterprises use Docker to build agile software delivery pipelines to ship new features faster, more securely and with confidence for both Linux, Windows Server, and Linux-on-mainframe apps.”  Quelle: https://www.docker.com/what-docker
  • 6. © OPITZ CONSULTING 2017 Informationsklassifikation: ÖffentlichAPEX meets Docker Seite 6 Repositories – Images – Container Repository 1 Image 1 Image 2 Image 3 Repository 2 Container 1 Container 2 Container 3 Container 4 Container 5 pull
  • 7. © OPITZ CONSULTING 2017 Informationsklassifikation: ÖffentlichAPEX meets Docker Seite 7 Repositories  Öffentlich  https://hub.docker.com/explore/  Auswahl von 100,000+ Images  Verknüpft mit GitHub  Privat / Lokal  Gleiche Funktionen, jedoch für interne Projekte  Images können direkt aus den Repositories geladen werden  docker pull nginx
  • 8. © OPITZ CONSULTING 2017 Informationsklassifikation: ÖffentlichAPEX meets Docker Seite 8 Dockerfile  Beschreibt, wie der Container aufgebaut werden soll  Beispiel:  Starte einen oraclelinux Container  Führe yum aus, um weitere pakete zu installieren  Lade Oracle XE in den Container  Führe das Installationsscript für Oracle XE aus  Speichere den Container in einem Image  Das Bauen kann länger dauern
  • 9. © OPITZ CONSULTING 2017 Informationsklassifikation: Öffentlich Seite 9 …meets APEX  Die Idee  Vor- und Nachteile  Demo 2 APEX meets Docker
  • 10. © OPITZ CONSULTING 2017 Informationsklassifikation: ÖffentlichAPEX meets Docker Seite 10 Die Idee  Ich habe eine Idee und brauche schnell einen frischen APEX Dummy  Ich möchte für verschiedene Projekte / Kunden separate APEX Instanzen erstellen  Ich möchte mehrere APEX Versionen (z.B. 5.0 + 5.1) parallel laufen lassen und vergleichen  Läuft meine 5.0 App in 5.1?  Ich spare Zeit
  • 11. © OPITZ CONSULTING 2017 Informationsklassifikation: ÖffentlichAPEX meets Docker Seite 11 Vorteile  Es gibt für fast alles einen Container  Sehr schnell einsatzfähig  Geringer Ressourcenverbrauch  Einfacher Austausch von Versionen  Container läuft in allen Umgebungen gleich  Einfache Persistierung  Container kann als Image archiviert werden
  • 12. © OPITZ CONSULTING 2017 Informationsklassifikation: ÖffentlichAPEX meets Docker Seite 12 Nachteile  Unter Windows läuft die DockerMachine in einer separaten VM  Hyper-V oder VirtualBox  Speicherintensiv
  • 13. © OPITZ CONSULTING 2017 Informationsklassifikation: ÖffentlichAPEX meets Docker Seite 13 Demo  Image laden  docker pull winkelsjan/apex5.1  Neuen Container starten:  docker run -it --name apex-51-doag -p 8080:8080 -p 1521:1521 winkelsjan/apex5.1:ords  Neuen Container als daemon starten:  docker run -d --name apex-51-doag -p 8080:8080 -p 1521:1521 winkelsjan/apex5.1:ords  Container stoppen  docker stop apex-51-doag  Container starten  docker start apex-51-doag
  • 14. © OPITZ CONSULTING 2017 Informationsklassifikation: Öffentlich Seite 14 Versionierung und CI  Es gibt ein Image  Exportieren von Anwendungen  Importieren von Anwendungen  Blog: http://apexormore.blogspot.de/2017/11/how-to- create-continuous-delivery.html 3 APEX meets Docker
  • 15. © OPITZ CONSULTING 2017 Informationsklassifikation: ÖffentlichAPEX meets Docker Seite 15 Es gibt ein Image  Image laden  docker pull winkelsjan/apex5.1:cd Variable Name Value DBHOST Hostname of your database DBNAME A name for the tnsnames.ora DBPORT Port of your database DBSID SID of your database SCHEMA Name of the source schema SCHEMAPW Password of the source schema WORKSPACE Name of your APEX workspace. Case Sensitive! APEXAPPID The ID of your APEX application APEXAPPNAME The name of your APEX application EXPORTPATH The Path under which the export files will be stored. Standard is /home/apple FULL_DEPLOY_MODE Schema creation mode
  • 16. © OPITZ CONSULTING 2017 Informationsklassifikation: ÖffentlichAPEX meets Docker Seite 16 Exportieren von Anwendungen  Container zum Exportieren der APEX Anwendung Export git push Ausführen eines Shell Skripts Manuell über Konsole oder Grafische Oberfläche
  • 17. © OPITZ CONSULTING 2017 Informationsklassifikation: ÖffentlichAPEX meets Docker Seite 17 Importieren von Anwendungen  Zweiter Container zum Importieren von APEX Anwendungen git pull Deploy Manuell über Konsole oder Grafische Oberfläche Ausführen eines Shell Skripts
  • 18. © OPITZ CONSULTING 2017 Informationsklassifikation: Öffentlich Seite 18 Fragen? APEX meets Docker
  • 19. © OPITZ CONSULTING 2017 Informationsklassifikation: Öffentlich  Überraschend mehr Möglichkeiten @OC_WIRE OPITZCONSULTING opitzconsultingWWW.OPITZ-CONSULTING.COM Kontakt Benjamin Stein Developer Benjamin.Stein@opitz-consulting.com +49 2261 6001-1173 Jan Winkels Developer Jan.winkels@opitz-consulting.com +49 2261 6001-1082 APEX meets Docker
  • 20. © OPITZ CONSULTING 2017 Informationsklassifikation: Öffentlich

Hinweis der Redaktion

  1. Was ist Docker überhaupt? Auf der Homepage von Docker findet man unter anderem die folgende Definition: <Punkt 1 vorlesen> Ok Cool! Bietet uns als APEX Entwicklern auch coole Möglichkeiten…
  2. Docker kann man im Grunde auf drei Grundbegriffe reduzieren: Repositories Images Container Die jeweils in einer 1:n Beziehung zueinander stehen. Weg erklären Repository zu Container und zurück Pull Run Tag/commit push