Design of Application in Azure Service Fabric

后端 未结 1 1227
慢半拍i
慢半拍i 2021-01-02 17:52

I need help how to think about designing our application to fit into the new Azure Service Fabric template.

Today we have an application built on Azure Cloud Service

1条回答
  •  执笔经年
    2021-01-02 18:22

    I think you have the right idea, in general terms, that each bounded context is a (micro) service. Service Fabric gives you two levels of organization with applications and services, where an application is a logical grouping of services. Here's what that means for you:

    Logically speaking, think of an application as a cohesive set of functionality. The services that collectively form that cohesive set of functionality should be grouped as an application. You can ask yourself, for each service: "does it make sense to deploy this service by itself without these other services?" If the answer is no, then they should probably be grouped in the same application.

    Developmentally speaking, the Visual Studio tooling is geared a bit more toward multiple services in one application, but you can have multiple applications in one solution too.

    Operationally speaking, an application represents a process boundary, upgrade group, and versioning group:

    • Each instance of an application you create gets its own process (or set of processes if you have multiple service types in the application). Service instances of a service type share host processes. Service instances of different service types get their own process per type.
    • The application is the top level upgrade unit, that is, every upgrade you do is an application upgrade. You can upgrade individual services within an application (you don't always have to upgrade every service within an application), but each time you do an upgrade, the application version changes.
    • You can create side-by-side instances of different versions of the same application type in your cluster. You cannot create side-by-side instances of different versions of the same service type within an application instance.

    Placement and scale is done at the service. So for example, you can scale one service in an application, and you can place another service on a larger VM.

    0 讨论(0)
提交回复
热议问题