-
Notifications
You must be signed in to change notification settings - Fork 9.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Host grpc service in iis or as an app service? #9020
Comments
Hi @moodya , have you checked out the docs at https://docs.microsoft.com/en-us/aspnet/core/tutorials/grpc/grpc-start?view=aspnetcore-3.0&tabs=visual-studio ? If you're running into a problem, please let us know and we can investigate. |
Yeah I've already built a service that's running as a generic hosted service. I've ported it to the new asp net core 3 template and got it working running on self hosted kestrel, but currently looking at hosting it behind iis and hopefully deploying it as an app service in Azure. I can't get the former (iis) to work.
Get Outlook for Android<https://aka.ms/ghei36>
…________________________________
From: Eilon Lipton <notifications@github.com>
Sent: Wednesday, April 3, 2019 6:06:17 PM
To: aspnet/AspNetCore
Cc: moodya; Mention
Subject: Re: [aspnet/AspNetCore] Host grpc service in iis or as an app service? (#9020)
Hi @moodya<https://github.com/moodya> , have you checked out the docs at https://docs.microsoft.com/en-us/aspnet/core/tutorials/grpc/grpc-start?view=aspnetcore-3.0&tabs=visual-studio ?
If you're running into a problem, please let us know and we can investigate.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#9020 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AlUvPONL4H1tZ-pHOakDspdkXLLgThWbks5vdN-JgaJpZM4cZ2SG>.
|
I can't find any examples of how to do this, so maybe it's not supported yet
Get Outlook for Android<https://aka.ms/ghei36>
…________________________________
From: Alain Moody <alainmoody@hotmail.com>
Sent: Wednesday, April 3, 2019 6:11:06 PM
To: aspnet/AspNetCore; aspnet/AspNetCore
Cc: Mention
Subject: Re: [aspnet/AspNetCore] Host grpc service in iis or as an app service? (#9020)
Yeah I've already built a service that's running as a generic hosted service. I've ported it to the new asp net core 3 template and got it working running on self hosted kestrel, but currently looking at hosting it behind iis and hopefully deploying it as an app service in Azure. I can't get the former (iis) to work.
Get Outlook for Android<https://aka.ms/ghei36>
________________________________
From: Eilon Lipton <notifications@github.com>
Sent: Wednesday, April 3, 2019 6:06:17 PM
To: aspnet/AspNetCore
Cc: moodya; Mention
Subject: Re: [aspnet/AspNetCore] Host grpc service in iis or as an app service? (#9020)
Hi @moodya<https://github.com/moodya> , have you checked out the docs at https://docs.microsoft.com/en-us/aspnet/core/tutorials/grpc/grpc-start?view=aspnetcore-3.0&tabs=visual-studio ?
If you're running into a problem, please let us know and we can investigate.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#9020 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AlUvPONL4H1tZ-pHOakDspdkXLLgThWbks5vdN-JgaJpZM4cZ2SG>.
|
@shirhatti - any idea on this? |
Can't host gRPC in IIS/Azure App Service. |
Thanks for the prompt response. How would you recommend hosting a grpc service in a production scenario at the moment? Also, are you aware of any timescales when a grpc service will be host-able on iis / app service?
Get Outlook for Android<https://aka.ms/ghei36>
…________________________________
From: Sourabh Shirhatti <notifications@github.com>
Sent: Wednesday, April 3, 2019 7:13:23 PM
To: aspnet/AspNetCore
Cc: moodya; Mention
Subject: Re: [aspnet/AspNetCore] Host grpc service in iis or as an app service? (#9020)
Can't host gRPC in IIS/Azure App Service.
The HTTP/2 implementation of Http.Sys does not support HTTP response trailing headers which gRPC relies on.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#9020 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AlUvPNHH4-HhNsSAtugTw0MzzNco6c76ks5vdO9DgaJpZM4cZ2SG>.
|
The recommended approach is to host your gRPC service on AKS. As far as App Service timelines go, I'd defer to @stefsch |
Thanks for getting back to me. In terms of aks Vs service fabric in terms of hosting the grpc service is aks the better choice? If so, why?
Get Outlook for Android<https://aka.ms/ghei36>
…________________________________
From: Sourabh Shirhatti <notifications@github.com>
Sent: Monday, April 8, 2019 7:31:45 AM
To: aspnet/AspNetCore
Cc: moodya; Mention
Subject: Re: [aspnet/AspNetCore] Host grpc service in iis or as an app service? (#9020)
The recommended approach is to host your gRPC service on AKS.
As far as App Service timelines go, I'd defer to @stefsch<https://github.com/stefsch>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#9020 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AlUvPLwQW8HCp-YXsz6yNaK_RH7jbZzWks5veuJRgaJpZM4cZ2SG>.
|
I'm currently expecting issues to do this. I got a gRPC service running well using aspnetcore 3 preview 3 and Kestrel. But, an error about trailers appears using IIS when the service send the response (the request is well received) : |
As per messages above don't think iis supports hosting a grpc service
Get Outlook for Android<https://aka.ms/ghei36>
…________________________________
From: alustrement <notifications@github.com>
Sent: Thursday, April 25, 2019 10:57:42 AM
To: aspnet/AspNetCore
Cc: moodya; Mention
Subject: Re: [aspnet/AspNetCore] Host grpc service in iis or as an app service? (#9020)
I'm currently expecting issues to do this. I got a gRPC service running well using aspnetcore 3 preview 3 and Kestrel. But, an error about trailers appears using IIS when the service send the response (the request is well received) :
gPRC error => 2 UNKNOWN: No status received)
Dotnet error => "Trailers are not supported for this response" in Microsoft.AspNetCore.Http.ResponseTrailerExtensions.AppendTrailer(HttpResponse response, String trailerName, StringValues trailerValues) at Grpc.AspNetCore.Server.Internal.HttpResponseExtensions.ConsolidateTrailers...
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#9020 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AJKS6PEAJ2UKKH2QIKNTCZDPSF6BNANCNFSM4HDHMSDA>.
|
Following this exchange https://forums.iis.net/p/1241598/2147837.aspx?p=True&t=636917571046786374, it seems that is not the responsibilty of the web server to handle gRPC. gPRC use HTTP/2, IIS supports HTTP/2, so it must works. If it's not, it's a bug from IIS or, more possible, from dotnetcore. |
According to do the Microsoft guys in the messages above iis doesn't support the trailing headers required to host a grpc service. This means you can't host one in iis or as an app service at the moment.
Get Outlook for Android<https://aka.ms/ghei36>
…________________________________
From: alustrement <notifications@github.com>
Sent: Thursday, April 25, 2019 11:39:08 AM
To: aspnet/AspNetCore
Cc: moodya; Mention
Subject: Re: [aspnet/AspNetCore] Host grpc service in iis or as an app service? (#9020)
Following this exchange https://forums.iis.net/p/1241598/2147837.aspx?p=True&t=636917571046786374, it seems that is not the responsibilty of the web server to handle gRPC. gPRC use HTTP/2, IIS supports HTTP/2, so it must works. If it's not, it's a bug from IIS or, more possible, from dotnetcore.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#9020 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AJKS6PBQO4427EYN67SI7A3PSGC4ZANCNFSM4HDHMSDA>.
|
Thanks, I missed it and it makes sense with my issue. |
We (IIS) are currently evaluating whether to support HTTP response trailers. No roadmaps/commitments I can speak to yet. |
@shirhatti Given gRPC seems to be a major feature of .NET Core 3 (https://github.com/grpc/grpc-dotnet), it would be a real shame if it's not hostable in IIS/App Service given so many .NET web applications are hosted on those. I hope the availability of that feature in .NET Core helps drive your roadmap. |
I fully agree with @jbrantly. gRPC is advertised as one of the main features of .NET Core 3. |
I also agree.
Get Outlook for Android<https://aka.ms/ghei36>
…________________________________
From: Tomasz Jagusz <notifications@github.com>
Sent: Friday, April 26, 2019 9:42:58 AM
To: aspnet/AspNetCore
Cc: moodya; Mention
Subject: Re: [aspnet/AspNetCore] Host grpc service in iis or as an app service? (#9020)
I fully agree with @jbrantly<https://github.com/jbrantly>. gRPC is advertised as one of the main features of .NET Core 3.
It should be hostable in IIS/Azure App Services.
@shirhatti<https://github.com/shirhatti> please consider adding this to the roadmap
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#9020 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AJKS6PENWT46GCJ7GQGEGPTPSK6BFANCNFSM4HDHMSDA>.
|
I couldn't agree more. |
We're looking into it. It requires both Windows kernel changes and IIS changes. |
@davidfowl will this be possible when .NET Core 3 is released? |
Well is May 29 of 2019, and yet there is not signal that this will be possible. I'm looking for host a GRPC service in IIS and add a certificate to use HTTPS :( |
No it's not possible on IIS, we're working on getting changes but it will be a slow process (as it requires a windows update). |
I roughly lost about 3 days... thanks iis |
Hi @davidfowl |
@davidfowl any chance this might get added before .NET Core 3.0 gets released? Or should we wait for 3.1 or 5.0? |
No as it requires windows changes. It’s not going to be part of 3.0 and it will require the latest version of Windows (whatever that is at the time) to get these features. There’s no ETA |
Yeah I'm aware of the containerized workarounds but there are tons of
reasons to be using more cloud native things like Azure Functions and then
there's migrating legacy stacks and services by bringing them upto-date by
adding in the contracts and then swapping out the guts later. Only about
30% of dev at the moment is greenfield.
…On Tue, Apr 26, 2022 at 5:53 PM James Hancock ***@***.***> wrote:
@ikcore <https://github.com/ikcore> I do it on Azure with AKS and use
nginx as a reverse proxy just fine. And if you're not using K8s, you
probably should be, especially for anything new.
—
Reply to this email directly, view it on GitHub
<#9020 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AMNAZYT4OAH7SKSBFIGCDJDVHANRBANCNFSM4HDHMSDA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Yes getting the Windows kernel features was necessary for anyone wanting to run gRPC locally in IIS or Http.Sys. Those features have now shipped in Win11 and Server 2022. The Azure experience has many other parts that need to be updated/replaced to enable an end-to-end cloud experience. |
I know you said you can't give an ETA but at least a time frame? Is this going to take few weeks, months or years? |
@czmirek You missed a 0. |
Currently, I don't think there is any reason for us to use Windows on Azure. The problem is that with App Service, we can't use grpc even if we use Linux. This means that it's time for us to forget about Windows. It's best to use it on Linux with AKS or Azure Container Apps. I recommend it. That is my conclusion after waiting for 3 years. |
We moved on. Our initial goal was to run grpc on App Services, but thankfully we moved on and containerized the application and deployed to Container Instances, where it worked just fine. This past month we moved the app to Container Apps, where grpc also works well. |
It is possible to host gRPC in IIS on Win Server 2019? Or plan to make it happen ? |
No there's no plans to backport this to 2019 AFAIK. |
And how are your container costs mate?
…On Thu, 5 May 2022, 11:08 pm mrivero2020, ***@***.***> wrote:
We moved on. Our initial goal was to run grpc on App Services, but
thankfully we moved on and containerized the application and deployed to
Container Instances, where it worked just fine. This past month we moved
the app to Container Apps, where grpc also works well.
—
Reply to this email directly, view it on GitHub
<#9020 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABCSC7JKXA347UOH42ZEARDVIPB4BANCNFSM4HDHMSDA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
With Container Instances we were running 8 of them in development, with minimal resources (0.25 CPU and 0.2 GiB) and the cost was around $70 a month, combined. Now that we have changed to Container Apps the cost is going down significantly as the container apps can scale down to 0 when not in used, and we are not charged anything during that time. We still have not deployed the solution to production so I cannot give you a number yet. In production we will use containers with more resources AND where we will always have at least one container running. We won't scale down to zero in prod since it is noticeable the time it takes to wake up the containers once you make that first connection. |
Congratulations, App Service now supports gRPC! |
Well done team! Timely too - I have customers who are looking to migrate some apps from WCF to be rewritten in gRPC on Azure. Great stuff. |
Excellent. This removes some long standing blockers with Azure. Will be
trying this out later today.
…On Mon, May 23, 2022 at 8:09 AM liamfoneill ***@***.***> wrote:
Congratulations, App Service now supports gRPC!
https://azure.github.io/AppService/2022/05/23/gRPC-support-on-App-Service.html
🎊🎉✨
Well done team! Timely too - I have customers who are looking to migrate
some apps from WCF to be rewritten in gRPC on Azure. Great stuff.
—
Reply to this email directly, view it on GitHub
<#9020 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AMNAZYUB42IY5JFWULE6HY3VLMVKVANCNFSM4HDHMSDA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
It's available only in the EUAP regions....e.g. not yet accessible in normal regions. |
Hello, @davidfowl! Is it available already on Brazil South region? I've followed the given instructions but there is no connectivity through the public IP... Thank you! |
Update: This is now available in most regions. |
Absolutely amazing work, guys! |
Closing this issue as complete. Thanks for everyone's interest and passion for gRPC on IIS and Azure App Service. It took a while, but the final solution created many improvements in Azure App Service. https://azure.github.io/AppService/2022/08/16/A-Heavy-Lift.html |
Do we have the support for gRPC in Azure App Service on Windows? Or is it just a Linux thing? |
It's only available on Linux, not Windows. |
So why are we closing this before this is completed?
From: David Fowler ***@***.***>
Sent: Wednesday, August 17, 2022 10:41 PM
To: dotnet/aspnetcore ***@***.***>
Cc: Joe Schulte ***@***.***>; Manual ***@***.***>
Subject: Re: [dotnet/aspnetcore] Host grpc service in iis or as an app service? (#9020)
This email originated outside of Daktronics. Use caution when opening links or attachments. Report questionable emails to ITHelp.
It's only available on Linux, not Windows.
-
Reply to this email directly, view it on GitHub<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fdotnet%2Faspnetcore%2Fissues%2F9020%23issuecomment-1219007861&data=05%7C01%7Cjoe.schulte%40daktronics.com%7C09f267f183c34f33994708da80cb7501%7Cbe88af81094542aaa3d2b122777351a2%7C0%7C0%7C637963908601436442%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=IAC3%2FPm4n3IcUndFitC48ZaoXnFDbHVAP2dbvzDFJ4Q%3D&reserved=0>, or unsubscribe<https://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FABRILF7KRW2XZ7NHT7GBL4LVZWWEPANCNFSM4HDHMSDA&data=05%7C01%7Cjoe.schulte%40daktronics.com%7C09f267f183c34f33994708da80cb7501%7Cbe88af81094542aaa3d2b122777351a2%7C0%7C0%7C637963908601436442%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=sZfu%2B%2FRcIqsrweRGmqP9NJtGbUVIMqlMcUgzJ%2B9y8Mg%3D&reserved=0>.
You are receiving this because you are subscribed to this thread.Message ID: ***@***.******@***.***>>
This email and any attachments may be confidential and/or legally privileged. It has been sent for the sole use of the intended recipient(s). If the reader of this message is not an intended recipient, you are hereby notified that any unauthorized review, use, disclosure, dissemination, distribution, or copying of this communication or any of its contents is strictly prohibited. If you are not the named recipient, or have otherwise received this communication in error, please delete it from your inbox, notify the sender immediately, and do not disclose the contents to any other person or use them for any purpose, or store them in any medium. Thank you for your cooperation.
|
A couple of reasons I think this should be closed:
I'd suggest opening a new Feedback item for the app service team asking for support for Windows explicitly. Or you can use the existing one and pile onto it. |
App Service Feedback link: https://feedback.azure.com/d365community/idea/108a4c91-c825-ec11-b6e6-000d3a4f0f1c |
Yes, I second that to close this issue.
On the other hand, it did mention IIS or App Service. What about IIS where
to get its update for grpc support.
…On Thu 18 Aug 2022 at 16:45, David Fowler ***@***.***> wrote:
A couple of reasons I think this should be closed:
- The capability exists.
- This isn't the place for tracking app service issues. We left it
open for a long time because there was lots of engagement here but this
isn't where those feature requests or issues are tracked.
- A majority of customers wanting gRPC will be fine with Linux, at
least to start with.
I'd suggest opening a new Feedback item
<https://feedback.azure.com/d365community/forum/b09330d1-c625-ec11-b6e6-000d3a4f0f1c>
for the app service team asking for support for window explicitly.
—
Reply to this email directly, view it on GitHub
<#9020 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABPCA6KTN2TI5M2EDMAKSV3VZZECBANCNFSM4HDHMSDA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
This thread is super long and has lots of useful information that is hard to find. I updated the original description with the latest status of things. Hope that helps! Thanks all! |
@davidfowl -- it's disappointing to see Microsoft's support for Windows fall further and further behind their support for Linux. |
@davidfowl @Eilon will this work with a windows server 2022 container? |
Aug 2022 Update
You can use this issue to track app service progress and follow up about gRPC on app service for Windows.
Original issue:
Is it possible to do this? If so how?
2022/08/18 Update - @JamesNK
Available in most regions: https://azure.github.io/AppService/2022/08/16/A-Heavy-Lift.html 🥳
2022/05/23 Update - @JamesNK
Azure App Service supports gRPC (preview): https://azure.github.io/AppService/2022/05/23/gRPC-support-on-App-Service.html 🎉
2021/12/16 Update - @JamesNK
User voice issue
There is a Microsoft Azure user voice issue for adding gRPC support to App Service. Consider voting if this is an important feature for you.Azure no longer uses user voice.
2020/10/28 Update - @JamesNK
User voice issue
There is a Microsoft Azure user voice issue for adding gRPC support to App Service. Consider voting if this is an important feature for you.Azure no longer uses user voice.
gRPC-Web
gRPC-Web with .NET is now available. gRPC-Web is compatible with IIS and Azure App Service. Link to blog post with more info: https://devblogs.microsoft.com/aspnet/grpc-web-for-net-now-available/
IIS
IIS is supported with .NET 5 and an insiders build of Windows. More info: #9020 (comment)
The text was updated successfully, but these errors were encountered: