More Related Content


More from Niklas Heidloff(20)


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

  1. Rapid Application Development! in the Cloud and On-Premises! with Docker ! Niklas Heidloff, IBM Bluemix Developer Advocate @nheidloff
  2. Rapid Application Development! §  Need for speed §  Deliver new apps in days rather than months §  Innovate via functional prototypes rather than UI sketches §  Need for simplicity §  Enable different types of developers including line of business developers to build valuable apps
  3. New Methodologies and new Technologies! §  New methodologies §  Agile §  Design Thinking / Minimal Viable Product §  New technologies §  Open Source §  StackOverflow §  Tools, platforms, languages
  4. 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
  5. 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
  6. Containers to the Rescue!
  7. Containers vs. VMs! §  Lighter weight than VMs (virtual machines) graphics from
  8. Enter Docker! §  Standardizes the packaging of applications and container runtimes §  Write once run everywhere §  Package once deploy everywhere
  9. Introduction to Docker! §  Enabling application development efficiency, making deployment more efficient, eliminating vendor ‘lock-in’ with true portability §  Open §  Software §  Contribution §  Design §  Governance
  10. Docker Terminology! §  Image §  Container §  Registry §  Engine Cloud On Prem
  11. Demo! §  Simple Java web application on Liberty Profile §  Create image locally §  Run container locally
  12. Sample Servlet!
  13. Dockerfile!
  14. Build Image!
  15. Run Container!
  16. Sample Application!
  17. Same Sample on Tomcat!
  18. Spring Boot Sample!
  19. Docker Maven Plugin! §  rhuss/docker-maven-plugin to build images and run containers §  mvn docker:build §  mvn docker:start §  mvn docker:stop §  mvn -Ddocker.removeAll docker:remove
  20. Registries to share Images! §  Docker Hub §  Public §  Private §  Docker Trusted Registry
  21. 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
  22. Demo! §  Push image to Bluemix §  Create container on Bluemix §  Monitor container
  23. Tag Image!
  24. Push Image!
  25. Push Image (cont.)!
  26. Image Registry!
  27. Run Container!
  28. Running Container – Overview !
  29. Sample Application!
  30. Running Container – Instances !
  31. Running Container – Monitoring !
  32. Running Container – Logs !
  33. Running Container – Advanced Logs !
  34. Vulnerability Advisor!
  35. Vulnerability Advisor (cont.)!
  36. 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
  37. Demo! §  Automate deployments via delivery pipelines
  38. Java Code Modification!
  39. Push Change!
  40. Automatic Maven Build!
  41. Automatic Docker Build!
  42. Automatic Container Creation!
  43. Completed Deployment!
  44. Changed Application!
  45. Bluemix Services for Docker Applications! §  Bluemix allows not only the hosting of Docker applications but also provides more than 100 services to build rapidly applications without having to set up infrastructure §  Services are provisioned when added to applications and can be accessed via REST APIs (plus other language bindings) with user specific credentials
  46. Bluemix Services! §  Databases §  Services to build web apps §  Cognitive services §  Backends for mobile apps §  Internet of Things §  Analytics and Big Data §  Access to on-prem services and data
  47. Demo! §  Leverage Bluemix services
  48. Docker to Cloud Foundry Bridge!
  49. Bind Services!
  50. Bind Services (cont.)!
  51. Bound Service with Credentials!
  52. Sample Application accessing Credentials!
  53. 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 adds enterprise capabilities for Docker images and containers §  Try Docker in the cloud via the 30 days trial of Bluemix
  54. Thank you!