Ratpack On The Docks
RATPACK ON THE
DOCKS
NOAM TENNE
https://flic.kr/p/eGM1ya
$WHOAMI
Developing on the JVM for the past 13 years
codefresh.io
Altogether standup guy
@NoamTenne
blog.10ne.org
CODEFRESH
DOCKER ORIENTED CI/CD THAT GOES TO 11
CODEFRESH
Build your services as Docker images
(You don’t even need a Dockerfile to start with)
CODEFRESH
Instantly launch your images
(Solo or part of a composition)
https://youtu.be/kQFKtI6gn9Y
CLIENT
CLIENT
SECRETARY
CLIENT
SECRETARY
ABUSE
CLIENT
SECRETARY
ARGUMENTABUSE
CLIENT
Groovy script
CLIENT
Groovy script
INJECT ROUTER URL
CLIENT
ROUTER
Groovy script
Ratpack:5050
INJECT ROUTER URL
INJECT NODE URLS
CLIENT
ROUTER
NODENODE
Groovy script
Ratpack:5050
Ratpack:5051 Ratpack:5052
INJECT ROUTER URL
INJECT NODE URLS
INJECT SIBLING URLSINJECT SIBLING URLS
RATPACK + GRADLE
RATPACK + GRADLE
ISSUES
RATPACK + GRADLE
JAVA PROCESS
MANAGEMENT
SUCKS
RATPACK + GRADLE
JAVA PROCESS
MANAGEMENT
SUCKS
RATPACK + GRADLE
ARBITRARY
ENVIRONMENT SETTINGS
“ HELL IS OTHER 

PEOPLE(’S ENVIRONMENTS) ”
Sartre and Noam
RATPACK + GRADLE
SERVICES
ARE CLOSELY
RELATED
HOP ON THE WHALE
DOCKER PRIMER
THE CONTAINER HOST
OPERATING SYSTEM
KERNEL
CONTAINER CONTAINER CONTAINER
DOCKER PRIMER
THE CONTAINERS
OPERATING SYSTEM LAYER
APPLICATION SERVER LAYER
APPLICATION LAYER
DOCKER PRIMER
THE CONTAINERS
APPLICATION LAYER APPLICATION LAYER
OPERATING SYSTEM LAYER
(SHARED)
APPLICATION SERVER
LAYER (SHARED)
DOCKER PRIMER
THE DAEMON
▸ Build images
▸ Create and run containers
▸ Push to online registries
▸ Manage the lot



▸ Has an excellent Gradle plugin
RATPACK + GRADLE + DOCKER
ENTER CONSUL
RATPACK + GRADLE + CONSUL + DOCKER
CLIENT
ROUTER
NODE
NODE
Groovy script
Ratpack:5050
Ratpack:5050
Ratpack:5050
CONSUL
REGISTRATOR
RATPACK + GRADLE + CONSUL + DOCKER
ENVIRONMENT
AGNOSTIC
RATPACK + GRADLE + CONSUL + DOCKER
ALMOST ZERO
CONFIGURATION
RATPACK + GRADLE + CONSUL + DOCKER
TESTABILITY WIN
QUESTIONS?
THANK YOU!

Ratpack On the Docks