RLR Posted January 11, 2023 Posted January 11, 2023 Just wondering what people are doing for their computer science students and allowing them to create/run exe files. I've had a little look round on the forums and seen a fairly old post suggesting Virtaul Box machines. Just wandering if there are any other ideas that people are doing.
psydii Posted January 11, 2023 Posted January 11, 2023 Applocker rule to allow execution from a known/predictable path? It would give them a gateway to bypassing applocker rules in general, but once you give them python or a compiler all bets are off anyway, and you have to hope your AV is smart enough to detect malicious intent.
jthompson Posted January 11, 2023 Posted January 11, 2023 I'd still suggest the VirtualBox approach, tbh, although there may be other ways to sandbox things (has anyone done this using Windows Sandbox?). It'll help to protect your hosts and wider network from abuse and accidents, and give you and your users peace of mind.
Popular Post mjhardisty Posted January 12, 2023 Popular Post Posted January 12, 2023 Started to look at Azure Labs. I think going forward this would be the safest and best option for teaching and learning. https://azure.microsoft.com/en-us/products/lab-services/ Teachers would need an A5 licence, but they come with 40 free student licences. The machines are isolated from your network, but have O365 authentication, can be built from a default image, have access to the internet so students could use GitHub or OneDrive or whatever to access their files. Teachers have control of machines, so can spin up more machines, reset them, etc, etc. The cost of running a classroom over a year is around £500 - all depends on the number of machines and have often they are "active". 5
howartp Posted January 12, 2023 Posted January 12, 2023 Started to look at Azure Labs. I think going forward this would be the safest and best option for teaching and learning. https://azure.microsoft.com/en-us/products/lab-services/ Teachers would need an A5 licence, but they come with 40 free student licences. The machines are isolated from your network, but have O365 authentication, can be built from a default image, have access to the internet so students could use GitHub or OneDrive or whatever to access their files. Teachers have control of machines, so can spin up more machines, reset them, etc, etc. The cost of running a classroom over a year is around £500 - all depends on the number of machines and have often they are "active". Ooh, I started looking at Azure a couple of months ago but couldn't find anything that didn't need lots of extra student licenses that we didn't have, without paying lots more money. That's looking a more reasonable proposition on the face of it.
mjhardisty Posted January 12, 2023 Posted January 12, 2023 The licence is Microsoft 365 A5 which gives the required Azure AD Plan 2. https://learn.microsoft.com/en-us/office365/servicedescriptions/office-365-platform-service-description/microsoft-365-education Just make sure those teachers aren't being counted in your standard A3 or whatever licencing so you aren't paying twice. Then its down to lab costs!
Mako Posted January 12, 2023 Posted January 12, 2023 That thread about VirtualBox came up trumps here a few months ago. We've deployed a virtual, immutable, sandbox environment to students where they can make/break to their heart's delight. While it might be a bit old-school in the realms of cloud-based things, it's free (other than your time setting it up), if budget is a major factor. 1
hyb80 Posted January 13, 2023 Posted January 13, 2023 How did you get on with setting this up? I am just looking now and trying to get my head around the initial instructions. Did you create a lab plan first in Azure Portal?
flyinghaggis Posted January 18, 2023 Posted January 18, 2023 (edited) That thread about VirtualBox came up trumps here a few months ago. We've deployed a virtual, immutable, sandbox environment to students where they can make/break to their heart's delight. While it might be a bit old-school in the realms of cloud-based things, it's free (other than your time setting it up), if budget is a major factor. We've been using Virtualbox for nearly a decade to run programming/coding apps but our computing staff are starting to push for more flexibility and convenience. The Virtualbox VM we have has no network/internet access and is only able to communicate via a mapped file share to the home area of the local user. We looked at options for tagging the VM traffic with VLAN information/etc to try and route it out directly to the web without granting access to the rest of the network but couldn't find a way to do this? Even if that were possible I think they'd still push for more functionality than a Virtualbox image can offer. Most of the coding teaching us now done using Replit (https://replit.com) as it's far more convenient. The problem we're finding is there are limitations to the functionality it offers and there are certain situations (exams, contingency) where an offline local app is more suitable. Also, some of the older pupils doing the subject at a more advanced level require access to Python, MySQL and PHP in order to link a web application to a back end datbase. Some also want to carry out more bespoke apps for project work, etc. So there are instances where Replit isn't an option. I'm still convinced that the future is moving towards somekind of hosted VM whether its in Azure or another platform. I'd be keen to hear if any other schools have moved away from Virtualbox towards a cloud/hosted/online based alternative for programming? Edited January 18, 2023 by flyinghaggis
jthompson Posted January 18, 2023 Posted January 18, 2023 My colleague recently started looking into GitHub Codespaces and GitHub Classroom. Bit of a rabbit warren of "Enterprises", "Organisations", "Teams", etc. so I'm not sure what the verdict was but that may be something to investigate.
Mako Posted January 18, 2023 Posted January 18, 2023 Also, some of the older pupils doing the subject at a more advanced level require access to Python, MySQL and PHP in order to link a web application to a back end datbase. Some also want to carry out more bespoke apps for project work, etc. So there are instances where Replit isn't an option. In our Sandbox we have Python and a list of modules installed. As it's a Sandbox I care little for what things they request, I'll put almost anything in there. XAMPP is installed if they want to dally with PHP or web-based stuff. The only gripe is that if they create a MySQL database on XAMPP, it's gone when they close the sandbox, but they seem quite content creating new databases on a whim just for quick testing. Some of them have a db file in their home drive and copy that to the sandbox each time.
mavhc Posted January 18, 2023 Posted January 18, 2023 What are you trying to avoid? And what are you trying to achieve? Will a disposable sandbox work, or do you need persistence? Do you need an environment per user, that they can set up and keep? What network access do you want them to have? LAN? Internet? Filtered? Do they want to run servers, what should the local firewall settings be? Do they want to have servers running continuously? Or just when they have their computer on? Do they want access in any place in the school? At home? Or just in 1 classroom?
flyinghaggis Posted January 18, 2023 Posted January 18, 2023 (edited) What are you trying to avoid? And what are you trying to achieve? Will a disposable sandbox work, or do you need persistence? Do you need an environment per user, that they can set up and keep? What network access do you want them to have? LAN? Internet? Filtered? Do they want to run servers, what should the local firewall settings be? Do they want to have servers running continuously? Or just when they have their computer on? Do they want access in any place in the school? At home? Or just in 1 classroom? What are you trying to avoid? And what are you trying to achieve? Primarily I want to avoid pupils having the freedom to run scripts and executable code on the live school network and have this run in a controlled sandbox environment where they can't cause any damage whether intentional or accidentally. They'll need to be able to install applications such as Apache. MySQL, PHP & Python. It doesn't need to be a live system accessible to the public as it's purely for them creating projects /coursework for the curriculum. Will a disposable sandbox work, or do you need persistence? The images will need to be persistent as pupils will want to use it for ongoing work Do you need an environment per user, that they can set up and keep? Yes, each pupil will need their own environment or VM Image to work on. What network access do you want them to have? LAN? Internet? Filtered? Only filtered Internet Access. No Local network access Do they want to run servers, what should the local firewall settings be? Nothing accessible on the internet or the live school network Do they want to have servers running continuously? Or just when they have their computer on? No, we only need it to be running whilst the pupils are working on them. Do they want access in any place in the school? At home? Or just in 1 classroom? It would be helpful if they could access the environment/image from both in school and at home. Edited January 18, 2023 by flyinghaggis
mavhc Posted January 19, 2023 Posted January 19, 2023 So you want a container or VM for each student. What OS? How many students? Whether that's hosted locally or remotely is one question If they're accessing it from home, is this on a school laptop with the Image, or them remotely connecting to a server? 1
mjhardisty Posted January 19, 2023 Posted January 19, 2023 There is a nice section on the Learn website: https://learn.microsoft.com/en-us/azure/lab-services/classroom-labs-scenarios The Learn environment has its own sandbox so you can learn how to setup and configure VMs. 2
flyinghaggis Posted April 4, 2024 Posted April 4, 2024 (edited) How did you get on with setting this up? I am just looking now and trying to get my head around the initial instructions. Did you create a lab plan first in Azure Portal? We've setup a lab plan (after some back and forth with our Microsoft Reseller to get the subscription setup). The next issue we encountered is that, not unsurprisingly, Azure Lab Services require Microsoft accounts for login. We're primarily a Google Workspace based school so I'm not keen to create full on unrestricted Office365/Microsoft accounts for pupils just for Azure Labs? Google Workspace doesn't seem to have a direct equivalent of Azure Lab Services or at least not one aimed at end users from what I can see. I'm not sure if there are any other options for logging into Azure Lab services? Had a look at Github login but that's also blocked for school/organisation MS domains and only seems to work for personal accounts. I guess most schools are probably using Microsoft/Office365 so it won't be an issue for them Edited April 4, 2024 by flyinghaggis
dmj Posted April 4, 2024 Posted April 4, 2024 Google Workspace doesn't seem to have a direct equivalent of Azure Lab Services or at least not one aimed at end users from what I can see. It's not a direct equivalent, but https://colab.google/ or vertex workbench offer jupyter style notebooks. If you need the azure service, couldn't you just login via Google? https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-google
flyinghaggis Posted April 5, 2024 Posted April 5, 2024 It's not a direct equivalent, but https://colab.google/ or vertex workbench offer jupyter style notebooks. If you need the azure service, couldn't you just login via Google? https://learn.microsoft.com/en-us/azure/app-service/configure-authentication-provider-google We looked at Colab and it's pretty good but our computing department are adamant they require Visual Studio Code / Pycharm so Colab isn't an option unfortunately.
dmj Posted April 5, 2024 Posted April 5, 2024 We looked at Colab and it's pretty good but our computing department are adamant they require Visual Studio Code / Pycharm so Colab isn't an option unfortunately. Makes sense. If you are running vscode locally, you can connect the vscode to a remote vertex workbench running in GCP (it's essentially a managed jupyter instance), so the code executes there. https://code.visualstudio.com/docs/datascience/jupyter-notebooks https://cloud.google.com/vertex-ai/docs/workbench/instances/introduction 1
flyinghaggis Posted December 3, 2024 Posted December 3, 2024 https://learn.microsoft.com/en-us/azure/lab-services/retirement-guide We've just had an email from Microsoft advising that they're retiring Azure Lab Services (which was one of the virtual lab options we'd considered for our pupils to run Computing programming/development applications. Has anyone tried any of the alternatives they've suggested? Apporto (https://www.apporto.com/virtual-computer-labs) CloudLabs by Spektra Systems (https://cloudlabs.ai/) Nerdio Manager for Enterprise (NME) (requires and uses Azure Virtual Desktop) (https://getnerdio.com/) Skillable (https://www.skillable.com/virtual-it-labs-skills-validation-hands-on-learning/?nab=1)
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now