openshift commons briefing a practical guide building ... · building cloud native applications...

16
Building Cloud Native Applications with WildFly Swarm and RHOAR A Practical Guide OpenShift Commons Briefing James Falkner Technical Marketing Manager Red Hat Middleware

Upload: phunghanh

Post on 26-Jul-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Building Cloud Native Applications with WildFly Swarm and RHOAR

A Practical GuideOpenShift Commons Briefing

James FalknerTechnical Marketing Manager

Red Hat Middleware

RELATED OPENSHIFT COMMONS BRIEFINGScommons.openshift.org/events.html

• #97 RHOAR Explained

• September 27, 2017 - John Clingan

• #96 Building Cloud Native Apps with Spring Boot and RHOAR

• September 21, 2017 - Thomas Qvarnstrom

• # 101 Monoliths to Microservices: A Journey

• October 18, 2017 - James Falkner

Modern, cloud-native application runtimes and a guided developer experience for organizations that are moving beyond 3-tier architectures and embracing cloud-native application development.

SUPPORTED MICROSERVICES RUNTIMES

Reactive

Eclipse Vert.x

MicroProfile

WildFly Swarm

Server-side JS

Node.js

Java EE

JBoss EAP

TESTED AND VERIFIED MICROSERVICES FRAMEWORKS

Spring Boot Netflix RibbonNetflix Hystrix

Java EE Web

Embedded Tomcat

Modern, Cloud-Native Application Runtimes and A Guided Developer Experience

LAUNCH

RHOAR Release Channels

maven.repository.redhat.com (MRRC)

Red Hat Container Catalog (RHCC)

Customer Support Portal (repo downloads)

RH supported artifacts (tomcat, hibernate, …)

developers.redhat.com/launch

● Accelerate the learning / evaluation experience

● Collection of cloud native examples

● Leverage the platform

● Runs entirely in OpenShift○ On Desktop or OpenShift Online

● Spring Boot, Vert.x, WildFly Swarm, Node.js

Cloud Native Samples in the Cloud

WILDFLY SWARM

My Svc

Java EE microservices● Leverage Java EE expertise● Open standard● Microservices focus● Optimized for OpenShift● Super lightweight● MicroProfile Implementation

My Svc

JAX-RS

$ java -jar my_microservice.jar

● A tangible unit providing a specific piece of functionality● Embodied in a maven artifact● To support the compositional aspect in WF Swarm● Provides the “runtime” capabilities● Means to add API dependencies (e.g. JAX-RS)● Means to configure the system

○ With reasonable defaults● Means to discover other components (topology)● Means to alter deployments (e.g. keycloak)● Can be auto-detected or explicitly declared

WildFly Swarm “pieces” - Fractions

Tooling● Maven & Gradle plugins● JBoss Forge add-on

○ IDE Extension for Eclipse/JBDS/IntelliJ IDEA/NetBeans to generate code/scaffolding

● SwarmTool○ Standalone jar that is used to wrap an existing JAR or WAR file in a -swarm.jar without requiring

any other tooling● Project Generator

○ Akin to start.spring.io○ wildfly-swarm.io/generator

forge$ project-new --named demo --stack JAVA_EE_7forge$ wildfly-swarm-setupforge$ wildfly-swarm-new-test --target-package org.example.rest --named HelloWorldEndpointTest

Tooling - Project Generator (wildfly-swarm.io/generator)

● Health Checks

● Externalized Config

● Client-side discovery / load balancing

● Circuit Breaking / Bulkheading

● Logging / Monitoring / Tracing / Metrics

● Secure deployments with Keycloak

● MicroProfile

● API Documentation

Cloud Native Support

● Defines open source Java microservices specifications● Industry Collaboration - Red Hat, IBM, Payara, Tomitribe, London Java Community,

SouJava, Oracle, Hazelcast, Fujitsu, SmartBear...● WildFly Swarm is Red Hat’s implementation● Minimum footprint for Enterprise Java cloud-native services (v1.3) :

JSON-P 1.0 Health Check 1.0

CDI 1.2 JAX-RS 2.0

JWT Propagation 1.0

Fault Tolerance 1.0 Metrics 1.0

Config 1.1 OpenTracing 1.0

OpenAPI 1.0

RestClient 1.0

New in 1.3:

WILDFLY SWARMDEMO

github.com/jamesfalkner/rhoar-examples

● It’s AWESOME● Built on WildFly● Keeps Java EE developers in the game● Path to Microservices / Microprofile

THANKS!More Info:

https://developers.redhat.com/rhoar