After several questions opened in Quora[4,5,6], StackOverflow [2,3], ResearchGate [1], I decided to report the list of projects that migrated to microservices or that are implemented from scratch with a microservice architectural style. In our previous work, we investigated several microservices issues, including migration issues[10], architectural patterns[9], and bad smells or antipatterns[8]. The availability of a common data-set of projects implemented with a microservice architectural style, would be very useful to validate our results, but also to anyone who need to learn how to develop microservices-based applications or to researchers that want to study how these systems are architected.
The list could be useful to anyone who need to learn how to develop microservices-based applications or to researchers tha t want to study how these systems are architected. If you are interested to the Architecture related principles, tools and technologies, please consider this github page https://github.com/mfornos/awesome-microservices
I am still looking for a real legacy project (5-10 years old) where I can study how it evolved from Monolithic to microservices. I think this is a common issue of most of the researchers working on microservices, and if we will manage to find at least one, it could be a very good starting point.
Feel free to contribute suggesting other projects. You can send recommendations for new projects making a pull request to this page, or sending an email to davide [dot] taibi [at] tuni [dot] fi
This is the extended version of the Microservice Dataset V1.
Please cite as Microservice Dataset, Extended Version [1]"
[1] Mohammad Imranur Rahman, Sebastiano Panichella, Davide Taibi. A curated Dataset of Microservices-Based Systems. Joint Proceedings of the Summer School on Software Maintenance and Evolution. Tampere, 2019 Rahman, Mohammad Imranur and Panichella, Sebastiano and Taibi, Davide. "A curated Dataset of Microservices-Based Systems" Joint Proceedings of the Inforte Summer School on Software Maintenance and Evolution. CEUR-WS, vol. 2520, pp.1-9. Tampere, Finland. 2019
title={A curated Dataset of Microservices-Based Systems},
author={Rahman, Mohammad Imranur and Panichella, Sebastiano and Taibi, Davide},
booktitle={Joint Proceedings of the Inforte Summer School on Software Maintenance and Evolution},
publisher = {CEUR-WS},
year={2019},
volume={Vol-2520},
}
This list includes projects of different sizes, from very small ones, to relatively large ones (e.g. Train Ticket | link )
This projects, are not ready for production.
Name | Link | Languages | Framework | Number of microservices |
---|---|---|---|---|
ACME Air: | link | Javascript | nodejs | |
Beer catalog (Spring Boot) | link | Java | Spring | |
Blog post (Spring Boot) | link | Java | Spring | |
Bootstrapping Microservices with Docker, Kubernetes, and Terraform | link | Javascript | nodejs | |
CAS Microservice (Portuguese) | link | Java | Spring | |
Cinema Administration: | link | Javascript | nodejs | |
CQRS microservice application: | link | Java | Spring Boot, Spring Cloud and Axon | |
Cloud Native Strangler Example | link | Java | Spring | 7 |
DDD Sample Application: | link | Java | ||
Delivery system | link | Java, Javascript | Spring, Angular2 | |
Digota - ecommerce microservice | link | Go | ||
E-Commerce App | link | Java | Spring | |
ExplorViz | link | Javascript/Typescript | 8 | |
Eberhard Wolff's 11 Demo Systems | link | Java | Spring | |
EnterprisePlanner (ASP.NET) | link | C# | .Net | |
eShop on Containers: | link | C# | .Net | |
Freddy’s bbq joint (Pivotal SSO, Spring Cloud) | link | Java | Spring | |
FTGO - Restaurant Management | link | Java | Spring (Saga Pattern) | 6+API-Gatweay |
Generic Online Shop (service-based patterns experiment) (Java): | link | Java | JavaEE | |
Graph Processing | link | Java | Spring | |
Hipster Shop | link | Java, Node.js, C#, Python, GO | ||
Hot R.O.D. - Rides on Demand | link | GO | ||
Kenzan Million Song Library | link | Java | 7 | |
Lakeside Mutual Insurance Company (API patterns example) | link | Java, Javascript | Spring, nodejs | |
Micro company (Spring Cloud, Axon) | link | Java | Spring | |
Microblog: | link | Javascript | nodejs | |
microService | link | Java | Spring | |
Microservices book | link | Java | Spring | |
Microservice Kubernetes Sample | link | Java | Spring | |
Microservices Reference for Azure | link | C# | .Net | |
Microservices with Consul and Eureka (Chinese) | link | Java | Spring | |
Movie recommendation | link | Java | Spring | |
Music Store: | link | |||
MusicStore (ASP.NET) | link | C# | .Net | |
Netflix microservices with Spring and Eureka | link | Java | Spring | |
Parts Unlimited MRP Microservices | link | Java | Spring | |
Photo uploader (NGINX Fabric Model) | link | Ruby | ||
Piggy Metrics | link | Java | Spring | |
Pitstop (DDD, CQRS, Event Sourcing) | link | C# | .Net | |
Product Review Microservice | link | Java | Spring Cloud, Netflix OSS and the ELK-stack | |
Robot Shop | link | Javascript, Java, Python, Golang, PHP | ||
Service Commerce | link | Javascript | nodejs, Studio.js | |
Share bike (Chinese) | link | Java | Spring | |
SiteWhere | link | Java | Spring | |
Sock Shop | link | Java, Javascript, Golang | Spring, nodejs, Go kit | |
Spring Cloud Microservice Example: | link | Java | Spring | |
Spring Microservice online shop: | link | Java | SpringBoot, SpringCloud | |
Spring PetClinic | link | Java | Spring | |
Spring Petclinic Migration to AWS | link | Java | Spring | |
SpringBoot Microservices: | link | Java | Spring | |
SpringBoot Microservices Blog Series: | link | Java | Spring | |
StaffJoy V1 (Abandoned) : link | ||||
StaffJoy V2 : link | ||||
Tap-And-Eat (Spring Cloud) | link | Java | Spring | 8 |
Task track support (Chinese) | link | Java | Spring | |
Tea Store: | link | Java | JavaEE | |
Train Ticket | link | Java, Node.js., Python, Go | Spring Cloud, Express, Django, Webgo | > 50 |
Vanilla-Java/Microservices | link | Java | ||
Vehicle tracking | link | C# | .Net | |
Warehouse microservice | link | Java | Spring | |
WeText (DDD, CQRS, C#) | link | C# | .Net | |
Yet Another Shop (Yas) | link | Java | Spring Boot, Next.js, Keycloak, Debezium, Elasticsearch, Kafka, Eventuate Tram Sagas, OpenTelemetry | >20 |
Removed from GitHub
Name | Link | Languages | Framework | Notes |
---|---|---|---|---|
Movie recommendation system | link | Java | Spring Cloud | |
Airport management | link | Java | Spring Boot | Not OpenSource Anymore |
- OpenEBS www.openEBS.io
- Spinnaker https://www.spinnaker.io
- Open-loyalty https://github.com/DivanteLtd/open-loyalty
- Sentry https://github.com/getsentry
- Gizmo (Microservice Toolkit from The New York Times) https://github.com/nytimes/gizmo
- Genie (Netflix Distributed Big Data Orchestration Service https://github.com/Netflix/genie
- Lelylan - Open Source Internet of Things https://github.com/lelylan
- SiteWhere (IoT Application Enablement Platform) https://github.com/sitewhere/sitewhere
- Magda (A platform built to power a new generation of data portals) https://github.com/magda-io/magda
- Apollo (configuration management system) https://github.com/ctripcorp/apollo
This list is based on the feedbacks received in the different platforms [1][2][3][4][5][6] and on the list of microservices-based projects listed in scientific papers[7], and of several pull requests submitted buy different authors. I'd like to thank all the participants to the discussions and all the authors of the papers that contributed to populate this list.
[2] https://stackoverflow.com/questions/48802787/open-source-projects-that-migrated-to-microservices
[3] https://stackoverflow.com/questions/37711051/example-open-source-microservices-applications
[7] G Márquez, H Astudillo "Actual Use of Architectural Patterns in Microservices-based Open Source Projects" 25th Asia-Pacific Software Engineering Conference (APSEC 2018). Nara, Japan
[8] D. Taibi, V. Lenarduzzi, and C. Pahl “Architectural Patterns for Microservices: A Systematic Mapping Study” in 8th International Conference on Cloud Computing and Services Science, CLOSER , 2018. (Download)
[9] D. Taibi and V. Lenarduzzi “On the Definition of Microservice Bad Smells”, IEEE Software , vol. 35, no. 3, 2018. (Download)
[10] D. Taibi, V. Lenarduzzi, and Pahl, C. “Processes, Motivations and Issues for Migrating to Microservices Architectures: An Empirical Investigation”, IEEE Cloud Computing Journal, vol. 4, no. 5, 2017. (Download)