This project has moved and is read-only. For the latest updates, please go here.

Katana vs Kestrel

Dec 31, 2014 at 11:56 PM
Edited Dec 31, 2014 at 11:57 PM
Could someone help me understand what the distinction between Katana and Kestrel are. Note, I am not asking for an exhaustive list of differences. I thought Katana was a hosting option for vNext, but now many vNext articles are show hosting in Kestrel on other platforms.

Is Kestrel to Linux, what Katana is to Windows? Or do they serve different purposes and have different goals?

Jan 1, 2015 at 12:14 AM

Does that help?

Jan 2, 2015 at 5:05 PM
Thanks, that has alot of good information but doesn't touch on Kestrel. Wasn't sure what Kestrel's goals were which weren't already part of the purpose served by Katana. It seemed like the Katana server could have been adapted to be compiled and run with Mono to make it cross-platform, but maybe that was such a challenging undertaking that Kestrel was created as a seperate project to focus on a cross-platform server.

I've been told that Kestrel is a development web server. Are there any implementations planned for a production OWIN server on Linux?
Jan 2, 2015 at 5:41 PM
To clarify, Katana isn't a server, it's a project. It doesn't have any of its own servers, just a few shims over existing servers like HttpListener and System.Web. Many of the Katana components already work on Mono, though we don't actively test them there.

In theory we could continue using .NET's HttpListener as a means of cross-platform support via Mono, but we've found it's object model to be outdated and performance limiting. This also wouldn't work with the new Core CLR.

Kestrel is a low level cross-platform HTTP server. WebListener (replaces HttpListener) and Helios (replaces System.Web) will only work on Windows because they are built directly on native OS components. In theory native Linux servers could also be built but we aren't planning to do that ourselves.

Yes, Kestrel is initially a development server. Long term it may mature into a full production capable server, but there's no specific timeline for that.
Marked as answer by AaronLS on 1/4/2015 at 6:44 PM