Webinar

Cloud-native Java application development video series

Watch recording from 3 de Enero de 2019

Cloud-native Java application development video series

Cloud-native application development is an approach to building and running applications that takes full advantage of the cloud computing model and is based on 4 key tenets:

  1. A service-based architecture (miniservices, microservices, SOA services, etc.).
  2. An API-driven approach for inter-service communication.
  3. An underlying infrastructure that’s based on containers.
  4. DevOps processes.

Organizations around the globe rely and trust Java to run their production workloads and have been using it for over 20 years to successfully run their businesses. They’ve built up expertise, experience, and proficiency in enterprise Java.

This video series, "Cloud-native Java development with Adam Bien," explores best practices, lessons learned, and techniques to effectively use Java in a world of containers, microservices, APIs, hybrid cloud, and DevOps. 

 

AVAILABLE ON-DEMAND
 


Adam Bien

architect and developer, freelance

Adam Bien is a freelance architect and developer who has used Java™ since JDK 1.0, with Servlets/EJB since 1.0, and before the advent of J2EE in several large-scale applications. Adam has written several books about JavaFX, J2EE, and Java EE, and he's the author of Real World Java EE patterns—Rethinking Best Practices, and Real World Java EE Night Hacks—Dissecting the Business Tier. He is a Java Champion, NetBeans Dream Team founding member, Oracle ACE director, Java Developer of the Year 2010, and is a multiple-year JavaOne Rock Star, which recognizes speakers for their ability to inspire, inform, and entertain with their wit, knowledge, and technical virtuosity.

Microservices with WildFly/JBoss EAP application servers

Running microservices in containers

Scaling microservices with Adam Bien

In this part of the series, Adam introduces enterprise Java microservices using WildFly and Red Hat® JBoss® EAP, how to run them on Red Hat OpenShift® Container Platform, benefits of image layering, building images, scaling, liveliness, and inter-service

Microservices

Microservices

What is a microservice? How is it defined?

WildFly/EAP and microservices

WildFly/EAP and microservices

Microservices in the context of WildFly/JBoss EAP application servers, with Undertow as the embedded web server

What Is the application server overhead?

What Is the application server overhead?

Memory consumption using web profile, boot-up time, performance under load

Microservices in a container

Microservices in a container

Running microservices in a container

Container images

Container images

Benefits of image layering

LB and HA with containers

LB and HA with containers

Load balancing and high-availability in containers

Configuration with containers

Configuration with containers

Configuring microservice parameters and its drawbacks when using containers.

OpenShift and minishift

OpenShift and minishift

Introduction to OpenShift Container Platform and minishift

Image streams

Image streams

How to push image streams

Building an image using S2I from source

Building an image using S2I from source

Building a microservice from source

Building an image using S2I from binary

Building an image using S2I from binary

Building a microservice from binary

Applications and image streams

Applications and image streams

Creating an application from an image stream

Routes

Routes

Using routes to expose an application externally

Scaling microservices

Scaling microservices

Scaling pods up and down in OpenShift Container Platform

Environment variables

Environment variables

Setting microservices environment variables

Health checks

Health checks

Setting liveness and readiness probes

Inter service communication

Inter service communication

Service-to-service communication

In this part of the series, Adam covers fault tolerance concepts and constructs such as exception handling, timeouts, bulkheads, circuit breakers, synchronous and asynchronous fault tolerance, bulkheads outside the app server, and default values using con

Exception handling (JAX-RS)

Exception handling (JAX-RS)

How to handle exceptions in JAX-RS

Consumer-side timeouts

Consumer-side timeouts

Introduction to consumer-side timeouts

Exception handling (EJB)

Exception handling (EJB)

How to handle exceptions in EJBs

Provider-side timeouts

Provider-side timeouts

Introduction to provider-side timeouts

Provider-side bulkhead

Provider-side bulkhead

Introduction to provider-side bulkheads

Circuit breaker intro

Circuit breaker intro

Introduction to circuit breakers

Consumer-side timeout

Consumer-side timeout

Introduction to consumer-side timeouts

Going reactive on consumer-side

Going reactive on consumer-side

Introduction to consumer-side reactive programming

Asynchronous error handling

Asynchronous error handling

How to handle errors asynchronously

Asynchronous circuit breaking

Asynchronous circuit breaking

How to implement circuit breakers asynchronously

Bulkheads with reactive

Bulkheads with reactive

Bulkheads and reactive programming

Managed executor svc w/ WildFly

Managed executor svc w/ WildFly

Using managed executor service for bulkheads in WildFly

Configuring one bulkhead per client

Configuring one bulkhead per client

Configuring a single bulkhead per client

Bulkheads outside app server

Bulkheads outside app server

Using bulkheads outside WildFly

Configuring bulkheads

Configuring bulkheads

Configuring multiple bulkheads per application

Convention over configuration using default values

Convention over configuration using default values

How to use the “convention over configuration” approach for a microservice default values

In this part of the series, Adam goes over how to install, deploy, and run enterprise Java using OpenShift Container Platform. It also covers updating parameter values using deployment configurations and it ends with Adam’s best practices on designing ent

Installing WildFly on OpenShift

Installing WildFly on OpenShift

Installing the latest WildFly image stream on OpenShift Container Platform

Deploying microservices to OpenShift

Deploying microservices to OpenShift

How to deploy microservices to OpenShift Container Platform

Running microservices in OpenShift

Running microservices in OpenShift

How to run microservices in OpenShift Container Platform

Using deployment configurations

Using deployment configurations

Using deployment configurations for updating parameterized values in a microservice

Design guidance

Design guidance

Adam provides guidance on how he designs and organizes microservices