Live data from Hacker News

Uber migrates microservices to multi-cloud platform running Kubernetes and Mesos

uber.com

151–160 of 233 posts

Re: Uber migrates microservices to multi-cloud platform running Kubernetes and Mesos

#151
post #56

Earlier quoted context omitted.

No, that's not correct (mostly). Services are written in the way to support global operations. But that scale introduces a lot of complexity so you can't just have "one service for onboarding drivers"

Do you have knowledge of this? I find this hard to believe given the regulations from some of the larger countries requiring, by law, customer data be processed in country.

It’s not just countries. I’ve used Uber across the US and you can look on the receipt and see different regulations in play depending on the city

Re: Uber migrates microservices to multi-cloud platform running Kubernetes and Mesos

#152
post #2

Does Uber really need 4000 microservices?

There's no way that number isn't fiction; Occam's razor say's its out of the range of believable. That's ~2 per eng according to Google. That's absurd. (That eng headcount is also a bit … high.) This sounds like a figure from someone who sees a signle microservice running across 100 pods/instances, and counted that as 100 "microservices".

S3 alone is built on top of 300 micro services. I don’t find it unbelievable that Uber needs a lot of them.

Re: Uber migrates microservices to multi-cloud platform running Kubernetes and Mesos

#153

This article is a recap of the original engineering article by the quoted developer and manager at Uber. https://www.uber.com/en-GB/blog/up-portable-microservices-re...

Ok, we've changed the URL to that from https://www.infoq.com/news/2023/10/uber-up-cloud-microservic.... Thanks!

Re: Uber migrates microservices to multi-cloud platform running Kubernetes and Mesos

#154

Earlier quoted context omitted.

Do all of those need to be microservices or you could you instead have one monolithic payment service that handled all those use cases?

And then every time you had a change, you would have to deploy everything and your surface of failure is greater. What would a monolith buy you?

Not having to evolve or understand or staff 4,000 micro services.

An ability to easily change the boundaries of your conceptual components, because they WILL be wrong now or in the future.

Re: Uber migrates microservices to multi-cloud platform running Kubernetes and Mesos

#155
post #153

This article is a recap of the original engineering article by the quoted developer and manager at Uber. https://www.uber.com/en-GB/blog/up-portable-microservices-re...

Ok, we've changed the URL to that from https://www.infoq.com/news/2023/10/uber-up-cloud-microservic... . Thanks!

[deleted]

Re: Uber migrates microservices to multi-cloud platform running Kubernetes and Mesos

#156

Earlier quoted context omitted.

And then every time you had a change, you would have to deploy everything and your surface of failure is greater. What would a monolith buy you?

Not having to evolve or understand or staff 4,000 micro services. An ability to easily change the boundaries of your conceptual components, because they WILL be wrong now or in the future.

You still have to understand your boundaries when you have a large monolith unless you have one big ball of mud.

Even with a well constructed monolith, you need to have well defined “services” with contractual interfaces.

You don’t have to understand 4000 services to make one change anymore than I need to understand the entire boto3 library when I am building on top of it.

https://boto3.amazonaws.com/v1/documentation/api/latest/inde...

You can’t just change your interface in a monolith either without breaking other parts of it.

Re: Uber migrates microservices to multi-cloud platform running Kubernetes and Mesos

#157
post #2

Does Uber really need 4000 microservices?

There's no way that number isn't fiction; Occam's razor say's its out of the range of believable. That's ~2 per eng according to Google. That's absurd. (That eng headcount is also a bit … high.) This sounds like a figure from someone who sees a signle microservice running across 100 pods/instances, and counted that as 100 "microservices".

Uber invested heavily in tooling that makes creating and deploying a new service take about 30 minutes. This was before they invested in making it as easy to share code. If you combine that with fast hiring and a big pressure to ship, it makes sense to solve every problem with a new service that calls a few others.

Re: Uber migrates microservices to multi-cloud platform running Kubernetes and Mesos

#158
post #149

Earlier quoted context omitted.

It reminds me this thread about Netflix, with insane amounts of events and logs compared to active users. https://news.ycombinator.com/item?id=30635369

Yup I remember that. Netflix seems to be the poster child for overengineered architecture - for something that is almost entirely commoditised nowadays (one-way over the internet video streaming). Uber's problem space is significantly more complex than Netflix, so I'm unsure it's a fair comparison. But they do seem to have quite a lot of overengineering going on. At least that's how I feel each time I read an Uber te…

> Uber's problem space is significantly more complex than Netflix

What makes you say this? Netflix serves probably several orders of magnitude more bytes and online video is hard. At its core Uber is basically a Passenger Service System and we had systems like these implemented in software since 1950s

Re: Uber migrates microservices to multi-cloud platform running Kubernetes and Mesos

#159

Earlier quoted context omitted.

And then every time you had a change, you would have to deploy everything and your surface of failure is greater. What would a monolith buy you?

Not having to evolve or understand or staff 4,000 micro services. An ability to easily change the boundaries of your conceptual components, because they WILL be wrong now or in the future.

Managing a numerically large set of services has its own challenges, but it pales in comparison to the complexity of a monolithic service serving the same functionality. As the other poster already pointed out, such a behemoth would be a nightmare to change at all. It would also be a scalability and and reliability nightmare. We migrated away from monoliths because they don't work in modern compute architectures.

Re: Uber migrates microservices to multi-cloud platform running Kubernetes and Mesos

#160
post #37

Earlier quoted context omitted.

Yup Pornhub serves much more video than Netflix and they do so without that insane amount of complexity.

Honestly Pornhub's stack is genuinely impressive. More start-ups should just use PHP and get shit done

I think the takeaway was that choice of language might be less important than engineering strategy, because PH are successful despite their choice of stack :)
Post reply on HN