Opportunities and Challenges in Adopting Microservice Architectures for Enterprise Workloads

, , and
USENIX Annutal Technical Conference (Practitioner Talk)
Denver, Co,
Abstract. Web applications are being increasingly architected using the microservice architecture, wherein monolithic applications are decomposed into a set of web services (microservices) with well defined APIs. The constant code churn and diversity of language runtimes found in a single application poses significant challenges to enterprises in terms of orchestrating interactions across a chain of services of different versions, testing their resiliency and managing their performance. In this talk, we describe IBM's efforts to simplify the development of microservice-based applications running on the IBM Bluemix Container Cloud environment. The core of our solution is a programmable data plane in which the microservices of an application are embedded. The routing elements in the data plane consist of programmable Layer-7 middleboxes, called Service Proxies. In addition to routing requests between microservices, a service proxy exposes interfaces to the control plane to program the routing of requests across a chain of microservices and the action it takes at each hop. As use cases, we present two control plane applications written on top of the data plane API: Active Deploy, for canary release and Gremlin, for controlled failure testing.
author = {Shriram and Rajagopalan and Hani and Jamjoom and Tamar and Eilam and Priya and Nagpurkar},
title = {{Opportunities and Challenges in Adopting Microservice Architectures for Enterprise Workloads}},
booktitle = {USENIX Annutal Technical Conference (Practitioner Talk)},
address = {Denver, Co},
month = {June},
year = {2016}