Storefront - Cloud Native Exemplar¶
Exemplar application for developers to understand the cloud native toolkit and use cases on Red Hat OpenShift.
Build and deploy a cloudnative reference implementation using Cloud native toolkit¶
This provides a working example of a Tekton based CICD pipeline to build and deploy a StoreFront. The Pipeline and Task resources available in Cloud Native Toolkit can be used to deploy different microservices that are part of this application.
|Active OpenShift 4.x Cluster|
|Set up accounts and tools||Instructions|
|Install the Cloud Native Toolkit||Install the Cloud Native Toolkit|
Deploy the StoreFront¶
Get started with deploying a simple retail application, Storefront using Cloud Native Toolkit. The Storefront application implements a simple shopping application that displays a catalog of antique computing devices. People can search for and buy products from the application’s web interface.
The logical architecture for this reference implementation is shown in the picture below.
This application has a web interface that relies on separate BFF (Backend for Frontend) services to interact with the backend data.
These are several components of this architecture.
- This OmniChannel application contains an AngularJS based web application.
- The Web app invokes its own backend Microservice to fetch data, we call this component BFFs following the Backend for Frontends pattern. The Web BFF is implemented using the Node.js Express Framework.
- The BFFs invokes another layer of reusable Java Microservices. The reusable microservices are written in Java using Quarkus framework.
- The Java Microservices are as follows:
- The Inventory Service uses an instance of MySQL to store the inventory items.
- The Catalog service retrieves items from a searchable JSON data source using ElasticSearch.
- Keycloak delegates authentication and authorization.
- The Customer service stores and retrieves Customer data from a searchable JSON data source using CouchDB.
- The Orders Service uses an instance of MariaDB to store order information.
Deploy the Storefront using Cloud native toolkit¶
Follow the below guide for instructions on how to deploy all the microservices of StoreFront onto Openshift using Cloud native toolkit.
To get an idea, here is a view of a completed and successful pipeline runs for all the microservices.