Cloud-native technology has emerged as a cornerstone of modern software development, enabling scalable, resilient, and efficient systems through containerization, orchestration, and continuous delivery. As organizations increasingly adopt cloud-native practices, the demand for skilled professionals proficient in these technologies has surged. This article explores the practical implementation of a cloud-native curriculum at a Serbian higher education institution, focusing on integrating cloud-native principles into software engineering education. The goal is to bridge the gap between theoretical knowledge and real-world application, preparing students for the evolving demands of the tech industry.
Cloud-native development emphasizes building and running applications that exploit the capabilities of cloud computing. Key technologies include Docker for containerization, Kubernetes for orchestration, and CI/CD pipelines for automated deployment. The curriculum aligns with the Cloud Native Computing Foundation (CNCF) standards, focusing on foundational concepts such as container isolation, microservices architecture, and DevOps practices. The 12-factor app design principles are emphasized to ensure scalability, configurability, and maintainability.
The curriculum integrates Docker and Kubernetes to teach containerization and orchestration, enabling students to manage applications across dynamic environments. CI/CD pipelines, particularly through the Prow platform, are central to the course, emphasizing automated testing, deployment, and feedback loops. The use of Git/GitHub for version control and collaborative workflows is a critical component, fostering teamwork and code management skills. The course also introduces students to cloud-native tools like Kubernetes Dashboard and K9s, providing a user-friendly interface for managing containerized applications.
The curriculum is structured around a semester-long project, divided into 10 sprints with six evaluation points. Students work in teams of 20–25, divided into sub-teams for backend, frontend, mobile, and DevOps roles. The project requires the development of at least three microservices, with backend components using multiple programming languages and frontend applications based on HTML/JavaScript/TypeScript. The use of open-source projects is mandated to ensure real-world relevance. Prow is integrated as the CI/CD platform, with jobs executed as Kubernetes Pods, emphasizing the connection between cloud-native infrastructure and development workflows.
The curriculum offers significant advantages, including hands-on experience with industry-standard tools and exposure to DevOps practices that enhance career prospects. Students gain practical skills in cloud-native deployment, teamwork, and problem-solving, which are highly valued in the job market. However, challenges include the complexity of Kubernetes, which requires a strong foundation in Linux/Shell scripting, and the limited availability of cloud service deployment modules due to resource constraints. Balancing theoretical concepts with practical implementation remains a critical focus to ensure students grasp both the fundamentals and advanced aspects of cloud-native development.
Student feedback indicates that the course significantly improves technical skills and career readiness. Over 85% of respondents reported enhanced proficiency in DevOps and CI/CD practices, while 70% noted the course’s positive impact on their professional development. Suggestions for improvement include expanding cloud service deployment modules and incorporating advanced observability tools. These insights highlight the need for continuous curriculum refinement to address emerging industry demands and student needs.
The integration of cloud-native principles into software engineering education is essential for preparing students to meet the challenges of modern technology. By combining theoretical knowledge with practical projects, the curriculum fosters a deep understanding of cloud-native technologies and their real-world applications. Continuous iteration based on student feedback and technological advancements ensures the course remains relevant and effective. As cloud-native practices evolve, so too must educational approaches, ensuring graduates are equipped with the skills to thrive in the dynamic tech landscape.