Requirements Reconciliation for Scalable and Secure Microservice (De)composition

Mohsen Ahmadvand, Amjad Ibrahim · 2016

Traditional monolithic services fail to scale efficiently when a certain task within the service is flooded. They also have a long software release cycle due to the system complexity. Microservices, as a new architectural style, are built upon the idea of breaking a large service into a set of single-responsibility (along with other properties) services that are communicating over network. In such a setting, services can scale more efficiently and release cycles become shorter thanks to the continuous deployment. Also, breaking a system into microservices is a daunting task. Normally, such design decisions are made by developers or architects with some intuitions. We argue that this approach only captures the interest of a narrowed set of stakeholders and thus fails to account system-wide requirements. In this work, we propose a conceptual methodology using which security and scalability requirements are incorporated in decomposing system into microservices. Using this methodology, requirements engineers can mindfully reconcile security and scalability requirements. This initiates architectural decisions (i.e. system decomposition) at requirements engineering phase and hence expands the system architects' view. We also examine our methodology by applying it to a fictional case study.

Read the paper · More papers on PaperTik