Live data from Hacker News

Microsoft YARP

github.com

111–120 of 153 posts

Re: Microsoft YARP

#111

My first thought is "wasn't that called ISA?" I can't help but be wary of anything Microsoft announces that's open source. Without engaging in MS-bashing, I always wonder what their motivation is. Then again, part of me wants to believe there's good, avid coders working there.

1997 called and want their outdated MS opinion back. MS is one of the largest open source contributors these days. .Net is open source and cross-platform. They even have an open source Linux distribution. They actively contribute to Rust, webAssembly, the Linux kernel, and Kubernetes.

Yeah, right. This was two months ago: https://news.ycombinator.com/item?id=29579994

Re: Microsoft YARP

#113
post #107
post #32

Earlier quoted context omitted.

Pretty much every "I built a thing" post is met with the same response. MS isnt special. I think pretty much every open source project that wants to be taken seriously needs to compare itself with its competitors.

Nope, if it is an HN hyped language it gets all the love of the day, Ruby, Clojure, Rust,....

Rust rewrites get a bit more love by default because it's implicitly assumed it'll be fast and bug free compared to alternatives.

Re: Microsoft YARP

#114
post #113
post #107

Earlier quoted context omitted.

Nope, if it is an HN hyped language it gets all the love of the day, Ruby, Clojure, Rust,....

Rust rewrites get a bit more love by default because it's implicitly assumed it'll be fast and bug free compared to alternatives.

I doubt Rewrote it in Ada/SPARK would get the same love.

Re: Microsoft YARP

#115

I am late to the party here. What is the purpose of a reverse proxy? Reading online: security, load balancing, https seems to be mentioned. It appears a bit to me that a reverse proxy is not doing what a web server used to do back in the days of IIS/Apache. I see a lot of programs meant to operate on the web that use very simple http servers.

I think of a reverse proxy as more of a general architectural pattern - when you have cross-cutting concerns for an application with a relatively broad protocol (HTTP) you can implement them as a networking layer in front of the service(s). Indirection and abstraction are powerful tools in computing.

Common reasons for such a split:

1. Composing several different services into a single internet domain

2. Putting stateless or CPU-heavy workloads onto different infrastructure from long-lived, IO-intensive tasks

3. Variation of the above, allow for multiple server processes in server environments which can't scale up to single multi-threaded processes well (CRuby/CPython)

4. Split security concerns off onto a box which has a much smaller attack surface, such as a box meant to be deployed in a DMZ (examples would be HTTPS termination, authentication and authorization policy enforcement)

5. Caching of responses (this is Varnish's claim to fame)

6. Variation of the above, some CDNs work by hitting an otherwise private server for data, then replicating throughout the network for locality to end-users.

7. Application-specific behavior patching, such as adding new API endpoints or changing the behavior of existing ones

In many of these cases, people use something like NGINX, Apache or a commercial solution like an F5. In other cases (such as application-specific business logic) people will write their own code, perhaps in the future using this Microsoft project as a starting point.

Re: Microsoft YARP

#116

>> We found a bunch of internal teams at Microsoft who were either building a reverse proxy for their service or had been asking about APIs and tech for building one I'm really curious, does Microsoft have a crew of anthropologists walking around to figure out which team is reinventing wheels?

Honestly I think any company that exceeds a certain size could do with a full time team to investigate and solve NIH and duplication.

I mean Google reinvents chat every couple of years, and that's just the ones that come out in public <_<

Re: Microsoft YARP

#117

YARP is yet a another example of how C# is becoming a dominant systems language. The ease with which you can build a tailor-made reverse proxy is pretty amazing.

I don't know if 22k lines of C# and 100k lines of json is an easy project.

Re: Microsoft YARP

#118

I am late to the party here. What is the purpose of a reverse proxy? Reading online: security, load balancing, https seems to be mentioned. It appears a bit to me that a reverse proxy is not doing what a web server used to do back in the days of IIS/Apache. I see a lot of programs meant to operate on the web that use very simple http servers.

Have a look at Traefik, Envoy, or Istio proxy. Load balancing, TLS termination, authorization and authentication would be most common use cases.

Re: Microsoft YARP

#119

Earlier quoted context omitted.

I don't get it, what do you even expect them to do ? Write it in Java? It's MIT-licensed, you can rewrite it if you wish.

Yeah - whatever language they chose it would be "only available for [that] ecosystem." At some point you've got to pick your home, not like you can write a 100% cross-language framework for anything.

Hopefully one day most devs will share one home called wasm runtime. Although not sure if it applies to this scenario (lower-level code).
Post reply on HN