Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Rapid Application Development with Docker


Published on

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

Niklas Heidloff

JavaLand 2016:

With the availability of new platform stacks and new tools, the coding of applications has become a lot easier over the last years. However a key problem of software development often still occurs which is the challenge of rapid deployments in different environments – development, testing and production and both on-premises and cloud. The typical developers’ excuse “it works for me” doesn’t count anymore. Instead today developers are responsible for the complete development cycle up to the deployment and testing in production environments. Fortunately Docker addresses this challenge and makes it very easy to deploy applications in different environments. This empowers developers and allows them to be really innovative by focussing on writing code to go from concept to production in minutes rather than months. In this session we are going to use the Cloud Foundry implementation IBM Bluemix to get applications deployed to the cloud by leveraging the power and portability of Docker containers. We’ll talk about everything from build pipelines, to private registries, container monitoring and more.

Published in: Software
  • Login to see the comments

  • Be the first to like this

Rapid Application Development with Docker

  1. 1. Niklas Heidloff, IBM Bluemix Developer Advocate @nheidloff Rapid Application Development in the Cloud and On-Premises with Docker !
  2. 2. Example: Minecraft!
  3. 3. Example: Minecraft!
  4. 4. Example: Minecraft!
  5. 5. Example: Minecraft!
  6. 6. Example: Minecraft!
  7. 7. Example: Minecraft!
  8. 8. Example: Minecraft!
  9. 9. Rapid Application Development! §  Need for speed and need for simplicity §  New methodologies and technologies make the core coding fast and simple
  10. 10. 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
  11. 11. 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
  12. 12. Containers vs. VMs! §  Lighter weight than VMs (virtual machines)
  13. 13. Enter Docker! §  Standardizes the packaging of applications and container runtimes §  Write once run everywhere
  14. 14. Sample Servlet!
  15. 15. Dockerfile!
  16. 16. Build Image!
  17. 17. Run Container!
  18. 18. Sample Application!
  19. 19. Registries to share Images! §  Docker Hub §  Public §  Private §  Docker Trusted Registry
  20. 20. 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
  21. 21. Tag Image!
  22. 22. Push Image!
  23. 23. Push Image (cont.)!
  24. 24. Image Registry!
  25. 25. Run Container!
  26. 26. Running Container – Overview !
  27. 27. Sample Application!
  28. 28. Running Container – Instances !
  29. 29. Running Container – Monitoring !
  30. 30. Running Container – Logs !
  31. 31. Running Container – Advanced Logs !
  32. 32. Vulnerability Advisor!
  33. 33. Vulnerability Advisor (cont.)!
  34. 34. 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
  35. 35. Java Code Modification!
  36. 36. Push Change!
  37. 37. Automatic Maven Build!
  38. 38. Automatic Docker Build!
  39. 39. Automatic Container Creation!
  40. 40. Completed Deployment!
  41. 41. Changed Application!
  42. 42. ToDo Sample Application!
  43. 43. Spring Boot Application!
  44. 44. REST Controller!
  45. 45. Mongo Repository!
  46. 46. Dockerfile!
  47. 47. MongoDB URI!
  48. 48. Docker Compose!
  49. 49. Bind Bluemix Service!
  50. 50. Hybrid Sample Application!
  51. 51. UrbanCode Build and Deploy!
  52. 52. IBM UrbanCode Build and Deploy!
  53. 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 added enterprise capabilities for Docker images and containers §  Try Docker in the cloud via the 30 days trial of Bluemix
  54. 54. Thank you!