Coder Social home page Coder Social logo

doormat18 / refarch-cloudnative-kubernetes Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ibm-cloud-architecture/refarch-cloudnative-kubernetes

0.0 1.0 0.0 37.07 MB

Reference Implementation for Microservices based on Kubernetes and the IBM Container Service.

refarch-cloudnative-kubernetes's Introduction

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

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.

  • This OmniChannel application contains an AngularJS based web application. The diagram depicts it as a Browser.
  • The Web app invoke its own backend Microservices to fetch data, we call these components BFFs, following the Backend for Frontends pattern. The Web BFF is implemented using the Node.js Express Framework. These Microservices are packaged as Docker containers and managed by the Kubernetes cluster.
  • These BFFs invoke another layer of reusable Java Microservices. They run inside a Kubernetes cluster, for example the IBM Cloud Container Service or IBM Cloud Private, using Docker.
  • The Java Microservices retrieve their data from the following databases:
    • The Catalog service retrieves items from a searchable JSON datasource using ElasticSearch.
    • The Customer service stores and retrieves Customer data from a searchable JSON datasource using IBM Cloudant
    • The Inventory and Orders Services use separate instances of MySQL.

Implementation

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

            

References

refarch-cloudnative-kubernetes's People

Contributors

csantanapr avatar dshimo avatar hemankita avatar osowski avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.