skip to main content
10.1145/3551902.3551962acmotherconferencesArticle/Chapter ViewAbstractPublication PageseuroplopConference Proceedingsconference-collections
research-article
Open Access

Service Mesh Patterns

Published:07 February 2023Publication History

ABSTRACT

As the benefits and applicability of microservice architectures become better understood by the software industry, and this architecture becomes increasingly more adopted for building stable, independent and scalable cloud applications, a new set of concerns have alerted developers regarding communication between the different microservices. A service mesh tries to address this issue by creating a clear separation of concerns between application logic and the infrastructure needed for the communication between the different services. This is accomplished by abstracting the cross-cutting concerns related with communication out of the internal services making it possible to be reused by the different services. Existing literature describes a service mesh pattern and a sidecar pattern. This paper leans on these patterns and proposes six patterns found by observing the, what is commonly called, good practices. The six patterns are service mesh, shared communication library, node agent, sidecar, service mesh team and control plane per cluster.

References

  1. Microsoft 2021. Cloud design patterns - Azure Architecture Center. Microsoft. https://docs.microsoft.com/en-us/azure/architecture/patterns/index-patternsGoogle ScholarGoogle Scholar
  2. Mohammadali Akbarisamani. 2019. Service Based Architecture with Service Mesh Platform in the context of 5G Core. (11 2019). https://trepo.tuni.fi/bitstream/handle/10024/117797/AkbariMohammadali.pdf?sequence=2&isAllowed=yGoogle ScholarGoogle Scholar
  3. Carlos Albuquerque, Kadu Barral, Filipe Correia, and Kyle Brown. 2022. Proactive monitoring design patterns for cloud applications. In Proceedings of the 27th European Conference on Pattern Languages of Programs (Irsee, Germany) (EuroPLoP ’22). Association for Computing Machinery, New York, NY, USA.Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Christopher Alexander. 1977. A pattern language: towns, buildings, construction. Oxford university press, New York, USA.Google ScholarGoogle Scholar
  5. Kyle Brown. 2021. Service Mesh Pattern. https://kgb1001001.github.io/cloudadoptionpatterns/Cloud-Native-Architecture/Service-Mesh/ Accessed at: 2021-09-24.Google ScholarGoogle Scholar
  6. Kyle Brown, Bobby Woolf, Joseph Yoder, Cees De Groot, Chris Hay, and Ian J. Mitchell. 2021. Patterns for Developers and Architects building for the cloud. https://kgb1001001.github.io/cloudadoptionpatterns/Google ScholarGoogle Scholar
  7. Frank Buschmann, Regine Meunier, Hans Rohnert, Peter Sommerlad, and Michael Stal. 1996. Pattern-oriented software architecture: a system of patterns. Vol. 1. John Wiley & Sons, New York, USA.Google ScholarGoogle Scholar
  8. Filipe Figueiredo Correia and Ademar Aguiar. 2013. Patterns of flexible modeling tools. In Proceedings of the 20th Conference on Pattern Languages of Programs. Association for Computing Machinery, New York, NY, USA, 1–17.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Jürgen Dobaj, Markus Schuss, Michael Krisper, Carlo Alberto Boano, and Georg Macher. 2019. Dependable mesh networking patterns. Association for Computing Machinery, New York, NY, USA, 1–14. https://doi.org/10.1145/3361149.3361174Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Amine El Malki and Uwe Zdun. 2019. Guiding Architectural Decision Making on Service Mesh Based Microservice Architectures. In Software Architecture, Tomas Bures, Laurence Duchien, and Paola Inverardi (Eds.). Springer International Publishing.Google ScholarGoogle Scholar
  11. Mark Interrante. 2022. Salesforce Goes Big With Containers & Service Meshes — Joins the CNCF. Salesforce Engineering Blog. https://engineering.salesforce.com/salesforce-goes-big-with-containers-service-meshes-joins-the-cncf-b5af2376ee33/Google ScholarGoogle Scholar
  12. Istio. 2022. Deployment Models. Available at https://istio.io/latest/docs/ops/deployment/deployment-models/#control-plane-models (2022/10/04).Google ScholarGoogle Scholar
  13. Anjali Khatri and Vikram Khatri. 2020. Mastering Service Mesh: Enhance, secure, and observe cloud-native applications with Istio, Linkerd, and Consul. Packt.Google ScholarGoogle Scholar
  14. Microsoft. 2021. Sidecar Pattern. (2021). https://docs.microsoft.com/en-us/azure/architecture/patterns/sidecarGoogle ScholarGoogle Scholar
  15. Chris Richardson. 2018. Microservices patterns: with examples in Java. Manning Publications Co., Shelter Island, NY.Google ScholarGoogle Scholar
  16. Chris Richardson. 2021. A pattern language for microservices. http://microservices.io/patterns/Google ScholarGoogle Scholar
  17. Matthew Skelton and Manuel Pais. 2019. Team topologies: organizing business and technology teams for fast flow. It Revolution.Google ScholarGoogle Scholar
  18. Tiago Boldt Sousa, Filipe Figueiredo Correia, and Hugo Sereno Ferreira. 2015. Patterns for Software Orchestration on the Cloud. In Proceedings of the 22nd Conference on Pattern Languages of Programs (Pittsburgh, Pennsylvania) (PLoP ’15). The Hillside Group, USA, Article 17, 12 pages.Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Tiago Boldt Sousa, Hugo Sereno Ferreira, and Filipe Figueiredo Correia. 2018. Overview of a Pattern Language for Engineering Software for the Cloud. In Proceedings of the 25th Conference on Pattern Languages of Programs (Portland, Oregon) (PLoP ’18). The Hillside Group, USA, Article 6, 9 pages.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Tiago Boldt Sousa, Hugo Sereno Ferreira, Filipe Figueiredo Correia, and Ademar Aguiar. 2017. Engineering Software for the Cloud: Messaging Systems and Logging. In Proceedings of the 22nd European Conference on Pattern Languages of Programs (Irsee, Germany) (EuroPLoP ’17). Association for Computing Machinery, New York, NY, USA, Article 14, 14 pages. https://doi.org/10.1145/3147704.3147720Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Tiago Boldt Sousa, Hugo Sereno Ferreira, Filipe Figueiredo Correia, and Ademar Aguiar. 2018. Engineering Software for the Cloud: Automated Recovery and Scheduler. In Proceedings of the 23rd European Conference on Pattern Languages of Programs (Irsee, Germany) (EuroPLoP ’18). Association for Computing Machinery, New York, NY, USA, Article 6, 8 pages. https://doi.org/10.1145/3282308.3282315Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Tiago Boldt Sousa, Hugo Sereno Ferreira, Filipe Figueiredo Correia, and Ademar Aguiar. 2018. Engineering Software for the Cloud: External Monitoring and Failure Injection. In Proceedings of the 23rd European Conference on Pattern Languages of Programs (Irsee, Germany) (EuroPLoP ’18). Association for Computing Machinery, New York, NY, USA, Article 7, 8 pages. https://doi.org/10.1145/3282308.3282316Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Statista. 2021. Usage of microservices within organizations. (2021). https://www.statista.com/statistics/1236823/microservices-usage-per-organization-size/Google ScholarGoogle Scholar
  24. Guilherme Vale, Filipe Figueiredo Correia, Eduardo Martins Guerra, Thatiane de Oliveira Rosa, Jonas Fritzsch, and Justus Bogner. 2022. Designing Microservice Systems Using Patterns: An Empirical Study on Quality Trade-Offs. In 2022 IEEE 19th International Conference on Software Architecture (ICSA). 69–79. https://doi.org/10.1109/ICSA53651.2022.00015Google ScholarGoogle Scholar

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Other conferences
    EuroPLop '22: Proceedings of the 27th European Conference on Pattern Languages of Programs
    July 2022
    338 pages
    ISBN:9781450395946
    DOI:10.1145/3551902

    Copyright © 2022 Owner/Author

    This work is licensed under a Creative Commons Attribution-ShareAlike International 4.0 License.

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 7 February 2023

    Check for updates

    Qualifiers

    • research-article
    • Research
    • Refereed limited

    Acceptance Rates

    Overall Acceptance Rate216of354submissions,61%

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format .

View HTML Format