Java gives us Write Once Run Anywhere (WORA) because of the common abstraction provided by Java Virtual Machine. The binary byte code produced by Java is understood by the JVM running on multiple operating systems. This allows Java code to run on any operating system. But deploying such applications typically requires to tune the JVM, setup application server, install appropriate database drivers, other similar configuration. Docker nicely complements WORA by defining a way to package Java applications, and include all the configuration in a an easy to describe format. This can be called as Package Once Deploy Anywhere, or PODA.
Do you want to learn more about how Docker helps with PODA?
How do you create multi-container applications using Docker Compose?
How do you deploy this multi-container application on multiple hosts running in a Docker Swarm cluster?
What new features Docker introduced in 1.9 release – particularly multi-host networking and persistent storage?
How do you deploy Docker containers using Kubernetes?
How does Kubernetes help with scaling applications?
How does Docker Swarm compare with Kubernetes?
I had the privilege of delivering a 3-hour university on Docker and Kubernetes followed by a 3-hour hands-on lab. The replay of the university session is now available:
Slides for the university are available at: github.com/javaee-samples/docker-java/tree/master/slides
The contents from the hands-on lab are available at bit.ly/dockerlab.
In addition, I also gave a 3-hour university on Refactor your Java EE Applications using Microservices and Containers. This session explained:
- Basic characteristics of Microservices
- Showed a simple shopping cart monolithic application, and how it was refactored to multiple microservices (github.com/arun-gupta/microservices)
- Talked about transactions, event sourcing and CQRS
- How KumuluzEE was used to create standalone JARs
- Explained how such microservices can be deployed using Docker
Slides from this session are available at: github.com/arun-gupta/microservices/tree/master/slides
Replay is available at:
The response on twitter was quite positive:
Almost packed room 20 mins before #Docker #Kubernetes workshop at #Devoxx pic.twitter.com/LVuK1cLuHR
— Arun Gupta (@arungupta) November 9, 2015
Top 3 talks so far, with lots of votes, Venkat Subramaniam. Talk about a super star speaker! #Devoxx
— Frédéric Donckels (@forgotten_pass) November 11, 2015
Enjoyed the 2 university days #Devoxx so far, specialy @venkat_s and @arungupta great talks
— Marc…Aurèle…ius (@marcaurele) November 10, 2015
@arungupta talks about microservices on #Devoxx – best talk so far👍👍👍
— Henrik Thorsted (@elbartdk) November 10, 2015
Full quote @arungupta: #Kubernetes can't exist w/o #Docker just like #Spring cannot w/o (parts of) #JavaEE. #Devoxx https://t.co/2LjBo2cZVI
— Vladimir Pavlov (@vladopavlov) November 9, 2015
#docker hands on lab very popular #devoxx @arungupta – checkout the material at https://t.co/u0dDI7AYUR pic.twitter.com/dEsBsYESI1
— Stijn Van den Enden (@stieno) November 9, 2015
Very good overview #docker #kubernetes at #devoxx @arungupta https://t.co/hNSbj9LDrJ
— Sascha (@sam6_de) November 9, 2015
sweet intro into Kubernetes by @arungupta and very useful session in general! #Devoxx #DevoxxBE pic.twitter.com/X8GR4PYZMz
— Vladimir Tsukur (@flushdia) November 9, 2015
@arungupta always the best!! pic.twitter.com/RMO4TWGpGy
— fiorenzo pizza (@fiorenzino) November 9, 2015
And in case you are interested, watch a quick interview with Voxxed team:
Enjoy!