MICROSERVICE (MS) HAS become the latest buzzword in software development,1,6,17 and the popularity of MS-based development is gaining momentum. The MS approach to software development offers an alternative to the conventional monolith style. While benefits of MS-based development over monolith style are clear, industry experts agree that neither style provides an absolute advantage in all situations. Proponents contend an MS approach to software development more readily facilitates mapping organizational changes manifesting from a more dynamic business environment to corresponding IT/IS changes. MS represents an architectural style where large, complex applications are composed of a suite of smaller MSs. MSs have been advocated to overcome some of the perils of existing approaches to software development.1,7,30 Each MS corresponds to a single function around a business capability. Each encompasses its own data resources and is quickly deployable. Examples range from online bill payment on a banking website to an alternate-flights service on an airline website. Other benefits of MSs include ease of requirements changes and testing, greater scalability, enhanced technology innovation and heterogeneity (for example, support for different programing languages and platforms), ease of monitoring performance such as service reliability, and support for more process variations.4,7,18,29 Tom Killalea highlighted eight dividends of MSs beyond the benefits already accepted by industry experts.15 Extensive adoption by notable companies such as Netflix and Uber has given further credence to MS-based software development.13,16,19 Thanks to the favorable reviews of MSs, many organizations are now considering adopting them. While benefits are clear, there are significant challenges to adopting and sustaining MS-based software development. Many of these challenges stem from the novelty of the approach and the lack of understanding in both technical and organizational parameters affecting MS-based development. Unless these challenges are well understood, companies are unlikely to reap the full benefits of MSs and be even worse off than before the modernization. This article identifies key challenges from the initial decision to adopt MSs to the ongoing task of sustaining the new paradigm over the long haul. It aims to provide insights to those considering MS-based software development. This work is supplemented by sections throughout the article labeled “Field Report,” which are based on first-hand experiences of one of the authors, Shahir A. Daya, who has been leading significant MS-based development projects for the past two years at several Fortune 100 companies. (He is responsible for helping the IBM Global Business Services organization adopt the skills necessary to deliver MS-based modernization projects. As such, he teaches several classes on the subject and has coauthored an IBM Redbook as well as IBM’s Microservices Decision Guide.
CITATION STYLE
Vitharana, P., & Daya, S. A. (2024). Adopting and Sustaining Microservice-Based Software Development. Communications of the ACM, 67(7), 34–41. https://doi.org/10.1145/3651620
Mendeley helps you to discover research relevant for your work.