Open-source versus SaaS: Educational applications at the University of Groningen
|Date:||11 October 2023|
The team IT for Education of the Center for Information Technology is responsible for all educational applications that are used by both students and lecturers at the University of Groningen. This set of applications includes systems such as Brightspace, Ocasys, the scheduling system, and Kaltura. As you can imagine, a lot of data is being processed by these systems.
Two years ago, perhaps the largest project ever of our team was completed, the Future of the Learning Environment. Throughout this project, Brightspace would replace the previous online learning environment Nestor (Blackboard). This effectively meant that we moved from managed hosting (where we still fully controlled our data) to a cloud-based application. This raises some concerns, as there is now less control over where data is stored. In this blog, I would like to give an insight into some of the challenges that arose during this transition, and how we mitigated some of the risks when it comes to having control over the data. I am also going to make a small comparison between Brightspace and an open-source alternative.
Big Tech companies and cloud services
There are just a few companies that can offer cloud services on a large scale; think for example Microsoft and their Azure cloud services, Amazon’s Web Services (AWS), and Google Cloud. These three cloud services combined own a 65 percent share of the worldwide cloud infrastructure service market. They offer what we would refer to as a ‘public cloud’. A lot of companies – even large ones such as Apple – use these public clouds, most often because they can save the costs they would have if they were to set up their autonomous infrastructure. This might limit the control over what is happening with their applications and data. In contrast to these public clouds, we could also consider ‘private clouds’. This is a model where the entire (computing) infrastructure is dedicated to a single user or organisation. An example of a platform that offers to set up environments like this is Nextcloud
Cloud services and the Learning environment
Both Brightspace and Kaltura use a public cloud - the one from Amazon. Data is thus stored in the AWS data centres. For both applications, there is simply no way to host data on the University of Groningen’s infrastructure. Since most cloud providers such as AWS have data centres in Europe, privacy is often not the biggest concern. As long as the data of European users is stored inside Europe the European legislation, the 2016 General Data Protection Regulation (GDPR) applies.
Our team at the University of Groningen also hosts several applications at Microsoft’s public cloud service Azure (also with data centres inside the European Union). Initially, these services were hosted on the infrastructure that is owned by the university itself - a private cloud. This infrastructure was relatively new to the CIT. Initially, this was fine, as there were not so many users. Later on, as more and more users started actively using Brightspace, there were some performance issues. Hence, it was decided that it might be better if we moved these applications to Microsoft Azure. This gave us a few advantages:
Higher guaranteed Service Level Agreement (SLA)
A higher SLA means a higher guaranteed uptime - which can be crucial for some applications. This means better performance and more reliability when using a service. Azure simply enjoys higher economies of scale than an internally hosted infrastructure, which enables better performance. Effectively this means that there is a higher guaranteed service level, with lower costs. For our applications, uptime is extremely important since students and lecturers both depend on the software when it comes to accessing Brightspace and when taking digital exams for example. If the software would be offline, this would have a significant impact on the quality of education.
Easier deployment of updates
Many of the large cloud providers offer integrations with tools that are used to develop software. An example of these tools is a continuous development (CD) pipeline. Without making this post too technical, it makes it easier to ship new versions of software, and thus shortens the development cycle, making it easier to push more updates. Rather than logging onto multiple servers, downloading the latest version, making configuration changes, and so forth, this CD pipeline allows us to push updates with a single click on a button.
Flexibility and efficiency
You can access a wide variety of software and hardware using a public cloud. It is easy to scale up (or scale down) the resources that you use, depending on the demand of an application. This is interesting for our applications because the demand can fluctuate significantly. For example, during the exam periods, the demand is higher, and during the summer or holiday periods, the demand is lower.
Using a public cloud rather than a private cloud also comes with a few disadvantages:
Control, Security, and Autonomy
With a private cloud, you have more control over your data, security policies, and infrastructure. This can be important to comply with requirements put in place by an organisation or the government. Furthermore, an organisation might choose to use a private cloud to promote and protect specific values.
Private clouds allow organisations to customise the hardware and software even further than a public cloud does. Everything (such as networking, hardware, and software configurations) has to be configured. This can be an advantage, although this is more expensive and uses more company resources to set up and manage.
If everything is run on hardware that is exclusive to a specific company, there is less risk that “noisy neighbours” can impact the performance in a multi-tenant public cloud environment. In short, this is a scenario where more users share the same hardware at a reduced cost. Data governance is also easier to enforce if everything runs in its isolated network.
Our decision and mitigation of ‘side-effects’
The higher service level, easier deployment of updates, flexibility, and easier deployment of new updates were good reasons for our team to move to the public cloud. There are, however, some measures that we have taken to mitigate some of the disadvantages of using a public cloud. While we host our applications in the public cloud, the data (that is not stored in Brightspace itself) is still stored on the on-premise infrastructure of the university itself. This still gives us complete control over who has access to the data and how the data is secured. This data can vary from personal information that is stored in Progress to backups of exams. Passwords and other secret tokens are also retrieved from services that are hosted within the university.
Open source alternatives
If you want to have complete control over your data and application, an open-source application hosted on your hardware and infrastructure might be the best solution. Since the application itself is open source, you can view exactly what the software is doing with the data. You can also host the software yourself. Open source software is usually also very expandable so that it can be tweaked to your requirements - although this often requires development work.
Sometimes there are simply no open-source alternatives though - or at least no feasible alternatives. When it comes to Learning Management Systems (LMS) like Brightspace, there are just a few systems, which might work for some schools and universities. The most popular one is Moodle. Moodle is a complete LMS system and has similar functionalities as Brightspace. In my personal opinion, it does have some usability issues compared to Brightspace. The ‘learning curve’ of Moodle is also higher. Furthermore, it lacks some features that Brightspace does offer. But then again, Moodle is a completely open-source package - and it is free to use. Anyone who wishes to contribute to the project or check the source code can do so.
Open-source versus Software-as-a-Service
While the software itself might be free, hosting and maintaining the software is not. Especially for a large-scale university, you expect the LMS to be available all the time. The software will have to be updated and it may need to be customised. Think of connections to other systems via LTI (Learning Tools Interoperability - an interface that is used to share data between the LMS and another application), or an integration between the LMS and the student information system (SIS) (for example, to retrieve course enrollments or submit final grades). This all costs money. It is the question of whether the costs of extending, maintaining, and hosting an open-source system are worth not using a Software-as-a-Service system (software that is hosted by a company - without the need to worry about maintaining or updating it by the end-user) such as Brightspace. Data autonomy could also be a factor that influences this decision. However, for some other pieces of software, such as the video platform Kaltura, there simply is no open-source alternative. In these cases, we are simply bound to the usage of managed (often paid) software.
Most large universities around the world use Brightspace, Blackboard, or Canvas. Some large universities use Moodle. I believe that Moodle is a fine LMS, but after testing all three systems, I sincerely believe that the user experience is better on the other three platforms. The suppliers of these platforms moreover interact with many universities. A lot of knowledge is gained from these interactions, which is then used to further improve the LMS platforms. I believe that it is fine to use one of these three platforms rather than Moodle, as long as the data is still stored inside the EU. This way, privacy is guaranteed, there is less to worry about maintaining and hosting the software, and we can benefit from the experience that the suppliers have with other universities.