SlideShare a Scribd company logo
@dandreadis
Right size you services
with &
Dimitris Andreadis
Sr. Engineering Manager
Red Hat JBoss EAP / WildFly
@dandreadis
Once upon a time*
*http://dandreadis.blogspot.ch/2014/10/10-years-on-red-pill.html
@dandreadis
“WildFly:
the Swiss Army
Knife of Runtimes”
@dandreadis
Agenda
● WildFly Architecture
● Thinking Microservices
● WildFly Swarm
@dandreadis
WildFly* pre-History
*the server once called JBoss Application Server
@dandreadis
Kernel Taxonomy
● JBoss AS 2.x, 3.x, 4.x
– JMX MicroKernel
● JBoss AS 5.x, 6.x
– JBoss MicroContainer
● AS7.x, WildFly 8.x, 9.x, 10.x
– Modular Service Container
@dandreadis
Modular Service Container
● Small, lightweight and efficient (˜230 kb jar)
● Highly concurrent & scalable state machine
● Various start-up modes
– Active, Passive,
Lazy, Never
Concurrent Service ContainerConcurrent Service Container
Service ControllerService Controller
Service RegistryService Registry
Service BuilderService Builder
ServiceService DepsDeps ValueValue ListenersListeners InjectorsInjectors
@dandreadis
JBoss Modules
● WF_ROOT/jboss-modules.jar (365 kb)
– Highly Concurrent Classloading
– Fast O(1) dependency resolution
– See only the modules you import
– No need to break open the jars
java -jar jboss-modules.jar -mp <module-path> <module-spec>
module.xml
WildFly & WildFly Swarm
@dandreadis
WildFly Architecture
Java EE7 Full & Web
distribution (134 Mb)
standalone/
configuration/
configuration.xml
Servlet-Only
distribution (28 Mb)
standalone/
configuration/
configuration.xml
WildFly & WildFly Swarm
@dandreadis
Out-of-the-box configurations
● standalone.xml – Web Profile++ (default)
– standalone-ha – with clustering
● standalone-full.xml – plus JMS/ActiveMQ, IIOP, JSR77
– standalone-full-ha – with clustering
● domain.xml – full-ha in domain management mode
– Plus load-balancer Profile
@dandreadis
Domain Mode
@dandreadis
Load Balancer Setup
● Fully managed end-to-end
Java-based solution
● WF/Undertow can serve as
– Static file server
– Reverse Proxy
@dandreadis
Next Gen Web Server – Undertow
● JBossWeb replacement
(fork of Tomcat)
● Scalable Async Core w.
Blocking/Non-Blocking APIs
● Handler/Composition
based Architecture
● Lightweight & fully
embeddable
● Servlet 3.1
● Latest Protocol Support
– HTTP/1.x / HTTPS / AJP
– HTTP/2 (Plain & TLS-ALPN)
– Web Sockets (JSR-356)
– Server Sent Events
@dandreadis
Undertow Performance
*source: techempower.com
@dandreadis
Port Reduction using HTTP Upgrade
Only 2 Ports Open by Default
● 8080 – HTTP for Applications
– Upgradable to JNDI, EJB, JMS
● 9990 – HTTP for Management (Console/JSON)
– Upgradable to Native Management API (CLI/JMX)
@dandreadis
Unified Configuration
@dandreadis
Let’s talk Microservices
@dandreadis
What are Microservices?
This slide intentionally left blank
Martin Fowler definition omitted
@dandreadis
What are Microservices?
● A bit like SOA (but smaller?)
● Written in any cool programming language
● By (smaller?) two-pizza teams
● Who break monoliths into (small?) services
● That encapsulate fully some (small?) vertical application aspect
● And run them independently in their own (smaller?) containers
● Using fully automated deployment machinery
● Did I say small?
@dandreadis
What Enabled Microservices?
● Elastic infrastructure, a.k.a the Cloud
● Linux Containers (Docker, Rocket, etc.)
● Orchestration Technologies (Kubernetes, Mesos, etc)
● Continuous Integration / Deployment
● The DevOps movement
Caused by the need for Internet Scale
@dandreadis
Simpler services but more complex environments
*source: wikibon.com/evolving-container-arhitectures
@dandreadis
A Word of Caution
● Every remote call will likely
be x100 slower than an
in-VM call
● You need to actively code
for failure when crossing
VMs
● Sharing state needs to be
well thought of (or avoided)
@dandreadis
A different view of Microservices
@dandreadis
Welcome to WildFly Swarm
@dandreadis
What is WildFly Swarm?
● WildFly Broken Apart
– Decompose and reconstruct WildFly
around your application
– With additional functionality outside Java EE
like NetflixOSS libraries, etc.
– Just enough app-server for your Microservice
packaged into an UberJar
● Part of the JBoss / Red Hat ecosystem
@dandreadis
Why WildFly Swarm?
● Leverage your Java EE expertise
● Build on mature technologies
and a scalable runtime
● Be part of the future of Java EE
and help shape it for the Cloud
Is portability and supportability a thing of the past?
@dandreadis
Rightsize your Runtime around your App
@dandreadis
Pick up the EE pieces you really need
@dandreadis
Plus a lot more components!
● Keycloak (SSO)
● Hystrix (Circuit Breaker)
● Ribbon (client side LB)
● Vert.x (reactive)
● Undertow (web server)
● Camel (integration)
● Hashicorp Consul (discovery)
● Swagger (service contracts)
● LogStash (log aggregation)
● and more...
@dandreadis
Self-contained (Uber) Jar
● bundles your application,
● the Fractions to support it,
● an internal Maven repository with
the dependencies,
● and Bootstrap code.
● There is also the notion of a
Hollow launch-pad type of jar.
@dandreadis
Fractions
● WildFly Swarm compositional units
● Focus on serving specific usecases
● Define dependencies to other Fractions
● Tie together
– Metadata
– WildFly subsystems
– MSC Services
– Modules
– Deployments
@dandreadis
Fractions layer on WildFly-Core and
● Enable WildFly subsystems (e.g. Infinispan)
● Integrate additional frameworks/services (e.g. Topology)
● Provide deployments (e.g. Swagger, Jolokia)
● Add API dependencies (e.g. JAX-RS)
● Alter deployments (e.g. SSO)
@dandreadis
Fractions (cont.)
● Expressed as Maven (GAV) coordinates:
– org.wildfly.swarm:<fraction>:<version>, e.g
– org.wildfly.swarm:undertow:2016.10.0
● 83 fractions currently available
– 48 stable
– 35 experimental
● About 50% wrap WildFly components
● More in the pipeline
@dandreadis
Where do I start?
http://wildfly-swarm.io/generator/
@dandreadis
@dandreadis
demo.zip (1kb)
├── pom.xml
└── src
└── main
└── java
└── com
└── example
└── demo
└── rest
└── HelloWorldEndpoint.java
@dandreadis
HelloWorldEndpoint.java
@dandreadis
How is WildFly Swarm enabled?
@dandreadis
Building / Running
● Build:
– mvn package
● Run:
– mvn wildfly-swarm:run
– java -jar demo-swarm.jar
– IDE > Run … MyMain
– IDE > Run o.w.s.Swarm
@dandreadis
@dandreadis
@dandreadis
demo-swarm.jar (9.3Mb)
...
_bootstrap/demo.war
m2repo/<fractions & modules jars>
modules/<bootstrap-modules.xml
<bootstrap-classes>
...
@dandreadis
Auto-detecting Fractions
● Absence of dependencies
triggers fractionDetectMode
● In this example JAXRS is
detected, leaving out Bean
Validation, CDI &
Transactions
● 4.3Mb jar
● 1330ms
boot time
@dandreadis
How Fractions are configured?
● Default configuration with sensible defaults
● System properties to override common settings
● standalone.xml or a fragment of it can override settings
● - or -
● Take control of main() and use the fluent Java API
– Covers all WildFly subsystems
– Generated from the WF configuration schema
@dandreadis
Taking control of main()
@dandreadis
Setup JDBC driver and Datasource
@dandreadis
Find out more…
wildfly-swarm.gitbooks.io/wildfly-swarm-users-guide/
@dandreadis
Who’s said Java EE
needs to be boring?
@dandreadis
Resources
● www.wildfly.org
● github.com/wildfly
● @wildflyAS
● wildfly.org/joinus
● wildfly-swarm.io
● github.com/wildfly-swarm
● @wildflyswarm
● irc: #wildfly-swarm
microprofile.io

