/oci-cloudnative

MuShop - Cloud Native microservices demo for Oracle Cloud Infrastructure

Primary LanguageJavaScriptUniversal Permissive License v1.0UPL-1.0

MuShop Logo


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 resources. Deployed using Terraform and Resource Manager Polyglot set of micro-services deployed on Kubernetes, showcasing Oracle Cloud Native technologies and backing services
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-v1.0.3.zip file.
  2. Login to Oracle Cloud Infrastructure to import the stack

    Home > Solutions & Platform > Resource Manager > Stacks > Create Stack

  3. Upload the mushop-basic-stack-v1.0.3.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. Availability Domain - Select any availability domain to create the resources. If you run in to service limits, you could try another availability domain.
  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 A-Team

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.

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.

Topology

The following diagram shows the topology created by this stack.

MuShop Basic Infra

Questions

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