SlideShare a Scribd company logo
1 of 23
Download to read offline
Automate Your Deployments
Geert Josten, Senior Development, Dayon
April 11, 2013
Geert Josten, Dayon
Automate your MarkLogic deployments
Errrr,
deployment?
Geert Josten, Dayon
Automate your MarkLogic deployments
Deployment = …
Configuring MarkLogic
• Apps, Databases, Indexes, Forests, Security, Groups, Clusters, ..
Deployment of app-specific files
• Static files, modules, schema’s, initial data, install/migration scripts, ..
Running app-specific config/deploy scripts
• Including possible user interaction, orchestration of migrations, and
imports, ..
More?
(No bootstrapping)
• A.o. installing MarkLogic itself, first admin user, entering license, ..
Geert Josten, Dayon
Automate your MarkLogic deployments
Why automate?
Geert Josten, Dayon
Automate your MarkLogic deployments
Well.. have you used this before?
Geert Josten, Dayon
Automate your MarkLogic deployments
So many pages, so many options..
Geert Josten, Dayon
Automate your MarkLogic deployments
So, why automate?
Because..
• Manual work time-consuming, tedious and error-prone
• Databases, app-servers, security, uploading of files, app-specific setup, ..
• Repeat same installation on multiple machines
• DTAP, development laptops, clusters, show casing, ..
• Many updates over application life-time
• During development, project iterations, simple or complex updates, ..
And not in the least..
• You (developer) might not be running the installation
• App managers, non-MarkLogic-expert colleagues, third party, ..
In short:
Keep deployments SIMPLE! (and quick if possible)
Geert Josten, Dayon
Automate your MarkLogic deployments
Other built-in
options?
Geert Josten, Dayon
Automate your MarkLogic deployments
Configuration Manager to the rescue?
Geert Josten, Dayon
Automate your MarkLogic deployments
Not just yet..
Geert Josten, Dayon
Automate your MarkLogic deployments
Information Studio?
Geert Josten, Dayon
Automate your MarkLogic deployments
Management API?
Geert Josten, Dayon
Automate your MarkLogic deployments
How about Client API?
Geert Josten, Dayon
Automate your MarkLogic deployments
Built-in options..
Fills gaps, but partial solutions
• Still manual work
• Multiple steps
• No versioning
• No automated rollback
• Possibly different instructions each release
Unless you (developer) do a lot of scripting..
• REST api’s
• Admin/security XQuery modules
Geert Josten, Dayon
Automate your MarkLogic deployments
Non-built-in
options?
Geert Josten, Dayon
Automate your MarkLogic deployments
Existing alternatives?
Here are some:
• MarkLogic Content Pump, AutoLoader and RecordLoader
• Uploading
• MarkLogic Ant tasks
• Could do all, but developer tool, and still lots of work
• Cqsh, Xmlsh
• Similar to Ant tasks
• Roxy
• Very promising! But what about versioning, rollback, etc?
• Booster
• Simple HTTP wrapper for admin and security tasks
• Depx and Expath Packaging System
• Intended for libraries, not applications. Doesn’t configure MarkLogic
Geert Josten, Dayon
Automate your MarkLogic deployments
Alternatives?
Some thoughts:
• All executed outside MarkLogic
• Shell scripting could appeal to App managers
• Roxy looks promising, but why Ruby?
• Some solutions still need more or less additional scripting
• No user interfaces?
• No versioning as part of deployment
• No automated rollback (not just on failure)
Geert Josten, Dayon
Automate your MarkLogic deployments
So, what is the ideal
way?
Geert Josten, Dayon
Automate your MarkLogic deployments
I have a dream..
Simple method
• Only MarkLogic (preferably out of box)
• Simple interface
Single package
• App, database, security configuration
• Files, modules, schemas
• App-specific setup
Upload and go
• Ear-style deployment, one zip with all
• Deployments dir, or upload
• MarkLogic picks up and installs automatically
Geert Josten, Dayon
Automate your MarkLogic deployments
Demo!
Geert Josten, Dayon
Automate your MarkLogic deployments
MarkLogic package manager
Functionality
• Upload single package
• With configs, files, post-install scripts
• Keeps track of installed packages
• Reinstall, rollback
Prototype
• Relies on built-ins like Configuration Manager
• Custom code to upload files (could use Client-API?)
• App-specific configuration
• Runs at Admin-interface port
Short-comings
• No security config yet (could use/lend code from Roxy?)
• Removal of files on file-system not possible
• Storage of packages, where best?
Any Questions?
For More Information
Geert Josten, Dayon
Geert.josten@dayon.nl

More Related Content

Similar to MarkLogicWorld 2013 - Automate your deployments

Java scriptwidgetdevelopmentjstanbul2012
Java scriptwidgetdevelopmentjstanbul2012Java scriptwidgetdevelopmentjstanbul2012
Java scriptwidgetdevelopmentjstanbul2012Volkan Özçelik
 
External JavaScript Widget Development Best Practices
External JavaScript Widget Development Best PracticesExternal JavaScript Widget Development Best Practices
External JavaScript Widget Development Best PracticesVolkan Özçelik
 
