Introduction
Goals
- Explore cloud native services offered by Oracle Cloud Infrastructure
- Build and deploy microservices with Container Engine for Kubernetes (OKE)
- Experience Oracle Cloud services integrated within a single microservices project
- Provide reference implementations and sample code for real-world application development
Cloud Services
The MuShop application highlights several topics related to cloud native application development with Oracle Cloud Infrastructure.
| Cloud Service | Description | 
|---|---|
| API Gateway | Fully managed gateway for governed HTTP/S interfaces | 
| Container Engine for Kubernetes | Enterprise-grade Kubernetes on Oracle Cloud | 
| Container Registry | Highly available service to distribute container images | 
| Email Delivery | Enables sending emails | 
| Functions | Scalable, multitenant serverless functions | 
| Monitoring | Integrated metrics from all resources and services | 
| Open Service Broker | Provisioning cloud resources within Kubernetes | 
| Resource Manager | Infrastructure as code with Terraform | 
| Streaming | Large scale data collection and processing | 
| Others coming soon | - | 
| Events | Trigger actions in response to infrastructure changes | 
| Notifications | Broadcast messages to distributed systems | 
| Logging | Single pane of glass for resources and applications | 
In addition to these Cloud Native topics, MuShop demonstrates the use of several backing services available on Oracle Cloud Infrastructure.
MuShop Services

| Service | Technology | Cloud Services | Description | 
|---|---|---|---|
| src/api | Node.js | Storefront API | |
| src/assets | Node.js | Object Storage | Product images | 
| src/carts | Java | Autonomous DB (ATP) | Shopping cart | 
| src/catalogue | Go | Autonomous DB (ATP) | Product catalogue | 
| src/dbtools | Linux | Autonomous DB (ATP) | Database schema initializations | 
| src/edge-router | traefik | Request routing | |
| src/events | Go | Streaming | Application event data collection | 
| src/fulfillment | Java | Order processing | |
| src/functions/newsletter-subscription | Node.js | Functions | Newsletter subscription | 
| src/orders | Java | Autonomous DB (ATP) | Customer orders | 
| src/payments | Go | Payment processing | |
| src/storefront | JavaScript | Store UI | |
| src/user | TypeScript | Autonomous DB (ATP) | Customer accounts, AuthN |