SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
Boost your APEX
Deployment and
Provisioning with
Docker
Steven Grzbielok:
17.11.2016 | DOAG 2016
Im Überblick
Technologie-orientiert
Branchen-unabhängig
Hauptsitz
Ratingen
240
Beschäftigte
Gründungsjahr
1994
Niederlassung
Frankfurt am Main
Ausbildungs-
betrieb
Inhabergeführte
Aktiengesellschaft
Zertifizierter
Partner von
Oracle,
Microsoft
und SAP
3
About me
Steven Grzbielok
• 1994 geboren, lebt in Frankfurt am Main
• B. Sc. in Wirtschaftsinformatik
• APEX Berater bei der MT AG seit 2014
• Beschäftigt sich hauptsächlich mit UI-Design und Webentwicklung, aber auch
Grundlagen der Datenbankadministration und Virtualisierung
4
Agenda
1. Grundlagen
2. Pull & Run
3. Build
4. Compose
5. Erweiterte Docker Compose Szenarien
6. Docker Swarm
5
Einige Inhalte dieser Präsentation werden aktuell von Oracle
ausdrücklich nicht für Produktivumgebungen empfohlen und
erhalten daher keinen Oracle-Support.
Jedoch kann Docker eine Bereicherung für Entwicklungs- und
Testumgebungen sein und möglicherweise in Zukunft Oracle-
Support erhalten.
6
Fragen? Jederzeit Bescheid geben!
7
Was ist Virtualisierung?
Server
VM VM VM VM VM VM
8
Der Unterschied: Ein Kernel für mehrere virtuelle Systeme
Container
Virtuelle Maschinen Container
Hardware
(Host OS)
Virtualization Layer/Hypervisor
Gast
1
Gast
3
Gast
2
Hardware
Host OS
Container engine
Host OS‘s bins/libs
Cont
Cont
Cont
Cont
Cont
Container
Applications
Dependencies
9
Virtual Machines vs. Containers
Avi Miller – CON7461 Oracle Linux, Docker and Oracle Container Registry
VMs Containers
Updates • Configuration Managment
• Update der einzelnen Gold Images
nötig
• Veränderungen können schneller und oft in
Container eingebunden werden
• Rebuilt und deployment sind schneller
umsetzbar
Performance • Heavy-weight: Oft verlangsamt durch
mehrere Abstraktionsschichten
• Lightweight: Container ist lediglich ein
Prozess des OS
• 100% nativer Zugriff auf die physische
Hardware
Hardwarenutzung • Geringere Abstraktion schwer möglich • 100% der physischen Hardware
konsumierbar
• Bei Überbelastung des Hosts kann der
Container leicht verschoben werden
Image Erstellung • Automatisierung mit Tools wie Puppet
• Hohe Dateigröße
• Wie VM, jedoch auch deklarativ durch die
Nutzung von Dockerfiles möglich
10
Was ist Docker?
• Virtualisierungsplattform für Linux Container
• Host OS = Guest OS
• Kombiniert Namespaces und cgroups für mehr Sicherheit und
Skalierbarkeit
• Copy-on-write and union filesystems
• Anfangs nur Linux unterstützt, bald auch Windows Server 2016,
Windows 10 und Azure
Benefits
 Isolierung von Anwendungen und Abhängigkeiten
 Filesystem Layers verbessern die Wiederverwendbarkeit zwischen Containern
 Kosteneinsparungen im Gegensatz zu konventioneller Virtualisierung
 Bessere Hardwarenutzung
11
Benefits/Use Cases
Use Cases
 Anwendungsdeployment mit weniger Abhängigkeiten
 Entwicklungs- und Testumgebung
 Portabilität
12
Tausende offizielle Repositories und Community Repositories
Docker Hub
 Test/Entwicklungsumgebung  Up & Running in wenigen Minuten
 Persönliche Test und Entwicklungsumgebungen komfortabel verteilen
 Builds Teamweit verbreiten
 Optimierte Architektur für sicheres Deployment
