Rapid Application Development with Docker

54
Niklas Heidloff, IBM Bluemix Developer Advocate @nheidloff heidloff.net Rapid Application Development in the Cloud and On-Premises with Docker

Transcript of Rapid Application Development with Docker

Page 1: Rapid Application Development with Docker

Niklas Heidloff, IBM Bluemix Developer Advocate @nheidloff heidloff.net

Rapid Application Development in the Cloud and On-Premises with Docker !

Page 2: Rapid Application Development with Docker

Example: Minecraft!

Page 3: Rapid Application Development with Docker

Example: Minecraft!

Page 4: Rapid Application Development with Docker

Example: Minecraft!

Page 5: Rapid Application Development with Docker

Example: Minecraft!

Page 6: Rapid Application Development with Docker

Example: Minecraft!

Page 7: Rapid Application Development with Docker

Example: Minecraft!

Page 8: Rapid Application Development with Docker

Example: Minecraft!

Page 9: Rapid Application Development with Docker

Rapid Application Development!§  Need for speed and need for simplicity

§  New methodologies and technologies make the core coding fast and simple

Page 10: Rapid Application Development with Docker

Rapid Deployment ?!§  Coding is often rapid, but deployment is (mostly) not§  Issue: Different target platforms with different configurations

§  Expanded role of developers: Not only responsible to write code but responsible for full life cycle up to the testing in production environments§  Old developer excuse “it works on my machine” doesn’t count any

longer

Page 11: Rapid Application Development with Docker

DevOps!§  DevOps supports developers to automate testing and

deployments through delivery pipelines

§  But deployments can still be challenging§  Different types of applications§  Different target environments�

§  Containers to the Rescue

Page 12: Rapid Application Development with Docker

Containers vs. VMs!§  Lighter weight than VMs (virtual machines)

Page 13: Rapid Application Development with Docker

Enter Docker!§  Standardizes the packaging of applications and container

runtimes§  Write once run everywhere

Page 14: Rapid Application Development with Docker

Sample Servlet!

Page 15: Rapid Application Development with Docker

Dockerfile!

Page 16: Rapid Application Development with Docker

Build Image!

Page 17: Rapid Application Development with Docker

Run Container!

Page 18: Rapid Application Development with Docker

Sample Application!

Page 19: Rapid Application Development with Docker

Registries to share Images!§  Docker Hub

§  Public§  Private�

§  Docker Trusted Registry

Page 20: Rapid Application Development with Docker

Docker on IBM Bluemix!§  Bluemix is IBM’s application platform in the cloud based on

Cloud Foundry§  IBM extends and connects Docker containers to

production-ready enterprise environments§  IBM hosted private registry§  Run containers in local datacenters or in the cloud§  External IP addresses§  Integrated monitoring and logging§  Security readiness guidance via Vulnerability Advisor

Page 21: Rapid Application Development with Docker

Tag Image!

Page 22: Rapid Application Development with Docker

Push Image!

Page 23: Rapid Application Development with Docker

Push Image (cont.)!

Page 24: Rapid Application Development with Docker

Image Registry!

Page 25: Rapid Application Development with Docker

Run Container!

Page 26: Rapid Application Development with Docker

Running Container – Overview !

Page 27: Rapid Application Development with Docker

Sample Application!

Page 28: Rapid Application Development with Docker

Running Container – Instances !

Page 29: Rapid Application Development with Docker

Running Container – Monitoring !

Page 30: Rapid Application Development with Docker

Running Container – Logs !

Page 31: Rapid Application Development with Docker

Running Container – Advanced Logs !

Page 32: Rapid Application Development with Docker

Vulnerability Advisor!

Page 33: Rapid Application Development with Docker

Vulnerability Advisor (cont.)!

Page 34: Rapid Application Development with Docker

Automation via Delivery Pipelines!§  To simplify the process to build images and run containers,

delivery pipelines can be used §  Different deployment strategies can be used to deploy to

different target environments without downtimes

Page 35: Rapid Application Development with Docker

Java Code Modification!

Page 36: Rapid Application Development with Docker

Push Change!

Page 37: Rapid Application Development with Docker

Automatic Maven Build!

Page 38: Rapid Application Development with Docker

Automatic Docker Build!

Page 39: Rapid Application Development with Docker

Automatic Container Creation!

Page 40: Rapid Application Development with Docker

Completed Deployment!

Page 41: Rapid Application Development with Docker

Changed Application!

Page 42: Rapid Application Development with Docker

ToDo Sample Application!

Page 43: Rapid Application Development with Docker

Spring Boot Application!

Page 44: Rapid Application Development with Docker

REST Controller!

Page 45: Rapid Application Development with Docker

Mongo Repository!

Page 46: Rapid Application Development with Docker

Dockerfile!

Page 47: Rapid Application Development with Docker

MongoDB URI!

Page 48: Rapid Application Development with Docker

Docker Compose!

Page 49: Rapid Application Development with Docker

Bind Bluemix Service!

Page 50: Rapid Application Development with Docker

Hybrid Sample Application!

Page 51: Rapid Application Development with Docker

UrbanCode Build and Deploy!

Page 52: Rapid Application Development with Docker

IBM UrbanCode Build and Deploy!

Page 53: Rapid Application Development with Docker

Take-Aways!§  Docker containers allow the standardized packaging of

applications and easy deployments to different environments

§  Docker is currently the de-facto container standard and is evolving into the Open Container Initiative

§  IBM added enterprise capabilities for Docker images and containers

§  Try Docker in the cloud via the 30 days trial of Bluemix

Page 54: Rapid Application Development with Docker

Thank you!