Upgrade to Pro — share decks privately, control downloads, hide ads and more …

From Docker Swarm on a Raspi to Oracle OCCS and Wercker: Oracle CODE 2017 Presentation in San Francisco and Mexico City

643cd45dcfa73b072018046e39ed36d1?s=47 Frank Munz
October 02, 2017

From Docker Swarm on a Raspi to Oracle OCCS and Wercker: Oracle CODE 2017 Presentation in San Francisco and Mexico City

Docker on Raspberry Pi with Swarm or Kubernetes? Oracle Container Cloud Service and Wercker.


Frank Munz

October 02, 2017

More Decks by Frank Munz

Other Decks in Technology


  1. munz & more Docker Live Hacking From Raspi to OCCS

    & Wercker Java One 2017 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
  3. 3 things about Docker

  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
  6. Docker Registry

  7. fancy a demo?

  8. Security

  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
  12. Oracle Options

  13. WebLogic in a Docker Container!

  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 ... https://github.com/oracle/docker-images
  17. http://www.oracle.com/us/pro ducts/middleware/cloud-app- foundation/weblogic/weblogic -server-on-docker-wp- 2742665.pdf Oracle Whitepaper WebLogic on Docker

  18. Orchestration / Cluster Manager

  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

  21. Welcome Mini J

  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 #30 https://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/

  33. Managed Enterprise Solution for running Docker?

  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
  36. fancy a demo?

  37. Dashboard

  38. Services munz & more #38

  39. Ressource Pools munz & more #39

  40. Service Editor

  41. Deployment Pulls Image munz & more #41

  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

  46. Wercker

  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
  48. https://app.wercker.com munz & more #48

  49. fancy a demo?

  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

  54. 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