Azure-Synapse-Retail-Recomm.../Application_Backend_Deployment
DB Lee 12bf052233
Merge pull request #12 from microsoft/dependabot/nuget/Application_Backend_Deployment/Contoso.Retail.NextGen/src/Contoso.Retail.NextGen.RecommendationByItem/Newtonsoft.Json-13.0.1
Bump Newtonsoft.Json from 12.0.3 to 13.0.1 in /Application_Backend_Deployment/Contoso.Retail.NextGen/src/Contoso.Retail.NextGen.RecommendationByItem
2022-08-30 11:05:10 -07:00
..
Contoso.Retail.NextGen Merge pull request #12 from microsoft/dependabot/nuget/Application_Backend_Deployment/Contoso.Retail.NextGen/src/Contoso.Retail.NextGen.RecommendationByItem/Newtonsoft.Json-13.0.1 2022-08-30 11:05:10 -07:00
Data initial commit 2021-02-12 13:31:56 -08:00
References initial commit 2021-02-12 13:31:56 -08:00
Deploy1.bat initial commit 2021-02-12 13:31:56 -08:00
Deploy1.ps1 Replace Cosmos DB library from Cosmonaut to Cosmos DB Helper and update deployment script 2021-07-21 14:47:23 -07:00
Deploy2.ps1.template initial commit 2021-02-12 13:31:56 -08:00
Deploy3.ps1.template march 2021 updates 2021-03-26 09:29:48 -07:00
README.md initial commit 2021-02-12 13:31:56 -08:00
Step1,2.md initial commit 2021-02-12 13:31:56 -08:00
Step3.md initial commit 2021-02-12 13:31:56 -08:00
Step4.md initial commit 2021-02-12 13:31:56 -08:00
deployServicesToK8s.yaml.template initial commit 2021-02-12 13:31:56 -08:00
setupClusterIssuer-prod.yaml.template initial commit 2021-02-12 13:31:56 -08:00
setupIngress-prod.yaml.template initial commit 2021-02-12 13:31:56 -08:00

README.md

Introduction

Contoso Retail User Profile / Product Catalog APIs

Prerequisites

  1. Azure CLI - For Azure Resources and Source code deployment
  2. Kubectl - For Deploying API Services and Configuration
  3. Docker Desktop - For Debugging in local or containerizing codes in Deployment process
  4. PowerShell 7.x - For executing Deployment Script
  5. Helm 3.x - For installing cert-manager, ingress-nginx Ingress Controller

(Local) Build and Test

  1. Local build and test : Open solution file /Contoso.Retail.NextGen/src/ContosoRetail.NextGen.API.sln from your Visual Studio. (Recommend using Visual Studio 2019)

Through AzurePiple line, you may deploy on Kubernetes cluster. Check deployment.yaml, service.yaml in menifests folder and azure-pipelines.yml

Getting Started

Most of Deployment will be automated with scripts but some manual configuration work is required

  • Step 1 : Deploy Azure Resources - Deploy1.bat

    • Deploy Azure Container Registry Service
    • Deploy Azure Kubernetes Service
    • Deploy Azure Storage Account
    • Deploy Azure CosmosDB Mongo API
    • Setting ServicePrinciple to work together with ACR and AKS
  • Step 2 : Configurure Kubernetes Ingress Controller and Cert Manager

    • Deploy API Services in Kubernetes
    • Deploy Nginix Ingress Controller in Kubernetes
    • Deploy cert-manager to preparing self-signed certificate to support SSL
  • Step 3: Configure SSL - Deploy2.ps1 > setupClusterIssuer-prod.yaml -> setupIngress-prod.yaml

    • Creating Certificate Issuer
    • Creating Certicifate with LetsEncrypt
    • Config Ingress Controller for Services to support SSL
  • Step 4 : Initialize Data - Deploy3.ps1

    • Upload Profile / Product Images in Blob Storage Account
    • Post Product master database via API services
>> Goto Step 1 & 2