Presentation: 3M RPS: .NET Open Source is Happening in a Big Way

Location:

Duration

Duration: 
10:35am - 11:25am

Day of week:

Level:

Persona:

Key Takeaways

  • Learn how .NET Core is being developed and used cross platform (this talk is delivered using a Mac).
  • Hear the performance numbers and emerging patterns around .NET core.
  • Understand what the capabilities of the new open source .NET framework offers developers.

Abstract

.NET Core is now totally open source, cross-platform, and is worth a deeper look. We’re seeing impressive numbers in the TechEmpower Benchmarks. You can write .NET on devices as small as a Raspberry Pi or scale .NET on cloud hardware to hundreds of millions of requests a second. Join Jeff Fritz as he digs into the how, what, and why of .NET Core and ASP.NET Core on a Mac. This technical session will be demo-heavy and spend most of its time at the command line.

Interview

Question: 
Can you explain your talk title to me?
Answer: 
“3M RPS: .NET Open Source is Happening in a Big Way” is a reference to the work that our team is doing on our new ASP.NET web framework.
The framework is being built completely open source and our initial benchmarks have it delivering 3 million requests per second in our test labs on hardware comparable to those used in the standard TechEmpower Benchmarks. We know that developers need performance from their tools, and we plan to deliver a first class experience.
Question: 
How you you describe the persona of the target audience of this talk:
Answer: 
I think the audience for this talk should be those that are interested in learning about the possibilities and advances that are being made in cross-platform development. We will see that using the new .NET tools on Mac are a great asset and integrate with your existing workflows easily.
Question: 
What’s the motivation for your talk?
Answer: 
There has been a lot of motion in the web framework community over the last few years.
With C# and ASP.NET Core, we are offering something that no one else can: a language and framework that you can use to write code that runs in the cloud on a service, in an app on your phone, on your desktop, or even on an IoT device.
The new C# and .NET frameworks can run on any device, and you can build on any OS. This talk shows the high-end of that experience: writing code on a Mac and delivering code that works in the cloud.
Question: 
What are your key takeaways for this talk?
Answer: 
I want attendees of this talk to understand that Microsoft is committed to delivering a top-notch framework and tools that they can rely on that work with your favorite tools and environments.
Our team is building this product in the open and taking contributions from the community. Attendees should have confidence that Microsoft is a solid partner that they can rely on for support no matter how they want to use our technology.
Question: 
So 3 million requests per second. What is 3 million requests per second? What is that going to mean to us? And you said IIS isn’t leaving the picture. What is this going to look like?
Answer: 
What we’re seeing, the way that we’re structuring our web framework, is we have built a very good performing web service.
We are going to position that behind a host, behind IIS that will reverse proxy those requests into that. Now our service (called Kestrel) when we run directly against it, we’ve hit in our developer’s lab 1.1 million requests per second. In the larger lab that has more server quality machines, that is where we are hitting 3 million requests per second and when we get to deploying in a real world and we actually put that behind an enterprise grade web service such as nginx or IIS, we expect that number to be very, very competitive with the rest of the market.
Question: 
Why indeed IIS? Why not NGINX?
Answer: 
It is just a question of comfort. If you have already got folks that are trained and you already are very comfortable using IIS, then you can continue using IIS.
If you want to go and use the Linux based services, go for it. You can use nginx, but if you want to use some things that will keep you tied into the Windows eco system, like Active Directory for authentication, you need to be in Windows then. Active directory integration is not available on Linux.
Question: 
With the ability to use Kestrel, does this mean true microservices and .Net is something that is around the corner?
Answer: 
Oh yes... You will be able to start up that Kestrel service inside of a Docker container and place as many of those wherever you need them and spin them up very, very quickly and very focused because, in the new ASP.Net model, we call it pay to play.
There isn’t a default set of features that are lit up by default for you inside of your service. You opt into just those pieces you need. If you only need an API endpoint because you want to build a RESTful service, you can include just that API capability and leave out things like the razor templating engine. Anything that would manage user interface that you would deliver, you can get rid of those things and focus on just security, data access and API.
Question: 
What about Docker? Is this something that you are really focused on? Is Docker really going to be part of the solution that is coming forward with .NET?
Answer: 
Without question, Docker support is a key feature that we want to deliver on. We have heard from our customers that when they do run current ASP .NET, they have to start up a web server that is running on a Windows machine and the virtual hosting capabilities to do that, are just too slow for their scenarios.
In our current environment, we can build images in a minute or two and you know we can get those up and running in seconds using Docker.
Question: 
What does this mean for Windows in the future with containers? Are we going to be able to build an ASP.NET Core application that is in a container and then now I can deploy to Windows or to AWS, or to wherever I want to. Is that the path you are taking?
Answer: 
We plan to have provide full container support for our web framework for any way that you want to use containers. We also provide support for deploying to the Windows Nano server so you can use a very small footprint Windows server and deploy and get an application running and have all of your Windows security capabilities that you may already be invested in, up and running very easily.
We plan to make this where we are going to bring the framework to wherever you need to be, whether it’s a Linux machine, it’s Windows Nano Server, it’s Windows Server 2016. You are going to be able to take it where you need it. And even IOT devices. You want to put it on a Raspberry Pi? We’ve got proof of concept of it running on a Raspberry Pi.
Question: 
There is a large JVM crowd at QCon. Why should a JVM developer or why should a non-.NET developer come to this talk?
Answer: 
The Java utilities and frameworks are really good. They have been out there for a long time. But what we are doing with .NET is something that I think is a little bit unprecedented. For Microsoft to come out, open source the entire development stack, make this entirely available with all the licenses to give you complete freedom to modify and change and adapt this, use it wherever you want and we’ve got the same language now running everywhere.
You can’t do this with Java. We like to say you can run anywhere from 64K to 64 Gig using C# and .NET. So I mentioned the Raspberry Pi. You can put it on there. You can put it on your desktop. You can put it on your web servers, in the Cloud, the Docker containers. But we have also got capabilities now to use those same libraries, that same technology using Xamarin with your iPhone, with your Android phone and your Windows phone.
Question: 
In your abstract it says that you are going to be writing this code on a Mac. Does that mean you are going to be writing it in Mac OSX? Or does that mean you are going to be writing it on a VM that is running on a Mac?
Answer: 
No. I do not have Windows installed on my Mac. The tools and the framework work great on a Mac and anywhere developers are and where they need it. If you run Linux on your workstation, or you bought a laptop from a vendor and installed Linux on it, you can do it there as well.
This is as close to the out of the box hardware as I can get my hands on and I absolutely wanted to not do that fake demo where you see people that say "oh yeah Windows is over here" and they are flip flopping back and forth to a Windows VM. No, no. This is all hardcore OSX terminals, command line and lots of ASCII art.
Question: 
QCon targets advanced architects and sr development leads, what do you feel will be the actionable that type of persona will walk away from your talk with?
Answer: 
I want the Tech Leads and Architects that attend to see the capabilities of the Microsoft web framework and consider building their next project with our tools.

Speaker: Jeffrey Fritz

Senior Program Manager @Microsoft

Jeffrey T. Fritz is a senior program manager in Microsoft’s Developer Outreach Group that works with the community on open source projects and the new Microsoft .NET Core framework. As a long time web developer with experience in large and small applications across a variety of verticals, he knows how to build for performance and practicality. More recently, he has worked closely with developers to teach them to succeed with new tools and frameworks from Microsoft and Telerik. Follow him on twitter @csharpfritz, and read his blogs at jeffreyfritz.com and blogs.msdn.com/webdev

Find Jeffrey Fritz at

Similar Talks

Tracks

Monday, 13 June

Tuesday, 14 June

Wednesday, 15 June