Slide 1

Slide 1 text

munz & more Docker Live Hacking From Raspi to OCCS & Wercker Java One 2017 Dr. Frank Munz

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

3 things about Docker

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

Docker Registry

Slide 7

Slide 7 text

fancy a demo?

Slide 8

Slide 8 text

Security

Slide 9

Slide 9 text

$ docker run -d –p 8080:9999 fmunz/micro

Slide 10

Slide 10 text

vs.

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

Oracle Options

Slide 13

Slide 13 text

WebLogic in a Docker Container!

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

http://www.oracle.com/us/pro ducts/middleware/cloud-app- foundation/weblogic/weblogic -server-on-docker-wp- 2742665.pdf Oracle Whitepaper WebLogic on Docker

Slide 18

Slide 18 text

Orchestration / Cluster Manager

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

localhost is usually the wrong setting in a distributed system

Slide 21

Slide 21 text

Welcome Mini J

Slide 22

Slide 22 text

DIY Raspi Docker Cluster munz & more #22 Component Price Raspi 4x 38€ Micro SD 4x 11€ Power 28€ Wifi 22€ Case 30€ Wires 10€

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

Google Kubernetes munz & more #30 https://blog.docker.com/2016/03/swarmweek-docker-swarm-exceeds-kubernetes-scale/

Slide 31

Slide 31 text

Docker Containers in Kubernetes munz & more #31

Slide 32

Slide 32 text

Docker Swarm munz & more #32 https://blog.docker.com/2016/03/swarmweek-docker-swarm-exceeds-kubernetes-scale/

Slide 33

Slide 33 text

Managed Enterprise Solution for running Docker?

Slide 34

Slide 34 text

OCCS

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

fancy a demo?

Slide 37

Slide 37 text

Dashboard

Slide 38

Slide 38 text

Services munz & more #38

Slide 39

Slide 39 text

Ressource Pools munz & more #39

Slide 40

Slide 40 text

Service Editor

Slide 41

Slide 41 text

Deployment Pulls Image munz & more #41

Slide 42

Slide 42 text

Running Grafana in OCCS munz & more #42

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

Webcasts on Youtube munz & more #44 https://www.youtube.com/watch?v=YFWAUEjtTpk https://www.youtube.com/watch?v=aRj0WK6uids

Slide 45

Slide 45 text

How to create and deploy Docker images in an enterprise environment?

Slide 46

Slide 46 text

Wercker

Slide 47

Slide 47 text

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

Slide 48

Slide 48 text

https://app.wercker.com munz & more #48

Slide 49

Slide 49 text

fancy a demo?

Slide 50

Slide 50 text

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

Slide 51

Slide 51 text

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

Slide 52

Slide 52 text

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

Slide 53

Slide 53 text

Sign up for Free Trial http://cloud.oracle.com

Slide 54

Slide 54 text

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