13
Oracle und Docker – Wie passt das?
Docker Pull
• Download eines
fertigen Images
• Private oder
öffentliche
Repositories
• Single Container
Docker Build
• Umfangreichere
Konfiguration
mittels Dockerfile
• Einbezug lokaler
Binärdaten
möglich
Docker
Compose
• Multicontainer
Umgebungen
• Konfiguration
mittels
Composefile
14
Welche Möglichkeiten bietet Docker?
Single-Container Umgebung Multi-Container Umgebung
docker pull araczkowski/oracle-apex-ords
15
Docker Pull: ORDS 3.0.4, APEX 5.0.3 and Oracle XE 11g R2  8 Minuten
Hinweis: Die Nutzung dieses Images widerspricht der Lizenzvereinbarung von Oracle und
sollte deshalb vermieden werden. Dies ist lediglich eine Demonstration, wie einfach Docker
funktioniert.
Getting started
https://hub.docker.com/r/araczkowski/oracle-apex-ords/
docker run -d --name ora -p 49160:22 -p 8080:8080 -p 1521:1521
araczkowski/oracle-apex-ords
16
Docker Run  2 Minuten
Hinweis: Die Nutzung dieses Images widerspricht der Lizenzvereinbarung von Oracle und
sollte deshalb vermieden werden. Dies ist lediglich eine Demonstration, wie einfach Docker
funktioniert.
Getting started
 Über GitHub und nicht Docker Hub
 Auch kein Oracle Support…
 .., aber offizielle Software.
 Später über die Oracle Container Registry
17
Docker Build: Vorkonfiguriert und bereitgestellt von Oracle (Build Time ~ 23Minuten)
Offizielle Images von Oracle
https://blogs.oracle.com/developer/entry/creating_and_oracle_database_docker
18
Ein Beispiel mit Docker Compose
Modulare Architektur
DB
APEX
DB
Tomcat &
ORDS
Host OS‘s bins/libs
Container engine
Host OS
Hardware
19
Docker Compose
Multi-Container Umgebung selber bauen
version: '2'
services:
businessdb:
image: sath89/oracle-xe-11g
ports:
- "8081:8080"
- "1522:1521"
apexdb:
image: sath89/oracle-xe-11g
ports:
- "8082:8080"
- "1523:1521"
websrv:
image: tomcat
ports:
- "8888:8080"
Jenkins Master
Jenkins in Docker
Container
Commercially Supported
Docker Engine
Jenkins Slave
SSHD
Java Runtime
Commercially Supported
Docker Engine
Docker Trusted
Registry
Docker Trusted Registry
Compnents
Commercially Supported
Docker Engine
20
CI/CD
https://www.docker.com/sites/default/files/RA_CI%20with%20Docker_08.25.2015.pdf
21
CI/CD
https://www.docker.com/sites/default/files/RA_CI%20with%20Docker_08.25.2015.pdf
• Erweiterung mit GitHub
• Commit  Automatischer Start eines Jenkins
Jobs
 Spezieller Clustering-Modus der Docker Engine
 Orchestrisierungs-Umgebung
 Integriertes Load-Balancing und Service Discovery
 Dynamische Skalierung möglich
 “swap, plug, and play”
 Kompatibel mit Jenkins, Docker Compose…
22
Was ist Docker Swarm?
Cattle, not pets!
 Denkbar …
 …jedoch noch nicht implementiert.
 Load Balancing auf Server-Ebene durch Docker Swarm möglich
 Automatische Skalierung durch Docker Swarm
 Skript zum Hinzufügen von Nodes in den Real Application Cluster
23
Clustering mit Docker Swarm und RAC
Docker Swarm + RAC
 Schnell verfügbare Entwicklungsumgebung bereitstellen
 Keine Konflikte bei Abhängigkeiten oder fehlenden Packages
 Saubere und portable Entwicklungsumgebung
 „Leichtgewichtiger als VMs“
 Besonders für die Zusammenarbeit von APEX mit anderen Technologien und Anwendungen
geeignet
 Besonders geeignet für CI/CD Szenarien
 „Configure once, run many times“
 Isolation der kleinen Container
 Ergänzende Clusterarchitektur für das RAC
 Kostenreduktion und Performanceverbesserung möglich
24
Was kann Docker für APEX tun?
 Bei kleinen APEX Anwendungen
 Wenn Anwendungen keinerlei Abhängigkeiten besitzen und lediglich mit einem
Anwendungsexport deployt werden können
 Wenn alles lediglich in der Datenbank liegt
 Wenn die Vorteile von Pluggable Databases genutzt werden sollen
