developing microservices with wildfly swarm and deploying on openshift
TRANSCRIPT
October 4, 2016 | Jakarta
DEVELOPING MICROSERVICES
WITH WILDFLY SWARM AND
DEPLOYING ON OPENSHIFT
Eryan Ariobowo
Solutions Architect
Partner Technology Update3
AGENDA
• The Context: Microservices and Java EE
• WildFly Swarm: Concepts, Ideas & Mechanics
• Microservices on OpenShift
Partner Technology Update4
MONOLITH
Business Logic
CDI REST TX
Database
JPA
UI
HTMLDBLoad
Balancer
Partner Technology Update5
MONOLITH DISADVANTAGES
• Large and complex
• Difficult to maintain
• Obstacles to frequent deployments
• Makes adoption of new technologies difficult
Partner Technology Update6
MICROSERVICES
Service
DB
LoadBalancer
JAR
DB
DB
Service
JAR
Service
JAR
Service
JAR
Partner Technology Update7
MICROSERVICES ADVANTAGES
• Better alignment with organisation
• Starts faster, speeds up deployments
• Fault isolation
• Services can be scaled independently
• Local changes can be deployed easily
• Flexible choice of technology
Partner Technology Update8
WHAT ARE MICROSERVICES?
“…an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API.”
Martin Fowler
Partner Technology Update9
MONOLITH VS MICROSERVICES
Partner Technology Update10
PERCEPTIONS ON JAVA EE
Likes
• Robust and mature components
• Scalable, standards compliant, integrates well
Dislikes
• Monolith and heavyweight
Partner Technology Update11
MICROSERVICE REQUIREMENTS
• Transaction
• REST stack
• Persistence and connection pooling
• Async messaging
• Caching
• Authentication & authorisation
Typically providedby App Containers
Partner Technology Update12
WILDFLY SWARM
• OSS Project sponsored by Red Hat
• Sidekick of Wildfly Application Server
• Allows Java EE components to become independently deployable
services
• Build applications as fat jars
Partner Technology Update13
JUST ENOUGH APP SERVER
• Use the API’s you want
• Include the capabilities you
need
• Wrap it up for deployment
Partner Technology Update14
FRACTIONS
Partner Technology Update15
UBERJAR
• A single .jar file containing your application,
• the portions of WildFly required to support it,
• an internal Maven repository of dependencies,
• plus a shim to bootstrap it all
Partner Technology Update16
MICROSERVICE PREREQUISITES
• Automated deployment and testing
• Rapid provisioning
• Service discovery
• Monitoring
• Containers
• Load balancing
• Throttling
• Circuit breaker
PaaS
Partner Technology Update17
OPENSHIFT TO MANAGE MICROSERVICES
OPENSHIFT ENTERPRISE
RHEL ATOMIC HOST RHEL ATOMIC HOST RHEL ATOMIC HOST
MicroService
MicroService
MicroService
MicroService
MicroService
MicroService
MicroService
MicroService
MicroService
Partner Technology Update18
JBOSS MIDDLEWARE ON OPENSHIFT
OPENSHIFT ENTERPRISE
RHEL ATOMIC HOST RHEL ATOMIC HOST RHEL ATOMIC HOST
MicroService
MicroService
MicroService
MicroService
MicroService
MicroService
MicroService
MicroService
MicroService
KUBERNETES
Partner Technology Update19
CERTIFIED MICROSERVICES
IaaS
Container Host
Containers & Orchestration
xPaaS
PaaS
Applications
Partner Technology Update20
KEY TAKEAWAYS
• Java EE is not dead
• Wildfly Swarm creates Microservices applications with just the Java EE
components you need
• OpenShift PaaS complements a Microservices architecture
plus.google.com/+RedHat
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitter.com/RedHatNews
THANK YOU