More Related Content

PDF
WildFly AppServer - State of the Union
PDF
jboss.org-jboss.com
PDF
Turn you Java EE Monoliths into Microservices with WildFly Swarm
PDF
WildFly BOF and V9 update @ Devoxx 2014
PDF
Devoxx 2013, WildFly BOF
PDF
Introduction to Role Based Administration in WildFly 8
PDF
JBoss EAP / WildFly, State of the Union
PDF
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
WildFly AppServer - State of the Union
jboss.org-jboss.com
Turn you Java EE Monoliths into Microservices with WildFly Swarm
WildFly BOF and V9 update @ Devoxx 2014
Devoxx 2013, WildFly BOF
Introduction to Role Based Administration in WildFly 8
JBoss EAP / WildFly, State of the Union
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.

What's hot (18)

PPTX
WebLogic Administration course outline
ODP
SHARE 2014, Pittsburgh CICS and Liberty applications
PDF
Oracle WebLogic Diagnostics & Perfomance tuning
PDF
Weblogic 11g admin basic with screencast
DOCX
Instruction on creating a cluster on jboss eap environment
PDF
What's New in WildFly 9?
PPTX
Introduction to Wildfly 8 - Marchioni
PDF
Weblogic server administration
PDF
Conduct JBoss EAP 6 seminar
PDF
JBoss Enterprise Application Platform 6 Troubleshooting
PDF
WebLogic for DBAs
PPT
Weblogic configuration & administration
PPTX
WebSphere App Server vs JBoss vs WebLogic vs Tomcat
PDF
Lessons Learned from Real-World Deployments of Java EE 7 at JavaOne 2014
PDF
Learn Oracle WebLogic Server 12c Administration
PPTX
Jboss Tutorial Basics
PDF
Glassfish An Introduction
PPT
weblogic training | oracle weblogic online training | weblogic server course
WebLogic Administration course outline
SHARE 2014, Pittsburgh CICS and Liberty applications
Oracle WebLogic Diagnostics & Perfomance tuning
Weblogic 11g admin basic with screencast
Instruction on creating a cluster on jboss eap environment
What's New in WildFly 9?
Introduction to Wildfly 8 - Marchioni
Weblogic server administration
Conduct JBoss EAP 6 seminar
JBoss Enterprise Application Platform 6 Troubleshooting
WebLogic for DBAs
Weblogic configuration & administration
WebSphere App Server vs JBoss vs WebLogic vs Tomcat
Lessons Learned from Real-World Deployments of Java EE 7 at JavaOne 2014
Learn Oracle WebLogic Server 12c Administration
Jboss Tutorial Basics
Glassfish An Introduction
weblogic training | oracle weblogic online training | weblogic server course
Ad

