Oracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCS

F
munz & more
Docker Live Hacking
From Raspi to OCCS & Wercker
Oracle CODE 2017 SFO Dr. Frank Munz
2
Dr. Frank Munz
• Founded munz & more in 2007
• 17 years Oracle Middleware,
Cloud, and Distributed Computing
• Consulting and
High-End Training
• Wrote two Oracle WLS and
one Cloud book
3 things about
Docker
Solves the “Worked For Me!” issue
munz & more #4
OS	tools,	JDK,	
patches,	database	
driver,	libs,	
appserver,	domain,	
deployment,	tools,	
scripts
Docker
OS	utils,	JDK,	patches,	database	driver,	libs,	
appserver,	domain,	deployment,	tools,	
scripts
Integration,
Performance,
Acceptance
Testing	
Production
dockerize it!
You can pass environment variables
for specific settings e.g. in prod
Docker Registry
Docker in the Cloud?
Supported by every major cloud provider:
munz & more #5
On premise -> all clouds
Docker
Registry
Docker	Container	Service
EC2	Container	Service
Google	Container	Engine
Azure	Container	Service
Bluemix Containers
Docker Registry
fancy a demo?
Security
$ docker run -d –p
8080:9999 fmunz/micro
vs.
A stranger gives you a box at night and asks
you to connect it to your company network:
Would you do it?
what should be your
biggest nightmare:
unknown and
unofficial images
10s of thousands
Oracle Options
WebLogic
in a Docker
Container!
Official Support
#14^
Oracle support
does not require
you to use the
provided Docker
files
Oracle	Product Official	Support
GlassFish
MySQL yes
NoSQL
OpenJDK
Oracle	Linux yes
OracleCoherence yes
OracleDatabase yes
OracleHTTPServer yes
OracleJDK yes
OracleTuxedo yes
OracleWebLogic yes
Oracle and Docker
Get Oracle images:
• Docker registry
• DIY: Dockerfile from Oracle github
To run Oracle Docker containers
• Build and deploy with Wercker
• Oracle Container Cloud Service
munz & more #15
https://github.com/oracle/docker-images
Just Drop Server JRE and WLS Installer
munz & more #16
$ cd java-8
$ docker build -t oracle/jdk:8 .
Sending build context to Docker daemon 4.096 kB
Step 1 : FROM oraclelinux:latest
latest: Pulling from library/oraclelinux
10ec637c060c: Downloading 4.865 MB/97.84 MB
...
$ sh buildDockerImage.sh -g -v 12.2.1.1
...
https://github.com/oracle/docker-images
http://www.oracle.com/us/pro
ducts/middleware/cloud-app-
foundation/weblogic/weblogic
-server-on-docker-wp-
2742665.pdf
Oracle Whitepaper
WebLogic	on	Docker
Orchestration /
Cluster Manager
Cluster Manager Options
On	Premise Cloud
Docker Swarm Docker	1.12 Docker	DC	(EE)
Kubernetes DIY Google			/	MS
Oracle Oracle Registry	
Oracle	Git
Oracle CCS
munz & more #19
localhost is usually the
wrong setting in a
distributed system
Welcome
Mini J
DIY Raspi Docker Cluster
munz & more #22
Component Price
Raspi 4x	38€
Micro	SD	 4x	11€
Power 28€
Wifi 22€
Case 30€
Wires 10€
Kubernetes (K8s)
• Kicked off by Google’s Borg
• Most active github project
• Orchestration for containers, e.g. Docker
• Declarative configuration
• Service discovery
• Rolling upgrades
munz & more #23
K8s
• YAML configuration
• Pod: Container(s) sharing IP, network, filesystem
– IP is ephemeral
– Uses Labels
• Replication Controller -> Replica Set
– Manages PODs (restarts replicas based on labels)
• Services
– Proxy for pod
– Permanent IP
munz & more #24
Docker Swarm
• Native Docker cluster with same API as
a single engine -> part of Docker
• Fast provisioning, about 500 msec
• Scheduling: spread, binpack, rand
• No insecure mode J
munz & more #25
Design Goals for Mini
• Hands-on Raspi experience
• Distributed Kubernetes setup
& Docker Swarm setup
• HA / failover / rolling updates
• Have a fun project
munz & more #26
Others have build
Raspi clusters as well
and a lot of credit
goes to them, e.g. to
Roland Huss, Alex Ellis
etc
Design Decisions for Mini
• Hypriot Linux
• 4 node cluster
• ARM based -> runs ARM Docker images
• Better I/O throughput due to separate WIFI chip
• Wifi router in hotspot mode
– Mac OS issue with NAT
• DIY: github
https://github.com/fmunz/raspicluster
munz & more #27
Paper bag Computer Raspberry Pi
• 1.2 GHz Quad Core ARM cortex-a53
• RAM: 1 GB LPDDR2 Speicher
• Dual Core VideoCore, 1920x1080
• Bluetooth
• 802.11 B/G WIFI
• Boots from micro SD card
• 38 €
munz & more #28
Kubernetes or Swarm?
• Swarm wasn’t impressive when released,
but this has changed
• Swarm is much easier to understand
and to operate
• Swarm covers a lot of what K8s does
• Swarm is tightly linked to Docker API
-> harder to replace Docker with e.g. Rocket
munz & more #29
Google Kubernetes
munz & more #30https://blog.docker.com/2016/03/swarmweek-docker-swarm-exceeds-kubernetes-scale/
Docker Containers in Kubernetes
munz & more #31
Docker Swarm
munz & more #32
https://blog.docker.com/2016/03/swarmweek-docker-swarm-exceeds-kubernetes-scale/
Managed Enterprise
Solution for running
Docker?
OCCS
OCCS
• Easy way to run Docker container in Oracle
cloud
• No need to install Docker, Kubernetes, buy
machines etc.
• Integrates with Docker hub and Oracle
Container registry
• Does not use Kubernetes or Docker Swarm
fancy a demo?
Dashboard
Services
munz & more #38
Ressource Pools
munz & more #39
Service Editor
Deployment Pulls Image
munz & more #41
Running Grafana in OCCS
munz & more #42
Grafana Example
• Grafana Docker image
• Runs on OCCS
• Measures Oracle Cloud DNS/ping from
worldwide locations
• Run it on OCCS without knowing much
about Docker or Grafana!
munz & more #43
Webcasts on Youtube
munz & more #44
https://www.youtube.com/watch?v=YFWAUEjtTpk https://www.youtube.com/watch?v=aRj0WK6uids
How to create and deploy
Docker images in an enterprise
environment?
Wercker
Wercker
• Recently acquired by Oracle
• Pipelines execute steps on code
– Pipelines == series of steps
– Execute inside Docker container
• Workflows == chained and branched pipelines
• Quickly provision ready to run infrastructure
– Push images to any registry
– Restart OCCS via webhooks
munz & more #47
https://app.wercker.com
munz & more #48
fancy a demo?
Predictions
• Swarm will take its share from Kubernetes.
• OCCS is an easy solution in OPC
• You will not dockerize 90% of your enterprise IT
in the next 24 months.
• Docker is like the new Linux.
Be ready to experience that feeling we had
with Linux 13 years ago J
• Docker is (sometimes) the new PaaS.
munz & more #50
TL;DR @docker #cloud
Docker is used in production /
cross cloud / just Docker
is not enough / #swarm is
the easier #k8s / not a
security risk / many products offered as
images / OCCS & Wercker saves you from
heavy lifting / Oracle caught the trend!
/ consider cloud services.
@frankmunz
3	Membership	Tiers
• Oracle	ACE	Director
• Oracle	ACE
• Oracle	ACE	Associate
bit.ly/OracleACEProgram
500+	Technical	Experts	
Helping	Peers	Globally
Connect:
Nominate	yourself	or	someone	you	know:	acenomination.oracle.com
@oracleace
Facebook.com/oracleaces
oracle-ace_ww@oracle.com
Sign up for Free Trial
http://cloud.oracle.com
www.munzandmore.com/blog
facebook.com/cloudcomputingbook
facebook.com/weblogicbook
@frankmunz
https://www.linkedin.com/in/
frankmunz/
youtube.com/weblogicbook
-> more than 50 web casts
Don’t be
shy J
1 of 54

