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

Docker Ecosystem for Microservices

Docker Ecosystem for Microservices

**Docker Ecosystem for Microservices talk**

Here you can find my docker slide container decks from my docker and kubernetes microservice experiences :

- [MicroXgn Berlin 2016 - Docker Ecosystem for Microservices][1].
- open slidefire presentation container with `docker run -d -p 8000:80 rossbachp/kubernetes-orchestration:MicroXgn-2016`
- pdf [Docker Ecosystem for Microservices][2] is now avaiable!

Open slidefire presentation container with your browser `http :8000/kubernetes-orchestration`

Feedback welcome

[Peter Rossbach][3]

[1]: http://microxchg.io/2016/index.html
[2]: https://speakerdeck.com/rossbachp/docker-ecosystem-for-microservices
[3]: http://twitter.com/PRossbach

Peter Rossbach

February 04, 2016
Tweet

More Decks by Peter Rossbach

Other Decks in Programming

Transcript

  1. 3 / 56 © 2016 <[email protected]>, @PRossbach, MicroXgn Berlin 2016

    Make software faster available Produce higher quality Make your services globally available Improve your services with customer feedback Reduce your cost Automate all
  2. 7 / 56 © 2016 <[email protected]>, @PRossbach, MicroXgn Berlin 2016

    Docker works locally and in the cloud with the same binary with the same functionality with the same version with the same filesystem layout with the same dependencies but with different Linux kernels! This dream is now reality... => Infrastructur First
  3. 8 / 56 © 2016 <[email protected]>, @PRossbach, MicroXgn Berlin 2016

    Use Linux at bare metal, instead a virtual machine provider
  4. 10 / 56 © 2016 <[email protected]>, @PRossbach, MicroXgn Berlin 2016

    Docker Engine 1.10.x Docker Volumes- and Network-Manager Docker Toolbox 1.10.x Docker Machine 0.6 Docker Swarm 1.1 Docker Compose 1.6.x
  5. 12 / 56 © 2016 <[email protected]>, @PRossbach, MicroXgn Berlin 2016

    Resource and Container Management Volume Management Network Management Process Configuration Image Handling Monitoring Metrics Logging
  6. 13 / 56 © 2016 <[email protected]>, @PRossbach, MicroXgn Berlin 2016

    create docker machines provision with docker daemon and docker swarm plugable drivers
  7. 16 / 56 © 2016 <[email protected]>, @PRossbach, MicroXgn Berlin 2016

    https://github.com/docker/swarm Scheduling docker containers at multiple machines Maintain docker machine cluster Support multiple discovery services Support filtering, affinity and constraints Open API and first batteries included Master/Slave Cluster Support
  8. 19 / 56 © 2016 <[email protected]>, @PRossbach, MicroXgn Berlin 2016

    describe a reproduceable runtime config define service groups support swarm support docker network
  9. 20 / 56 © 2016 <[email protected]>, @PRossbach, MicroXgn Berlin 2016

    $ mvn clean package $ cat >docker-compose.yml <<EOF app: build: . tomcat: image: tomcat:8-jre8 ports: - "8080" volumes_from: - app links: - mysql mysql: image: mysql EOF $ docker-compose build $ docker-compose up -d $ docker-compose scale tomcat=2
  10. 21 / 56 © 2016 <[email protected]>, @PRossbach, MicroXgn Berlin 2016

    FROM java:8-jre MAINTAINER Peter Rossbach <[email protected]> ADD logback.xml /app/logback.xml ADD run.sh /app/run.sh ADD target/MyMircoService.jar /app/MyMircoService.jar RUN chmod +x /app/run.sh && mkdir -p /var/log/app WORKDIR /app VOLUME /var/log/logs CMD /app/run.sh EXPOSE 8080
  11. 22 / 56 © 2016 <[email protected]>, @PRossbach, MicroXgn Berlin 2016

    java -Xmx512m -Djava.security.egd=file:/dev/./urandom \ -Dlogging.config=/app/logback.xml -jar /app/MyMircoService.jar
  12. 23 / 56 © 2016 <[email protected]>, @PRossbach, MicroXgn Berlin 2016

    Store public and private Repositories Pre Build Images - Ready to run... Automatic Build Pipeline Web-Notification '>' 100 Trusted Repositories '>' 150.000 free Repositories '>' 250.000 Users '>' 500 Mio Pulls https://hub.docker.com Free registry project available On Premise Installation (Docker Trusted Registry, Artifactory) Other Registry Cloud Service (Goggle, AWS, Quay, Softlayer, ...)
  13. 25 / 56 © 2016 <[email protected]>, @PRossbach, MicroXgn Berlin 2016

    How I develop my µService? How I define my environment?
  14. 33 / 56 © 2016 <[email protected]>, @PRossbach, MicroXgn Berlin 2016

    apiVersion: v1 kind: ReplicationController metadata: labels: name: myservice name: myservice spec: replicas: 1 selector: name: myservice template: metadata: labels: name: myservice spec: ...
  15. 34 / 56 © 2016 <[email protected]>, @PRossbach, MicroXgn Berlin 2016

    ... containers: - name: myservice resources: limits: cpu: 0.1 env: - name: POD_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace image: docker-registry:5000/infrabricks/myservice imagePullPolicy: Always ports: - containerPort: 8080 name: http volumeMounts: - mountPath: /var/log/app name: logs livenessProbe: httpGet: path: /health port: 8080 initialDelaySeconds: 15 timeoutSeconds: 1 volumes: - name: logs emptyDir: {}
  16. 35 / 56 © 2016 <[email protected]>, @PRossbach, MicroXgn Berlin 2016

    apiVersion: v1 kind: Service metadata: labels: name: myservice group: frontend name: clipboards spec: ports: - port: 33110 targetPort: 8080 nodePort: 32110 selector: name: myservice type: NodePort
  17. 38 / 56 © 2016 <[email protected]>, @PRossbach, MicroXgn Berlin 2016

    https://github.com/rossbachp/kubernetes-standalone
  18. 41 / 56 © 2016 <[email protected]>, @PRossbach, MicroXgn Berlin 2016

    Create your own build pipeline Create a lot of tests Package your software well Deploy and maintain distributable Monitoring your services This are the hard things, as before!
  19. 47 / 56 © 2016 <[email protected]>, @PRossbach, MicroXgn Berlin 2016

    add metrics design for failure setup of multiple machines... handling your persistence states on classic infrastructure your developer need a prod like environment
  20. 48 / 56 © 2016 <[email protected]>, @PRossbach, MicroXgn Berlin 2016

    View the slides as a docker container $ docker run -d -p 8000:80 \ rossbachp/kubernetes-orchestration:MicroXgn-2016 $ open http://<docker host>:8000/kubernetes-orchestration Slides available at container and PDF :-) [email protected] @PRossbach Infrabricks Blog bee42
  21. 49 / 56 © 2016 <[email protected]>, @PRossbach, MicroXgn Berlin 2016

    Service benefit Lab: use my IT-brick knowledge to be faster informed Consulting: use my expertise to start smarter Training: let me help you to get a docker-brick expert Products: use my knowledge of the docker ecosystem [email protected]
  22. 50 / 56 © 2016 <[email protected]>, @PRossbach, MicroXgn Berlin 2016

    MicroXgn 4/5.2.2016 - Berlin DockerCamp 22-23.02 2016 - Munich JAX 18-22.04 2016 - Mainz DevOps JAX 27-29.04 2016 - London DevOps Conference 13-15.6 2016 - Berlin Find my training offerings at http://www.bee42.com/training/ http://devops-training.de/2015
  23. 55 / 56 © 2016 <[email protected]>, @PRossbach, MicroXgn Berlin 2016

    bee42 solutions gmbh starts the implementation of an Infrabricks line! Peter Rossbach DevOps, Docker-enthusiast and infra-coder with passion System architect Java Developer Apache Tomcat Committer Member of the Apache Software Foundation Founder of the bee42 solutions gmbh
  24. 56 / 56 © 2016 <[email protected]>, @PRossbach, MicroXgn Berlin 2016

    https://github.com/rossbachp/kubernetes-standalone https://kubernetes.io https://github.com/docker/swarm-frontends https://blog.docker.com/2014/12/dockercon-eu-keynote-on-orchestration/ http://de.slideshare.net/d0cent/orchestrating-docker-containersatscale https://github.com/docker/machine https://github.com/docker/swarm https://github.com/docker/docker/issues/9459 http://de.slideshare.net/Docker/docker-swarm-by-victor-vieux http://blog.docker.com/2014/12/announcing-docker-machine-swarm-and-compose-for- orchestrating-distributed-apps/ https://community.runabove.com/kb/en/instances/docker-in-5-minutes-on-runabove-with- docker-machine.html https://github.com/docker/machine/pull/73 http://blogs.vmware.com/cloudnative/docker-machine-deployment-vm-fusion-vsphere- vcloud-air/ https://github.com/cloudnativeapps/machine/releases/tag/vmw_tech_preview http://technolo-g.com/intro-to-docker-swarm-pt1-overview/ https://github.com/technolo-g/docker-swarm-demo http://technolo-g.com/intro-to-docker-swarm-pt2-config-options-requirements/