Not my problem - Delegating responsibility to infrastructure
Not my problem - Delegating responsibility to infrastructureNot my problem - Delegating responsibility to infrastructure
Not my problem - Delegating responsibility to infrastructureYshay Yaacobi
 
Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...
Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...
Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...Theo Jungeblut
 
Does Your Stuff Scale?
Does Your Stuff Scale?Does Your Stuff Scale?
Does Your Stuff Scale?stevenh0lmes
 
Habitat Overview
Habitat OverviewHabitat Overview
Habitat OverviewMandi Walls
 
Knowage essential training
Knowage essential trainingKnowage essential training
Knowage essential trainingKNOWAGE
 
What is SharePoint Development??
What is SharePoint Development??What is SharePoint Development??
What is SharePoint Development??Mark Rackley
 
What IS SharePoint Development? by Mark Rackley - SPTechCon
 What IS SharePoint Development? by Mark Rackley - SPTechCon What IS SharePoint Development? by Mark Rackley - SPTechCon
What IS SharePoint Development? by Mark Rackley - SPTechConSPTechCon
 
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...Demi Ben-Ari
 
Tooling on distributed services
Tooling on distributed servicesTooling on distributed services
Tooling on distributed servicesHiraq Citra M
 
OSGi Alliance Community Event 2007 - Business Session#2 - Abdallah Bushnaq, A...
OSGi Alliance Community Event 2007 - Business Session#2 - Abdallah Bushnaq, A...OSGi Alliance Community Event 2007 - Business Session#2 - Abdallah Bushnaq, A...
OSGi Alliance Community Event 2007 - Business Session#2 - Abdallah Bushnaq, A...mfrancis
 
My Efforts to Define DevOps
My Efforts to Define DevOpsMy Efforts to Define DevOps
My Efforts to Define DevOpsSopan Shewale
 
Joget Workflow v6 Training Slides - 2 - Setting Up Joget Workflow
Joget Workflow v6 Training Slides - 2 - Setting Up Joget WorkflowJoget Workflow v6 Training Slides - 2 - Setting Up Joget Workflow
Joget Workflow v6 Training Slides - 2 - Setting Up Joget WorkflowJoget Workflow
 
Profiling and Tuning a Web Application - The Dirty Details
Profiling and Tuning a Web Application - The Dirty DetailsProfiling and Tuning a Web Application - The Dirty Details
Profiling and Tuning a Web Application - The Dirty DetailsAchievers Tech
 
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.WO Community
 

Similar to MarkLogicWorld 2013 - Automate your deployments (20)

Stackato v6
Stackato v6Stackato v6
Stackato v6
 
Oracle Data Integrator
Oracle Data Integrator Oracle Data Integrator
Oracle Data Integrator
 
Java scriptwidgetdevelopmentjstanbul2012
Java scriptwidgetdevelopmentjstanbul2012Java scriptwidgetdevelopmentjstanbul2012
Java scriptwidgetdevelopmentjstanbul2012
 
Spring
SpringSpring
Spring
 
External JavaScript Widget Development Best Practices
External JavaScript Widget Development Best PracticesExternal JavaScript Widget Development Best Practices
External JavaScript Widget Development Best Practices
 
Not my problem - Delegating responsibility to infrastructure
Not my problem - Delegating responsibility to infrastructureNot my problem - Delegating responsibility to infrastructure
Not my problem - Delegating responsibility to infrastructure
 
Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...
Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...
Debugging,Troubleshooting & Monitoring Distributed Web & Cloud Applications a...
 
Does Your Stuff Scale?
Does Your Stuff Scale?Does Your Stuff Scale?
Does Your Stuff Scale?
 
Habitat Overview
Habitat OverviewHabitat Overview
Habitat Overview
 
Knowage essential training
Knowage essential trainingKnowage essential training
Knowage essential training
 
What is SharePoint Development??
What is SharePoint Development??What is SharePoint Development??
What is SharePoint Development??
 
What IS SharePoint Development? by Mark Rackley - SPTechCon
 What IS SharePoint Development? by Mark Rackley - SPTechCon What IS SharePoint Development? by Mark Rackley - SPTechCon
What IS SharePoint Development? by Mark Rackley - SPTechCon
 
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
 
Tooling on distributed services
Tooling on distributed servicesTooling on distributed services
Tooling on distributed services
 
OSGi Alliance Community Event 2007 - Business Session#2 - Abdallah Bushnaq, A...
OSGi Alliance Community Event 2007 - Business Session#2 - Abdallah Bushnaq, A...OSGi Alliance Community Event 2007 - Business Session#2 - Abdallah Bushnaq, A...
OSGi Alliance Community Event 2007 - Business Session#2 - Abdallah Bushnaq, A...
 
My Efforts to Define DevOps
My Efforts to Define DevOpsMy Efforts to Define DevOps
My Efforts to Define DevOps
 
Stackato v5
Stackato v5Stackato v5
Stackato v5
 