Viewers also liked (15)

PDF
Wildfly 10
PDF
What's new in WildFly 8?
PPT
Introducción a Java EE
PDF
Inciando con AngularJS y JavaEE 7
PPTX
WAS vs JBoss, WebLogic, Tomcat (year 2015)
PPTX
Microservices Platforms - Which is Best?
PDF
Netflix Open Source Meetup Season 3 Episode 2
PDF
Netflix Open Source Meetup Season 4 Episode 1
PDF
NetflixOSS Meetup season 3 episode 1
PDF
NetflixOSS season 2 episode 2 - Reactive / Async
PDF
Netflix oss season 2 episode 1 - meetup Lightning talks
PDF
Netflix Open Source Meetup Season 4 Episode 2
PDF
20140708 - Jeremy Edberg: How Netflix Delivers Software
PDF
Netflix oss season 1 episode 3
PDF
Scala Warrior and type-safe front-end development with Scala.js
Wildfly 10
What's new in WildFly 8?
Introducción a Java EE
Inciando con AngularJS y JavaEE 7
WAS vs JBoss, WebLogic, Tomcat (year 2015)
Microservices Platforms - Which is Best?
Netflix Open Source Meetup Season 3 Episode 2
Netflix Open Source Meetup Season 4 Episode 1
NetflixOSS Meetup season 3 episode 1
NetflixOSS season 2 episode 2 - Reactive / Async
Netflix oss season 2 episode 1 - meetup Lightning talks
Netflix Open Source Meetup Season 4 Episode 2
20140708 - Jeremy Edberg: How Netflix Delivers Software
Netflix oss season 1 episode 3
Scala Warrior and type-safe front-end development with Scala.js
Ad

