Service Fabric

Do you have an idea, suggestion, or feedback based on your experience with Azure Service Fabric? We would love to hear from you.

Please take a few minutes to submit your feedback in one of the forums available on the right or vote up an idea submitted by another Azure Service Fabric customer. All the feedback shared in these forums are being monitored and reviewed by the Microsoft Azure Service Fabric team.

Please remember this forum is for Azure Service Fabric, and if you have feedback on other Microsoft products, services or platforms, please submit your feedback in the appropriate forum (found on the right hand side).

Thanks for your feedback – we look forward to improving your satisfaction with Azure Service Fabric

How can we improve Microsoft Azure Service Fabric?

You've used all your votes and won't be able to post a new idea, but you can still search and comment on existing ideas.

There are two ways to get more votes:

  • When an admin closes an idea you've voted on, you'll get your votes back from that idea.
  • You can remove your votes from an open idea you support.
  • To see ideas you have already voted on, select the "My feedback" filter and select "My open ideas".
(thinking…)

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can support and comment on it.

If it doesn't exist, you can post your idea so others can support it.

Enter your idea and we'll search to see if someone has already suggested it.

  1. Reliable pub-sub framework

    Pub-sub is a common pattern in cloud applications. It would be great to have a reliable implementation of it out of the box.

    972 votes
    Vote
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      Signed in as (Sign out)
      You have left! (?) (thinking…)
      under review  ·  15 comments  ·  Flag idea as inappropriate…  ·  Admin →
    • Ability to stop/disable services without removing them

      Right now, as soon as a service gets deployed to Service Fabric, it will start immediately and the only way to stop it is to completely remove the service. In case of a stateful service, this would also remove the data.

      However, there are scenarios, where stopping/deactivating a service - without removing it - is important:

      * Troubleshooting: If the service is not behaving correctly, we might want to stop it. (it's not always possible to do a rollback)

      * Scheduled services, which should not run all the time

      * Planned downtime: Although against the idea of Service Fabric, there…

      701 votes
      Vote
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        Signed in as (Sign out)
        You have left! (?) (thinking…)
        15 comments  ·  Flag idea as inappropriate…  ·  Admin →
      • Use Hybrid Use Benefits for Azure Service Fabric Cluster based on Windows Server

        Hi,
        it would be great to see the "hybrid use benefit program" - https://azure.microsoft.com/en-us/pricing/hybrid-benefit/ would allow me to host My Service Fabric Application in azure. currently it's running on Windows Server onpremise and the Servers are licenced with Windows Server Datacenter Edition + SA.

        Unfortunatly it's not possible so far to select a PaaS: Azure Service fabric cluster based in Windows Server together with "Hybrid Use Benefits". i would like to avoid double License cost.

        425 votes
        Vote
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          Signed in as (Sign out)
          You have left! (?) (thinking…)
          2 comments  ·  Flag idea as inappropriate…  ·  Admin →
        • Support Reactive Extension (RX) 3 API

          Support of RX 3 API
          https://github.com/Reactive-Extensions/Rx.NET
          can reduce service communication when subscribing to remote query

          Actor should be able to subscribe for changes made by other Actors
          (like the case with Orleans)
          Support Rx API will dramatically improve Complex Event Processing
          on multi Actors fabric.

          408 votes
          Vote
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            Signed in as (Sign out)
            You have left! (?) (thinking…)
            3 comments  ·  Flag idea as inappropriate…  ·  Admin →
          • Actor model communications must implement reliable messaging

            At the moment when using ActorModel you may get duplicate messages sent from the client when client gets communication errors or server failure. That in fact means that in the every actor you have to have a logic that will need to understand if message was processed already ot not. This is a standard problem and must be handled by Fabric insfastructure by implementing "reliable messaging". So the framework should detect if it is a duplicated message that already been delivered & processed or not.

            377 votes
            Vote
            Sign in
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              Signed in as (Sign out)
              You have left! (?) (thinking…)
              under review  ·  2 comments  ·  Flag idea as inappropriate…  ·  Admin →
            • Support scheduled tasks

              Right now, Service Fabric only supports always-running services.

              However, applications also consist of scheduled tasks that execute e.g. daily. Right now, we have to use Azure Batch or the Windows Task Scheduler for this. But managing these tools introduces additional complexity.

              Azure Service Fabric should introduce a "scheduler"-component that supports complex cron-like schedules. When the scheduler starts a service, it should monitor the exe and restart it, if it returns an error code. However, if the exe returns without an error, Service Fabric should see this as a successful execution of the task and wait for the next scheduled execution.

              345 votes
              Vote
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                Signed in as (Sign out)
                You have left! (?) (thinking…)
                4 comments  ·  Flag idea as inappropriate…  ·  Admin →
              • Provide tools for inspecting reliable collections

                If I'm going to move some of my core application state from an external state store to reliable collections, I would like to have equivalent tools for inspecting that state apart from the VS debug window.

                242 votes
                Vote
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  Signed in as (Sign out)
                  You have left! (?) (thinking…)
                  planned  ·  9 comments  ·  Flag idea as inappropriate…  ·  Admin →
                • Packaging System for Applications & Services

                  Currently, Fabric apps are folders containing Fabric services, tied together by a manifest and Fabric services are folders containing packages (code, config, data), tied together by another manifest.

                  This works alright when apps and services are developed within a company/team and not broadly distributed, but it falls apart when trying to distributed things more broadly.

                  For example, what if I wanted to distributed fabric versions of Redis, Elastic Search, or Orleans?

                  This proposal is to create a system which lets us package and distribute applications and services similarly to NuGet.

                  221 votes
                  Vote
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    Signed in as (Sign out)
                    You have left! (?) (thinking…)
                    under review  ·  7 comments  ·  Flag idea as inappropriate…  ·  Admin →
                  • Provide builtin encryption for the default RPC endpoints without client certificates.

                    Even you have a secure Cluster with Certificates, the communication is not encrypted.
                    Currently i have to use: https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-reliable-services-secure-communication#lf-content=177426351:775201656

                    It would be great if i could enable encryption support for Rpc-Endpoints like for HTTPS Endpoints in ApplicationManifest.

                    <Policies>
                    <EndpointBindingPolicy EndpointRef="HttpsEndpoint" CertificateRef="MyCert" />
                    <EndpointBindingPolicy EndpointRef="ServiceEndpoint" CertificateRef="MyCert" />
                    </Policies>

                    219 votes
                    Vote
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      Signed in as (Sign out)
                      You have left! (?) (thinking…)
                      0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                    • Client Certificate Authentication

                      I have a Web API which has to be hosted in Service Fabric Cluster and it should support Basic Authentication and Client Certificate Authentication (Two way SSL)

                      198 votes
                      Vote
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        Signed in as (Sign out)
                        You have left! (?) (thinking…)
                        1 comment  ·  Flag idea as inappropriate…  ·  Admin →
                      • MultiDatacenter & Multi Region Support in Azure Service Fabric

                        At this moment Azure Service Fabric allow us to deploy a cluster in single region. (Need to specify region)

                        How we can have multi region deployment so we can failover and performance improvement by deployment to near data-center. Document state that a cluster publish in single data center on deployment so again this is again leads to get system down on something wrong to data center.

                        Can you please update me if this is your plate to work on and is this feature is coming soon.

                        188 votes
                        Vote
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          Signed in as (Sign out)
                          You have left! (?) (thinking…)
                          3 comments  ·  Flag idea as inappropriate…  ·  Admin →
                        • Data explorer for reliable collections in stateful services and actors

                          Azure service fabric opens up altogether new ways for service designers to save data into reliable objects instead of necessarily using SQL Azure, Document DB or Table storage. The key limitation of using reliable objects is that the data is accessible only within the service / actor and developer must write code to expose reliable collections for viewing / managing. It would be great for the platform for provide means to browse / manage the data stored in stateful services just like it is possible for other persistent stores through OOTB tools (SSMS, Document DB document explorer, Storage Explorer) without…

                          146 votes
                          Vote
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            Password icon
                            Signed in as (Sign out)
                            You have left! (?) (thinking…)
                            4 comments  ·  Flag idea as inappropriate…  ·  Admin →
                          • Bind Load Balancer to Services (for hosting ASP.NET projects on limited amount of nodes)

                            Service Fabric should be able to create/configure Load Balancers for certain services and it should synchronize the Load Balancer in case of placement changes.

                            Right now there is one load balancer configured for the whole cluster. This means, every service that should be accessible through a public endpoint must be placed on every node. This is a waste of resources in cases where these services don't need this scale-out factor. This means, these services are wasting RAM, disk space and CPU and it also takes longer to update these services.

                            Desired scenario: The cluster has 5 VMs, WebApp-1 is placed…

                            146 votes
                            Vote
                            Sign in
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              Password icon
                              Signed in as (Sign out)
                              You have left! (?) (thinking…)
                              11 comments  ·  Flag idea as inappropriate…  ·  Admin →
                            • Unit test Actors

                              I would like to be able to create unit tests for the Actors without spinning up a cluster. Something like:

                              [Setup]
                              public void Setup(){
                              ActorTestProxy.Setup<IMyActor>(new MyActorImplementation);
                              ActorTestProxy.Setup<IMyActorDependency>(new MyActorDependencyMock);
                              }

                              [Test]
                              public async void ActorTest()[
                              IMyActor actor = ActorTestProxy.Create<IMyActor>(0, "test");
                              var result = await actor.Foo("hep");
                              Assert.NotNull(result);
                              }

                              135 votes
                              Vote
                              Sign in
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                Password icon
                                Signed in as (Sign out)
                                You have left! (?) (thinking…)
                                3 comments  ·  Flag idea as inappropriate…  ·  Admin →
                              • Enable event driven programming

                                Allow triggers from Azure resources (Storage, DB, Websites, etc) to execute a micro service or app. Similar to the way AWS Lambda does this (e.g. when a new raw is added or modified on a DB, a new file is added to Azure storage, a website goes down, etc).

                                120 votes
                                Vote
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  Password icon
                                  Signed in as (Sign out)
                                  You have left! (?) (thinking…)
                                  under review  ·  7 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                • Simplify Configuration

                                  Currently to make a single configuration setting use by code that differs between environments I have to:
                                  A) Add the setting to a configuration section in the Settings.xml (mark as "MustOverride", but you still have to provide a value).

                                  B) Add a (exactly matching) setting to the configuration override section of the application manifest.

                                  C) Add a application parameter (with a application global name) to the application manifest. This needs a default value that probably matches the one you already provided in the previous step.

                                  D) Add the parameter to every single application parameters file that matches the parameter name.…

                                  118 votes
                                  Vote
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    Signed in as (Sign out)
                                    You have left! (?) (thinking…)
                                    under review  ·  1 comment  ·  Flag idea as inappropriate…  ·  Admin →
                                  • Improve deployment performance

                                    Overall, this framework is amazing, and I love it. However, the one drawback is the turnaround time for slight tweaks. I'd love to have a debug-only hotswap which deployed much faster. Maybe something like: pause the cluster failover monitoring, halt all of the running services for an application, deploy code changes, start them again, and resume failover monitoring.

                                    110 votes
                                    Vote
                                    Sign in
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      Password icon
                                      Signed in as (Sign out)
                                      You have left! (?) (thinking…)
                                      2 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Stateful Web API service template

                                      Out of the box Azure Service Fabric does not have Stateful Web API service template. I would like to have that.

                                      Here is related stackoverflow question http://stackoverflow.com/questions/37842425/stateful-web-api-service-in-service-fabric-in-vs-2015-update-2

                                      105 votes
                                      Vote
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        Signed in as (Sign out)
                                        You have left! (?) (thinking…)
                                        3 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Move IService and related remoting interfaces to their own namespace

                                        Please move IService and the related remoting interfaces into their own package/namespace so that you can reference just those and not be coupled to the entire set of service fabric libraries

                                        It is disappointing that in order to use remoting any service must ultimately inherit from IService. This means you are then coupled to not only the IService interface but ultimately the entire Service Fabric set of namespaces as IService resides in Microsoft.ServiceFabric.Services.Remoting, which of course is dependent on the other packages as well.

                                        As discussed here https://github.com/Azure/service-fabric-issues/issues/55#issuecomment-276725104

                                        104 votes
                                        Vote
                                        Sign in
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          Signed in as (Sign out)
                                          You have left! (?) (thinking…)
                                          3 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                        • Ability to customize rollout of new versions.

                                          I want the ability to control how quickly a new versions of services are rolled out and what percent of load gets sent to them.

                                          For example, I want 10% of the load to hit the new version for 1 hour before it is rolled out to any more nodes.

                                          91 votes
                                          Vote
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            Signed in as (Sign out)
                                            You have left! (?) (thinking…)
                                            under review  ·  2 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                          ← Previous 1 3 4 5 12 13
                                          • Don't see your idea?

                                          Service Fabric

                                          Feedback and Knowledge Base