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

Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
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
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
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
 
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
 
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
 

Recently uploaded (20)

The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
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
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
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
 
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
 
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
 

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