How can we improve Windows Azure Networking: Traffic Manager?

Provide Load Balancing for Intra-Role communications

The fabirc should provide the ability to have load-balanced intra-role communication (i.e. internal cloud VIP's), so instead of asking the RoleEnvironment for the instance IPEndpoint list and choosing manually, there should be a mechanism for simply saying call this other role, and let the fabric decide (based on perf/count/round robin, etc...) to what instance of the role to send the call.

55 votes
Vote
Sign in
Check!
(thinking…)
Reset
or sign in with
  • facebook
  • google
    Password icon
    I agree to the terms of service
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    anonymousanonymous shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

    4 comments

    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      Submitting...
      • OveOve commented  ·   ·  Flag as inappropriate

        Load balancers for internal endpoints should be an absolute must-have! At the moment you can't write a nicely n-tiered, secured, stateless and fault-tolerant application without either messing around with your own load balancing code, or exposing your lower tier as an external endpoint (which might be a showstopper from a security point of view).

      • Will BlackieWill Blackie commented  ·   ·  Flag as inappropriate

        along with this goes a need for the internal endpoint to select a different port per instance on the dev fabric .. so that you can test with more than 1 instance prior to cloud deployment.

      • Jeroen MineurJeroen Mineur commented  ·   ·  Flag as inappropriate

        I very much agree. And there is a very good reason to have this implemented as soon as possible: when the Azure Fabric Controller decides to take a role instance down for maintenance (which happens about once a month), the load balancer is informed of this immediately but the RoleEnvironment class in the other roles is not (at least not immediately). Therefore, those roles will keep trying to connect to an invalid IP/port, resulting in exceptions. An inter-role loadbalancer can resolve this.

      Feedback and Knowledge Base