Nothing Special   »   [go: up one dir, main page]

Skip to main content

Microservices: The Evolution and Extinction of Web Services?

  • Chapter
  • First Online:
Microservices

Abstract

In the early 2000s, service-oriented architectures (SOA) emerged as a paradigm for distributed computing, e-business processing, and enterprise integration. Rapidly, SOA and web services became the subject of hype, and virtually every organization tried to adopt them, no matter their actual suitability. Even worse, there were nearly as many definitions of SOA as people adopting it. This led to a big fail on many of those attempts, as they tried to change the problem to fit the solution. Nowadays, microservices are the new weapon of choice to achieve the same (and even more) goals posed to SOA years ago. Microservices (“SOA done right”) describe a particular way of designing software applications as suites of independently deployable services, bringing dynamism, modularity, distributed development, and integration of heterogeneous systems. However, nothing comes for free: new (and old) challenges appeared, including service design and specification, data integrity, and consistency management. In this chapter, we identify such challenges through an evolutionary view from the early years of SOA to microservices, and beyond. Our findings are backed by a literature review, comprising both academic and gray literature. Afterwards, we analyze how such challenges are addressed in practice, and which challenges remain open, by inspecting microservice-related projects on GitHub, the largest open-source repository to date.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.00
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. A. Balalaie, A. Heydarnoori, P. Jamshidi, Microservices architecture enables DevOps: migration to a cloud-native architecture. IEEE Softw. 33(3), 42–52 (2016)

    Article  Google Scholar 

  2. A. Balalaie, A. Heydarnoori, P. Jamshidi, D.A. Tamburri, T. Lynn, Microservices migration patterns. Softw. Pract. Experience 48(11), 2019–2042 (2018)

    Google Scholar 

  3. L. Baresi, M. Garriga, A. De Renzis, Microservices identification through interface analysis, in European Conference on Service-Oriented and Cloud Computing (ESOCC) (Springer, Berlin, 2017)

    Google Scholar 

  4. L. Baresi, D.F. Mendonça, M. Garriga, Empowering low-latency applications through a serverless edge computing architecture, in European Conference on Service-Oriented and Cloud Computing (Springer, Berlin, 2017), pp. 196–210

    Google Scholar 

  5. L. Baresi, S. Guinea, A. Leva, G. Quattrocchi, A discrete-time feedback controller for containerized cloud applications, in ACM Sigsoft International Symposium on the Foundations of Software Engineering (FSE) (ACM, New York, 2016)

    Google Scholar 

  6. L. Baresi, D.F. Mendonça, M. Garriga, S. Guinea, G. Quattrocchi, A unified model for the mobile-edge-cloud continuum. ACM Trans. Internet Technol. 19(2), 29:1–29:21 (2019). https://doi.org/10.1145/3226644

    Article  Google Scholar 

  7. D. Box, D. Ehnebuske, G. Kakivaya, A. Layman, N. Mendelsohn, H.F. Nielsen, S. Thatte, D. Winer, Simple Object Access Protocol (SOAP) 1.1 (2000). W3C Recommendation

    Google Scholar 

  8. G. Casale, C. Chesta, P. Deussen, E. Di Nitto, P. Gouvas, S. Koussouris, V. Stankovski, A. Symeonidis, V. Vlassiou, A. Zafeiropoulos, et al., Current and future challenges of software engineering for services and applications. Proc. Comput. Sci. 97, 34–42 (2016)

    Article  Google Scholar 

  9. A. Cockroft, Evolution of business logic from monoliths through microservices, to functions (2017). https://goo.gl/H6zKMn

  10. N. Dragoni, S. Giallorenzo, A.L. Lafuente, M. Mazzara, F. Montesi, R. Mustafin, L. Safina, Microservices: yesterday, today, and tomorrow, in Present and Ulterior Software Engineering (Springer, Cham 2017), pp. 195–216

    Google Scholar 

  11. J. Erickson, K. Siau, Web service, service-oriented computing, and service-oriented architecture: separating hype from reality. J. BD Manage. 19(3), 42–54 (2008)

    Google Scholar 

  12. C. Fautsch, J. Savoy, Adapting the TF IDF vector-space model to domain specific information retrieval, in Proceedings of the 2010 ACM Symposium on Applied Computing (ACM, New York, 2010), pp. 1708–1712. https://doi.org/10.1145/1774088.1774454

    Google Scholar 

  13. R.T. Fielding, R.N. Taylor, Architectural styles and the design of network-based software architectures, vol. 7. (University of California, Irvine, 2000)

    Google Scholar 

  14. V. Garousi, M. Felderer, M.V. Mäntylä, Guidelines for including grey literature and conducting multivocal literature reviews in software engineering. Inf. Softw. Technol. 106, 101–121 (2019)

    Article  Google Scholar 

  15. M. Garriga, Towards a taxonomy of microservices architectures, in International Conference on Software Engineering and Formal Methods (Springer, Berlin, 2017), pp. 203–218

    Google Scholar 

  16. M. Garriga, A. Flores, A. Cechich, A. Zunino, Web services composition mechanisms: a review. IETE Tech. Rev. 32(5), 376–383 (2015)

    Article  Google Scholar 

  17. M. Garriga, C. Mateos, A. Flores, A. Cechich, A. Zunino, Restful service composition at a glance: a survey. J. Netw. Comput. Appl. 60, 32–53 (2016)

    Article  Google Scholar 

  18. M. Garriga, A.D. Renzis, I. Lizarralde, A. Flores, C. Mateos, A. Cechich, A. Zunino, A structural-semantic web service selection approach to improve retrievability of web services. Inf. Syst. Front. 20(6), 1319–1344 (2018). https://doi.org/10.1007/s10796-016-9731-1

    Article  Google Scholar 

  19. S. Hassan, R. Bahsoon, Microservices and their design trade-offs: a self-adaptive roadmap, in IEEE International Conference on Services Computing (SCC) (IEEE, Piscataway, 2016), pp. 813–818

    Google Scholar 

  20. S. Hendrickson, S. Sturdevant, T. Harter, V. Venkataramani, A.C. Arpaci-Dusseau, R.H. Arpaci-Dusseau, Serverless computation with openlambda. Elastic 60, 80 (2016)

    Google Scholar 

  21. V. Heorhiadi, S. Rajagopalan, H. Jamjoom, M.K. Reiter, V. Sekar, Gremlin: systematic resilience testing of microservices, in 2016 IEEE 36th International Conference on Distributed Computing Systems (ICDCS) (IEEE, Piscataway, 2016), pp. 57–66

    Google Scholar 

  22. V. Issarny, N. Georgantas, S. Hachem, A. Zarras, P. Vassiliadist, M. Autili, M.A. Gerosa, A.B. Hamida, Service-oriented middleware for the future internet: state of the art and research directions. J. Internet Services Appl. 2(1), 23–45 (2011)

    Article  Google Scholar 

  23. E. Kalliamvakou, G. Gousios, K. Blincoe, L. Singer, D.M. German, D. Damian, The promises and perils of mining github, in Proceedings of the 11th Working Conference on Mining Software Repositories (ACM, New York, 2014), pp. 92–101

    Google Scholar 

  24. B. Kitchenham, Guidelines for performing systematic literature reviews in software engineering. Technical report, ver. 2.3 EBSE Technical Report. EBSE. sn (2007)

    Google Scholar 

  25. P. Lemberger, M. Morel, Why Has SOA Failed So Often? (Wiley, London, 2013), pp. 207–218. https://doi.org/10.1002/9781118562017.app3

    Google Scholar 

  26. J. Lewis, M. Fowler, Microservices (2014). http://martinfowler.com/articles/microservices.html

  27. I. Nadareishvili, R. Mitra, M. McLarty, M. Amundsen, Microservice Architecture: Aligning Principles, Practices, and Culture (O’Reilly Media, Sebastopol, 2016)

    Google Scholar 

  28. S. Newman, Building Microservices (O’Reilly Media, Sebastopol, 2015)

    Google Scholar 

  29. M.P. Papazoglou, P. Traverso, S. Dustdar, F. Leymann, Service-oriented computing: a research roadmap. Int. J. Coop. Inf. Syst. 17(02), 223–255 (2008)

    Article  Google Scholar 

  30. C. Pautasso, O. Zimmermann, F. Leymann, Restful web services vs. “big” web services: making the right architectural decision, in 17th International Conference on World Wide Web (ACM Press, New York, 2008), pp. 805–814

    Google Scholar 

  31. M. Rahman, J. Gao, A reusable automated acceptance testing architecture for microservices in behavior-driven development, in 2015 IEEE Symposium on Service-Oriented System Engineering (SOSE) (IEEE, Piscataway, 2015), pp. 321–325

    Book  Google Scholar 

  32. J. Rao, X. Su, A survey of automated web service composition methods, in International Workshop on Semantic Web Services and Web Process Composition (Springer, Berlin, 2004), pp. 43–54

    Google Scholar 

  33. M. Richards, Microservices vs. Service-Oriented Architecture (O’Reilly Media, Sebastopol, 2015)

    Google Scholar 

  34. C. Richardson, Microservices architecture (2014). http://microservices.io/

  35. M. Roberts, Serverless architectures (2016). http://martinfowler.com/articles/serverless.html

  36. G. Schermann, J. Cito, P. Leitner, All the services large and micro: revisiting industrial practice in services computing, in International Conference on Service-Oriented Computing (ICSOC) (Springer, Berlin, 2015), pp. 36–47

    Google Scholar 

  37. A. Sill, The design and architecture of microservices. IEEE Cloud Comput. 3(5), 76–80 (2016)

    Article  Google Scholar 

  38. J. Soldani, D. Tamburri, W.J. Van Den Heuvel, The pains and gains of microservices: a systematic grey literature review. J. Syst. Softw. 146, 215–232 (2018). https://doi.org/10.1016/j.jss.2018.09.082

    Article  Google Scholar 

  39. J. Spillner, C. Mateos, D.A. Monge, Faaster, better, cheaper: the prospect of serverless scientific computing and HPC, in Latin American High Performance Computing Conference (Springer, Berlin, 2017), pp. 154–168

    Google Scholar 

  40. B. Srivastava, J. Koehler, Web service composition-current solutions and open problems, in ICAPS 2003 Workshop on Planning for Web Services, vol. 35 (2003), pp. 28–35

    Google Scholar 

  41. M. Stigler, Understanding serverless computing, in Beginning Serverless Computing (Springer, Berlin, 2018), pp. 1–14

    Book  Google Scholar 

  42. J. Stubbs, W. Moreira, R. Dooley, Distributed systems of microservices using docker and serfnode, in International Workshop on Science Gateways (IWSG) (IEEE, Piscataway, 2015), pp. 34–39

    Google Scholar 

  43. D.A. Tamburri, R. Kazman, H. Fahimi, The architect’s role in community shepherding. IEEE Softw. 33(6), 70–79 (2016). https://doi.org/10.1109/MS.2016.144

    Article  Google Scholar 

  44. G. Toffetti, S. Brunner, S., M. Blöchlinger, J. Spillner, T.M. Bohnert, Self-managing cloud-native applications: design, implementation, and experience. Futur. Gener. Comput. Syst. 72, 165–179 (2017). https://doi.org/10.1016/j.future.2016.09.002.

    Article  Google Scholar 

  45. C. Tsigkanos, M. Garriga, L. Baresi, C. Ghezzi, Cloud deployment tradeoffs for the analysis of spatially-distributed systems of internet-of-things. Technical Report, Politecnico di Milano (2019)

    Google Scholar 

  46. M. Villamizar, O. Garcés, L. Ochoa, H. Castro, L. Salamanca, M. Verano, R. Casallas, S. Gil, C. Valencia, A. Zambrano, et al., Infrastructure cost comparison of running web applications in the cloud using AWS Lambda and monolithic and microservice architectures, in 2016 16th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid) (IEEE, Piscataway, 2016), pp. 179–182

    Google Scholar 

  47. N. Wilde, B. Gonen, E. El-Sheik, A. Zimmermann, Emerging Trends in the Evolution of Service-Oriented and Enterprise Architectures, chap. Approaches to the Evolution of SOA Systems. Intelligent Systems Reference Library (Springer, Berlin, 2016)

    Google Scholar 

  48. F. Zampetti, S. Scalabrino, R. Oliveto, G. Canfora, M. Di Penta, How open source projects use static code analysis tools in continuous integration pipelines, in 2017 IEEE/ACM 14th International Conference on Mining Software Repositories (MSR) (IEEE, Piscataway, 2017), pp. 334–344

    Google Scholar 

  49. O. Zimmermann, Do microservices pass the same old architecture test? Or: SOA is not dead–long live (micro-) services, in Microservices Workshop at SATURN Conference (Software Engineering Institute SEI, Carnegie Mellon University, 2015)

    Google Scholar 

Download references

Acknowledgements

This work has been partially supported by the GAUSS national research project, which has been funded by the MIUR under the PRIN 2015 program (Contract 2015KWREMX); and by the grant ANPCyT PICT-2017-1725.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Martin Garriga .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Baresi, L., Garriga, M. (2020). Microservices: The Evolution and Extinction of Web Services?. In: Bucchiarone, A., et al. Microservices. Springer, Cham. https://doi.org/10.1007/978-3-030-31646-4_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-31646-4_1

  • 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)

Publish with us

Policies and ethics