Jag måste säga att jag är oerhört imponerad av ms totala usväng de gjorde för snart 10 år sedan. Redan var 5-6 år sedan, när jag var och hälsade på ms i Seattle, var de tydliga med att deras saas produkter (läs office, Intune etc) och infrastructure (Azure) är deras primära intäktskälla. De var även då inne på att släppa sina os fria, det har uppenbart inte hänt än då tillräckligt många är beredda att betala för dem.
Det är strongt att gå från att i princip inte kunna köra net baserade mjukvaror i större skala till idag, där man numera faktiskt kan jämföras med andra frameworks i produktion och deploya fritt. Och en helloworld app kräver inte 1000 rader kod och deployas som en 1gb container längre
Det är strongt att gå från att i princip inte kunna köra net baserade mjukvaror i större skala till idag, där man numera faktiskt kan jämföras med andra frameworks i produktion och deploya fritt. Och en helloworld app kräver inte 1000 rader kod och deployas som en 1gb container längre
En usväng under galgen tydligen. I rest my case.G guggen skrev:Jag måste säga att jag är oerhört imponerad av ms totala usväng de gjorde för snart 10 år sedan. Redan var 5-6 år sedan, när jag var och hälsade på ms i Seattle, var de tydliga med att deras saas produkter (läs office, Intune etc) och infrastructure (Azure) är deras primära intäktskälla. De var även då inne på att släppa sina os fria, det har uppenbart inte hänt än då tillräckligt många är beredda att betala för dem.
Det är strongt att gå från att i princip inte kunna köra net baserade mjukvaror i större skala till idag, där man numera faktiskt kan jämföras med andra frameworks i produktion och deploya fritt. Och en helloworld app kräver inte 1000 rader kod och deployas som en 1gb container längre
Jag kör ms igen till vardags, dvs net 6 och 7 och deployar i storskaliga miljöer på k8 och liknande men kör även andra språk och miljöer.M Mach77777 skrev:
Jag skulle säga att de är väl tillbaka och konkurrerar med andra, knappast bäst, då har man dåligt med synfält, det är ett ständigt race. För några år sen var det katastrof, nu är de ikapp på många områden.
Edut
Du syftar säkert på code, men det finns en mängd miljöer som konkurrerar där, men visst är det löjligt bra!
Renoverare
· Stockholm
· 18 236 inlägg
Tycker inte riktigt code är lika bra som VS + resharper för C# men kör det för Typescript-utveckling och python.
Vi kör service-fabric på jobbet, hade inte brytt mig om hostingen om det inte vore för att service-fabric ligger så sjukt efter. Var inte länge sedan de fixade .NET 7 tex. Så jag kämpar i motvind att få gå över till kubernetes.
Angående Go så ska tydligen .NET 7 outperforma det med råge, dock inte benchat själv så man får ta infon som den är, https://medium.com/@arinfaraj/asp-net-core-6-vs-asp-net-core-7-vs-fiber-go-ace95c595fbc
Vi kör service-fabric på jobbet, hade inte brytt mig om hostingen om det inte vore för att service-fabric ligger så sjukt efter. Var inte länge sedan de fixade .NET 7 tex. Så jag kämpar i motvind att få gå över till kubernetes.
Angående Go så ska tydligen .NET 7 outperforma det med råge, dock inte benchat själv så man får ta infon som den är, https://medium.com/@arinfaraj/asp-net-core-6-vs-asp-net-core-7-vs-fiber-go-ace95c595fbc
Kul att se att de kan ouperforma när det gäller sådan här grejer!AndersMalmgren skrev:Tycker inte riktigt code är lika bra som VS + resharper för C# men kör det för Typescript-utveckling och python.
Vi kör service-fabric på jobbet, hade inte brytt mig om hostingen om det inte vore för att service-fabric ligger så sjukt efter. Var inte länge sedan de fixade .NET 7 tex. Så jag kämpar i motvind att få gå över till kubernetes.
Angående Go så ska tydligen .NET 7 outperforma det med råge, dock inte benchat själv så man får ta infon som den är, [länk]
Jag tycker dock det största problemet med .net har varit footprinten, Det har enkelt varit för dyrt eller tom omöjligt att deploya .net baserade containers i större miljöer på tex k8, där har de gjort ett bra jobb med net6 och 7. Kör man tex en Go app, så är det några mb totalt, sen en alpine container som tar 5mb och lite tools, metrics/scrapers etc på det så landar man på kanske 15-20mb i storlek. Det går att deploya några sådana poddar och skala på sina hostar. När det gäller performance handlar det mkt om pipelinen och att kunna skala ordentligt horizontellt, footprinten är viktig i storskaliga system.
Renoverare
· Stockholm
· 18 236 inlägg
Systemet jag byggt åt min kund är sjukt stort enterprisesystem. Binärerna där ligger på 66 MB och medparten av det är externa dller. Om jag bara tittar på våra egna binärer så ligger hela lösningen på 3,6 MBG guggen skrev:Kul att se att de kan ouperforma när det gäller sådan här grejer!
Jag tycker dock det största problemet med .net har varit footprinten, Det har enkelt varit för dyrt eller tom omöjligt att deploya .net baserade containers i större miljöer på tex k8, där har de gjort ett bra jobb med net6 och 7. Kör man tex en Go app, så är det några mb totalt, sen en alpine container som tar 5mb och lite tools, metrics/scrapers etc på det så landar man på kanske 15-20mb i storlek. Det går att deploya några sådana poddar och skala på sina hostar. När det gäller performance handlar det mkt om pipelinen och att kunna skala ordentligt horizontellt, footprinten är viktig i storskaliga system.
edit: Vi kör Azure service bus med åtta trådar över 2 maskiner
Jo men, det finns lite dependencies när en .net "binär" kör med servicebus, det blir lite mer i verkligheten än 66mbAndersMalmgren skrev:
Eller kör du .net 7 med --single-file?
Vore väldigt imponerande om den kunde pressa ner binären och dependent net kod till en sådan liten footprint!
Renoverare
· Stockholm
· 18 236 inlägg
Nej 66mb är totalen av alla binärer. Där vissa sticker ut som BouncyCastle.Cryptography.dll på nästan 15 MBG guggen skrev:
kollade dock storleken på artifact zippen för en release och den ät på 178 MB. vet inte riktigt varför den är så mycket större än bin/release
Inte mitt bord
edit: ah jag kollade på footprinten för systemet, den inkluderar inte footprint för Servicefabric så vi kan nog få ner det där när vi går över till kubernetes
JanneJanne123
Husägare
· Stockholm
· 2 855 inlägg
JanneJanne123
Husägare
- Stockholm
- 2 855 inlägg
Snart har vi Native AOT att leka med också och då blir det åka av!
https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/?tabs=net7
https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/?tabs=net7
Renoverare
· Stockholm
· 18 236 inlägg
Jo, men saken är den att dessa binärer är beroende av .net och jit etc. En container är ett eget os med allt som behövs + din kod. När jag menar att en tex go app är 10mb så betyder det allt, inga andra beroenden.AndersMalmgren skrev:Nej 66mb är totalen av alla binärer. Där vissa sticker ut som BouncyCastle.Cryptography.dll på nästan 15 MB
kollade dock storleken på artifact zippen för en release och den ät på 178 MB. vet inte riktigt varför den är så mycket större än bin/release
Inte mitt bord
edit: ah jag kollade på footprinten för systemet, den inkluderar inte footprint för Servicefabric så vi kan nog få ner det där när vi går över till kubernetes
Så när du installerar din .net app på en alpine dist så behövs lite mer . En sådär par hundra mb till.
Men med net6 och 7 kan man få den att skala bort allt som inte behövs av net i disten, vilket gör stor skillnad. Sen med native kompilering så är man hemma på riktigt.
Du kompilerar mot en specifik arkitektur, precis som med tex Go.AndersMalmgren skrev:
De övriga optimeringarna som ligger i framework med memoryreuse etc har ju eg inte mkt med själv jit att göra, mkt av det har man alltid hållit på med i native kod.
Men skall bli intressant att testa, hur tex reflection etc fungerar i native och hur perf skiljer sig.