Rapid Application Development in the Cloud and On-Premises with Docker
-
Upload
niklas-heidloff -
Category
Technology
-
view
3.177 -
download
1
Transcript of Rapid Application Development in the Cloud and On-Premises with Docker
Rapid Application Development!in the Cloud and On-Premises!
with Docker !
Niklas Heidloff, IBMBluemix Developer [email protected]
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
New Methodologies and new Technologies!§ New methodologies
§ Agile§ Design Thinking / Minimal Viable Product
§ New technologies§ Open Source§ StackOverflow§ Tools, platforms, languages
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)
graphics from docker.com
Enter Docker!§ Standardizes the packaging of applications and container
runtimes§ Write once run everywhere§ Package once deploy everywhere
Introduction to Docker!§ Enabling application development efficiency, �
making deployment more efficient, �eliminating vendor ‘lock-in’ with true portability
§ Open§ Software§ Contribution§ Design§ Governance
Docker Terminology!
§ Image
§ Container
§ Registry
§ Engine
Cloud On Prem
Demo!§ Simple Java web application on Liberty Profile§ Create image locally§ Run container locally
Sample Servlet!
Dockerfile!
Build Image!
Run Container!
Sample Application!
Same Sample on Tomcat!
Spring Boot Sample!
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
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
Demo!§ Push image to Bluemix§ Create container on Bluemix§ Monitor container
Tag Image!
Push Image!
Push Image (cont.)!
Image Registry!
Run Container!
Running Container – Overview !
Sample Application!
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
Demo!§ Automate deployments via delivery pipelines
Java Code Modification!
Push Change!
Automatic Maven Build!
Automatic Docker Build!
Automatic Container Creation!
Completed Deployment!
Changed Application!
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
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
Demo!§ Leverage Bluemix services
Docker to Cloud Foundry Bridge!
Bind Services!
Bind Services (cont.)!
Bound Service with Credentials!
Sample Application accessing Credentials!
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
Thank you!