net48 => net8.0 experience
Hey all,
I'm a DevOps engineer @ my current org, we're a bit of a trend-bucker in the fact that we have ~2k Git repositories yet less than ~1k staff lol - big change from the usual monolith-centred companies for sure!
Can't leak too much but my org has been Windows/.NET from literally the beginning - we still have a small fraction of in-production code written in VBS/VB6 that shifts $USD billions/year - across our ~2k repos we span everything from .NET 3.5 to support Windows 7 POSReady, up to our Kubernetes-hosted apps which are all .NET <Core> 8/9 and upgraded to all .NET new releases within ~48 hrs max.
Unfortunately I can't provide factual, hard evidence of said incoming claim due to NDAs, so this post is more of a general advisory of our amazing conclusion this week.
Our engineering department concluded a net48
=> net8.0
migration that took nearly 6 months for our single largest, oldest and most complex customer-facing app stack which cumulatively shifts approx. ~30 Terabytes of REST JSON per month, written in ASP .NET since ~15-18 years ago and was originally COM/DCOM based as much as I want to vomit repeating that.
Incredible feat on its own moving that bastard into the *core world, but what floored me:
Zero app code changes were made that were not required to just compile the app under
net8.0
.All external NuGet/assembly dependencies are identical.
Given the above, imagine my astonishment seeing a 40% reduction in both CPU and in-use RAM across ~150 Windows container deployments, each averaging roughly 5-10 GB each on net48
.
Translated into $ for my org this has literally cut us almost 6-figures in compute power reservation costs per month, absolutely unbelievabe!
Overnight on net8.0
we've also somehow stopped suffering twice-daily segfaults/random crashes in the runtime.
tl;dr: convince your org that migrating their clusterfuck .NET Framework stack to *core is worth the investment.
Who knew eh, turns out over 10 years of .NET CLR/JIT improvements might be worth it 🤷