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.
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
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.
- Download the latest
mushop-basic-stack-latest.zip
file. - Login to Oracle Cloud Infrastructure to import the stack
Home > Solutions & Platform > Resource Manager > Stacks > Create Stack
- Upload the
mushop-basic-stack-latest.zip
file that was downloaded earlier, and provide a name and description for the stack - Configure the stack
- Database Name - You can choose to provide a database name (optional)
- Node Count - Select if you want to deploy one or two application instances.
- SSH Public Key - (Optional) Provide a public SSH key if you wish to establish SSH access to the compute node(s).
- 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
- 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.
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:
- Return to the Oracle Cloud Infrastructure Console
Home > Solutions & Platform > Resource Manager > Stacks
- Select the stack created previously to open the Stack Details view
- From the Stack Details, select
Terraform Actions > Destroy
- Confirm the Destroy job when prompted
The job status will be In Progress while resources are terminated
- Once the destroy job has succeeded, return to the Stack Details page
- Click
Delete Stack
and confirm when prompted
The following diagram shows the topology created by this stack.
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.
The following diagram shows the topology created by this stack.
If you have an issue or a question, please take a look at our FAQs or open an issue.