/oci-cloudnative

MuShop - Cloud Native microservices demo for Oracle Cloud Infrastructure

Primary LanguageJavaScriptUniversal Permissive License v1.0UPL-1.0

MuShop LogoMuShop Logo - Dark Mode

MuShop is a showcase of several Oracle Cloud Infrastructure services in a unified reference application. The sample application implements an e-commerce platform built as a set of micro-services. The accompanying content can be used to get started with cloud native application development on Oracle Cloud Infrastructure.

home browse cart about

MuShop can be deployed in different ways to explore Oracle Cloud Infrastructure based on your subscription. Both deployment models can be used with trial subscriptions. However, Oracle Cloud Infrastructure offers an Always Free tier with resources that can be used indefinitely.

Basic: deploy/basic Complete: deploy/complete
Simplified runtime utilizing only Always Free eligible resources.

Deploy using:
 1. Terraform
 2. Resource Manager following the steps below
 3. (Recommended) Button below - launches in Resource Manager directly
Polyglot set of micro-services deployed on Kubernetes, showcasing Oracle Cloud Native technologies and backing services.

Deploy using:
 1. Helm
 2. Terraform
 3. Resource Manager
 4. (Recommended) Button below - launches in Resource Manager directly
Deploy to Oracle Cloud Deploy to Oracle Cloud
mushop
└── deploy
    ├── basic
    └── complete

Getting Started with MuShop Basic

This is a Terraform configuration that deploys the MuShop basic sample application on Oracle Cloud Infrastructure and is designed to run using only the Always Free tier resources.

The repository contains the application code as well as the Terraform code to create a Resource Manager stack, that creates all the required resources and configures the application on the created resources. To simplify getting started, the Resource Manager Stack is created as part of each release

The steps below guide you through deploying the application on your tenancy using the OCI Resource Manager.

  1. Download the latest mushop-basic-stack-latest.zip file.
  2. Login to Oracle Cloud Infrastructure to import the stack

    Home > Developer Services > Resource Manager > Stacks > Create Stack

  3. Upload the mushop-basic-stack-latest.zip file that was downloaded earlier, and provide a name and description for the stack
  4. Configure the stack
    1. Database Name - You can choose to provide a database name (optional)
    2. Node Count - Select if you want to deploy one or two application instances.
    3. SSH Public Key - (Optional) Provide a public SSH key if you wish to establish SSH access to the compute node(s).
  5. Review the information and click Create button.

    The upload can take a few seconds, after which you will be taken to the newly created stack

  6. On Stack details page, click on Terraform Actions > Apply

All the resources will be created, and the URL to the load balancer will be displayed as lb_public_url as in the example below.

The same information is displayed on the Application Information tab

Outputs:

autonomous_database_password = <generated>

comments = The application URL will be unavailable for a few minutes after provisioning, while the application is configured

dev = Made with ❤ by Oracle Developers

lb_public_url = http://xxx.xxx.xxx.xxx

The application is being deployed to the compute instances asynchronously, and it may take a couple of minutes for the URL to serve the application.

Cleanup

Even though it is Always Free, you will likely want to terminate the demo application in your Oracle Cloud Infrastructure tenancy. With the use of Terraform, the Resource Manager stack is also responsible for terminating the application.

Follow these steps to completely remove all provisioned resources:

  1. Return to the Oracle Cloud Infrastructure Console

Home > Developer Services > Resource Manager > Stacks

  1. Select the stack created previously to open the Stack Details view
  2. From the Stack Details, select Terraform Actions > Destroy
  3. Confirm the Destroy job when prompted

The job status will be In Progress while resources are terminated

  1. Once the destroy job has succeeded, return to the Stack Details page
  2. Click Delete Stack and confirm when prompted

Basic Topology

The following diagram shows the topology created by this stack.

MuShop Basic Infra


Getting Started with MuShop Complete

MuShop Complete is a polyglot micro-services application built to showcase a cloud native approach to application development on Oracle Cloud Infrastructure using Oracle's cloud native services. MuShop Complete uses a Kubernetes cluster, and can be deployed using the provided helm charts (preferred), or Kubernetes manifests. It is recommended to use an Oracle Container Engine for Kubernetes cluster, however other Kubernetes distributions will also work.

The helm chart documentation walks through the deployment process and various options for customizing the deployment.

Complete Topology

The following diagram shows the topology created by this stack.

MuShop Complete Infra

Deploy to Oracle Cloud

Questions

If you have an issue or a question, please take a look at our FAQs or open an issue.