Full-day workshop:

Cloud-native Java with MicroProfile, Kubernetes and Istio

Ever wondered what makes a cloud-native application “cloud-native”? Ever wondered what the unique challenges are and how best to address them on fully-open Java technologies? In this workshop, you’ll learn what it means to be cloud-native and how that impacts application development.

Why this workshop?

The world of cloud is becoming more part of a developers life but creating application the way we have in the past just does not fit into this new world.
In this workshop, you’ll learn what it means to be cloud-native and how that impacts application development. You’ll learn about Eclipse MicroProfile, an industry collaboration defining technologies for the development and management of cloud-native microservices. With a full set of MicroProfile workshop modules available to you, you’ll be able to start with the basics of REST services and progress to more advanced topics, or you can jump right in and develop secure, fault tolerant, configurable and monitorable microservices.
Once you’ve developed your microservice, you’ll learn how to package it in a Docker container and deploy it to a Kubernetes cluster. Finally, you’ll learn the role of a service mesh and use Istio to manage your microservice interactions.

What will you learn?

This workshop covers how to create java application that are ready for the cloud from the ground up in a microservice architecture:
·        REST
·        CDI
·        Consuming REST
·        Configuration
·        Fault Tollerance
·        Security
·        Documenting APIs
·        Metrics
·        Health Endpoints
·        Tracing
It also goes on to deployment of these java microservices:
·        Metrics in Kubernetes
·        Health in Kubernetes
·        Tracing
·        Configuration with Kubernetes
·        Managing traffic (Istio)
·        Deploying to the Cloud
·        Deploying to OpenShift

Who is the trainer?

Jamie Coleman is a software developer and Advocate for Open Liberty, MicroProfile and Kabanero based at IBM’s R&D Laboratory in Hursley, UK. He is a subject matter expert in containerised solutions and takes a keen interest in emerging technologies with experience in Maven, git, Jenkins and microservice architecture. He fell in love with Java at University and has gone on to talk at many conferences about using Java with microservices. He has worked on a wide variety of projects such as modernising CICS mainframe testing infrastructure, creating and automating the creation of Docker images for IBM’s products, contributing to a DevOps pipeline offering and creating web applications for events at the Lab. His recent passion is around raising awareness about energy consumption of technology and discovering ways to help reduce technologies carbon footprint.

Billy Dawson is a cloud software developer within the IBM Liberty Repository team, a DevOps engineer for WebSphere Application Server as a Service and the focal point for Voice Agent with Watson in the EU cloud. Located at the Hursley laboratory in the UK, Billy is experienced in developing microservice applications and has experience with Git, Maven, Gradle and Jenkins with an affinity for Java and Kubernetes.

Who is it for?

This workshop is for developers who want to learn about how to create java microservices that are built for the cloud. A basic understanding of Java is all that is needed here!

Technical requirements

You will need to bring your own laptop with the following pre-reqs installed:
1. A Java 8 JDK (e.g. https://adoptopenjdk.net/?variant=openjdk8&jvmVariant=openj9)
2.        Apache Maven 3.5.4 or later (https://maven.apache.org/). Older versions may not work.
3.        A git client
4.        An editor with Java support (e.g. Eclipse, VS Code, IntelliJ)
5.        Docker & Kubernetes:
i.        Windows: https://docs.docker.com/docker-for-windows/#kubernetes
ii.        Mac: https://docs.docker.com/docker-for-windows/#kubernetes
iii.        Linux: https://github.com/kubernetes/minikube#installation)
6.        Download latest stable Istio release (not a Pre-release): https://github.com/istio/istio/releases
7.        IBM CLI: https://cloud.ibm.com/docs/cli?topic=cloud-cli-install-ibmcloud-cli



Software Engineer and Advocate @IBM


Cloud software developer @IBM