25
Wann wird Docker für APEX uninteressant?
Weitere Vorträge am 17.11.
Steven Grzbielok
Telefon: +49 2102 30961 – 0
steven.grzbielok@mt-ag.com
ROADSHOW
„VON FORMS NACH APEX“
24.01.2017 Hamburg
25.01.2017 Düsseldorf
26.01.2017 Frankfurt
27.01.2017 München
9.-11. Mai 2017
in Berlin
apex.doag.org
Bis 21. November 2016
Vortrag einreichen!
@sgrzbielok
xing.com/profile/
Steven_Grzbielok
linkedin.com/in/
sgrzbielok
mt-ag.com/blog/
about-these-things.com
Corporate blog:
Personal blog:

Mais conteúdo relacionado

Mais procurados

Collaboration Days 2011 - Damit die Tester schneller ran können.
Collaboration Days 2011 - Damit die Tester schneller ran können.Collaboration Days 2011 - Damit die Tester schneller ran können.
Collaboration Days 2011 - Damit die Tester schneller ran können.David Schneider
 
Dnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbookDnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbookUlrich Krause
 
ColdFusion im Enterprise Umfeld - Deep Dive
ColdFusion im Enterprise Umfeld - Deep DiveColdFusion im Enterprise Umfeld - Deep Dive
ColdFusion im Enterprise Umfeld - Deep DiveBokowsky + Laymann GmbH
 
SQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreiben
SQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreibenSQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreiben
SQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreibenJan Hentschel
 
Docker for Windows / Windows Container
Docker for Windows / Windows ContainerDocker for Windows / Windows Container
Docker for Windows / Windows ContainerThomas Wilhelm Wiefel
 
Dnug35 ak-dev.071111-basic
Dnug35 ak-dev.071111-basicDnug35 ak-dev.071111-basic
Dnug35 ak-dev.071111-basicUlrich Krause
 
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...LeanIX GmbH
 
Electron.NET: Cross-Platform Desktop Software mit ASP.NET Core
Electron.NET: Cross-Platform Desktop Software mit ASP.NET CoreElectron.NET: Cross-Platform Desktop Software mit ASP.NET Core
Electron.NET: Cross-Platform Desktop Software mit ASP.NET CoreGregor Biswanger
 
Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?
Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?
Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?punkt.de GmbH
 
May the forge be with you
May the forge be with youMay the forge be with you
May the forge be with youSandro Sonntag
 
Devops ohne root
Devops ohne rootDevops ohne root
Devops ohne rootcusy GmbH
 
Einstieg in das Windows Installer XML (WiX) ToolSet
Einstieg in das Windows Installer XML (WiX) ToolSetEinstieg in das Windows Installer XML (WiX) ToolSet
Einstieg in das Windows Installer XML (WiX) ToolSetRalf Abramowitsch
 
Jug nbg containerplattform dcos
Jug nbg containerplattform dcosJug nbg containerplattform dcos
Jug nbg containerplattform dcosRalf Ernst
 
Entwicklungsprozess und Arbeit mit Symfony2 in der fotocommunity GmbH
Entwicklungsprozess und Arbeit mit Symfony2 in der fotocommunity GmbHEntwicklungsprozess und Arbeit mit Symfony2 in der fotocommunity GmbH
Entwicklungsprozess und Arbeit mit Symfony2 in der fotocommunity GmbHstijink
 
Bernhard Wick - appserver.io - code.talks 2015
 Bernhard Wick - appserver.io - code.talks 2015 Bernhard Wick - appserver.io - code.talks 2015
Bernhard Wick - appserver.io - code.talks 2015AboutYouGmbH
 
Technische Gründe für schlechte Entwicklungsperformance
Technische Gründe für schlechte EntwicklungsperformanceTechnische Gründe für schlechte Entwicklungsperformance
Technische Gründe für schlechte EntwicklungsperformanceOPEN KNOWLEDGE GmbH
 
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...Gregor Biswanger
 

Mais procurados (20)

Collaboration Days 2011 - Damit die Tester schneller ran können.
Collaboration Days 2011 - Damit die Tester schneller ran können.Collaboration Days 2011 - Damit die Tester schneller ran können.
Collaboration Days 2011 - Damit die Tester schneller ran können.
 
Dnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbookDnug35 ak-dev.071111-cookbook
Dnug35 ak-dev.071111-cookbook
 
ColdFusion im Enterprise Umfeld - Deep Dive
ColdFusion im Enterprise Umfeld - Deep DiveColdFusion im Enterprise Umfeld - Deep Dive
ColdFusion im Enterprise Umfeld - Deep Dive
 
SQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreiben
SQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreibenSQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreiben
SQL Server auf Infrastructure-as-a-Services (IaaS) in der Cloud betreiben
 
Docker for Windows / Windows Container
Docker for Windows / Windows ContainerDocker for Windows / Windows Container
Docker for Windows / Windows Container
 
Dnug35 ak-dev.071111-basic
Dnug35 ak-dev.071111-basicDnug35 ak-dev.071111-basic
Dnug35 ak-dev.071111-basic
 
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
CodeTalks Vortrag: Automatisierung mit Ansible & Jenkins @ LeanIX Enterprise ...
 
Electron.NET: Cross-Platform Desktop Software mit ASP.NET Core
Electron.NET: Cross-Platform Desktop Software mit ASP.NET CoreElectron.NET: Cross-Platform Desktop Software mit ASP.NET Core
Electron.NET: Cross-Platform Desktop Software mit ASP.NET Core
 
Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?
Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?
Punkt.de – Layout-Testing: was geht, was bringt´s, wer braucht´s?
 
May the forge be with you
May the forge be with youMay the forge be with you
May the forge be with you
 
Devops ohne root
Devops ohne rootDevops ohne root
Devops ohne root
 
Ant Maven
Ant MavenAnt Maven
Ant Maven
 
Ec13 xpages-basic
Ec13 xpages-basicEc13 xpages-basic
Ec13 xpages-basic
 
Ant im Detail
Ant im DetailAnt im Detail
Ant im Detail
 
Einstieg in das Windows Installer XML (WiX) ToolSet
Einstieg in das Windows Installer XML (WiX) ToolSetEinstieg in das Windows Installer XML (WiX) ToolSet
Einstieg in das Windows Installer XML (WiX) ToolSet
 
Jug nbg containerplattform dcos
Jug nbg containerplattform dcosJug nbg containerplattform dcos
Jug nbg containerplattform dcos
 
Entwicklungsprozess und Arbeit mit Symfony2 in der fotocommunity GmbH
Entwicklungsprozess und Arbeit mit Symfony2 in der fotocommunity GmbHEntwicklungsprozess und Arbeit mit Symfony2 in der fotocommunity GmbH
Entwicklungsprozess und Arbeit mit Symfony2 in der fotocommunity GmbH
 
Bernhard Wick - appserver.io - code.talks 2015
 Bernhard Wick - appserver.io - code.talks 2015 Bernhard Wick - appserver.io - code.talks 2015
Bernhard Wick - appserver.io - code.talks 2015
 
Technische Gründe für schlechte Entwicklungsperformance
Technische Gründe für schlechte EntwicklungsperformanceTechnische Gründe für schlechte Entwicklungsperformance
Technische Gründe für schlechte Entwicklungsperformance
 
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...
 

Destaque

Universal Theme vs. APEX mobile
Universal Theme vs. APEX mobileUniversal Theme vs. APEX mobile
Universal Theme vs. APEX mobileSteven Grzbielok
 
Schatten IT erfolgreich bekämpfen
Schatten IT erfolgreich bekämpfenSchatten IT erfolgreich bekämpfen
Schatten IT erfolgreich bekämpfenNiels de Bruijn
 
MT AG: Sesam oeffne Dich
MT AG: Sesam oeffne DichMT AG: Sesam oeffne Dich
MT AG: Sesam oeffne DichMT AG
 
APEX für den Oracle DBA
APEX für den Oracle DBAAPEX für den Oracle DBA
APEX für den Oracle DBANiels de Bruijn
 
MT AG: 7 gute Gründe warum Apex
MT AG: 7 gute Gründe warum ApexMT AG: 7 gute Gründe warum Apex
MT AG: 7 gute Gründe warum ApexMT AG
 
