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模板。本文贡献了一个现实的、全面的教育经验,以及一个可复制的、与工业界接轨的微服务架构教学模式。