Build a microservices-based distributed cloud app with IBM Cloud Satellite

Summary

In this code pattern, you set up a compute infrastructure on Google Cloud Platform, integrate it with the managed Red Hat OpenShift service on IBM Cloud, and use IBM Cloud App ID and IBM Cloud Databases on IBM Cloud for data storage and authentication. You use the IBM Cloud Satellite managed secure link feature to connect your application on Google Cloud Platform with IBM Cloud.

Description

In this code pattern, you deploy a microservices-based back end in OpenShift 4.5 running on an IBM Cloud Satellite location on Google Cloud Platform. With IBM Cloud Satellite, you can connect your own compute infrastructure — either on-premises or running in another cloud provider — to a central control point on IBM Cloud. By doing this, you can consistently manage OpenShift and, in the future, other services such as databases. In this pattern, you create an IBM Cloud Satellite location, deploy and attach virtual machines (VMs) from Google Cloud Platform, and deploy OpenShift (managed by IBM Cloud) on those VMs. After deploying your Node.js and Java microservices-based back end, you create IBM Cloud Satellite Links — an encrypted, managed tunnel — to connect your application to services on IBM Cloud App ID for authentication and IBM Cloud Databases for transaction storage.

Flow

Architecture flow diagram

Instructions

Find the detailed steps in the README file. Those steps explain how to:

  1. Create an IBM Cloud Satellite location on IBM Cloud.
  2. Deploy infrastructure for an IBM Cloud Satellite location on Google Cloud Platform by provisioning Red Hat Enterprise Linux VMs from a template.
  3. Wait until the attach scripts complete and make Google Cloud Platform VMs available to the IBM Cloud Satellite Location for assigning to control planes and OpenShift worker nodes.
  4. Set up an OpenShift cluster in the IBM Cloud Satellite location.
  5. Assign VMs to the OpenShift cluster.
  6. Create a database resource with IBM Cloud Databases for PostgreSQL.
  7. Deploy an IBM Cloud App ID service.
  8. Set up IBM Cloud Satellite Links to the location and cloud services.
  9. Create Kubernetes secrets and build and deploy Example Bank services.
  10. Monitor traffic to the database and IBM Cloud App ID while using Example Bank.