MT AG Präsentation Rapid Application Development mit APEX 5
MT AG Präsentation Rapid Application Development mit APEX 5MT AG Präsentation Rapid Application Development mit APEX 5
MT AG Präsentation Rapid Application Development mit APEX 5MT AG
 
Migrating from Oracle Enterprise Manager 10g to 12c Cloud Control
Migrating from Oracle Enterprise Manager 10g to 12c Cloud ControlMigrating from Oracle Enterprise Manager 10g to 12c Cloud Control
Migrating from Oracle Enterprise Manager 10g to 12c Cloud ControlLeighton Nelson
 
Migrating to Oracle Database 12c: 300 DBs in 300 days.
Migrating to Oracle Database 12c: 300 DBs in 300 days.Migrating to Oracle Database 12c: 300 DBs in 300 days.
Migrating to Oracle Database 12c: 300 DBs in 300 days.Ludovico Caldara
 
Data Governance Best Practices
Data Governance Best PracticesData Governance Best Practices
Data Governance Best PracticesBoris Otto
 

Destaque (10)

Universal Theme vs. APEX mobile
Universal Theme vs. APEX mobileUniversal Theme vs. APEX mobile
Universal Theme vs. APEX mobile
 
Schatten IT erfolgreich bekämpfen
Schatten IT erfolgreich bekämpfenSchatten IT erfolgreich bekämpfen
Schatten IT erfolgreich bekämpfen
 
MT AG: Sesam oeffne Dich
MT AG: Sesam oeffne DichMT AG: Sesam oeffne Dich
MT AG: Sesam oeffne Dich
 
APEX für den Oracle DBA
APEX für den Oracle DBAAPEX für den Oracle DBA
APEX für den Oracle DBA
 
MT AG: 7 gute Gründe warum Apex
MT AG: 7 gute Gründe warum ApexMT AG: 7 gute Gründe warum Apex
MT AG: 7 gute Gründe warum Apex
 
MT AG Präsentation Rapid Application Development mit APEX 5
MT AG Präsentation Rapid Application Development mit APEX 5MT AG Präsentation Rapid Application Development mit APEX 5
MT AG Präsentation Rapid Application Development mit APEX 5
 
Migrating from Oracle Enterprise Manager 10g to 12c Cloud Control
Migrating from Oracle Enterprise Manager 10g to 12c Cloud ControlMigrating from Oracle Enterprise Manager 10g to 12c Cloud Control
Migrating from Oracle Enterprise Manager 10g to 12c Cloud Control
 
Migrating to Oracle Database 12c: 300 DBs in 300 days.
Migrating to Oracle Database 12c: 300 DBs in 300 days.Migrating to Oracle Database 12c: 300 DBs in 300 days.
Migrating to Oracle Database 12c: 300 DBs in 300 days.
 
APEX 5.0, und sonst?
APEX 5.0, und sonst?APEX 5.0, und sonst?
APEX 5.0, und sonst?
 
Data Governance Best Practices
Data Governance Best PracticesData Governance Best Practices
Data Governance Best Practices
 

Semelhante a Boost your APEX Deployment and Provisioning with Docker

Desktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application VirtualizationDesktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application VirtualizationGWAVA
 
DOAG Webinar Oracle und Docker
DOAG Webinar Oracle und DockerDOAG Webinar Oracle und Docker
DOAG Webinar Oracle und DockerStefan Oehrli
 
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...Marc Müller
 
skilllocation Foliensatz zu Microsoft Azure
skilllocation Foliensatz zu Microsoft Azureskilllocation Foliensatz zu Microsoft Azure
skilllocation Foliensatz zu Microsoft AzureCarola Pantenburg
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsQAware GmbH
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsJosef Adersberger
 
Docker und IBM Bluemix
Docker und IBM BluemixDocker und IBM Bluemix
Docker und IBM BluemixStephan Max
 
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbHDocker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbHagilemethoden
 
Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenOPITZ CONSULTING Deutschland
 
Umzug in die Cloud - flexible, dynamische Websites und Digital Marketing am B...
Umzug in die Cloud - flexible, dynamische Websites und Digital Marketing am B...Umzug in die Cloud - flexible, dynamische Websites und Digital Marketing am B...
Umzug in die Cloud - flexible, dynamische Websites und Digital Marketing am B...comspace GmbH & Co. KG
 