More Related Content

Similar to Oracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCS(20)

DockerCon EU 2015 BarcelonaDockerCon EU 2015 Barcelona
DockerCon EU 2015 Barcelona
Roman Dembitsky1.5K views
Docker IntroductionDocker Introduction
Docker Introduction
Peng Xiao1.5K views
You, and Me, and Docker Makes ThreeYou, and Me, and Docker Makes Three
You, and Me, and Docker Makes Three
Christopher Grayson810 views
Using Docker in production: Get started today!Using Docker in production: Get started today!
Using Docker in production: Get started today!
Clarence Bakirtzidis339 views
Oracle WebLogic Server 12c with DockerOracle WebLogic Server 12c with Docker
Oracle WebLogic Server 12c with Docker
Guatemala User Group 2.1K views
Dockerize the WorldDockerize the World
Dockerize the World
damovsky753 views
Upping your NiFi Game with DockerUpping your NiFi Game with Docker
Upping your NiFi Game with Docker
Aldrin Piri2.2K views
A to Z of DockerA to Z of Docker
A to Z of Docker
Swapnil Jain313 views
Docker IntroductionDocker Introduction
Docker Introduction
Jeffrey Ellin631 views
Docker Containers Deep DiveDocker Containers Deep Dive
Docker Containers Deep Dive
Will Kinard1.1K views
Docker - Portable DeploymentDocker - Portable Deployment
Docker - Portable Deployment
javaonfly1.9K views
Webinar : Docker in ProductionWebinar : Docker in Production
Webinar : Docker in Production
Newt Global Consulting LLC245 views
Docker and MicroserviceDocker and Microservice
Docker and Microservice
Samuel Chow1.1K views

Oracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCS

  • 1. munz & more Docker Live Hacking From Raspi to OCCS & Wercker Oracle CODE 2017 SFO Dr. Frank Munz
  • 2. 2 Dr. Frank Munz • Founded munz & more in 2007 • 17 years Oracle Middleware, Cloud, and Distributed Computing • Consulting and High-End Training • Wrote two Oracle WLS and one Cloud book
  • 4. Solves the “Worked For Me!” issue munz & more #4 OS tools, JDK, patches, database driver, libs, appserver, domain, deployment, tools, scripts Docker OS utils, JDK, patches, database driver, libs, appserver, domain, deployment, tools, scripts Integration, Performance, Acceptance Testing Production dockerize it! You can pass environment variables for specific settings e.g. in prod Docker Registry
  • 5. Docker in the Cloud? Supported by every major cloud provider: munz & more #5 On premise -> all clouds Docker Registry Docker Container Service EC2 Container Service Google Container Engine Azure Container Service Bluemix Containers
  • 9. $ docker run -d –p 8080:9999 fmunz/micro
  • 10. vs.
  • 11. A stranger gives you a box at night and asks you to connect it to your company network: Would you do it? what should be your biggest nightmare: unknown and unofficial images 10s of thousands
  • 14. Official Support #14^ Oracle support does not require you to use the provided Docker files Oracle Product Official Support GlassFish MySQL yes NoSQL OpenJDK Oracle Linux yes OracleCoherence yes OracleDatabase yes OracleHTTPServer yes OracleJDK yes OracleTuxedo yes OracleWebLogic yes
  • 15. Oracle and Docker Get Oracle images: • Docker registry • DIY: Dockerfile from Oracle github To run Oracle Docker containers • Build and deploy with Wercker • Oracle Container Cloud Service munz & more #15 https://github.com/oracle/docker-images
  • 16. Just Drop Server JRE and WLS Installer munz & more #16 $ cd java-8 $ docker build -t oracle/jdk:8 . Sending build context to Docker daemon 4.096 kB Step 1 : FROM oraclelinux:latest latest: Pulling from library/oraclelinux 10ec637c060c: Downloading 4.865 MB/97.84 MB ... $ sh buildDockerImage.sh -g -v 12.2.1.1 ... https://github.com/oracle/docker-images
  • 19. Cluster Manager Options On Premise Cloud Docker Swarm Docker 1.12 Docker DC (EE) Kubernetes DIY Google / MS Oracle Oracle Registry Oracle Git Oracle CCS munz & more #19
  • 20. localhost is usually the wrong setting in a distributed system
  • 22. DIY Raspi Docker Cluster munz & more #22 Component Price Raspi 4x 38€ Micro SD 4x 11€ Power 28€ Wifi 22€ Case 30€ Wires 10€
  • 23. Kubernetes (K8s) • Kicked off by Google’s Borg • Most active github project • Orchestration for containers, e.g. Docker • Declarative configuration • Service discovery • Rolling upgrades munz & more #23
  • 24. K8s • YAML configuration • Pod: Container(s) sharing IP, network, filesystem – IP is ephemeral – Uses Labels • Replication Controller -> Replica Set – Manages PODs (restarts replicas based on labels) • Services – Proxy for pod – Permanent IP munz & more #24
  • 25. Docker Swarm • Native Docker cluster with same API as a single engine -> part of Docker • Fast provisioning, about 500 msec • Scheduling: spread, binpack, rand • No insecure mode J munz & more #25
  • 26. Design Goals for Mini • Hands-on Raspi experience • Distributed Kubernetes setup & Docker Swarm setup • HA / failover / rolling updates • Have a fun project munz & more #26 Others have build Raspi clusters as well and a lot of credit goes to them, e.g. to Roland Huss, Alex Ellis etc
  • 27. Design Decisions for Mini • Hypriot Linux • 4 node cluster • ARM based -> runs ARM Docker images • Better I/O throughput due to separate WIFI chip • Wifi router in hotspot mode – Mac OS issue with NAT • DIY: github https://github.com/fmunz/raspicluster munz & more #27
  • 28. Paper bag Computer Raspberry Pi • 1.2 GHz Quad Core ARM cortex-a53 • RAM: 1 GB LPDDR2 Speicher • Dual Core VideoCore, 1920x1080 • Bluetooth • 802.11 B/G WIFI • Boots from micro SD card • 38 € munz & more #28
  • 29. Kubernetes or Swarm? • Swarm wasn’t impressive when released, but this has changed • Swarm is much easier to understand and to operate • Swarm covers a lot of what K8s does • Swarm is tightly linked to Docker API -> harder to replace Docker with e.g. Rocket munz & more #29
  • 30. Google Kubernetes munz & more #30https://blog.docker.com/2016/03/swarmweek-docker-swarm-exceeds-kubernetes-scale/
  • 31. Docker Containers in Kubernetes munz & more #31
  • 32. Docker Swarm munz & more #32 https://blog.docker.com/2016/03/swarmweek-docker-swarm-exceeds-kubernetes-scale/
  • 34. OCCS
  • 35. OCCS • Easy way to run Docker container in Oracle cloud • No need to install Docker, Kubernetes, buy machines etc. • Integrates with Docker hub and Oracle Container registry • Does not use Kubernetes or Docker Swarm
  • 42. Running Grafana in OCCS munz & more #42
  • 43. Grafana Example • Grafana Docker image • Runs on OCCS • Measures Oracle Cloud DNS/ping from worldwide locations • Run it on OCCS without knowing much about Docker or Grafana! munz & more #43
  • 44. Webcasts on Youtube munz & more #44 https://www.youtube.com/watch?v=YFWAUEjtTpk https://www.youtube.com/watch?v=aRj0WK6uids
  • 45. How to create and deploy Docker images in an enterprise environment?
  • 47. Wercker • Recently acquired by Oracle • Pipelines execute steps on code – Pipelines == series of steps – Execute inside Docker container • Workflows == chained and branched pipelines • Quickly provision ready to run infrastructure – Push images to any registry – Restart OCCS via webhooks munz & more #47
  • 50. Predictions • Swarm will take its share from Kubernetes. • OCCS is an easy solution in OPC • You will not dockerize 90% of your enterprise IT in the next 24 months. • Docker is like the new Linux. Be ready to experience that feeling we had with Linux 13 years ago J • Docker is (sometimes) the new PaaS. munz & more #50
  • 51. TL;DR @docker #cloud Docker is used in production / cross cloud / just Docker is not enough / #swarm is the easier #k8s / not a security risk / many products offered as images / OCCS & Wercker saves you from heavy lifting / Oracle caught the trend! / consider cloud services. @frankmunz
  • 52. 3 Membership Tiers • Oracle ACE Director • Oracle ACE • Oracle ACE Associate bit.ly/OracleACEProgram 500+ Technical Experts Helping Peers Globally Connect: Nominate yourself or someone you know: acenomination.oracle.com @oracleace Facebook.com/oracleaces oracle-ace_ww@oracle.com
  • 53. Sign up for Free Trial http://cloud.oracle.com