Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

MarkLogicWorld 2013 - Automate your deployments

574 views

Published on

There are lots of ways to deploy your applications in MarkLogic. Numerous tools are at your disposal, like the Configuration Manager, Pomegranade, and Roxy. But how about a pure XQuery solution, that takes you all the way? Geert discusses the existing tools briefly, and shows a new personally-made prototype that allows deployments simply by uploading a zip.

Audio available at http://www.marklogic.com/resources/automate-your-deployments/

Published in: Technology
  • Be the first to like this

MarkLogicWorld 2013 - Automate your deployments

  1. 1. Automate Your DeploymentsGeert Josten, Senior Development, DayonApril 11, 2013
  2. 2. Geert Josten, DayonAutomate your MarkLogic deploymentsErrrr,deployment?
  3. 3. Geert Josten, DayonAutomate your MarkLogic deploymentsDeployment = …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, andimports, ..More?(No bootstrapping)• A.o. installing MarkLogic itself, first admin user, entering license, ..
  4. 4. Geert Josten, DayonAutomate your MarkLogic deploymentsWhy automate?
  5. 5. Geert Josten, DayonAutomate your MarkLogic deploymentsWell.. have you used this before?
  6. 6. Geert Josten, DayonAutomate your MarkLogic deploymentsSo many pages, so many options..
  7. 7. Geert Josten, DayonAutomate your MarkLogic deploymentsSo, 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. 8. Geert Josten, DayonAutomate your MarkLogic deploymentsOther built-inoptions?
  9. 9. Geert Josten, DayonAutomate your MarkLogic deploymentsConfiguration Manager to the rescue?
  10. 10. Geert Josten, DayonAutomate your MarkLogic deploymentsNot just yet..
  11. 11. Geert Josten, DayonAutomate your MarkLogic deploymentsInformation Studio?
  12. 12. Geert Josten, DayonAutomate your MarkLogic deploymentsManagement API?
  13. 13. Geert Josten, DayonAutomate your MarkLogic deploymentsHow about Client API?
  14. 14. Geert Josten, DayonAutomate your MarkLogic deploymentsBuilt-in options..Fills gaps, but partial solutions• Still manual work• Multiple steps• No versioning• No automated rollback• Possibly different instructions each releaseUnless you (developer) do a lot of scripting..• REST api’s• Admin/security XQuery modules
  15. 15. Geert Josten, DayonAutomate your MarkLogic deploymentsNon-built-inoptions?
  16. 16. Geert Josten, DayonAutomate your MarkLogic deploymentsExisting 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. 17. Geert Josten, DayonAutomate your MarkLogic deploymentsAlternatives?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. 18. Geert Josten, DayonAutomate your MarkLogic deploymentsSo, what is the idealway?
  19. 19. Geert Josten, DayonAutomate your MarkLogic deploymentsI have a dream..Simple method• Only MarkLogic (preferably out of box)• Simple interfaceSingle package• App, database, security configuration• Files, modules, schemas• App-specific setupUpload and go• Ear-style deployment, one zip with all• Deployments dir, or upload• MarkLogic picks up and installs automatically
  20. 20. Geert Josten, DayonAutomate your MarkLogic deploymentsDemo!
  21. 21. Geert Josten, DayonAutomate your MarkLogic deploymentsMarkLogic package managerFunctionality• Upload single package• With configs, files, post-install scripts• Keeps track of installed packages• Reinstall, rollbackPrototype• Relies on built-ins like Configuration Manager• Custom code to upload files (could use Client-API?)• App-specific configuration• Runs at Admin-interface portShort-comings• No security config yet (could use/lend code from Roxy?)• Removal of files on file-system not possible• Storage of packages, where best?
  22. 22. Any Questions?
  23. 23. For More InformationGeert Josten, DayonGeert.josten@dayon.nl

×