Typically, you only need a single Front End and single Back End Key for each environment created. As of summer 2018, Split does that automatically when you create an environment.
Today, we don't have tracking on which API Key is used so its not very useful to have multiple keys. If/when we build in tracking by API key it might make sense to create an API Key per Service/Server.
The main difference between the FE API keys and BE API keys is a different endpoint for segments. Both hit an endpoint called
/splitChanges to get Split rollout plans, but then only BE keys can hit
/segmentChanges- this allows access to download every segment and all the members of each segment. The main purpose for downloading the full set of members of every segment is to allow our BE SDKs to be able to compute treatments for all of your customers.
FE Keys hit
/mySegments which only returns a list of segments in which the ID used during instantiation is included, so much smaller amounts of data allowing for a smaller memory footprint in the more memory constrained environments of the browser and mobile apps.