At the moment there is a disconnect between my apps inside Marathon and the way people access them. Inside Marathon I define what kind of resources my app needs and how many instances I'd like to run. Somewhere outside Marathon I configure additional app characteristics like "this app needs sticky sessions" or "this app should only be accessed using SSL".
There's different solutions to the problem (haproxy-marathon-bridge, adminrouter, oinkerrouter, edgerouter, servicerouter just to name the ones in use inside Mesophere, not to mention 3rd party solutions) and most of them revolve around embedding configuration information inside env or labels. E.g. to indicate that my app requires sticky sessions I'd set a label HAPROXY_0_STICKY=true and servicerouter would interpret this information during haproxy config generation.
Instead of having to use these freeform strings it'd be nicer if Marathon would store additional information about how the app should be accessed and how load balancing should be done.
Then Marathon could provide several load balancer config plugins that provide e.g. haproxy or nginx configuration endpoints or make requests to a F5 BigIP API and update the load balancer config there.