Geneva University Hospitals: universal enterprise application deployment tool

Coming from a centuries-old tradition of excellence in medicine and science, Geneva University Hospitals (HUG) was born in 1995 by combining eight Geneva public hospitals and 40 outpatient consultations that were distributed throughout the canton of Geneva. HUG are the first university hospitals of Switzerland. The HUG are recognised nationally and internationally in many leading disciplines.

As a university hospital, the HUG has a long tradition of research, in which information technologies often play a prominent role. This results in a highly heterogeneous and rapidly growing application landscape.
Application deployment occurred either manually or using homemade tools that were very tightly bound to their platform and were difficult to maintain and evolve.
As a result, HUG launched a new project to introduce a universal solution that would standardise and simplify the deployment process as far as possible, while improving the cooperation between the development and operational teams in a “devops” spirit.

Challenges

Huge application landscape with several hundreds of servers.
Heterogeneous environments with multiple deployed technologies.
Poor coordination of development and operational teams.
Need to assure a smooth migration from outdated custom tools.

Our solution
Enterprise Applications

We suggested introducing the new application deployment platform with an iterative approach. The first iteration consisted of a proof-of-concept. We proposed the XL Deploy product from XebiaLabs that easily handles most of the technologies used at the hospital, with the required flexibility: graphical and command line operation. Representative deployment scenarios were selected to validate the approach: web application on JBoss and Tomcat, native applications and Mirth Connect integration flows. We configured XL Deploy to grab packages from various build tools and to deploy the binaries in the target middleware, and then integrated the tool with existing collaborative and monitoring platforms.
 
In the second iteration we implemented a productive pilot scoped around the support of a specific middleware: Mirth Connect. First, we installed the tool in a high availability mode and developed the necessary tooling. Mirth Connect deployment packages consist of XML files to import into the target environment using dedicated commands, which we automated by developing specific plugins in XL Deploy and in Maven. This resulted in a software factory going from the source repository to the production environment.
 
The third iteration saw us migrating nearly 900 Java application servers from JBoss to Tomcat, a necessary step that took care of provisioning both the platform and the JEE application. With the new solution we broke this tight coupling by introducing dedicated tools to provision and configure the different layers: operating system, platform and application.

Benefits

EASIER DEPLOYMENT

A unique solution for all technologies simplifies the deployment process. XL Deploy comes with a universal deployment model and a plugin system that allows all technologies to be addressed by the same framework.

IMPROVED DEPLOYMENT QUALITY

On-time and crisis-free delivery thanks to better communication between teams along with well-structured deliverables and environments. XL Deploy provides many interfaces (GUI, CLI, REST, etc.) that allow the development and operational teams to feed the system with up-to-date configuration, improving communication.

BETTER OVERVIEW OF DEPLOYMENT ACTIVITIES

XL Deploy comes with reporting utilities that give a view of which elements deployed successfully and which ones did not. The XL Deploy database keeps track of all deployment steps with their logs and results: it is always clear which version has been deployed where, when, by whom and with what results.

FLEXIBLE SECURITY MODEL

The clear definition of user roles in XL Deploylets you segregate duties at different levels: software component; environment; and activity. Typically, development teams can manage software package versions and the development environment while the operational team feeds the operating system, server and platform and concentrates on the production environment.

STANDARDISATION OF DEVELOPMENT PROCESS

A standard deployment solution encourages best practices, making code better and easier to maintain. XL Deploy comes with plugins for a wide array of technologies, such as JBoss, Tomcat, or Weblogic. Deploying software artefacts in a standard way means that newly-created development packages often become standardised themselves.

Partners