My name is Richard Weber, and I am a Senior Consultant here at Eficode. During September I was teaching a course for students at Arcada. We wanted to give schools the opportunity to offer a course in modern software development practices to their students.
During the spring we at Eficode decided to contact schools with technology programs in the Helsinki area. We offered to partner with them and hold a course in Devops for their students. I was a part of this initiative and handled Arcada, after some discussion with the program leader we had a rough plan for the course. During the summer I planned the toolset that was to be used in respect to the schools infrastructure requirements.
Come September the course started with 13 more or less eager students participating. The grading was based on a project that was completed as a group effort, so we agreed upon the groups on the first lesson. The course went on for a total of 8 lessons where I presented some high level theory on various subjects within Devops and then some practical demonstrations of the tools we were using for that subject in the course.
The project was fairly basic, but what I have found is that implementing continuous delivery (CD) on a software project is never as straightforward as it seems at first. The students were tasked with creating a simple software project, did not have to be anything fancy, and then design a CD pipeline for their project.
The tools we used were Gitlab community edition for project management, git server and continuous integration, Robot Framework for acceptance testing, Vagrant for virtual development environments, and Ansible for environment provisioning. Test, Stage and Production environments were hosted on Arcada's in-house cloud solution.
Devops is at the core of Eficode's activities, and schools do not normally teach or use the practices and tools that we use. We chose to do this together with the schools so that the students that had the opportunity to attend the course have at least a basic understanding of Devops, both theory and practice. Hopefully this will enable them to rethink their approach to other software projects, both in school and in their professional life.