Ratpack On The Docks
RATPACK ON THE DOCKS
NOAM TENNE
https://flic.kr/p/eGM
1ya
$WHOAMIDeveloping on the JVM for the past 13 years
codefresh.io
Altogether standup guy
@NoamTenne
blog.10ne.org
CODEFRESHDOCKER ORIENTED CI/CD THAT GOES TO 11
CODEFRESHBuild your services as Docker images
(You don’t even need a Dockerfile to start with)
CODEFRESHInstantly launch your images
(Solo or part of a composition)
http
s://
yout
u.be
/kQ
FKtI6
gn9Y
CLIENT
SECRETARY
ABUSE
CLIENT
SECRETARY
ARGUMENTABUSE
CLIENTGroovy script
CLIENTGroovy 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
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
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
CONSULREGISTRATOR
RATPACK + GRADLE + CONSUL + DOCKER
ENVIRONMENT AGNOSTIC
RATPACK + GRADLE + CONSUL + DOCKER
ALMOST ZERO CONFIGURATION
RATPACK + GRADLE + CONSUL + DOCKER
TESTABILITY WIN