Beyond CF Push - Managing Large Microservice Applications like a BOSH - Christof Marti
Channel: Cloud Foundry
Date: 2016-10-08

Cloud Foundry makes it exceptionally simple to deploy and manage applications with simple commands like 'cf push'. However, what if your application grows in complexity, the number of deployed components explodes and it becomes difficult to keep an overview of the required services and bindings? Many organisations are facing these challenges sooner or later. So did dorma+kaba Group, one of the world’s leading providers of security and access solutions, while developing their new internet based Access-as-a-Service solution - Exivo. The development team had to manage more than 60 applications using 30+ services running in multiple environments. Deployment scripts and CI-Server configurations where getting to complex, inflexible and slow. This lead to the decision to develop a more flexible, reliable and faster deployment tool. Together with members of the ZHAW School of Engineering Init Cloud Computing Lab (ICCLab) the "Cloud Foundry Deployment Toolkit" was designed and implemented. 

Leveraging the successful concepts of BOSH to manage applications on-top of Cloud Foundry by separating the application structure from the deployment configuration, it facilitates dynamic deployment of complex applications to multiple runtime environments with minimal effort. By comparing the actual with the desired state, the framework provides workflows to automatically detect the minimal required changes to update an application to a new release with zero downtime. The support for individual workflows allows more complex scenarios, including for example migrations of versioned data stores. 

The framework helped dorma+kaba to streamline the deployment workflow and cut deployment times by more than a factor of two.

Christof Marti
Zurich University of Applied Sciences (ZHAW)
Senior Lecturer / Researcher
Winterthur ZH, Switzerland
Christof Marti is Senior Lecturer (Docent) at Zurich University of Applied Sciences. He teaches in the areas of Software Engineering, Distributed Systems, Networking, Operating System Technologies, ICT Infrastructure and Cloud-Computing. He is technical lead of the Platform as a Service (PaaS) research domain within the Init Cloud Computing Lab (ICCLab, http://blog.zhaw.ch/icclab). In this role he is working since several years with PaaS technologies and frameworks like Cloud Foundry. Beside the kaba+dorma Cloud Foundry Deployment Toolkit he is also working on the open source Cloud Foundry Web UI project (http://icclab.github.io/cf-webui/). He is co-organizer of the Cloud Foundry DACH User Group in Switzerland and held several talks about Cloud Foundry in meetups and conferences in Switzerland.