microsoft / service-fabric

Service Fabric is a distributed systems platform for packaging, deploying, and managing stateless and stateful distributed applications and containers at large scale.
https://docs.microsoft.com/en-us/azure/service-fabric/
MIT License
3.02k stars 399 forks source link

[Feature] .Net 8 support timeline? #1472

Closed ahhyunahn closed 2 months ago

ahhyunahn commented 11 months ago

Hi! I am developing a new project and was wondering what the timeline would be for .net 8 support for service fabric. I am delaying majority of the code migration until November (so I can use .net 8 and also use R9 which I believe should also support .net 8 shortly after it's out), but wasn't sure what .net 8 support timeline would look like for service fabric. Do you have any rough ideas on what the timeline would look like? This will help me plan out milestones immensely, would really appreciate any insight!


Assignees: /cc @microsoft/service-fabric-triage

johntyrrell commented 11 months ago

Most likely this will be somewhere june 2024. Just like support for .NET 6 and .NET 7 came several months later. But don't expect an official response here on github.

kgfly commented 11 months ago

.Net 8 preview was announced on February 21st, 2023, 8 months ago.

Why SF team cannot start new .net suport work using the preview version? Why SF always have a half year delay? Make no sense, isn't it?

francescocristallo commented 11 months ago

I manually installed the .Net 8 runtime on the virtual machines and it works with a new Blazor .Net 8 RC2 project. Would be great indeed to have the official support right after .Net 8 is released.

flower7434 commented 10 months ago

No time soon is my guess. Probably 0-6 months before .NET 6 will go out of support which is November 12, 2024. I would be surprised if it is available and working before Q2 2024.

mfmadsen commented 10 months ago

My thoughts as well. But on the other hand several other projects coming out of Redmond in the last couple of years seem to all try to be the new cloud native development framework. So wonder whether Aspire will be replaced a new pet project in a year or two…

francescocristallo commented 10 months ago

Aspire looks great, but they left the deployment part of it to the developer, it's a local orchestrator for microservices (so far). It will surely be enhanced with Kubernetes and Azure Container Apps deployment, plus App Service + Azure Functions for who does not use containers.

Service Fabric on the other hand has its own project service in Azure, has progressive deployment directly from Visual studio with no downtime and act as a layer on top of Virtual Machines scale sets exposing a fixed IP, essential for SaaS using custom domains for customers, that can't validate each single one of them as requested by Azure App Service and Container Apps. Being on top of VMs it's also way more scalable compared to a managed service. I scaled it to ~100 VM with billions of requests per hour, and it was very stable.

They overlap in many ways, but in my opinion we are not yet there for Aspire to be a 100% replacement.

flyingosprey commented 10 months ago

@francescocristallo , just courious: what issue will you face if you use K8S? which is very scable too.

flower7434 commented 10 months ago

Aspire looks great, but they left the deployment part of it to the developer, it's a local orchestrator for microservices (so far). It will surely be enhanced with Kubernetes and Azure Container Apps deployment, plus App Service + Azure Functions for who does not use containers.

Service Fabric on the other hand has its own project service in Azure, has progressive deployment directly from Visual studio with no downtime and act as a layer on top of Virtual Machines scale sets exposing a fixed IP, essential for SaaS using custom domains for customers, that can't validate each single one of them as requested by Azure App Service and Container Apps. Being on top of VMs it's also way more scalable compared to a managed service. I scaled it to ~100 VM with billions of requests per hour, and it was very stable.

They overlap in many ways, but in my opinion we are not yet there for Aspire to be a 100% replacement.

I did not get this first but Aspire does not seem to be a product at all. Just a tool to help you to develop code within solutions with poor architecture.

francescocristallo commented 10 months ago

@francescocristallo , just courious: what issue will you face if you use K8S? which is very scable too.

No issues apart complexity, I developed another project using Kubernetes, but I found it too complex to manage with too many parts to stitch together to make it work as I wanted to. For a small team or a single developer, I found Service Fabric with its native Visual Studio an Azure integration easier to use. I look forward for Aspire to evolve quickly into a full alternative.

santo2 commented 7 months ago

also like the actual sfproj support, I feel left behind as a service fabric user... they are not paying enough attention anymore to their users of a system that runs very important software.

tscamell commented 6 months ago

.NET 7 is EOL on 14th May 2024. Will Service Fabric support .NET 8 before this date? Or is the expectation that organisations will be required to downgrade their applications to .NET 6?

Even still, .NET 6 is EOL in Novemember 2024. It would be really helpful for the community if the Service Fabric team can publicize their roadmap for when .NET 8 will be supported on Service Fabric.

As a side note, I have updated one of our applications already to .NET 8, and it is already working successfully on a SF build of 10.0.1949.9590. However, deploying this to production would then invalidate our support until it is offically supported!

olegsych commented 6 months ago

We're working on shipping .NET 8 support in April. Here is the feature on our internal backlog for reference by Microsoft employees.

https://dev.azure.com/msazure/One/_workitems/edit/17509673

tscamell commented 6 months ago

Thank you for the update @olegsych. It's greatly appreciated

mezzo81 commented 6 months ago

@olegsych Hi, are you sure it will be out in April? We are already very excited :-)

