How to get started learning client-server multiplayer with Unity

I have developed single-player Unity games before, but I have not yet learned specifically how to make an online client-server multiplayer game (NOT peer-peer). I want to learn how to connect a Unity game to a central server which can allow the client to call procedures on the server remotely. The game client will be accessing the server’s procedures every few seconds–no other client-server interaction necessary. I also want to be able to write these procedures myself. I’m not sure where to get started learning something like this, so I would like to be pointed in the right direction. Can someone please give me some links or book titles to get me started or at least tell me what I need to type into Google to cater to my specific needs? The answers that I think would give me a good foundation are to the questions:

~Will I need a server software solution or can I just upload code with the necessary procedures directly to the server?

~How is the connection between the Unity-based client and the server established?

~How is this connection protected so that hackers cannot abuse the server?

With a brief understanding of the above topics, I feel I will be able to better navigate myself in learning what I need to learn. Please refer me to any links, books, etc that would get me on the right track. Thank you in advance!

been following this guy for a year now almost: https://www.youtube.com/channel/UCUy5QMxQDVlYMSM4Zt483BA

Really cool series on using Photon Server to make an authoritative client-server system.

I think Photon is expensive… For multiplayer you can have a Google Play Game Services…

https://developers.google.com/games/services/android/realtimeMultiplayer
https://developers.google.com/games/services/android/turnbasedMultiplayer

They also do have a Unity plugin ready to be used…

uLink. Can be used on all platforms (Except Windows Store Apps).
550 Euro’s per title. Best documentation and most flexibility out there for a Unity networking API.

http://developer.muchdifferent.com/unitypark/