Teaching microservice architectures is challenging due to distributed complexity and the gap between academia and industry. Understanding the quality issues students introduce in MSAs is essential to improve education. This study analyzes student-developed microservices using an established anti-pattern taxonomy and derives lessons learned with actionable teaching recommendations. We conducted a longitudinal, project-based course (2023-2025) involving 216 Master's students (67 teams) who designed and deployed a realistic, containerized MSA for a gamified testing platform. The final systems revealed 23 out of 58 known MSA anti-patterns, spanning five categories. Security issues were most frequent, highlighting weaknesses in authentication, authorization, and data protection. Team Organization and Service Interaction problems followed, reflecting limited DevOps experience and difficulties in inter-service coordination. Fewer issues appeared in Intra-service Design and Inter-service Decomposition, suggesting students generally defined service boundaries well. Overall, students prioritized feature delivery over robustness and operational discipline. To address this, we recommend enforcing minimal standards (API contracts, gateways), providing labs on resilient communication, integrating security-by-design practices, and offering CI-CD templates. The paper contributes a realistic, full-scale educational experience and a replicable model for teaching industry-aligned microservice architecture.
翻译:由于分布式系统的复杂性以及学术界与工业界之间的差距,微服务架构的教学颇具挑战性。理解学生在微服务架构中引入的质量问题对于改进教育至关重要。本研究使用既定的反模式分类法分析学生开发的微服务系统,并总结出经验教训及可操作的教学建议。我们开展了一项为期两年的纵向项目式课程(2023-2025年),涉及216名硕士生(67个团队),他们为一个游戏化测试平台设计并部署了一个现实的、容器化的微服务架构。最终系统揭示了58种已知微服务反模式中的23种,涵盖五个类别。安全问题最为普遍,突显了在身份验证、授权和数据保护方面的薄弱环节。其次是团队组织与服务交互问题,反映了有限的DevOps经验以及服务间协调的困难。在服务内部设计与服务间分解方面出现的问题较少,表明学生通常能较好地定义服务边界。总体而言,学生优先考虑功能交付而非系统的健壮性和运维规范性。为解决此问题,我们建议强制执行最低标准(如API契约、网关)、提供关于弹性通信的实验、集成安全设计实践,并提供CI-CD模板。本文贡献了一个现实、全面的教育经验,以及一个可复制的、与工业界接轨的微服务架构教学模式。