Slides for a talk that I gave at MonkeySpace 2013, lightly edited to make more sense by themselves.
Image credits and additional notes are available at http://www.fallingcanbedeadly.com/posts/monkeyspace-talk-slides-and-notes/
Server-Side MonoHow ready is it?David Mitchell@ThedMitchellwww.fallingcanbedeadly.com
View Slide
Why are we even investigating this?
Rational humans don’t want to useGUIs to configure their servers
Windows licenses are expensive!
Why stick with C#?
We’ve been using ASP.NET for a long time
And we love developers almost as much as this guy does
Who else is doing this?
In-depth information is lacking
I know!Let’s try porting a service!
But whichone?
High Volume + Low Impact =Perfect Test Environment
The User Events service prevents ourdesktop and mobile apps from havingto do this all day
Always build withMono. You’ll find thedark corners morequickly
v4.0falsefalse- Clientfalse
.NET Forms Authentication Cookie2FAEFB705C9272307D5A58E8FCD5662A283943A8A630896B337A186356EE5DC1789760BC302C1256E0B2C65E8F0D08908AD336CBBAE1656D4A6E709056E610ABC525FE6D7EEF7304F9D64B03A6B0B543901C04BC0A3D30CB7CBF54BD65792BD074BB0F816A685DDACA556A07E569B114D6A43ADC8EF7425CD75A0E8922378ACE
Mono Forms Authentication Cookie4adTElGQ+cLVBQUVY5OaHiGVUIkIYJIwHTVhfBgBVgeEL6QVp8TZxMeT3eoW2Ka0iEpxDE75U7bdHjn3Utd6LqGRmIs+8AxrPMNUnrNH+9w=
Lesson:Sharing Forms Authentication between .NET and Mono is a pain.
Trying to interface with a version of SQL Server newerthan 2005? You might have to do a bit of springcleaning…
Lesson:Mono’s support for MS SQL Server > 2005 is spotty. Be prepared to improve itssupport or migrate to another DB provider.
How do we tell what’s going on?
New Relic isawesome, exceptfor this
You are surrounded by a herd of yaks.> inventoryYou are carrying:a razor,the last shred of your sanity.> drop sanityhttps://twitter.com/carlfish/status/357289566866120705
Registry hacking?Shouldn’t we be past that by now?
(Sorry)
Disclaimer:When I say that the code isn’t done, I mean it. You’d be insane to run this inproduction without watching it very carefully.
Lesson:If you’re having difficulty with HTTPS, make sure that you’ve run mozroots and/orcertmgr.
What was I doing, again?
Disclaimer:Benchmarks are pretty arbitrary. Don’t assume that my results will be anything likeyour results.
User Events on Windows
User Events on Ubuntu with Nginx
Look, it’s working as well as Windows!
…Until we have to GC
…and then we have to do a lot of GC
Mono web services are a lonely space because noone is talking about them
TO PUBLISH YOUR RESULTS
@theDMitchellwww.fallingcanbedeadly.com