MI-OPJ: A Microservices-based Online Programming Judge. - Orestis Rafail Nerantzis; Apostolos Tselios; Alexandros Karakasidis 001 (IEEE BigData, 2021)