olegsych commented 6 months ago

@mezzo81 I can't guarantee it will be out in April. The SDK changes are well under way and I expect them to be ready for the release we already have scheduled for April. If everything goes as planned, it will be rolled out by the end of that month, including new versions of both the runtime and the SDK packages. However, stuff happens, and releases can slip despite our best efforts when something urgent comes up.

@jackbond I understand your frustration. For what it's worth, let me assure you that Service Fabric is a critical platform and an Azure backbone running on millions of cores. We have dozens of software engineers working from multiple continents and time zones. These engineers are also on-call to provide assistance to the many Microsoft teams and external customers during their live-site incidents. As most systems of its size and critical nature, Service Fabric changes are slow to make and require careful testing to reduce the risk of wide-spread Azure outages affecting dozens of resource types. We are improving our velocity, but this will take a while. Please be patient.

mfmadsen commented 6 months ago

@olegsych thank you for your reply on this an your honest feedback. Great to hear this. I completely understand the precautions you need to consider with such a critical product. While the project obviously is not following normal open source product development, it is still super appreciated that you do the work on this. Thanks!

JohnNilsson commented 6 months ago

@olegsych indeed, thanks a bunch for that input it helps a lot!

Careful and slow changes to me is a feature, so to me "improving velocity" should not be the main priority, what we need is the ability to plan, which depends on transparency into your end of things (which your post above do provide, so again, a big thank you for that). If there is any priority conflict between increasing velocity, and increasing transparency, please opt for the latter.

SamHard commented 5 months ago

Giving Service Fabric customers less than six weeks to test / deploy updates...

@jackbond, for enterprise applications, you can avoid some of the "crunch" in the future if you can stick to releases of .NET that are advertised as having long-term support (LTS). You will save time (and worry) by not adopting the Standard Term Support (STS) releases of .NET.
https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core

desdesdes commented 5 months ago

Even though the release notes do not specify it directly it look like .net 8 support is added to SF 10.1 CU2.

Am i correct and is it officially supported on SF 10.1 CU2?

olegsych commented 5 months ago

No. The 10.1 CU2 release doesn't support .NET 8. What makes you think so? I don't see it in the release notes and the following page lists only .NET 7 and .NET6 https://learn.microsoft.com/en-us/azure/service-fabric/service-fabric-versions

desdesdes commented 5 months ago

@olegsych I installed the new SF runtime and SDK and I used the new project wizard and I chose the "Service fabric application". Then on the "Create new Service Fabric service" page which appear i chose the stateless service. I created the Stateless project which has a target framework of .net 8 (by default), as you can see in the screenshot below. Also when I hit F5 it works and hits the breakpoints in the stateless service.

image

LoloActemium commented 5 months ago

I am also waiting for .Net 8 official support. I was able to migrate to .Net 8 and deploy our application on our test Service Fabric cluster. Applications seems to work properly, but I will wait for official support before pushing these on production.

olegsych commented 5 months ago

Thanks @LoloActemium. I'm sorry about the delay, we're working on it. Our Services and Actors packages ship netstandard2.0 and should already work. Are you using the AspNetCore packages in your app?

LoloActemium commented 5 months ago

@olegsych Yes, I have some dependencies on AspNetCore packages.

olegsych commented 5 months ago

Thanks @jackbond! No, we think that AspNetCore should work on .NET 8 with net7 binaries as well but haven't tested it specifically. We already have internal builds with net8 binaries passing the full test suite, so that's what we'll officially support in the next SDK update, in particular because .NET 7 end of support is in May.

onerstam commented 5 months ago

@olegsych Are there any news related to the release date of dotnet8 supporting Service Fabric SDK? I am glad to hear that is is passing the full test suite. In my ears it sounds like it could be near a public release.

