Home

Awesome

Cloud Native Java Microservices - Reference implementation based on Kubernetes

Table of Contents

Introduction

This project provides a reference implementation for running a Cloud Native Application which leverages the Java MicroProfile and Spring Boot technologies for its microservices. The target cloud environment for the application is a Kubernetes-based platform which might be Minikube / Docker Edge for development stages and IBM Cloud or IBM Cloud Private for production stages. Our project also supports Istio as our service mesh, with our guide here for further Istio details.

Architecture

<p align="center"> <img src="static/images/bluecompute_ce.png"> </p>

Application Overview

The application is a simple store front shopping application that displays a catalog of antique computing devices, where users can search and buy products. It has a Web interface, and it relies on BFF (Backend for Frontend) services to interact with the backend data.

There are several components of this architecture.

Implementation

This application has been implemented using two of the most popular technologies used for Java microservices development.

<p align="center"> <a href="https://github.com/ibm-cloud-architecture/refarch-cloudnative-kubernetes/tree/microprofile#cloud-native-development-with-microprofile-websphere-liberty-and-ibm-cloud-private"> <img src="static/images/microprofile_small.png"> </a> <a href="https://github.com/ibm-cloud-architecture/refarch-cloudnative-kubernetes/tree/spring#run-a-cloud-native-microservices-application-on-a-kubernetes-cluster"> <img src="static/images/spring_small.png"> </a> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </p>

References