service fabric

Upcoming breaking change in Service Fabric 6.5

Re­mov­ing node state will not be pos­si­ble when the node is a seed node since Ser­vice Fab­ric 6.5. It will be nec­es­sary to con­vert the seed node into a non-seed node prior to node state re­moval. It is not yet known how to con­vert seed nodes into non-seed nodes. It will be pos­si­ble opt-out from this lim­i­ta­tion in the clus­ter con­fig­u­ra­tion. De­tailed gui­d­ance will be avai­l­able when the Ser­vice Fab­ric ver­sion 6.5 is re­leased. Read more ›

service fabric mesh

What is Service Fabric Mesh?

Mi­crosoft has re­cently in­tro­duced a Ser­vice Fab­ric Mesh ser­vice. It is a con­tainer or­ches­tra­tion ser­vice like Ku­ber­netes. The name suggests that it has some­thing com­mon with Ser­vice Fab­ric. When you want to mi­grate a clas­si­cal ser­vice, you can con­sider Ser­vice Fab­ric Mesh. How­ever, this is not true for na­tive Ser­vice Fab­ric ser­vices. Ser­vice Fab­ric Mesh is more about tool­ing au­tom­a­ti­za­tion and host­ing of­fer­ings than tech­no­log­i­cal fea­tures. Read more ›

service fabric

Visual Studio: Please restore the MSBuild Nuget package

I have re­cently run into a prob­lem af­ter I up­graded my Vi­sual Stu­dio Ser­vice Fab­ric project from ver­sion 3.1.283 to 3.2.178. The build has been fail­ing and the ad­vice in the er­ror mes­sage was not help­ful. Some­thing in the build sys­tem was ap­par­ently changed and the up­date script failed to up­grade the so­lu­tion suc­cess­fully. I have cre­ated a new Ser­vice Fab­ric project and com­pared what was changed in the lat­est ver­sion. Read more ›

service fabric

Memory leaks symptoms & causes in Service Fabric reliable services

Mem­ory leaks are hard to de­tect and can cause se­ri­ous prob­lems. While a sin­gle job task run­n­ing for few sec­onds doesn’t have to care about them, the ser­vice run­n­ing 24 hours a day must be care­fully tuned to suc­cess­fully ful­fill its job. More­over, mem­ory leaks don’t have to be de­tected straight away, they usu­ally ap­pear as an­other ex­cep­tion point­ing you to find­ing prob­lems in dif­fer­ent area. Let’s look at one ex­am­ple of a mem­ory leak and how it shown up. Read more ›

service fabric

Keep your service running forever by designing an instant shutdown

Over a year of de­sign­ing and mov­ing sev­eral ser­vices from Azure Cloud Ser­vice to Ser­vice Fab­ric taught me few things which are im­por­tant to keep in mind dur­ing cre­at­ing or refac­tor­ing mi­croser­vices hosted in Ser­vice Fab­ric en­vi­ron­ment. Don’t for­get that Ser­vice Fab­ric pat­terns are tight to .NET, which has gone throw a mas­sive paradigm shift. You must be up-to-date at least with asyn­chronous pro­gram­ming to be able to code solid ser­vices. Read more ›

service fabric

Health monitoring of the Service Fabric app upgrade

De­ploy­ing an up­date of any ap­pli­ca­tion can be risky, be­cause new code may con­tain new bugs. Unit test­ing is an ad­vis­able method of re­duc­ing the risk. How­ever, some mech­a­nisms de­pend on work­load. Some work­loads can be sim­u­lated eas­ier than others. Ser­vice Fab­ric pro­vides health mon­i­tor­ing af­ter the new ap­pli­ca­tion ver­sion is de­ployed to the clus­ter. If the new ver­sion is not healthy the old ver­sion is rolled back au­to­mat­i­cally. Set­t­ing up the pro­tec­tion against fail­ures caused by up­grades is rel­a­tively easy. Read more ›

service fabric

How to secure Service Fabric cluster with an X.509 certificate

You prob­a­bly no­ticed that Ser­vice Fab­ric Ex­plorer is publicly ac­ces­si­ble and does not re­quire any user­name or pass­word. Ser­vice Fab­ric Ex­plorer al­lows mon­i­tor­ing and man­age­ment ac­tions like dis­abling nodes or ap­pli­ca­tion dele­tion. The clus­ter and its man­age­ment can be eas­ily se­cured with an X.509 self-signed cer­tifi­cate. Af­ter that the cer­tifi­cate is re­quired prior to ac­cess Ser­vice Fab­ric Ex­plorer or pub­lish­ing ap­pli­ca­tions to the clus­ter. Read more ›

service fabric

Azure Service Fabric & Scheduled Tasks

Sched­uled tasks have many names. In Win­dows, it is tra­di­tion­ally called Task Sched­uler. In Unix-like en­vi­ron­ments job sched­uler is called Cron dae­mon. Mi­crosoft Azure con­tains Azure Sched­uler and Azure Web Apps have We­b­Jobs. Ser­vice Fab­ric has its own mech­a­nism called Ac­tor Remin­der. This ar­ti­cle ex­plains how to im­ple­ment them. Mul­ti­ple jobs could be encap­su­lated in a sin­gle as­sem­bly. Read more ›

service fabric

Service Fabric cluster endpoints & Azure load balancer

Reach­ing ex­ter­nal re­sources from a Ser­vice Fab­ric clus­ter is triv­ial whereas reach­ing the clus­ter from the in­ter­net re­quires some con­fig­u­ra­tion. The vir­tual ma­chine scale set, ser­vice end­point and load bal­ancer comes into play. On the first sight, it could be seen as a com­pli­cated as do­ing a puz­zle, but un­der­s­tand­ing of mech­a­nisms un­der the hood helps to re­al­ize that whole pro­cesses is easy. Read more ›

service fabric

Service Fabric Hello World

Start­ing with a con­sole app is sim­ple. Write a line of text to the con­sole is easy and the re­sult is vis­i­ble im­me­di­ately. Sim­i­lar si­t­u­a­tion is with Uni­ver­sal Win­dows app where is a Text­Block con­trol. Ser­vice Fab­ric is not harder. The most dif­fi­cult part is set­t­ing up your di­ag­nos­tics, be­cause cloud ser­vices does not have any user in­ter­face. Read more ›

service fabric

How to set up a Service Fabric development environment

Set­t­ing up a de­vel­op­ment ma­chine for Azure Ser­vice Fab­ric ap­pli­ca­tions al­lows de­vel­op­ers to test and de­bug mi­croser­vices lo­cally. Lo­cal clus­ter use the same run­time that will run in Azure. Read more ›

service fabric

Stateless, Stateful or Actor service?

Ser­vice Fab­ric is a dis­tributed sys­tem plat­form that makes it easy to pack­age, de­ploy and man­age scal­able and re­li­able mi­croser­vices. Ser­vice Fab­ric of­fers sev­eral types of nodes. How to choose one which is the best choice for a given prob­lem? Read more ›