Docker Einführung @GPN15
Docker Einführung @GPN15Docker Einführung @GPN15
Docker Einführung @GPN15m1no
 
WebLogic im Docker Container
WebLogic im Docker ContainerWebLogic im Docker Container
WebLogic im Docker ContainerAndreas Koop
 
stackconf 2020 | SecDevOps in der Cloud by Florian Wiethoff
stackconf 2020 | SecDevOps in der Cloud by Florian Wiethoffstackconf 2020 | SecDevOps in der Cloud by Florian Wiethoff
stackconf 2020 | SecDevOps in der Cloud by Florian WiethoffNETWAYS
 
Docker-Images mit vorinstallierter Instanz einer Oracle-DB
Docker-Images mit vorinstallierter Instanz einer Oracle-DBDocker-Images mit vorinstallierter Instanz einer Oracle-DB
Docker-Images mit vorinstallierter Instanz einer Oracle-DBPeter Ramm
 
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
 
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
 
Cloud Connectivity - Herausforderungen und Loesungen
Cloud Connectivity - Herausforderungen und LoesungenCloud Connectivity - Herausforderungen und Loesungen
Cloud Connectivity - Herausforderungen und LoesungenDaniel Steiger
 

Semelhante a Boost your APEX Deployment and Provisioning with Docker (20)

Desktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application VirtualizationDesktop Containers 12: Next Generation of ZENworks Application Virtualization
Desktop Containers 12: Next Generation of ZENworks Application Virtualization
 
DOAG Webinar Oracle und Docker
DOAG Webinar Oracle und DockerDOAG Webinar Oracle und Docker
DOAG Webinar Oracle und Docker
 
Oracle und Docker
Oracle und DockerOracle und Docker
Oracle und Docker
 
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
BASTA Spring 2016: Test- und Releaseumgebungen der nächsten Generation mit TF...
 
skilllocation Foliensatz zu Microsoft Azure
skilllocation Foliensatz zu Microsoft Azureskilllocation Foliensatz zu Microsoft Azure
skilllocation Foliensatz zu Microsoft Azure
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
 
Docker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-PatternsDocker und Kubernetes Patterns & Anti-Patterns
Docker und Kubernetes Patterns & Anti-Patterns
 
Docker und IBM Bluemix
Docker und IBM BluemixDocker und IBM Bluemix
Docker und IBM Bluemix
 
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbHDocker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
 
Vagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und ArchitektenVagrant, Puppet, Docker für Entwickler und Architekten
Vagrant, Puppet, Docker für Entwickler und Architekten
 
Umzug in die Cloud - flexible, dynamische Websites und Digital Marketing am B...
Umzug in die Cloud - flexible, dynamische Websites und Digital Marketing am B...Umzug in die Cloud - flexible, dynamische Websites und Digital Marketing am B...
Umzug in die Cloud - flexible, dynamische Websites und Digital Marketing am B...
 
Docker Einführung @GPN15
Docker Einführung @GPN15Docker Einführung @GPN15
Docker Einführung @GPN15
 
WebLogic im Docker Container
WebLogic im Docker ContainerWebLogic im Docker Container
WebLogic im Docker Container
 
WebLogic im Docker Container
WebLogic im Docker ContainerWebLogic im Docker Container
WebLogic im Docker Container
 
stackconf 2020 | SecDevOps in der Cloud by Florian Wiethoff
stackconf 2020 | SecDevOps in der Cloud by Florian Wiethoffstackconf 2020 | SecDevOps in der Cloud by Florian Wiethoff
stackconf 2020 | SecDevOps in der Cloud by Florian Wiethoff
 
Docker-Images mit vorinstallierter Instanz einer Oracle-DB
Docker-Images mit vorinstallierter Instanz einer Oracle-DBDocker-Images mit vorinstallierter Instanz einer Oracle-DB
Docker-Images mit vorinstallierter Instanz einer Oracle-DB
 
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
 
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
OC|Webcast: Oracle Lizenzierung - Lizenznews 2021
 
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...
 
Cloud Connectivity - Herausforderungen und Loesungen
Cloud Connectivity - Herausforderungen und LoesungenCloud Connectivity - Herausforderungen und Loesungen
Cloud Connectivity - Herausforderungen und Loesungen
 

