page_type | languages | products | description | urlFragment | |||||
---|---|---|---|---|---|---|---|---|---|
sample |
|
|
Deploy Microservice Apps to Azure |
acme-fitness-store |
ACME Fitness store is a fictional online retailer selling sporting goods. This repo contains the source code and deployment scripts for the ACME Fitness store application.
This application is composed of several services:
-
4 Java Spring Boot applications:
- A catalog service for fetching available products.
- A payment service for processing and approving payments for users' orders
- An identity service for referencing the authenticated user
- An assist service for infusing AI into fitness store
-
1 Python application:
- A cart service for managing a users' items that have been selected for purchase
-
1 ASP.NET Core applications:
- An order service for placing orders to buy products that are in the users' carts
-
1 NodeJS and static HTML Application
- A frontend shopping application
The sample can be deployed to Azure Spring Apps Enterprise or Tanzu Application Platform.
Directory | Purpose |
---|---|
apps/ | source code for the services |
azure-spring-apps-enterprise/ | documentation and scripts for deploying to Azure Spring Apps Enterprise |
tanzu-application-platform/ | documentation and scripts for deploying to Tanzu Application Platform |
Azure Spring Apps Enterprise enables you to easily run Spring Boot and polyglot applications on Azure. The quickstart guide in azure-spring-apps-enterprise/README.md shows you how to deploy the ACME Fitness store application to Azure Spring Apps Enterprise.
- Deploy Applications to Azure Spring Apps
- What will you experience
- What you will need
- Install the Azure CLI extension
- Clone the repo
- Unit 0 - Prepare Environment
- Unit 1 - Deploy and Build Applications
- Unit 2 - Configure Single Sign On
- Unit 3 - Integrate with Azure Database for PostgreSQL and Azure Cache for Redis
- Unit 4 - Securely Load Application Secrets
- Unit 5 - Monitor End-to-End
- Unit 6 - Set Request Rate Limits
- Unit 7 - Automate from idea to production
- Unit 8 - Infuse AI into Fitness Store
Tanzu Application Platform (TAP) enables you to easily build & run polyglot applications on CNCF Compliant Kubernetes clusters. Follow the instructions in tanzu-application-platform/README.md to deploy the application to TAP.
cf create-service p.redis on-demand-cache acme-redis
cf create-service postgres on-demand-postgres-db acme-postgres
cf create-service p.config-server standard acme-config -c '{ "git": { "uri": "https://github.com/svrc/acme-fitness-store-config" }}'
cf create-service p-identity uaa acme-sso
cf create-service p.service-registry standard acme-registry
cf create-service p.gateway standard acme-gateway -c '{"sso": { "plan": "uaa", "scopes": ["openid", "profile", "email"] }, "host": "acme-fitness" ,"cors": { "allowed-origins": [ "*" ] }}'
cd acme-identity
./gradlew asemble
cf push --no-start
cf bind-service acme-identity acme-registry
cf bind-service acme-identity acme-sso -c ‘ ‘
cf bind-service acme-identity acme-config
cf bind-service acme-identity acme-gateway -c identity_routes.json
cf start acme-identity
cd ../acme-cart
cf push --no-start
cf bind-service acme-cart acme-redis
cf bind-service acme-cart acme-gateway -c cart_routes.json
cf start acme-cart
cd ../acme-payment
./gradlew assemble
cf push --no-start
cf bind-service acme-payment acme-registry
cf bind-service acme-payment acme-config
cf start acme-payment
If you would like to conduct this workshop in Japanese, please use the Japanese version.
日本語で、本ワークショップを実施されたい方は、、日本語版をご利用ください。Thanks for the contribution from @yoshioterada.