JavaEE Microservices -the Payara Way

19
@croft #Devoxx #PayaraMicro #BadassFish Java EE Microservices: The Payara Way Mike Croft Payara `

Transcript of JavaEE Microservices -the Payara Way

Page 1: JavaEE Microservices -the Payara Way

@croft#Devoxx #PayaraMicro #BadassFish

Java EE Microservices:The Payara Way

Mike CroftPayara

`

Page 2: JavaEE Microservices -the Payara Way

@croft#Devoxx #PayaraMicro #BadassFish

Who am I?• Java Middleware Consultant• Payara support• @croft• Snowboarder

Page 3: JavaEE Microservices -the Payara Way

@croft#Devoxx #PayaraMicro #BadassFish

Who are you?• Developers?• Ops?• DevOps?• Everything…!?

Page 4: JavaEE Microservices -the Payara Way

@croft#Devoxx #PayaraMicro #BadassFish

What is this about?• Buzzwords?• Opinions?

• Tools-In-Action

Page 5: JavaEE Microservices -the Payara Way

@croft#Devoxx #PayaraMicro #BadassFish

What is Payara?• Payara is…• Built from GlassFish – Java EE RI• Entirely open source (CDDL), forever• Active• Released quarterly

• (snapshot builds also available)

Page 6: JavaEE Microservices -the Payara Way

@croft#Devoxx #PayaraMicro #BadassFish

What is Payara Micro?• Payara Micro is…• Micro! (~58MB)• Elastic• Fully embeddable (if you

want…)• Web Profile “plus”• On Maven Central

<dependency><groupId>fish.payara.extras</groupId><ArtifactId>payara-micro</artifactId><version>4.1.1.154</version><type>jar</type>

</dependency>

Page 7: JavaEE Microservices -the Payara Way

Demo

@croft#Devoxx #PayaraMicro #BadassFish

Page 8: JavaEE Microservices -the Payara Way

@croft#Devoxx #PayaraMicro #BadassFish

Demo Scenario• Fat JAR or skinny WAR?• RESTful API?• Data centre or cloud?

Page 9: JavaEE Microservices -the Payara Way

@croft#Devoxx #PayaraMicro #BadassFish

Demo Scenario• “Traditional” hosts

• Local deployments• AWS EC2 via Vagrant

• Containers

• Bonus: full-fat Java EE full profile cluster in Docker (if there’s time)

Page 10: JavaEE Microservices -the Payara Way

@croft#Devoxx #PayaraMicro #BadassFish

Demo• Start Payara Micro

• java -jar payara-micro.jar

• Start another!• …• java -jar payara-micro.jar --autoBindHttp

• What about actually running somethinguseful?

Page 11: JavaEE Microservices -the Payara Way

@croft#Devoxx #PayaraMicro #BadassFish

Demo• Payara REST JCache example

• https://github.com/payara/Payara-Examples/tree/master/rest-examples/rest-jcache

java -jar payara-micro.jar --autoBindHttp --deploy myApp.war

OR

java -jar payara-micro.jar --autoBindHttp --deploymentDir myApps/

Page 12: JavaEE Microservices -the Payara Way

@croft#Devoxx #PayaraMicro #BadassFish

Demo

Page 13: JavaEE Microservices -the Payara Way

@croft#Devoxx #PayaraMicro #BadassFish

Demo• PUT

Page 14: JavaEE Microservices -the Payara Way

@croft#Devoxx #PayaraMicro #BadassFish

Demo• GET

Page 15: JavaEE Microservices -the Payara Way

@croft#Devoxx #PayaraMicro #BadassFish

Demo• Payara Micro + AWS = Elastic cluster

• Vagrant AWS plugin• Vagrant ENV plugin

• Note: This is just a demo, the better way is to use a DevOps tool!

Page 16: JavaEE Microservices -the Payara Way

@croft#Devoxx #PayaraMicro #BadassFish

Demo• Docker

Page 17: JavaEE Microservices -the Payara Way

@croft#Devoxx #PayaraMicro #BadassFish

Demo• Docker

Page 18: JavaEE Microservices -the Payara Way

@croft#Devoxx #PayaraMicro #BadassFish

Demo

• Note: This is just a demo, the better way is to use some of the extensive tooling (e.g. etcd, kubernetes, docker swarm)

Page 19: JavaEE Microservices -the Payara Way

@croft#Devoxx #PayaraMicro #BadassFish

Questions?