Boost your APEX Deployment and Provisioning with Docker

  • 1. Boost your APEX Deployment and Provisioning with Docker Steven Grzbielok: 17.11.2016 | DOAG 2016
  • 2. Im Überblick Technologie-orientiert Branchen-unabhängig Hauptsitz Ratingen 240 Beschäftigte Gründungsjahr 1994 Niederlassung Frankfurt am Main Ausbildungs- betrieb Inhabergeführte Aktiengesellschaft Zertifizierter Partner von Oracle, Microsoft und SAP
  • 3. 3 About me Steven Grzbielok • 1994 geboren, lebt in Frankfurt am Main • B. Sc. in Wirtschaftsinformatik • APEX Berater bei der MT AG seit 2014 • Beschäftigt sich hauptsächlich mit UI-Design und Webentwicklung, aber auch Grundlagen der Datenbankadministration und Virtualisierung
  • 4. 4 Agenda 1. Grundlagen 2. Pull & Run 3. Build 4. Compose 5. Erweiterte Docker Compose Szenarien 6. Docker Swarm
  • 5. 5 Einige Inhalte dieser Präsentation werden aktuell von Oracle ausdrücklich nicht für Produktivumgebungen empfohlen und erhalten daher keinen Oracle-Support. Jedoch kann Docker eine Bereicherung für Entwicklungs- und Testumgebungen sein und möglicherweise in Zukunft Oracle- Support erhalten.
  • 8. 8 Der Unterschied: Ein Kernel für mehrere virtuelle Systeme Container Virtuelle Maschinen Container Hardware (Host OS) Virtualization Layer/Hypervisor Gast 1 Gast 3 Gast 2 Hardware Host OS Container engine Host OS‘s bins/libs Cont Cont Cont Cont Cont Container Applications Dependencies
  • 9. 9 Virtual Machines vs. Containers Avi Miller – CON7461 Oracle Linux, Docker and Oracle Container Registry VMs Containers Updates • Configuration Managment • Update der einzelnen Gold Images nötig • Veränderungen können schneller und oft in Container eingebunden werden • Rebuilt und deployment sind schneller umsetzbar Performance • Heavy-weight: Oft verlangsamt durch mehrere Abstraktionsschichten • Lightweight: Container ist lediglich ein Prozess des OS • 100% nativer Zugriff auf die physische Hardware Hardwarenutzung • Geringere Abstraktion schwer möglich • 100% der physischen Hardware konsumierbar • Bei Überbelastung des Hosts kann der Container leicht verschoben werden Image Erstellung • Automatisierung mit Tools wie Puppet • Hohe Dateigröße • Wie VM, jedoch auch deklarativ durch die Nutzung von Dockerfiles möglich
  • 10. 10 Was ist Docker? • Virtualisierungsplattform für Linux Container • Host OS = Guest OS • Kombiniert Namespaces und cgroups für mehr Sicherheit und Skalierbarkeit • Copy-on-write and union filesystems • Anfangs nur Linux unterstützt, bald auch Windows Server 2016, Windows 10 und Azure
  • 11. Benefits  Isolierung von Anwendungen und Abhängigkeiten  Filesystem Layers verbessern die Wiederverwendbarkeit zwischen Containern  Kosteneinsparungen im Gegensatz zu konventioneller Virtualisierung  Bessere Hardwarenutzung 11 Benefits/Use Cases Use Cases  Anwendungsdeployment mit weniger Abhängigkeiten  Entwicklungs- und Testumgebung  Portabilität
  • 12. 12 Tausende offizielle Repositories und Community Repositories Docker Hub
  • 13.  Test/Entwicklungsumgebung  Up & Running in wenigen Minuten  Persönliche Test und Entwicklungsumgebungen komfortabel verteilen  Builds Teamweit verbreiten  Optimierte Architektur für sicheres Deployment 13 Oracle und Docker – Wie passt das?
  • 14. Docker Pull • Download eines fertigen Images • Private oder öffentliche Repositories • Single Container Docker Build • Umfangreichere Konfiguration mittels Dockerfile • Einbezug lokaler Binärdaten möglich Docker Compose • Multicontainer Umgebungen • Konfiguration mittels Composefile 14 Welche Möglichkeiten bietet Docker? Single-Container Umgebung Multi-Container Umgebung
  • 15. docker pull araczkowski/oracle-apex-ords 15 Docker Pull: ORDS 3.0.4, APEX 5.0.3 and Oracle XE 11g R2  8 Minuten Hinweis: Die Nutzung dieses Images widerspricht der Lizenzvereinbarung von Oracle und sollte deshalb vermieden werden. Dies ist lediglich eine Demonstration, wie einfach Docker funktioniert. Getting started https://hub.docker.com/r/araczkowski/oracle-apex-ords/
  • 16. docker run -d --name ora -p 49160:22 -p 8080:8080 -p 1521:1521 araczkowski/oracle-apex-ords 16 Docker Run  2 Minuten Hinweis: Die Nutzung dieses Images widerspricht der Lizenzvereinbarung von Oracle und sollte deshalb vermieden werden. Dies ist lediglich eine Demonstration, wie einfach Docker funktioniert. Getting started
  • 17.  Über GitHub und nicht Docker Hub  Auch kein Oracle Support…  .., aber offizielle Software.  Später über die Oracle Container Registry 17 Docker Build: Vorkonfiguriert und bereitgestellt von Oracle (Build Time ~ 23Minuten) Offizielle Images von Oracle https://blogs.oracle.com/developer/entry/creating_and_oracle_database_docker
  • 18. 18 Ein Beispiel mit Docker Compose Modulare Architektur DB APEX DB Tomcat & ORDS Host OS‘s bins/libs Container engine Host OS Hardware
  • 19. 19 Docker Compose Multi-Container Umgebung selber bauen version: '2' services: businessdb: image: sath89/oracle-xe-11g ports: - "8081:8080" - "1522:1521" apexdb: image: sath89/oracle-xe-11g ports: - "8082:8080" - "1523:1521" websrv: image: tomcat ports: - "8888:8080"
  • 20. Jenkins Master Jenkins in Docker Container Commercially Supported Docker Engine Jenkins Slave SSHD Java Runtime Commercially Supported Docker Engine Docker Trusted Registry Docker Trusted Registry Compnents Commercially Supported Docker Engine 20 CI/CD https://www.docker.com/sites/default/files/RA_CI%20with%20Docker_08.25.2015.pdf
  • 22.  Spezieller Clustering-Modus der Docker Engine  Orchestrisierungs-Umgebung  Integriertes Load-Balancing und Service Discovery  Dynamische Skalierung möglich  “swap, plug, and play”  Kompatibel mit Jenkins, Docker Compose… 22 Was ist Docker Swarm? Cattle, not pets!
  • 23.  Denkbar …  …jedoch noch nicht implementiert.  Load Balancing auf Server-Ebene durch Docker Swarm möglich  Automatische Skalierung durch Docker Swarm  Skript zum Hinzufügen von Nodes in den Real Application Cluster 23 Clustering mit Docker Swarm und RAC Docker Swarm + RAC
  • 24.  Schnell verfügbare Entwicklungsumgebung bereitstellen  Keine Konflikte bei Abhängigkeiten oder fehlenden Packages  Saubere und portable Entwicklungsumgebung  „Leichtgewichtiger als VMs“  Besonders für die Zusammenarbeit von APEX mit anderen Technologien und Anwendungen geeignet  Besonders geeignet für CI/CD Szenarien  „Configure once, run many times“  Isolation der kleinen Container  Ergänzende Clusterarchitektur für das RAC  Kostenreduktion und Performanceverbesserung möglich 24 Was kann Docker für APEX tun?
  • 25.  Bei kleinen APEX Anwendungen  Wenn Anwendungen keinerlei Abhängigkeiten besitzen und lediglich mit einem Anwendungsexport deployt werden können  Wenn alles lediglich in der Datenbank liegt  Wenn die Vorteile von Pluggable Databases genutzt werden sollen 25 Wann wird Docker für APEX uninteressant?
  • 27. Steven Grzbielok Telefon: +49 2102 30961 – 0 steven.grzbielok@mt-ag.com ROADSHOW „VON FORMS NACH APEX“ 24.01.2017 Hamburg 25.01.2017 Düsseldorf 26.01.2017 Frankfurt 27.01.2017 München
  • 28. 9.-11. Mai 2017 in Berlin apex.doag.org Bis 21. November 2016 Vortrag einreichen!