Live data from Hacker News

Google and IBM announce Istio – easily secure and manage microservices

developer.ibm.com

81–90 of 123 posts

Re: Google and IBM announce Istio – easily secure and manage microservices

#81
post #79

> Lyft developed the Envoy proxy to aid their microservices journey, which brought them from a monolithic app to a production system spanning 10,000+ VMs handling 100+ microservices. Are those numbers right? Wouldn't it be the other way around realistically?

One of the benefits of microservices is the ability to trivially deploy many versions to improve performance and uptime.

You should be using service discovery and deploying multiple instances.

Re: Google and IBM announce Istio – easily secure and manage microservices

#82

What happened to dumb pipes, smart endpoints? We do the same things again that we did before with SOA, having hard-to-replace middleware / bus systems.

app agent hub agent app OR app agent agent app OR

app|agent ... agent|app

Fundamentally, it is the same problem space.

Does the apple pie taste differently with the pie in the apple vs apple in the pie? Maybe in some cases and maybe not in other cases

Re: Google and IBM announce Istio – easily secure and manage microservices

#83
post #75

This may be the most important project in distributed computing in a long time. It solves some fundamental problems that layer 3 networking has been unable to tackle. Its initial integration with Kubernetes is great but long term it could be the basis of all application level communication whether it is deployed in a container orchestration system, VMs, bare metal or as an enabler for Lambda (function) frameworks.

What fundamental problems does it solve that layer 3 networking has been unable to tackle? Not pushing back - just ignorant and want to learn!

If you adopt micro-services in earnest, a challenge you face is how to ensure that the right set of services can communicate (and only communicate with) the right other set of services. In a large organization, it's not unrealistic to have hundreds of services, and not all of them are fully trusted (some may be run by vendors, etc).

What's more, these things are being constantly deployed to a wide variety of environments. Some may be on cloud VMs (or a dynamically scaled cluster of VMs), some on bare metal, some in orchestrators like Kubernetes. Some will run on networks that the organization maintains, some may be maintained by a DC or cloud provider.

Historically the answer to securing this communication has been to use L3 network segmentation with strict rules to decide who can send packets to who. But, particularly in an increasingly heterogenous and dynamic environment it's very difficult to do this reliably and quickly. Networks are also a pretty crude authorization system - it implies that just because you can reach an endpoint that you are authorized to use it, which isn't necessarily true in practice. Some of the other benefits of Istio - like system-wide circuit breaking and flow control are also difficult to do purely at the network layer.

If you're interested in this, I'd encourage you to check out https://spiffe.io/about which has some more detailed thoughts on the limitations of the L3 micro-segmentation approach and how it can be solved.

Re: Google and IBM announce Istio – easily secure and manage microservices

#85
post #27

What happened to dumb pipes, smart endpoints? We do the same things again that we did before with SOA, having hard-to-replace middleware / bus systems.

Smart endpoints in N different languages means you have to do the same work (auth, rate-limiting, etc.) N times.

Possibly. However, tooling and code generation can help.

If the smarts is just a state machine, and the rules are abstracted at the right level, it would not be that hard to support.

"Thick" smartpoints can save on operating cost (infrastructure, personnel, complexity, level of expertise) when your system is "simple enough"

At massive scale, from an economies of scale (all things considered), it may make better sense to go with "Thin" smart endpoints.

The migration between the 2 models is where the art of the design comes in play :) It's an art because it is a decision process involving many players with conflicting and competing goals, decisions, time frames, motivations etc.

It's often not just a "technical" decision

Re: Google and IBM announce Istio – easily secure and manage microservices

#86

I'm curious what the benefit of side-loading proxies and load balancing versus centralization provides?

Check out [1] for an overview of the trade-offs. Disclaimer: I work on Istio 1. https://groups.google.com/forum/m/#!msg/kubernetes-sig-netwo...

I'm not seeing any benefits though, there are a lot of assumptions and emotional comments here not any hard evidence of it being a better solution.

There is actually a lack of it, there is only connotative evidence here in one comment that refers to "hey look linkerd does this at scale" that sounds nice, except that is not necessarily the point or the case.

How is having side-loaded proxies _better_ or more beneficial than having it separate? It doesn't appear to be discussed or mentioned in this thread, all of the arguments made for doing so are equally applicable to the separation of the proxy.

