Question
· Feb 4, 2016

Healthshare/Ensemble/Cache deployment tool? Anyone every created one?

I'm working on a proposal for a deployment tool development project and I was wondering if anyone had any experience with such a thing.  

We use Healthshare and implementations for new clients are tedius and lengthy.  Lots of ensemble service, registry value, lookup tables, namespaces and other things have to be created and configured. 

I would like to create a Zen or CSP page based deployment tool that can do all this with a few parameters and some custom code.

Has anyone done this?  What are some pitfalls you ran into?  Any unique ideas you included?  Other general thoughts?

Discussion (15)3
Log in or sign up to continue

Scott - have you looked at %Installer?  That should be the first place that you start for trying to create a deployment from scratch.  This is how Ensemble, HealthShare and TrakCare instances get initialized by the installer and I know a lot of customers have used this with great success.

Also, the Enterprise Manager which is coming out in 2016.2 may be of interest in this area as well.

At a Caché level (for namespaces, databases, code, and security), %Installer may be useful; see: http://docs.intersystems.com/cache20152/csp/docbook/DocBook.UI.Page.cls?KEY=GCI_manifest

For Ensemble, there are some additional deployment-related features that might do more for you in terms of settings and lookup tables. See: http://docs.intersystems.com/ens20152/csp/docbook/DocBook.UI.Page.cls?KEY=EGDV_deploying#EGDV_deployment_overview

Hi, Scott!

Look also at this approach for deployment. This UML Explorer tool is deployed by importing class package into Studio (not Atelier).

During class compilation it runs installation scripts which create database, namespace, web app, etc.

So for the client installation procedure is just one action: import package into Caché with Studio or Control Panel and client can start use it. They like it.

Scott:

it depends what you mean by a deployment tool. It opens up a whole new world of automation so you'll have to start to think about versioning your artifacts etc. It depends how you want to embrace your whole provisioning and deployment and management process.

My suggestion for infrastructure provisioning & deployment: Terraform; for management Ansible: agentless and easy to learn and use.

Of course, Puppet & Chef are strong valid alternatives but you'll have to take on board other considerations...

This subject cannot be done with one post and it really depends on how much automation you want to bring to this process. I would even suggest you consider containers. 

Once automation is seriously considered there is no turning back :-)

All the best