I'm developing a personal project with a few people. I need to setup Continuous Integration service, Jenkins, version control service, Perforce, repository manager service, Nexus, and a Web server.
My thinking is, that only Web server needs to be hosted on a public network, while all the other services, including Jenkins, Perforce, and Nexus should be accessed only internally, on our local network or using VPN.
Is this a good use case for Virtual Private Network? What's the best practice?