A network proxy server is what you set up and use as the controller of a network of server - this is the server that connects all of your playable servers together so people can log in through one server IP, and then teleport between the separate servers ingame rather than having to log out and into each different one.
A server network typically consist of the following servers:
1. The proxy server itself running the desired software (BungeeCord being the most widely used and supported). This is the server that you would be advertising the IP of, as all players should be logging in through the proxy server at all times (you should never make the IPs of the other/playable server in your network known to the public as this could be a security risk, depending on your setup).
Note that this server does not load worlds, as it's only the network controller it is not a server players can play on itself, and it does not use normal plugins (only plugins specifically for the network software you chose to use).
2. The hub (or main) server. When users connect to the network proxy server's IP, it will re-route those users to this server. This is typically where you would put all your portals to go to your other servers in the network (similar to how your favorite hub servers are setup), but can act as a general server that you can play on that still links to others (an example being if this is a Survival server and you use the network to have a Creative server running separately so if the Creative server goes down players can still play the Survival part of your server).
3. All additional servers beyond the main server. Once you have at least one server running the proxy and one as the hub, any other servers will be considered extra servers that you can teleport to from the hub (or any other server in your network).
Following the above list, the minimum setup needed for a network would be three separate servers.
With our packages, you can get away with our 1GB Premium or Budget Minecraft package for the proxy server as it is relatively low load (until your network gets popular, then you'd have to upgrade which you can do at any time). For the hub and extra servers, you would get any package to support what you intend to run on them (plugins, mods, etc).
The hub and extra servers can run any type of server JAR file you desire as long as the proxy software you are using works with them. It is also important to keep the server JAR version/types the same between all of your servers For example you can't make the hub server Spigot 1.16.5 and your extra servers Spigot 1.8 - not without a lot of additional setup and management, a large increase to potential issues/security risks and a lower level of support for any issues you have with the network.
You can find a general guide on installing BungeeCord or Waterfall for your proxy server here: How To Install BungeeCord/Waterfall
And a general guide on installing Velocity here: How To Install Velocity