Re: Google and IBM announce Istio – easily secure and manage microservices

#87
> Really interested to hear user feedback from today's #istio announcement and where it will have the biggest impact.

Okay: I immediately deeply, profoundly, bitterly hate and despise your announcement and for just one, really simple, dirt simple, but totally unforgivable reason: What the heck is a "microservice"? You never said.

That word, microservice, is not in a standard English dictionary, so you are writing undefined jargon, gibberish, junk and not English. You are insulting me and even worse yourself.

Instead, write English. Get rid of the undefined jargon.

Got it?

This was a difficult lesson?

> the biggest impact

Until you learn to communicate at, say, the late elementary grade school level, e.g., learn to write English, the impact promises to be minimal.

Re: Google and IBM announce Istio – easily secure and manage microservices

#88
post #27

Earlier quoted context omitted.

Smart endpoints in N different languages means you have to do the same work (auth, rate-limiting, etc.) N times.

Possibly. However, tooling and code generation can help. If the smarts is just a state machine, and the rules are abstracted at the right level, it would not be that hard to support. "Thick" smartpoints can save on operating cost (infrastructure, personnel, complexity, level of expertise) when your system is "simple enough" At massive scale, from an economies of scale (all things considered), it may make better sense…

Actually, I didn't like the sidecar idea at first, given my experience with it ten years ago (we ended up changing architectures twice). But that was in a project where everything was in the language (C++) that was best supported by all the internal libraries.

I've since been exposed to the vagaries of dealing with multiple languages. I think code generation can only help so much, if you care about performance and latency. Things like flow control and handling memory pressure are easier in some languages vs. others.

Not going very far, if you look at gRPC, it really has three implementations: C++, Java and Go. All other supported languages wrap the first. They have different defaults, feature sets and performance characteristics. Not to mention the behavior under load. In theory it shouldn't be like that.

Re: Google and IBM announce Istio – easily secure and manage microservices

#89

Earlier quoted context omitted.

Check out [1] for an overview of the trade-offs. Disclaimer: I work on Istio 1. https://groups.google.com/forum/m/#!msg/kubernetes-sig-netwo...

I'm not seeing any benefits though, there are a lot of assumptions and emotional comments here not any hard evidence of it being a better solution. There is actually a lack of it, there is only connotative evidence here in one comment that refers to "hey look linkerd does this at scale" that sounds nice, except that is not necessarily the point or the case. How is having side-loaded proxies _better_ or more beneficia…

Resiliency: Centralized proxies can suffer from shared failure domain issues (especially when large number of configs, etc., are deployed).

Performance: Side-loaded proxies tend to perform better, in part because they deal with a subset of config.

Our choice of sidecar deployment was informed by on our (Google, Lyft) experiences with both centralized and sidecar models. However, that being said, Istio is not predicated on per-pod deployment.

Re: Google and IBM announce Istio – easily secure and manage microservices

#90
post #87

> Really interested to hear user feedback from today's #istio announcement and where it will have the biggest impact. Okay: I immediately deeply, profoundly, bitterly hate and despise your announcement and for just one, really simple, dirt simple, but totally unforgivable reason: What the heck is a "microservice"? You never said. That word, microservice , is not in a standard English dictionary, so you are writing un…

I'm not sure if you're trolling or genuinely don't understand, so I think I can help you a little bit.

Microservices are services that are generally containerized and are easily distributable through some form of a network to be easily replaceable parts. These services are defined by a specification where they do a single task, expose some endpoint or API and are composable with other microservices.

There is a need for these services to talk to each other, and to external services and to do this they use some form of a meshing network. These networks right now are done through container networks, such as the Docker Overlay Network, the Kubernetes "POD" system, linkerd, serf, and a multitude of other systems like istio. It is a space or area of concern, because there is no singular approach to all these differing container services right now. So all of them are vying to be the one that wins.

The issue that I find here is that you're looking in an English dictionary while these are technical networking / operating system terminologies and that dictionary will not help you in this namespace.

This page might help you a little more: https://en.wikipedia.org/wiki/Microservices

Also: Service being, a backend or software that performs some action based on an input / output

Post reply on HN