Similar to WildFly & WildFly Swarm (20)

PDF
Cassandra on Docker
PDF
DataStax: Dockerizing Cassandra on Modern Linux
PPTX
Nomad by HashiCorp Presentation (DevOps)
PPTX
Nomad by HashiCorp Presentation (DevOps)
PPTX
Building microservices with docker
PPTX
Microservices Architecture and Containers.
PDF
MyFaces Universe at ApacheCon
PDF
PaaS options for .NET
PDF
Inside Triton, July 2015
PDF
Rami Sayar - Node microservices with Docker
PDF
Containers: from development to production at DevNation 2015
DOCX
Windows server Interview question and answers
PPTX
Demystifying microservices for JavaEE developers by Steve Millidge.
PDF
Introduction to Docker Container
PPTX
Containerization - The DevOps Revolution
ODP
The journey to container adoption in enterprise
PDF
Techtalks: taking docker to production
PDF
JOSA TechTalk: Taking Docker to Production
PPTX
Accelerate your development with Docker
PDF
Accelerate your software development with Docker
Cassandra on Docker
DataStax: Dockerizing Cassandra on Modern Linux
Nomad by HashiCorp Presentation (DevOps)
Nomad by HashiCorp Presentation (DevOps)
Building microservices with docker
Microservices Architecture and Containers.
MyFaces Universe at ApacheCon
PaaS options for .NET
Inside Triton, July 2015
Rami Sayar - Node microservices with Docker
Containers: from development to production at DevNation 2015
Windows server Interview question and answers
Demystifying microservices for JavaEE developers by Steve Millidge.
Introduction to Docker Container
Containerization - The DevOps Revolution
The journey to container adoption in enterprise
Techtalks: taking docker to production
JOSA TechTalk: Taking Docker to Production
Accelerate your development with Docker
Accelerate your software development with Docker

Recently uploaded (20)

PDF
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
PPTX
assetexplorer- product-overview - presentation
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PPTX
Computer Software and OS of computer science of grade 11.pptx
PPTX
Transform Your Business with a Software ERP System
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
iTop VPN Free 5.6.0.5262 Crack latest version 2025
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Nekopoi APK 2025 free lastest update
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Autodesk AutoCAD Crack Free Download 2025
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
history of c programming in notes for students .pptx
PPTX
L1 - Introduction to python Backend.pptx
PDF
Complete Guide to Website Development in Malaysia for SMEs
PPTX
Patient Appointment Booking in Odoo with online payment
PPTX
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
PPTX
Monitoring Stack: Grafana, Loki & Promtail
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
assetexplorer- product-overview - presentation
CHAPTER 2 - PM Management and IT Context
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Computer Software and OS of computer science of grade 11.pptx
Transform Your Business with a Software ERP System
Internet Downloader Manager (IDM) Crack 6.42 Build 41
iTop VPN Free 5.6.0.5262 Crack latest version 2025
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Nekopoi APK 2025 free lastest update
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Autodesk AutoCAD Crack Free Download 2025
Navsoft: AI-Powered Business Solutions & Custom Software Development
history of c programming in notes for students .pptx
L1 - Introduction to python Backend.pptx
Complete Guide to Website Development in Malaysia for SMEs
Patient Appointment Booking in Odoo with online payment
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
Monitoring Stack: Grafana, Loki & Promtail
Wondershare Filmora 15 Crack With Activation Key [2025

WildFly & WildFly Swarm