A service is a mapping to a resource in somewhere, a mysql database, a nfs share in your private network, or elasticsearch in AWS, or a web app in Azure, or redis in Google.
A service binds to a network. When you create a service, service gets a virtual ip from service ip range CIDR that is defined in network definition. Whenever service is not deleted, assigned ip is same.
Give a name, and names must include domain valid characters [a-z][A-Z][0-9][-] like test-map or mysql-dev
Target resource ip or hostname like 126.96.36.199 or private network ip 192.168.1.10
Tcp port or Udp Port or both of them
Target resource port like if mysql is working 3306, or ssh server is working on 22, - Alias
This is useful for already used dns resolution, suppose if you have already resolving dev.mysql.server to an ip , with this feature you can resolve to this service.
Until delete this service, this service will use the same assigned ip in your virtual network, you can ping this ip after you connected network over tunnel