Earlier quoted context omitted.
As for me,I have been trying to discover that 5% that cannot be done without microservices.
There's a bunch of things I'd like to have them do. If they could span across machines like clusters that would be amazing. If I could trivially package them up and deploy them locally with intrinsically less effort and wall-time then the old way, that'd be amazing. If I could somehow get the horizontal scaling promises and redundancy as some kind of built-in, like I can with say, memcache, that's be cool. If I could…
Scaling up the Prime Video audio/video monitoring service and reducing costs
61–70 of 526 posts
Re: Scaling up the Prime Video audio/video monitoring service and reducing costs
#62Earlier quoted context omitted.
microservices make a lot of sense organizationally where each feature team can own their own feature service.
OR each team can write their features as a python package, rust crate, go module to be included in the main app. Libraries, versioned.
Separate services aren't a silver bullet, but as an fyi to the younger software developers, we tried "just have all teams work on the same code base and deployable artifact" for a long while and it didn't work very well either.
Re: Scaling up the Prime Video audio/video monitoring service and reducing costs
#63Storing individual frames in S3??? Insanity! Their initial distributed architecture is unbelievable.
Even really smart, capable people in general have really poorly calibrated intuition when it comes to the intrinsic overhead of software. It's a testament to the raw computational power of modern hardware I guess. In the case of AWS, it's never been easier to accidentally a million dollars a month.
Re: Scaling up the Prime Video audio/video monitoring service and reducing costs
#64Earlier quoted context omitted.
OR each team can write their features as a python package, rust crate, go module to be included in the main app. Libraries, versioned.
Yeah I see a lot of things that could be libraries packaged as services, so now each invocation incur in network latency and every transaction needs a two phase commit. And because each service need its own replica, deployment pipeline, and versioned internal api, production and deployment cost skyrocket
Re: Scaling up the Prime Video audio/video monitoring service and reducing costs
#65> Moving the solution to Amazon EC2 and Amazon ECS also allowed us to use the Amazon EC2 compute saving plans that will help drive costs down even further. So various parts of Amazon have to work through the AWS same pricing programs that the rest of us do?
Re: Scaling up the Prime Video audio/video monitoring service and reducing costs
#66I wouldn't call it a monolith as the number of instances could be scaled up. Mono implies single instance. They just combined multiple microservices into a larger one.
Re: Scaling up the Prime Video audio/video monitoring service and reducing costs
#67I'm pretty convinced that microservices are one of those things that make sense 5% of the time and the other 95% is cargo culting.
I absolutely agree, buuuut also realize we as programmers don't even have the same definition of what a microservice is. A lot of people here say...one service per team. But to me that is, or can be, a monolith. Often a team is a product line, so you have one service for that product. Is that a monolith? I don't know either, I guess. I -do- know most people who go around promoting that sweet microservice life end up…
But doing it right, is nevertheless hard. Because cutting your business into chunks ... is not as easy as it always looks.
Re: Scaling up the Prime Video audio/video monitoring service and reducing costs
#68I know there are nuances in the article, but my first impression was it's saying "we went back to basics and stopped using needless expensive AWS stuff that caused us to completely over architect our application and the results were much better". Which is good lesson, and a good story, but there's a kind of irony it's come from an internal Amazon team. As another poster commented, I wouldn't be surprised if it's taken down at some point.
Re: Scaling up the Prime Video audio/video monitoring service and reducing costs
#69Earlier quoted context omitted.
OR each team can write their features as a python package, rust crate, go module to be included in the main app. Libraries, versioned.
And then team 1 needs to upgrade pandas to 2.0, but team 2 is still on pandas 1, so when the main app pulls them in nothing works, so you need to start a cross-team committee to schedule the work to upgrade a single library... Separate services aren't a silver bullet, but as an fyi to the younger software developers, we tried "just have all teams work on the same code base and deployable artifact" for a long while an…
Re: Scaling up the Prime Video audio/video monitoring service and reducing costs
#70The title is editorialised to be clickbait. The original title is "Scaling up the Prime Video audio/video monitoring service and reducing costs by 90%". They changed a single service, the Prime Video audio/video monitoring service, from a few Lambda and Step Function components into a 'monolith'. This monolith is still one of presumably many services within Prime Video.
That has some newsworthiness and the title kind of reflects that.