Joget Workflow v6 Training Slides - 2 - Setting Up Joget Workflow
Joget Workflow v6 Training Slides - 2 - Setting Up Joget WorkflowJoget Workflow v6 Training Slides - 2 - Setting Up Joget Workflow
Joget Workflow v6 Training Slides - 2 - Setting Up Joget Workflow
 
Profiling and Tuning a Web Application - The Dirty Details
Profiling and Tuning a Web Application - The Dirty DetailsProfiling and Tuning a Web Application - The Dirty Details
Profiling and Tuning a Web Application - The Dirty Details
 
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.
 

Recently uploaded

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 

Recently uploaded (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

MarkLogicWorld 2013 - Automate your deployments

  • 1. Automate Your Deployments Geert Josten, Senior Development, Dayon April 11, 2013
  • 2. Geert Josten, Dayon Automate your MarkLogic deployments Errrr, deployment?
  • 3. Geert Josten, Dayon Automate your MarkLogic deployments Deployment = … Configuring MarkLogic • Apps, Databases, Indexes, Forests, Security, Groups, Clusters, .. Deployment of app-specific files • Static files, modules, schema’s, initial data, install/migration scripts, .. Running app-specific config/deploy scripts • Including possible user interaction, orchestration of migrations, and imports, .. More? (No bootstrapping) • A.o. installing MarkLogic itself, first admin user, entering license, ..
  • 4. Geert Josten, Dayon Automate your MarkLogic deployments Why automate?
  • 5. Geert Josten, Dayon Automate your MarkLogic deployments Well.. have you used this before?
  • 6. Geert Josten, Dayon Automate your MarkLogic deployments So many pages, so many options..
  • 7. Geert Josten, Dayon Automate your MarkLogic deployments So, why automate? Because.. • Manual work time-consuming, tedious and error-prone • Databases, app-servers, security, uploading of files, app-specific setup, .. • Repeat same installation on multiple machines • DTAP, development laptops, clusters, show casing, .. • Many updates over application life-time • During development, project iterations, simple or complex updates, .. And not in the least.. • You (developer) might not be running the installation • App managers, non-MarkLogic-expert colleagues, third party, .. In short: Keep deployments SIMPLE! (and quick if possible)
  • 8. Geert Josten, Dayon Automate your MarkLogic deployments Other built-in options?
  • 9. Geert Josten, Dayon Automate your MarkLogic deployments Configuration Manager to the rescue?
  • 10. Geert Josten, Dayon Automate your MarkLogic deployments Not just yet..
  • 11. Geert Josten, Dayon Automate your MarkLogic deployments Information Studio?
  • 12. Geert Josten, Dayon Automate your MarkLogic deployments Management API?
  • 13. Geert Josten, Dayon Automate your MarkLogic deployments How about Client API?
  • 14. Geert Josten, Dayon Automate your MarkLogic deployments Built-in options.. Fills gaps, but partial solutions • Still manual work • Multiple steps • No versioning • No automated rollback • Possibly different instructions each release Unless you (developer) do a lot of scripting.. • REST api’s • Admin/security XQuery modules
  • 15. Geert Josten, Dayon Automate your MarkLogic deployments Non-built-in options?
  • 16. Geert Josten, Dayon Automate your MarkLogic deployments Existing alternatives? Here are some: • MarkLogic Content Pump, AutoLoader and RecordLoader • Uploading • MarkLogic Ant tasks • Could do all, but developer tool, and still lots of work • Cqsh, Xmlsh • Similar to Ant tasks • Roxy • Very promising! But what about versioning, rollback, etc? • Booster • Simple HTTP wrapper for admin and security tasks • Depx and Expath Packaging System • Intended for libraries, not applications. Doesn’t configure MarkLogic
  • 17. Geert Josten, Dayon Automate your MarkLogic deployments Alternatives? Some thoughts: • All executed outside MarkLogic • Shell scripting could appeal to App managers • Roxy looks promising, but why Ruby? • Some solutions still need more or less additional scripting • No user interfaces? • No versioning as part of deployment • No automated rollback (not just on failure)
  • 18. Geert Josten, Dayon Automate your MarkLogic deployments So, what is the ideal way?
  • 19. Geert Josten, Dayon Automate your MarkLogic deployments I have a dream.. Simple method • Only MarkLogic (preferably out of box) • Simple interface Single package • App, database, security configuration • Files, modules, schemas • App-specific setup Upload and go • Ear-style deployment, one zip with all • Deployments dir, or upload • MarkLogic picks up and installs automatically
  • 20. Geert Josten, Dayon Automate your MarkLogic deployments Demo!
  • 21. Geert Josten, Dayon Automate your MarkLogic deployments MarkLogic package manager Functionality • Upload single package • With configs, files, post-install scripts • Keeps track of installed packages • Reinstall, rollback Prototype • Relies on built-ins like Configuration Manager • Custom code to upload files (could use Client-API?) • App-specific configuration • Runs at Admin-interface port Short-comings • No security config yet (could use/lend code from Roxy?) • Removal of files on file-system not possible • Storage of packages, where best?
  • 23. For More Information Geert Josten, Dayon Geert.josten@dayon.nl