Abstract
In this chapter we offer an overview of microservices providing the introductory information that a reader should know before continuing reading this book. We introduce the idea of microservices and we discuss some of the current research challenges and real-life software applications where the microservice paradigm plays a key role. We have identified a set of areas where both researcher and developer can propose new ideas and technical solutions.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
L. Bass, I. Weber, L. Zhu, DevOps: A Software Architect’s Perspective, 1st edn. (Addison-Wesley, Reading, 2015)
E. Bobrov, A. Bucchiarone, A. Capozucca, N. Guelfi, M. Mazzara, S. Masyagin, Teaching DevOps in academia and industry: reflections and vision, in Software Engineering Aspects of Continuous Development and New Paradigms of Software Production and Deployment—Second International Workshop, DEVOPS 2019 (Chateau de Villebrumier, 2019)
A. Bucchiarone, A. Marconi, M. Pistore, H. Raik, Dynamic adaptation of fragment-based and context-aware business processes, in ICWS (IEEE Computer Society, Silver Spring, 2012), pp. 33–41
A. Bucchiarone, M. De Sanctis, A. Marconi, Decentralized dynamic adaptation for service-based collective adaptive systems, in ICSOC Workshops. Lecture Notes in Computer Science, vol. 10380 (Springer, Berlin, 2016), pp. 5–20
A. Bucchiarone, M. De Sanctis, A. Marconi, M. Pistore, P. Traverso, Incremental composition for adaptive by-design service based systems, in IEEE ICWS, 2016 (San Francisco, 2016), pp. 236–243
A. Bucchiarone, A. Marconi, M. Pistore, H. Raik, A context-aware framework for dynamic composition of process fragments in the internet of services. J. Internet Services Appl. 8(1), 6:1–6:23 (2017)
A. Bucchiarone, N. Dragoni, S. Dustdar, S.T. Larsen, M. Mazzara, From monolithic to microservices: an experience report from the banking domain. IEEE Softw. 35(3), 50–55 (2018)
I. Bucena, M. Kirikova, Simplifying the DevOps adoption process, in Joint Proceedings of the BIR 2017 pre-BIR Forum, Workshops and Doctoral Consortium co-located with 16th International Conference on Perspectives in Business Informatics Research (BIR 2017) (Copenhagen, 2017)
J. Clark, C. Clarke, S. De Panfilis, A. Sillitti, G. Succi, T. Vernazza, Selecting components in large COTS repositories. J. Syst. Softw. 73(2), 323–331
M.E. Conway, How do committees invent. Datamation 14(4), 28–31 (1968)
O. Dakroub, C.M. Boukhater, F. Lahoud, M. Awad, H. Artail, An intelligent carpooling app for a green social solution to traffic and parking congestions, in 16th International IEEE Conference on Intelligent Transportation Systems, ITSC 2013 (The Hague, 2013), pp. 2401–2408
E. Damiani, N. El Ioini, A. Sillitti, G. Succi, WS-certificate, in 2009 IEEE International Workshop on Web Services Security Management (IEEE, Piscataway, 2009)
E.S. de Almeida, A. Alvaro, D. Lucrédio, V.C. Garcia, S.R. de Lemos Meira, Rise project: towards a robust framework for software reuse. In Proceedings of the 2004 IEEE International Conference on Information Reuse and Integration, IRI - 2004 (Las Vegas, 2004), pp. 48–53
N. Dragoni, F. Massacci, A. Saidane, A self-protecting and self-healing framework for negotiating services and trust in autonomic communication systems. Comput. Netw. 53(10), 1628–1648 (2009)
N. Dragoni, M. Zhou, M. Mazzara, Dependable workflow reconfiguration in WS-BPEL, in Proceedings of the 5th Nordic Workshop on Dependability and Security (2011)
N. Dragoni, S. Giallorenzo, A. Lluch-Lafuente, M. Mazzara, F. Montesi, R. Mustafin, L. Safina, Microservices: yesterday, today, and tomorrow, in Present and Ulterior Software Engineering (Springer, Berlin, 2017), pp. 195–216
S. Dustdar, W. Schreiner, A survey on web services composition. IJWGS 1(1), 1–30 (2005)
E. Evans, Domain-Driven Design: Tackling Complexity in the Heart of Software (Addison-Wesley, Reading, 2004)
D. Fagnant, K. Kockelman, Dynamic ride-sharing and fleet sizing for a system of shared autonomous vehicles in Austin, Texas. Transportation 45, 28–46 (2016)
M. Fowler, J. Lewis, Microservices (ThoughtWorks, Chicago, 2014)
M. Furuhata, M. Dessouky, F. Ordóñez, M.-E. Brunet, X. Wang, S. Koenig, Ridesharing: the state-of-the-art and future directions. Transp. Res. B Methodol. 57, 28–46 (2013)
J. Gray, A conversation with Werner Vogels. ACM Queue 4(4), 14–22 (2006)
H.G. Gross, M. Melideo, A. Sillitti, Self-certification and trust in component procurement. J. Sci. Comput. Program. 56(1–2), 141–156 (2005)
C. Guidi, I. Lanese, M. Mazzara, F. Montesi, Microservices: A Language-Based Approach (Springer, Cham, 2017), pp. 217–225
S. Hanenberg, S. Kleinschmager, R. Robbes, É. Tanter, A. Stefik, An empirical study on the impact of static typing on software maintainability. Empir. Softw. Eng. 19(5), 1335–1382 (2014)
P. Jamshidi, C. Pahl, N.C. Mendonça, J. Lewis, S. Tilkov, Microservices: the journey so far and challenges ahead. IEEE Softw. 35(3), 24–35 (2018)
S. Jones, Microservices is SOA, for those who know what SOA is (2014). http://service-architecture.blogspot.co.uk/2014/03/microservices-is-soa-for-those-who-know.html
K. Khanda, D. Salikhov, K. Gusmanov, M. Mazzara, N. Mavridis, Microservice-based IoT for smart buildings, in 2017 31st International Conference on Advanced Information Networking and Applications Workshops (WAINA) (IEEE, Piscataway, 2017), pp. 302–308
A. Khusnutdinov, D. Usachev, M. Mazzara, A. Khan, I. Panchenko, Open source platform digital personal assistant, in 32nd International Conference on Advanced Information Networking and Applications Workshops, AINA 2018 Workshops (Krakow, 2018), pp. 45–50
G. Kim, P. Debois, J. Willis, J. Humble, The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations (IT Revolution Press, Portland, 2016)
S. Kleinschmager, R. Robbes, A. Stefik, S. Hanenberg, E. Tanter, Do static type systems improve the maintainability of software systems? An empirical study, in 2012 20th IEEE International Conference on Program Comprehension (ICPC) (IEEE, Piscataway, 2012), pp. 153–162
S. Lane, A. Bucchiarone, I. Richardson, SOAdapt: a process reference model for developing adaptable service-based applications. Inf. Softw. Technol. 54(3), 299–316 (2012)
A.L. Lemos, F. Daniel, B. Benatallah, Web service composition: a survey of techniques and tools. ACM Comput. Surv. 48(3), 33:1–33:41 (2016)
R. Lucchi, M. Mazzara, A Pi-calculus based semantics for WS-BPEL. J. Log. Algebr. Program. 70(1), 96–118 (2007)
C.M. MacKenzie, K. Laskey, F. McCabe, P.F. Brown, R. Metz, B.A. Hamilton, Reference model for service oriented architecture 1.0. OASIS Standard 12 (2006)
M. Mazzara, Towards abstractions for web services composition. Ph.D. thesis, University of Bologna, 2006
M. Mazzara, Deriving specifications of dependable systems: toward a method (2010). arXiv preprint arXiv:1009.3911
M. Mazzara, S. Govoni, A Case Study of Web Services Orchestration (Springer, Berlin, 2005), pp. 1–16
M. Mazzara, F. Abouzaid, N. Dragoni, A. Bhattacharyya, Toward design, modelling and analysis of dynamic workflow reconfigurations—a process algebra perspective, in 8th International Workshop on Web Services and Formal Methods WS-FM (2011), pp. 64–78
M. Mazzara, I. Afanasyev, S.R. Sarangi, S. Distefano, V. Kumar, A reference architecture for smart and software-defined buildings (2019). arXiv preprint arXiv:1902.09464
M. Mazzara, A. Naumchev, L. Safina, A. Sillitti, K. Urysov, Teaching DevOps in corporate environments—an experience report, in First International Workshop on Software Engineering Aspects of Continuous Development and New Paradigms of Software Production and Deployment, DEVOPS 2018, Revised selected papers (Chateau de Villebrumier, France, 2018), pp. 100–111
M. Mazzara, N. Dragoni, A. Bucchiarone, A. Giaretta, S.T. Larsen, S. Dustdar, Microservices: migration of a mission critical system. IEEE Trans. Services Comput. (2019). https://doi.org/10.1109/TSC.2018.2889087
M. Mazzara, K. Khanda, R. Mustafin, V. Rivera, L. Safina, A. Sillitti, Microservices science and engineering, in Proceedings of 5th International Conference in Software Engineering for Defence Applications, ed. by P. Ciancarini, S. Litvinov, A. Messina, A. Sillitti, G. Succi (Springer, Cham, 2018), pp. 11–20
B. Meyer, Object-Oriented Software Construction, 1st edn. (Prentice-Hall, Englewood Cliffs, 1988)
K. Mikhail, A. Bucchiarone, M. Mazzara, L. Safina, V. Rivera, Domain objects and microservices for systems development: a roadmap, in Proceedings of 5th International Conference in Software Engineering for Defence Applications (2017)
B. Mingela, L. Safina, A. Tchitchigin, N. Troshkov, D. de Carvalho, M. Mazzara, Jolie static type checker: a prototype. Model. Anal. Inf. Syst. 24(6), 704–717 (2017)
S. Newman, Building Microservices (O’Reilly Media, Sebastopol, 2015)
J.M. Nielsen, A type system for the Jolie language. Master’s thesis, Technical University of Denmark, 2013
P. Predonzani, A. Sillitti, T. Vernazza, Components and data-flow applied to the integration of web services, in The 27th Annual Conference of the IEEE Industrial Electronics Society (IECON01) (2001)
Raspberry PI foundation, Raspberri Pi official site. https://www.raspberrypi.org/. Accessed June 2017
H.G. Rice, Classes of recursively enumerable sets and their decision problems. Trans. Am. Math. Soc. 74, 358–366 (1953)
J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, W.E. Lorensen, et al., Object-Oriented Modeling and Design, vol. 199 (Prentice-Hall, Englewood Cliffs, 1991)
D. Salikhov, K. Khanda, K. Gusmanov, M. Mazzara, N. Mavridis, Jolie good buildings: internet of things for smart building infrastructure supporting concurrent apps utilizing distributed microservices, in Proceedings of the 1st International conference on Convergent Cognitive Information Technologies (2016), pp. 48–53
A. Sillitti, T. Vernazza, G. Succi, Service oriented programming: a new paradigm of software reuse, in 7th International Conference on Software Reuse. Lecture Notes in Computer Science vol. 2319 (Springer, Berlin, 2002), pp. 269–280
D. Taibi, V. Lenarduzzi, C. Pahl, Processes, motivations, and issues for migrating to microservices architectures: an empirical investigation. IEEE Cloud Comput. 4(5), 22–32 (2017)
D. Taibi, V. Lenarduzzi, C. Pahl, Architectural patterns for microservices: a systematic mapping study, in Proceedings of the 8th International Conference on Cloud Computing and Services Science—volume 1, CLOSER, INSTICC (SciTePress, 2018), pp. 221–232
A. Tchitchigin, L. Safina, M. Mazzara, M. Elwakil, F. Montesi, V. Rivera, Refinement types in Jolie. Proc. Inst. Syst. Program. 28, 33–44 (2016)
Texas Instruments, Texas instruments sensor tag official site. http://www.ti.com/tools-software/sensortag.html. Accessed June 2017
Z. Yan, E. Cimpian, M. Zaremba, M. Mazzara, BPMO: semantic business process modeling and WSMO extension, in 2007 IEEE International Conference on Web Services (ICWS 2007) (Salt Lake City, 2007), pp. 1185–1186
Z. Yan, M. Mazzara, E. Cimpian, A. Urbanec, Business process modeling: classifications and perspectives, in 1st International Working Conference on Business Process and Services Computing, BPSC 2007 (Leipzig, 2007), p. 222
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Mazzara, M., Bucchiarone, A., Dragoni, N., Rivera, V. (2020). Size Matters: Microservices Research and Applications. In: Bucchiarone, A., et al. Microservices. Springer, Cham. https://doi.org/10.1007/978-3-030-31646-4_2
Download citation
DOI: https://doi.org/10.1007/978-3-030-31646-4_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-31645-7
Online ISBN: 978-3-030-31646-4
eBook Packages: Computer ScienceComputer Science (R0)