Home > Blockchain >  How to effectively manage the ML code deployment via gradle to multiple ML cluster enviorments
How to effectively manage the ML code deployment via gradle to multiple ML cluster enviorments

Time:10-04

The recommended MarkLogic automation is via Gradle.

I wonder where there should a dedicated single VM to run those Gradle tasks to control the configuration and deployment to different Prod / UAT / Test / Dev ML cluster enviroments.

Is my below understanding correct?

One single dedicated VM should be specifically included in the overall design to hande ML configuration deployment for different ML enviroments.

  • Gradle is not required in each ML hosts. Gradle should be only used in that ML management depot.
  • In each gradle properties, the load balancer IP for each ML enviroment cluster should be used.

https://i.imgur.com/AtNQZi6.png

Scope of that [ML Management Depot] VM

  1. ML XQuery Git deployment pipeline
  2. Any post deployment tasks like postman script execution or additional xquery execution
  3. MLCP tasks (a) Data Sync Prod → UAT → Test → Dev
    (b) Documents ingestion (XML, PDF, HTML, others) (c) Documetns export for raw files backup to Azure Data Lake
  4. Corbs tasks - bulk data update and report

(All those should be configured as gradle tasks.)

CodePudding user response:

That's definitely a good strategy - one separate machine/host/whatever to handle deployment (Gradle) and batch processing (MLCP/Corb) tasks. As you note, you don't need Gradle (nor MLCP or Corb) available on any of the hosts. For MLCP and Corb in particular, it's best to run those on a separate machine so that they're not competing for system resources with any of the ML hosts.

  • Related