Containers are a new service model that empowers cloud computing by offering horizontally scalable systems while bypassing high-performance challenges of traditional hypervisors. In the business process management context, Containers-as-a-Service can be used to outsource business processes to the cloud and allow an enterprise to bundle its processes and data in a simpler and more performance-oriented manner. To profit from containers, an enterprise must however have a means to identify the optimal resource allocation. Towards this end, we propose a system architecture for optimal containers-based deployment of business processes. The proposed system architecture relies on our extension of ContainerCloudSim simulator to estimate the execution time of business processes deployed according to the CaaS model. In addition, it encloses a business process deployment optimizer. To develop this latter, we examine a linear program and a genetic algorithm to find out the optimal deployment of a business process on cloud containers. We show experimentally the effective performance of containers-based versus VM-based deployment, and linear program versus the First-Fit container strategy and the genetic algorithm.
Read full abstract