olegsych commented 5 months ago

@onerstam We're close, but still a couple of weeks out. We're addressing unrelated problems we've discovered in the SF runtime and as soon as they are resolved the new SDKs will be out too. You can start now by building your service with the latest SDK 7.1 version. It contains net7 binaries that should work. Other have already done this and we don't know of any specific problems with the older SF SDK versions, we just didn't run our full test suite. Then upgrade to the latest SDK build with the net8 binaries once it's out.

filipb-cariad commented 4 months ago

Hi @olegsych Any Update on this?

tomverhoeff commented 4 months ago

.NET 7 is now officially out of support and Microsoft folks are (rightfully) telling everyone to upgrade. If only we could actually do this 🤷

Dainius14 commented 4 months ago

Great! Now we're forced to use outdated .NET version. More than half a year to update one of the main dependencies of this project and it has not been done. Just want to reiterate that this whole Service Fabric thing is a joke and MS better just kill it with this kind of """development""".

olegsych commented 4 months ago

Hey @filipb-cariad, I'm sorry for the delay. The new ETA for the next Service Fabric public release is May 28.

filipb-cariad commented 4 months ago

Hey @filipb-cariad, I'm sorry for the delay. The new ETA for the next Service Fabric public release is May 28.

Thanks @olegsych!

rvriens commented 3 months ago

Today it is May 28.... Any news yet? What will be the new version, 10.2?

SierraNL commented 3 months ago

@olegsych any update, since we're passed the ETA date?

ckrueger1979 commented 3 months ago

any news?

olegsych commented 3 months ago

I'm sorry about the delay, everyone. We have discovered another, unrelated problem in the Service Fabric Runtime 10.1 CU3 release candidate and had to create another build with the fix. It has now been verified and we have resumed our pre-prod rollout and validation process. The ETA for the public release was pushed out to next Monday, June 10.

LoloActemium commented 3 months ago

Is there any news ? ETA is today.

rmsryu commented 3 months ago

Can you provide instruction of how to maintain support for our applications? Is the .net team planning to extend .net 7 and .net 6 support? or what is suppose to happen with those users that have applications in .net 7 and those in .net 6?

mezzo81 commented 3 months ago

This whole thing is getting really silly and no longer looks professional. Is ServiceFabric now a hobby project?

olegsych commented 3 months ago

The new ETA for public release of 10.1CU3 was pushed out to next Monday, June 17.

Here is the .NET support policy: https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core. .NET 6 is supported through November 2024.

SamHard commented 3 months ago

.Net 7 was never promised as LTS. .Net 5 similarly went out of support before 6 was supported by SF. If you want to stay in support, only select the LTS versions for your software.

mezzo81 commented 3 months ago

Hi,

That's right what you write, but .net 6 also expires in November and if this continues and NET 8 support will take months (we already have mid-June), time is a bit short. All of our applications also run on NET 6, but we can't switch them all over to NET 8 in 1-2 months and then also test them...

silentsouls commented 3 months ago

.net 7 was supported by service fabric. And now you tell me i was not suppose to upgrade to .net 7 because it was not LTS...

Either you do or you do not support non LTS versions. But when you do, you have a responsibility too.

Basically what you are telling us is to downgrade our code, this is stupid.

messnerdev commented 3 months ago

JackSF

KacperGwiazdowski commented 3 months ago

@olegsych is there any news? ETA is today

mezzo81 commented 3 months ago

any update ?

ckrueger1979 commented 3 months ago

@olegsych new ETA?

Devion commented 3 months ago

It would be nice to have a date, even if weeks away - as long as it actually gets released on that day :) Even just a RC would be nice to have just to start testing with .net 8 support at this point...

flyingosprey commented 3 months ago

.Net 7 was never promised as LTS. .Net 5 similarly went out of support before 6 was supported by SF. If you want to stay in support, only select the LTS versions for your software.

@SamHard , .Net 7 has expired on "May 28, 2024" and SF .Net 8 support is still not ready yet. What's your suggestion for the customer who's running on .Net7, (which SF did support since Version10) ???

Please don't tell us the solution is "Downgrade to .Net 6 first. Then move .net8 before .net 6 expires on November 12, 2024"

olegsych commented 3 months ago

The new versions of the Service Fabric Runtime and SDK are now available at

The documentation changes and nuget packages will be published tomorrow.

Rollout of the new runtime version to the public Azure cloud has started today and should be completed in ~3 weeks.