Niklas Heidloff, IBM Bluemix Developer Advocate @nheidloff heidloff.net
Rapid Application Development in the Cloud and On-Premises with Docker !
Example: Minecraft!
Example: Minecraft!
Example: Minecraft!
Example: Minecraft!
Example: Minecraft!
Example: Minecraft!
Rapid Application Development!§ Need for speed and need for simplicity
§ New methodologies and technologies make the core coding fast and simple
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
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
Containers vs. VMs!§ Lighter weight than VMs (virtual machines)
Enter Docker!§ Standardizes the packaging of applications and container
runtimes§ Write once run everywhere
Sample Servlet!
Dockerfile!
Build Image!
Run Container!
Registries to share Images!§ Docker Hub
§ Public§ Private�
�
§ Docker Trusted Registry
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
Tag Image!
Push Image!
Push Image (cont.)!
Image Registry!
Run Container!
Running Container – Overview !
Running Container – Instances !
Running Container – Monitoring !
Running Container – Logs !
Running Container – Advanced Logs !
Vulnerability Advisor!
Vulnerability Advisor (cont.)!
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
Java Code Modification!
Push Change!
Deployment Pipeline!
Changed Application!
ToDo Sample Application!
Spring Boot Application!
REST Controller!
Mongo Repository!
Dockerfile!
MongoDB URI!
Docker Compose!
Bind Bluemix Service!
Hybrid Sample Application!
UrbanCode Build and Deploy!
IBM UrbanCode Build and Deploy!
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
Thank you!