Microservices tenets: Agile approach to service development and deployment

被引:200
作者
Zimmermann O. [1 ]
机构
[1] University of Applied Sciences of Eastern Switzerland (HSR FHO), Oberseestrasse 10, Rapperswil
来源
Zimmermann, Olaf (ozimmerm@hsr.ch) | 1600年 / Springer Verlag卷 / 32期
关键词
Architectural principles; Architectural styles; DevOps; Domain-driven design; IDEAL cloud application architectures; Loose coupling; Messaging; Patterns; REST; Service-oriented computing; SOA; Systems management;
D O I
10.1007/s00450-016-0337-0
中图分类号
学科分类号
摘要
Some microservices proponents claim that microservices form a new architectural style; in contrast, advocates of service-oriented architecture (SOA) argue that microservices merely are an implementation approach to SOA. This overview and vision paper first reviews popular introductions to microservices to identify microservices tenets. It then compares two microservices definitions and contrasts them with SOA principles and patterns. This analysis confirms that microservices indeed can be seen as a development- and deployment-level variant of SOA; such microservices implementations have the potential to overcome the deficiencies of earlier approaches to SOA realizations by employing modern software engineering paradigms and Web technologies such as domain-driven design, RESTful HTTP, IDEAL cloud application architectures, polyglot persistence, lightweight containers, a continuous DevOps approach to service delivery, and comprehensive but lean fault management. However, these paradigms and technologies also cause a number of additional design choices to be made and create new options for many “distribution classics” type of architectural decisions. As a result, the cognitive load for (micro-)services architects increases, as well as the design, testing and maintenance efforts that are required to benefit from an adoption of microservices. To initiate and frame the buildup of architectural knowledge supporting microservices projects, this paper compiles related practitioner questions; it also derives research topics from these questions. The paper concludes with a summarizing position statement: microservices constitute one particular implementation approach to SOA (service development and deployment). © 2016, Springer-Verlag Berlin Heidelberg.
引用
收藏
页码:301 / 310
页数:9
相关论文
共 36 条
[1]  
Describing RESTful applications., (2008)
[2]  
Migrating to microservices., (2014)
[3]  
Evans E., Domain-driven design: tackling complexity in the heart of software, (2003)
[4]  
Microservices workshop at SEI SATURN 2015., (2015)
[5]  
Fowler M., Patterns of enterprise application architecture, (2002)
[6]  
Microservices prerequisites., (2014)
[7]  
Giamas A., From monolith to microservices, Zalando’s Journey, (2016)
[8]  
Haberle T., Charissis L., Fehling C., Nahm J., Leymann F., The connected car in the cloud: a platform for prototyping telematics services, IEEE Softw, 32, 6, pp. 11-17, (2015)
[9]  
Hohpe G., Woolf B., Enterprise integration patterns: designing, building, and deploying messaging solutions, 1st edn, (2003)
[10]  
Huttermann M., DevOps for developers (expert’s voice in Web development), (2012)