Based on the knowledge provided to us in the morning, we were given an intense lab session by the Barco and delaware people. Both companies had their own way of doing Continuous Integration (CI) and hence we were asked to divide ourselves amongst 2 groups based on who’s way we wanted to learn more about. delaware uses Microsoft Azure DevOps while Barco is more towards the Open Source side.
Microsoft would be the way right?
The half of us who were eager to learn the ways of delaware stuck around at our Classroom #03 (we’re slowly starting to find our way around the place) and ventured on the ways of Microsoft dealing with CI. A brief presentation was given by Emanuel & Luuk who find themselves in a pretty comfortable position at their offices while using DevOps to help with their projects. We were introduced to the different technicalities of Azure and boy, did it turn out to be an intense session!
We were divided into 4 smaller groups and were asked to go through the tutorial that was composed by them. The waiting for 10 minutes to build your pipeline only to see it fail at the last step makes you ponder over the life decisions you made in order to get to this lab session. It was a good balance between providing us with enough information to know what we had to do and left us with mysterious fields and parameters that we had to complete by ourselves allowing us to really getting our hands messy with DevOps.
Here are 3 key points you’d want to know about using Azure DevOps:
It allows you to really get in the cycle of build, test and deploy on different platforms but most importantly on the cloud.
Organizations and companies can blur the worries about managing the supporting infrastructure of the systems and can focus on the development of their apps.
It just works - Microsoft themselves use it as part of their software development process.
Jeff and Willem, two open source jedis, had provided for us a web app together with unit and selenium tests (the same app used for the lab instructions: we need to go deeper!). The Barco representatives had also tried their best to come up with cool memes for the front page. Nice try!
Starting with a series of Open Source tools we set up a continuous integration pipeline for the app:
GitHub (as a source code management system)
Travis CI (for the continuous integration service)
Codecov (for code quality measurements / code coverage)
Heroku (platform as a service for hosting our apps)
We followed the instructions and tried our best not to ‘cheat’, by coming up with the solutions ourselves. That was until we tried deploying the Travis CI configuration script.
Luckily, hints were given, even though we were discouraged from using them. After a bit of a struggle and with the help of Jeff and Willem, we were finally able to set up the pipeline and deploy the app.
It left us all sapped, but it also piqued our interests regarding the theory that we were exposed to earlier in the day. All we needed was some coffee and those small hamsters in our heads were back on their running wheels!
Finally we rejoined the closed source, Azure siths, for a discussion panel: 2 representatives and 2 students who were questioned by the group about the pros and cons of each approach. These questions were thrown back and forth and discussions and arguments were made trying to show whether the dark side could win over the force.
After an unavoidable ideology wars, we agreed that there is no best approach and the solution always depends on the job. So no conclusion this time, you must follow us on the next episode to find out who prevails (and if the Azure cloud aka Death Star will be ‘destroyed’).
As for us, we’ve had a long day, we’re off to the city to hunt for some supper.
By Murtaza Babrawala (1st Master Computer Sciences, VUB) & Kleidi Ismailaj (2nd Master Software Engineering, UGent)