Skip to content

Workshop: Get your Java Microservice up and running

This workshop demonstrates how to build a Microservice with Java and how to deploy it to Kubernetes on the IBM Cloud. The Microservice in this workshop is kept as simple as possible, so that it can be used as a starting point for other Microservices. The Microservice has been developed with Java EE and Eclipse MicroProfile.

What's a Microservice

There are small variations of microservice definitions out there, here is one definition of Gartner:

Architecture

In the gif below you see the Authors Microservice, which we will run locally in a Docker container. We will deploy this Authors Microservice to Kubernetes on IBM Cloud. The gif shows the steps of exercise 3 how we deploy that Microservice to IBM Cloud.

overview

Estimated time and level

Time Level
one hour beginners

Objectives

After you complete this workshop, you'll understand the following topics:

  • Java implementation of a Cloud Native RESTFul Java Microservice built on open technologies MicroProfile and OpenLiberty.
  • Describe how to effectively build and run a Microservice on a local machine in a container
  • Understands the steps needed to deploy a single Microservice to Kubernetes and on the IBM Cloud Kubernetes service

You can verify your learning in the Cloud Native Starter Badge - Level 1

Cloud Native Starter Badge - Level 1

To be prepared to pass the test of the Cloud Native Starter Badge - Level 1, you should run the hands-on workshop virtual or face to face, but you can also run the workshop as a self service.

About this workshop

The introductory page of the workshop is broken down into the following sections:

Agenda

These are the sections of this workshop, go through all of them in sequence, start with Setup local and IBM Cloud Environment:

  1. Setup local and IBM Cloud Environment
  2. Running the Java Microservice locally
  3. The Java implementation
  4. Deploy to the Kubernetes

Optional labs:

  1. Deploy to Code Engine

Compatibility

This workshop has been tested on the following platforms:

  • IBM Cloud Kubernetes Service: Kubernetes Version 1.17 on IBM Cloud
  • Docker desktop: Version 2.3.0.4

Technology Used

Credits

Additional resources

Here are some documentations of the project.