Two servers: production and testing. Production server is a AWS Ubuntu Server instance hosted under the College’s plan. Testing server options are:

  • Local on-site server under Secure connection (in CATLAB?)
    • Paran Creek residents would need to get to campus to work and/or get into the College’s VPN to work.
  • Local on-site server in Paran Creek (My room –  VM) in VPN
    • Paran Creek residents would still need VPN and/or access to Secure network.
  • Local on-site server under IT’s VM under a VPN for all access
  • Remote server in a web hosting platform or VPS (AWS, Linode, Bluehost, Dreamhost…)

I recommend and prefer a local server for accessibility and data governance. Since we also have to account for machine specs and physical location, I would be hesitant to use a CATLAB Machine: too many people have access to the lab, and anyone could easily shut down the server, delete or corrupt files, and just mess with accessibility in general. Keeping it in a private machine in the lab could also be problematic, as the machine could go “missing” or get tampered with somehow. Therefore, I’d recommend holding it in a private space, with minimal investment. Given that I hold a significantly powerful machine in my room, I’d prefer to use mine. This, however, implies a heavy trust between the members of the class and me, as I am giving them access to my personal computer. I will mitigate this by running a virtual machine and have people access that, but the risk is still present and requires conversation and agreement between all team members.

The production server would be a ‘live’ copy of whatever we do in the test server once we commit our changes. I’d like to say that they will be automatically synchronized somehow (Git commits…?) but I have never tested this to have a working theory. I will investigate possible options, but until then, data transfer will be manual over SFTP, only one all team members give green light on their stuff.

Services and needed packages will be determined by the programming team, and need to send me their needs to I can install in both servers. Essentially, my job here is that of a sysadmin. I would be hesitant to allow sudo access to people over the production server, but I’d say the test server is open to whatever people want to do. This also means that security protocols for test server will be lax, but production will be tight.

Given that we are also getting information from an existing server through some request and method (HTML scraping, PDF scraping, web crawler, API, etc.), we need to make sure that our connections do not get mistaken for a DDOS (if we send too many requests) or get blacklisted somehow. Need more information on how the host server works to connect properly. Ports are filtered for sure, nmap tells me as much. Need to do some recon.