Тёмный

Serverless was a big mistake... says Amazon 

Fireship
Подписаться 3,1 млн
Просмотров 1,6 млн
50% 1

Amazon Prime Video released an article explaining how they saved 90% on cloud computing costs by switching from microservices to a monolith. Let's examine the details of their software architecture and find out why serverless was a bad choice.
#programming #aws #thecodereport
💬 Chat with Me on Discord
/ discord
🔗 Resources
Prime Video Serverless Article www.primevideotech.com/video-...
Majestic Monolith m.signalvnoise.com/the-majest...
AWS for the Haters • AWS for the Haters in ...
🔥 Get More Content - Upgrade to PRO
Upgrade at fireship.io/pro
Use code YT25 for 25% off PRO access
🎨 My Editor Settings
- Atom One Dark
- vscode-icons
- Fira Code Font
🔖 Topics Covered
- Monolith vs Microservice
- Pros and Cons of serverless
- Serverless pitfalls
- AWS lambda vs EC2
- What is a microservice
- How to save money on AWS
- Startups that have left the cloud

Наука

Опубликовано:

 

16 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 2 тыс.   
@sp.n7401
@sp.n7401 Год назад
So what I learned is that the more servers you add the more serverless it is.
@filiformis
@filiformis Год назад
Brilliant.
@umutsalihbayrak
@umutsalihbayrak Год назад
They became serverless, but you became servermore.
@benjaminwagner1772
@benjaminwagner1772 Год назад
On Point 👌
@Dev-Siri
@Dev-Siri Год назад
more, less = less, more
@gouravojha1353
@gouravojha1353 Год назад
Heavy driver..... Bro
@John_Fx
@John_Fx Год назад
been in IT for 30 years. it is an endless cycle of flipping back and forth on architecture decisions. can’t remember anymore if we are centralizing or decentralizing now.
@obsidianjane4413
@obsidianjane4413 Год назад
Its an established marketeering pattern. Every ten years or so, when a fresh crop of executives have seized the reins of corporations, they get sold on whatever buzzword for "da cloud" is handy because they don't listen to the ol' SYSADMINs who have seen this pattern over and over.
@artiefischel2579
@artiefischel2579 Год назад
We've been in another "back to the mainframe" period and are moving toward computing at the edge, PC, etc. again. That will last longer than last time because the network is better, containers make deployment easier, and the cloud companies have absolutely shit on their customers' privacy.
@lovell8983
@lovell8983 Год назад
@@artiefischel2579 also I think one of the reason is that the hardware price is getting cheaper and cheaper. So for a small to medium company, the cost for infra will break even in the long run
@darrenloke5486
@darrenloke5486 Год назад
Well you should know the answer to it by now? It depends…
@chrislambe400
@chrislambe400 Год назад
That does my head in. Just like the new marketing manager that comes with a new logo every 4 years.
@bkucenski
@bkucenski Год назад
Who could have guessed that initiating classes and calling functions is faster than API calls over HTTP
@grigoriismirnov-pinchukov3406
🤔
@sevdalink6676
@sevdalink6676 Год назад
Sad history of humanity :D
@king6530
@king6530 Год назад
Please do a video on Tamagui
@NuncNuncNuncNunc
@NuncNuncNuncNunc Год назад
As Attorney Tom says, it depends. If the monolith has a part that is a resource hog, the whole system needs to be scaled for that part. HTTP is also not the the only protocol out there, but sure on board is faster than network communication.
@bkucenski
@bkucenski Год назад
​@@NuncNuncNuncNunc If there's specialized physical resources and processing that need to be optimized, then sure, you will probably build an appliance specific app and server. I/O limitations have to be considered. Enterprise ethernet is up to 10Gbps. NVMe is up to 32Gbps. The fastest RAM is now 69Gbps. Nice.
@ceco987
@ceco987 Год назад
"When it comes to cloud architecture, there are no solutions, only tradeoffs." What a great way to wrap the video up! Keep up the great content
@larrywest42
@larrywest42 Год назад
It is great. Though I'd reword it slightly: "When it comes to software architecture, there are always multiple solutions, with an array of trade-offs that are often hard to measure in advance." (The trade-off here being that over-engineering the pithy slogan makes it cumbersome.)
@guitar300k
@guitar300k 9 месяцев назад
so how do I approach this problem, kind of annoy when there's no solutions
@wesleymouch7498
@wesleymouch7498 8 месяцев назад
Software systems are like piles of dirt. You can hide it under this carpet or that carpet. Or divide it among multiple carpets. There is no way to completely get rid of the dirt.
@jenskmigselv
@jenskmigselv 3 месяца назад
That was my take away too
@Denominus
@Denominus Год назад
TLDR; They were doing a lot of IO from lambda/step functions/state transitions/S3 for EACH FRAME in movies. Obviously slow. They decided to change that to process a movie's frames all at once in a worker per movie architecture avoiding 90%+ of the IO and slowness. They can still scale horizontally by adding more workers.
@Th3MoL3
@Th3MoL3 Год назад
that is what i thought i read the article before coming here and seeing Jeff made a video. When he said only horizontal scaling only i was like.....wait a minute.....as you said there was too much overhead communicating to different lambda/step functions so grouped the highly commincating parts on one server to make processing one video way cheaper. Doesnt mean every video has to go through that one container.......
@nnnik3595
@nnnik3595 Год назад
Couldn't they even run this single container as a serverless function?
@azufendusgarendum6583
@azufendusgarendum6583 Год назад
Yeah, I don't understand how they decided that their original architecture would even work at all on paper. The whole article just screams "we created problems and then we solved them. Give us a promotion"
@SahilP2648
@SahilP2648 Год назад
Yup seems like Amazon hires all the dumb folks, regardless if they get paid well or not
@leeow3n
@leeow3n Год назад
exactly, and this is where microservice purists aka naive newbs lose their minds and we all justly ignore them.
@johnwu8916
@johnwu8916 Год назад
This is a lesson I learned at AOL over 2 decades ago. Monoliths are great for efficiency (going fast), microservices are great for flexibility (Change fast). It’s a question of what you want or need to optimize for. There is rarely one single approach for everything, it’s always a trade-off.
@AJ-le3yh
@AJ-le3yh Год назад
Exactly this, for this reason my biggest shock was to learn that prime video ran on serverless 🤯 it’s not just about performance though but the high demand and predictable traffic, which I guess they were unsure about when first setting off
@johnwu8916
@johnwu8916 Год назад
@@AJ-le3yh That's the thing... you can't optimize for speed until you have some predictable pattern that you can optimize against. But all solutions are a two edge sword. When you optimize for speed (as we did at AOL), it's hard to pivot when the pattern changes and you need a more flexible solution to deal with the increased rate of change and a higher level of uncertainty. But when a new pattern emerges, you then are losing efficiency until you can retool your system for efficiency and speed. As they say, there is no free lunch. Personally, I prefer a flexible system that's highly modular. So as new patterns emerge, you can optimize specific key processes (including consolidating multiple modules into a single monolithic system) while keeping the old flexible modules on deck. Then you have a 'conductor' to help determine which solution to use and when. Yes, you lose some performance by doing this, and you could increase the cost slightly, but long term, you are better off, as you are better able to adjust to new, unexpected changes.
@thewhitefalcon8539
@thewhitefalcon8539 Год назад
@@AJ-le3yh You know what would make sense would be if you could provision a certain amount of serverless capacity for only slightly more than the cost of the same servers
@solderbuff
@solderbuff Год назад
​@@AJ-le3yh , Prime Video is still running on serverless. They are talking only about one microservice here which changed its architecture to be more performant. Prime Video consists of *a lot* of microservices.
@darrennew8211
@darrennew8211 Год назад
The same thing happens in software. You build the code in one giant lump, then that's hard to maintain so the next time you build it in lots of little classes, and that's hard to understand so you go back to building it in giant lumps again. Eventually you get "object oriented" were each class is a singleton with 300 instance variables pointing to other singletons.
@dal2452
@dal2452 Год назад
I once visited a small biotech company that had its own server. I was confused, and they explained that due to the massive amounts of data their machines produce, it costs less for them in the long run to just buy a server than relying on the cloud. If your price for electricity is less than what AWS would bill you, and you can manage the upfront cost, having your own infrastructure actually makes sense.
@braindawg
@braindawg Год назад
Depends on the application, of course. I've been in offices with home-built server closets, and I've felt the wrath of customers when someone kicks a plug or pulls the wrong network cable or cuts the DS3 line to the building while they're doing utility work down the street (or when a fan dies, or when a NIC starts dropping packets). If service uptime is important, you're probably paying for rack space in a tier 3 datacenter. If it's critical, you're probably paying for space in multiple geographically distributed datacenters, with multiple ISP connections to each one. This complicates your network infrastructure, so you need network engineers capable of architecting and managing interconnectivity across multiple datacenters, and you need sysadmins to select and maintain the server hardware & software your application is running on. The cost of managing your own servers can be massively more than just electricity + the up-front hardware cost.
@dal2452
@dal2452 Год назад
@@braindawg True, those data centers have specialized setups to deal with blackouts. I think this particular company was using their server for R&D, not for anything their clients were relying on. Actually another place I worked was a hospital, and they had an entire server room. Hospitals are mandated to have backup generators, so setting up a server might be easier for them.
@jondoty
@jondoty Год назад
Your price for electricity is insignificant compared to the cost of installation, initial configuration, and maintenance. And good luck with uptime.
@alexus267
@alexus267 Год назад
Renting servers that are already in a data center is likely to be cheaper and the cost is fixed. Scaling is a bit slower and you have to deal with hardware failures, but you likely have more software-related outages at early stages. We contemplated migrating services to cloud at a small startup and at that point nobody could come up with any slightest idea how much it's going to cost (few thousand a month were big deal for us back then). So we just kept paying some $100 per month for a physical machine in a DC.
@davidthacher1397
@davidthacher1397 Год назад
You need the cost to be exclusively electricity actually. If you ever idle more than a certain percentage you are better off renting the server. If the cost of staff is high you are better of renting. When you buy a server you are looking at a 5-10 year investment in most economics. Lot of people hate this actually because it hurts sales in hardware and job security. Some even moan about the power savings. More than likely they were interested in a offline server. If you have workstation that does a lot of computation for multiple people then own a central server may make more sense. The equivalent networking and cyber costs would be on top of hardware, staff, electricity, etc. The idea behind renting is to get away from operating cost and ownership. People that can afford ownership will do so. However for most who cannot will not without renting. The idea here is to allow them to, not take advantage of them.
@Kchandrashekaran
@Kchandrashekaran Год назад
A small business had incomplete webapp which they used for day to day operations. I helped them complete it, the previous dev who worked on it built it as microservice using netflix discovery libraries. It was an overkill as only 10 employees used it, scaling was highly unlikely. The dev lost interest and left, due to overcomplicated architecture he created and lot of time was lost. I rewrote it as monolithic nodejs apis + react app. It worked fine with same performance. I am not against microservice, but sometimes you need to be pragmatic, not idealistic. As always, you teach me something in every video, Thanks fireship!
@wojciechsobiesiak
@wojciechsobiesiak Год назад
Improper use of OOP, that's all.
@danitinez85
@danitinez85 Год назад
you need to be pragmatic, not idealistic. I will Tatoo this myself.
@MAVrikrrr
@MAVrikrrr Год назад
The simpler the better 👍
@Keisuki
@Keisuki Год назад
Basically every good microservice system begins life as a successful monolith. If you build for microservices right away, the added complexity will ensure that you never reach V1.
@Osys91
@Osys91 Год назад
​@@Keisuki golden words, I can't agree more
@name-os8kl
@name-os8kl Год назад
As a lot of things in Computer Science: it depends. There's a tradeoff for using monoliths or microservices. The key is to understand your needs and be aware of the tradeoffs while choosing an approach.
@jordixboy
@jordixboy Год назад
This is exists in every question of life, it not something only happening in CS lol
@johannbauer2863
@johannbauer2863 Год назад
​@@jordixboy what is life, if not CS?
@sfulibarri
@sfulibarri Год назад
Wow such insight, how did you come across this rare wisdom? Surely it couldn't be an asinine summary of the video we all just watched on this very page?
@kibiz0r
@kibiz0r Год назад
Yep. And it's not just technical trade-offs, either. There are UX constraints to going distributed, cuz now you have to deal with the CAP theorem. If your UX demands that changes be atomic, you're entering a world of pain. But there are also implications to running steps 1-13 of a task within the same process, without any persistent storage mediating the hand-off from step to step. If the process dies, you can't easily resume at step #5. If your UX demands that the task be resumable, you're entering a world of pain.
@notjin2109
@notjin2109 Год назад
@@sfulibarri a lot of ppl summarize videos in their own words in comment sections i think that’s normal
@SkamanSamTyler
@SkamanSamTyler Год назад
Whenever we discuss anything about anything in my programming team, i start by asking "what are the tradeoffs?" The devs know what they are doing, but want a team approach to make a decision. 95% of the time it doesn't really matter, but saving money for the startup usually takes slight priority. There very often are no real hard and fast solutions, only tradeoffs.
@nero4581
@nero4581 Год назад
Indeed, they went with serverless to test the idea and deploy it fast to the market and then figured out the optimal architecture, reusing algorithms and code from the serverless when switching to monoliths while also lowering the costs and increasing the data analyzed It's only tradeoffs and nothing is perfect or terribly bad
@glenospace
@glenospace Год назад
Yeah, but money for startups is 99% dev hours cost, and 1% arch cost. I’ve once been to a meeting where 20 devs were discussing a giant CI/CD bill for an hour. And that meeting time alone was worth 2x the monthly bill from CircleCI.
@MartinezVM
@MartinezVM Год назад
Whenever someone says that their solution has no disadvantages, I always tell them that their solution does have them, it's only that they haven't discovered them yet. Life and software is all about trade-offs.
@chrisme5440
@chrisme5440 Год назад
Non tech members of my company take the piss out of me for saying this. e.g. what would you like for lunch? “there are no solutions only trade offs”
@MaryamMaqdisi
@MaryamMaqdisi Год назад
Agreed
@TweakMDS
@TweakMDS Год назад
Good points! My take on this PR debacle: It's always been obvious that the primary scaling (or even use case) for serverless was to have *sparse* workloads. It shouldn't be engineered as a solution for continuous workloads, because the primary benefit is being able to scale to zero. If you scale serverless to be basically continuous use, it's gonna be expensive. There's now some debate on whether or not this is sufficiently documented, but anyone with an AWS/Azure/GCP calculator can quite easily make their own projections and figure this out. Also, serverless and microservices are not interchangeable concepts. I think the best takeaway from this is to consider network overhead when implementing microservices or serverless. It's always baffling to notice that developers have no clue on how much traffic flows between functions (or services). If you run it all on one machine, it doesn't matter, but that's where the key is.
@aae7583
@aae7583 Год назад
"No solutions, only tradeoffs"
@ricado7535
@ricado7535 Год назад
That's how Thomas Sowell characterises economics, that's why there was a video of him behind the quote
@iverson0389
@iverson0389 Год назад
The new approach CAN scale horizontally. Look at the image - it says ECS Task. They just packaged all the steps into one service (this is still a microservice) and they can run multiple instances of this service as containers in ECS Multiple instances will handle multiple different frames in parallel
@LeonHazen
@LeonHazen Год назад
Yeah it sounds like just less micro microservices. They'd broken things down too far, now they're logically grouped into a more reasonable service.
@davidmartensson273
@davidmartensson273 Год назад
@@LeonHazen That was my understaning also, there is nothing wrong with serverless or microservices, but there is often something wrong in how companies use them. Neither is a magic wand that just solves the problem, first you need to find out IF SL or MS is a viable solution to the problem, and if it is, then you decide the size depending very much on how interconnected the processing is and if there are other requirements. For my use MS is more about domain and process isolation where most services will not need to talk to each other. That way we avoid adding to much communication complexity while we make clear borders between domains, making testing easier. But his also means that we are not going to have hundreds of services but maybe a dozen or two ;)
@sugoruyo
@sugoruyo Год назад
Not quite as simple for video. It's not sufficient to process individual frames. You often need to process the delta between them, particularly as modern compression codecs only encode deltas from one frame to the next instead of the whole frame. You could probably split along keyframes or something but that will require a pre-process step. The trouble with what they did is that it doesn't really scale horizontally for a single input so if they ever need to scale for, say 8K video, they better hope that it works vertically. My guess is they've done their due diligence and expect the available h/w underpinning ECS to be fast enough for heavier video files by the time they start streaming those out. Scaling horizontally for serving out multiple files should be a no-brainer and I'd be willing to bet that their horizontal scaling issues with step functions and S3 became a real problem when trying to do this for multiple files viewed by multiple customers. Seems like they just figured out their bottleneck and cleared it up.
@jofla
@jofla Год назад
They even mentioned in their original post, they do horizontally scale
@ko-Daegu
@ko-Daegu Год назад
finally someone said it it's a microservice not a monolith who said monolith is serverless ??? or have to have separate physical servers they still have separate services each is a micro of the entire service they provide
@BoloH.
@BoloH. Год назад
I've started using the term cloud psychosis for cases where microservices (or some vendor-specific cloud services) are expected to fix any underlying issue with architecture or software design.
@MrFirsito
@MrFirsito Год назад
i like that term... also ive realized am spending 90% of my work time solving unplanned issues related to this shit, send halp
@happyspaceinvader508
@happyspaceinvader508 Год назад
Even worse than this is “lift and shift” of traditional infrastructure designs into the cloud, and somehow expecting it to be better and cheaper.
@davidmendizabal7508
@davidmendizabal7508 Год назад
Cloud services push micro services trend to benefit themselves. You are just a puppet. I begin to think that software architecture is just full of scam.
@roblreid
@roblreid Год назад
Microservices can be built on-prem too. There's nothing cloud-specific about them.
@ComradeOgilvy1984
@ComradeOgilvy1984 Год назад
@@roblreid Putting them on the cloud achieves a higher buzzword compliance score. In the last two companies, I have seen projects burn a lot of engineering resources for "beautiful" microservices architecture that should scale really really well...when there is not possible they will that kind of scaling for >5 years. This is an insane level of premature optimization, and calling it a psychosis seems justified.
@alexandr0id
@alexandr0id Год назад
I think Prime Video's main cost was not from Lambdas/serverless per se but from using Step Functions service which is pretty expensive and not designed for high volume workflows.
@thewhitefalcon8539
@thewhitefalcon8539 Год назад
yes almost nobody needs to use Step Functions
@ffelegal
@ffelegal 3 месяца назад
And the data transfer/synchronization.
@donparkison4617
@donparkison4617 11 месяцев назад
Scaling only matters if the demand is bigger than you planned for. The vast majority of applications do not suffer from this, either because they are big enough that they planned for it or they are tiny and will remain so. Small things that unexpectedly turn into big things are extremely rare.
@ffxsam
@ffxsam Год назад
Totally fair that AWS moved this set of services into a traditional container. It really just depends on your use case. We run our SaaS on all serverless, and it works out great for us. Probably our most expensive parts are just outgoing bandwidth due to streaming audio/video (which can't be helped), and using MediaConvert for video uploads. We've been partly serverless since 2016, and fully serverless since 2022.
@hyper_channel
@hyper_channel Год назад
Exactly, all this is so case specific... There are a lot things to be considered... hell if it's a small team things like personal taste might triumph over a 10% more efficient architecture...I would happily trade some on paper performance if it means a happier dev team any day
@saisensei7925
@saisensei7925 Год назад
Man I agree, this is case-specific as hell. And the video is misleading, one can't judge an architecture just based on it's faulty for one use case. Plus monolith or serverless either of them are not a silver bullet for all the problem. We need to decide based per use case basis rather than thinking like lets do it and think later.
@mikkolukas
@mikkolukas Год назад
"(which can't be helped)" --- yes yes, just lower the video quality for the users, they will *never* notice :P
@ffxsam
@ffxsam Год назад
@@cheesebusiness One does not simply pick up and move an entire mission critical application to another cloud provider! 😆
@rrmackay
@rrmackay Год назад
A couple years back we were running route calculations for mapping on lambda, the lifetime was too short so the design was to cache the work and pick it up again on the next start, ran out of contorl one day and spawned 10,000 lambda instances for the same job, CFO was none to happy about that.
@fgsaldanha
@fgsaldanha Год назад
2003: build server-based sites with PHP and MySQL 2014: build serverless sites with AWS and NodeJS 2023: build server-based sites with PHP and MySQL
@lizzyfleckenstein9837
@lizzyfleckenstein9837 Год назад
*MariaDB
@willweng305
@willweng305 Год назад
@爱国程序员小葛 php extensions, libraries haven’t kept up with new ai buzz, python and others got more community support on new projects. It’s a trend, doesn’t much about language popularity or what skills u need to be valuable in the market
@lewisbroadhurst4702
@lewisbroadhurst4702 Год назад
@爱国程序员小葛 In the UK it seems to be dying too, it's often seen as 'old tech' and has turned into a bit of a joke
@Fanmade1b
@Fanmade1b Год назад
​@爱国程序员小葛 Ah, yes the old "PHP is dying anyway" topic ^^ That one hasn't changed in the last 10+ years. In the last study about that topic that I've seen it was found out that there are less PHP developers in comparison to the other languages, but the total number is still growing. That is in general though, and not specific to any country. PHP isn't a bad language, at least not the more recent versions. People saying "PHP is bad" usually haven't looked at proper PHP code for the last 10 years. It has it good and bad sides like any other language, but it can be very powerful, especially in combination with a good framework like Symfony or Laravel. It all depends on the specific use case of the application and the skills of the devs that have to work with it. I would not recommend it for everything, but for quite a lot of stuff :)
@DavidMarteinson
@DavidMarteinson Год назад
Future: stop hiring people for very specific roles that box everyone in to a specific architecture. Couch technological goals in terms of user value and use the tools that you believe will best get you there with people who are able to learn and adapt. Instrument what you build so you know what’s going on with your system and can properly evaluate trade-offs when useful new technology inevitably comes along in future+1.
@muizzy
@muizzy Год назад
Prime still uses microservices, it's just the VQA (Video Quality Analysis) product that moved their product from multiple microservices to a larger microservice. They still maintain horizontal scalability, as there's a load balancer in front of the service (this scale cannot be achieved without horizontal scalability). I don't know why they decided to use the term monolith, probably to get more impressions.
@briankarcher8338
@briankarcher8338 Год назад
I don't think the writer knows what a monolith application actually is.
@GavinAdams
@GavinAdams Год назад
Love the videos! What tool(s) do you use for animation of graphics? Looking to refine my process to make technical videos, maybe at 50-60% of your quality. :)
@GavinAdams
@GavinAdams Год назад
And to answer my question after searching: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-N6-Q2dgodLs.html (thanks for making this!)
@Bstiler100
@Bstiler100 Год назад
Just the Thomas Sowell reference at the end already deserves a like.
@citywitt3202
@citywitt3202 Год назад
And this is why I run my Linode ops as if we owned our own racks. One server, one job. And if you need more power, you scale the bit that needs more power. If you’re relying on code to provision resources, you’re assuming it must be bug free in financial calculations. Whereas I can tell you to the minute how much we’re spending per user, and exactly how much the next step up will cost us. It only gets cheaper as you grow, and whilst we’re small, the initial costs are absorbable if not free.
@zmirc
@zmirc Месяц назад
Respect. +1
@holly_hacker
@holly_hacker Год назад
Serversless is mostly useful if you have workloads that aren't heavy on the cpu, from what I can tell. It's great if you have spiky workloads where most of the time it's sitting idle, and/or where the autoscaling is saving you money.
@QuarktaschemitSenf
@QuarktaschemitSenf Год назад
ty for being one of the few "no clickbait, no bs , a lot of info" channels on yt. Sadly there are not many channels like this, but props mate
@peppelorum
@peppelorum Год назад
Monolith first is the way to go, and if needed break into smaller pieces. Just because you have a monolith doesn’t mean you can’t spice it up with a broker/worker solution to distribute certain tasks.
@Fantaztig
@Fantaztig Год назад
Problem with monoliths is mainly build times and complexity as the component grows bigger. And this is something that’s an issue when you have multiple teams working on the same piece of software, something that already for 99% of companies is not the case. People like to work with „their“ monolith but be sure they don’t like it anymore if Jim from the other team made the ship their feature 2 weeks late because he broke the build.
@LukePighetti
@LukePighetti Год назад
I want to see more people talking about distributed monoliths. That's when you have a single service that communicates over something like Kafka and can be duplicated N times and they all sit behind a random load balancer. The benefits are that you only have a single container type to worry about, but it is horizontally scalable. It doesn't matter if you have N containers and M workers per container, it all works the same.
@LukePighetti
@LukePighetti Год назад
I have seen some AWS bills that just boggle the mind for 100 concurrent user products. Stuff that could totally run on a decent monolith plus a video streaming BaaS product
@unity001
@unity001 Год назад
It's already out there named as 'Azure cloud service'. But Microsoft is gonna scrap it soon..
@Prometeo59
@Prometeo59 Год назад
@@unity001 Can you explain more what you mean?
@petercai3493
@petercai3493 11 месяцев назад
AWS Beanstalk Docker platform is working like this.
@LukePighetti
@LukePighetti 11 месяцев назад
@@petercai3493 Thank you
@tomwallen7271
@tomwallen7271 Год назад
I had this problem whenever I would talk to Pivotal engineers about PFS. It made sense in the abstract use case where compute was only ever needed very rarely in some event driven architecture. But it only ever made sense economically to me for CPS's like Amazon to sell to customers because they had the scale to absorb the infrequency of those workloads and balance it out across their data centers. But on-prem, I was like... "are we just trying to save power on servers? Cause you still need to keep those servers provisioned for this to provide some kind of SLA... Where are the savings!?"
@JohnDoe-my5ip
@JohnDoe-my5ip Год назад
When lambda et al works well for your use case, it’s absolutely brilliant. But I’m also pretty sure 80% of lambda apps are a victim of resume-driven development and just end up creating a Flying Spaghetti Monster in the cloud.
@chpsilva
@chpsilva 9 месяцев назад
Resume-driven development... I am stealing this acronym 😂
@jdahern
@jdahern 8 месяцев назад
😂
@bb5242
@bb5242 4 месяца назад
@@chpsilvaUh, how old are you? That term appeared sometime in the late 90s.
@chpsilva
@chpsilva 4 месяца назад
@@bb5242 well I am old enough to be working on software development by the nineties but since I'm also not a native English speaker it's not exactly surprising either.
@odytrice
@odytrice Год назад
I love that you referenced Thomas Sowell 😁 at 3:40
@50PullUps
@50PullUps Год назад
Nice, a shoutout to Thomas Sowell! Reading his ‘Basic Economics’ was a gut punch. Easily the best non-fiction book you could pick up.
@manm5302
@manm5302 Год назад
The Thomas Sowell 'there are no solutions' ending was spot on
@PS3PCDJ
@PS3PCDJ Год назад
At small scales it makes sense to use something like AWS as building a server or paying for hosting might be more expensive initially, with time and size this flips.
@tHekrack23
@tHekrack23 Год назад
This is just like that bell curve meme, both very beguiners and super advanced users use Monoliths, and all the startups with 50 active users are all about "yeah lets MICROSERVICE EVERYTHING"... I was one of those, still are some times, and I need to remind myself that Monolith never went anyway, and that the dashboard that I'm building for this company that at best is going to be used by 1000 people at the same time is not ever going to have the same problems as the youtube servers
@83hjf
@83hjf Год назад
microservices can be good depending on what you do. examples can be random connections to weird external systems, to transform into a common interface. it doesn't really need to be a full-fledged MiCrOseRViCE ArCHITeCturRE
@gadget00
@gadget00 Год назад
1000 times this; people want the "rush" of handling 100+ microservices and "feel" like a "great engineer/hax0r" for keeping it running, instead of just thinking a bit more and build something sustainable instead
@spitfire7170
@spitfire7170 Год назад
shilling microservices nonstop is a great way to pretend you're smarter than you are to people that don't understand tech not that microservices are always bad but they should be implemented sparingly and only for things where it actually makes sense
@brightrrs1740
@brightrrs1740 Год назад
Not really. Microservices come in handy in sales, because you can sell just specific parts instead of a monolith. But your second point is true, as it is true that probably no one ever actually replaced a microservice with a new microservice, which adheres to the old one's endpoints.
@SahilP2648
@SahilP2648 Год назад
Yup you got it. And there are ways to make serverless monolith architectures. You just need to think out of the box. Now if it makes sense economically is a different question entirely but it can be done.
@T33K3SS3LCH3N
@T33K3SS3LCH3N Год назад
The main claim is still true: AWS makes it easy to scale. It is once you know your scale (and it's big) that it becomes sensible to build a monolith that's optimised for it.
@prashanthb6521
@prashanthb6521 Год назад
The most correct answer of all !!!
@paulmcburney6874
@paulmcburney6874 2 месяца назад
Software Engineering Professor here: This video is **really** good for explaining serverless and the serverless/monolith trade-off. Thanks for putting it together!
@elhoward7440
@elhoward7440 Год назад
That has always been my response to microserver architecture, that sharing memory between processes on the same bus is always going to be a lot faster that serializing data between microservers. Granted, the objection that the monolith gives you a single point of failure is valid, but having a hot standby constantly being synched from the monolith might actually be cheaper than keeping all those microservers running. So we're left with microservers just being easier to dynamically scale and experiment with, as opposed to maybe rebooting your whole monolith resulting in a few minutes of downtime every day.
@BladeTrain3r
@BladeTrain3r Год назад
Sometimes you want to break up an application stack, especially if different parts of it get different load (for example, if you've got a number of different APIs with their own scaling requirements that need to be load balanced effectively), microservices work well. But something like a video/audio rendering stack combined with analytics... probably better to keep it in one place. Then you get the weird cases like log analytics server, where it might genuinely be a good idea to break out e.g. the MongoDB and Elasticsearch functions to separate hosts while the frontend like Graylog gets it's own dedicated, much smaller, server. Every paradigm has it's place in the end. I like the microservices concept, but I've never gone into serverless - heck I don't even use containers that much except for ensuring code is built in a "clean room".
@boomeroo
@boomeroo Год назад
+10 points for working Thomas Sowell into this Code Report. +100 for doing it appropriately. 👍
@futuregootecks
@futuregootecks Год назад
Amen 🌟
@deadohiosky1701
@deadohiosky1701 Год назад
I came here to say exactly this lol
@migueld8970
@migueld8970 Год назад
facts
@CeesarAlvarado
@CeesarAlvarado Год назад
It's the always satisfying answer of "It depends". I think monoliths are more performance and efficient when they don't do a lot of work, or not at the same time. Overall you should code in a way you can extract a component from a monolith easily into a micro service when needed and only a few things deserve to be relegated to that spot
@appsky7982
@appsky7982 Год назад
Batch processing will be always more computer efficient than stream processing. But the latter one will be closer to real-time. It's also posible to design a batch processing flow using microservices, but it depends on the problem.
@surrealchemist
@surrealchemist Год назад
I think the use cases of serverless vs not isn't the same as microservices vs monolith. The diagram they showed was a monolithic group of tasks in ECS. That doesn't exactly mean its not running in Fargate, it depends on your workload and if it is memory/cpu constrained, required extra computing like GPU, how long the tasks run for, how long it would take to spin up replacement tasks to scale out etc.
@jocke8277
@jocke8277 Год назад
Fargate is still considered to be serverless right? But with containers
@timmeehan2365
@timmeehan2365 Год назад
Exactly, people seem to confuse microservices for serverless. You could very well have one monolith application running serverless on a lambda function or a non-serverless microservices architecture
@rumfordc
@rumfordc Год назад
@@timmeehan2365 what is an example of a monolithic application running on a lamdba?
@CabbageYe
@CabbageYe Год назад
I don't think he understands these concepts very well because he kept implying microservices and serverless are bound to each other and that monoliths can't be deployed on serverless architecture.
@timmeehan2365
@timmeehan2365 Год назад
@@rumfordc A lot of them actually ! Any monolith application that doesn't need to keep some state (Sockets, sessions) or work with the filesystem. All basic CRUD apps could be deployed in a serverless fashion.
@BigMTBrain
@BigMTBrain Год назад
The story of Stack Exchange's monolith decisions and architecture is fascinating. During a Microsoft webinar sometime last year, you could hear the host was briefly taken aback when they posed the question of how Stack Exchange was employing and benefiting from serverless but instead spoke of the virtues of their robust monolith architecture. However, as Fireship expresses... each set of goals will have their critical needs and eventual tradeoffs to implement them effectively.
@Duconi
@Duconi Год назад
Well, but in this case they didn't build a monolith. The Prime video search, watchlist, player, billing, etc. isn't all in one piece of software. Ist just one specific fuctionality. It's one bounded context and all other bounded contexts are spreaded to other programs, so it's still a microservice. It's maybe a question of scale, so of course you can define the video analysis as the whole program and the sub steps as the microservices. If you have a markdown parser that generates html, you can build all in one AWS Lambda, or you can split it into multiple AWS Lambda functions, doing the processing of lists into a separate Lambda that maybe calls another lambda to add the html tags. You can do that, but it doesn't make sense. The service to scans a video for quality issues, is a very specific component, that makes sense to be put together into a bounded context, even though, it does different things to achieve that goal. So it is still a microservice running in a docker container that together with a lot of other pieces builds the Prime Video platform.
@ko-Daegu
@ko-Daegu Год назад
the issue is that this is not an example of moving to monolith they moved to one container but still are indeed microservices article even mentions horizontal scaling his video si wrong
@BigMTBrain
@BigMTBrain Год назад
@@ko-Daegu You are correct, but you missed that the title is about "serverless" vs monolith, not "microservices" vs monolith. You probably already know the difference, but just in case, instead of presenting my own rambling comparison, I did a search for "serverless vs microservices". A great result was one penned by Sumo Logic. I post the initial snippet here, but do search for the phrase and select the Sumo Logic result for the complete, well-explained discussion. A snippet: "Microservices and serverless are both important topics in the world of cloud-native computing. Yet, although serverless functions and microservices architectures often go hand-in-hand, they’re distinct technologies that fill different roles in modern software environments. [...] Serverless is one way to host microservices, but it’s not the only way. Nor do you deploy and manage microservices in exactly the same way as serverless functions. Both technologies offer important advantages for cloud-native computing, but they solve different sorts of problems."
@thewhitefalcon8539
@thewhitefalcon8539 Год назад
Even Stack Exchange is partially microservice. They have separate servers for search and separate servers for tagging. They just offload things from the main monolith when it makes sense instead of trying to offload everything no matter what. Stack Exchange Data Explorer is its own thing. I'd be surprised if they didn't separate login from the rest of the system as well. And recommendations. They just don't try to make a questions service and an answers service and torture the design around that.
@BigMTBrain
@BigMTBrain Год назад
@@thewhitefalcon8539 When the number of replies to a comment are very short, be sure to read them quickly - your thought may already be addressed. In this case, it was. If you care to, open the full list of replies on my comment and read my response to @ko-117. Quickly though, the tl;dr version: the video title is about "serverless" vs monolith, not "microservices" vs monolith. I detail the differences of "serverless" vs "microservices" in my response to @ko-117, and I think it is information you'll appreciate.
@DavidMarteinson
@DavidMarteinson Год назад
Trying new architectures and evaluating their advantages and disadvantages for certain use cases is how we learn. In the fight against complexity specifically often the choice is where to herd that complexity or what types of complexity we avoid based on our application and resources. Finally: being able to keep course correcting is critical, kudos to Amazon.
@Grahfx
@Grahfx Год назад
serverless is perfect for my use case. If my project don't work, it will stay on the free tier, if it sky rocket, it can scale.
@apreviousseagle836
@apreviousseagle836 Год назад
This channel makes me proud to be an IT nerd.
@GSBarlev
@GSBarlev Год назад
I'm fairly convinced I'd be happier if I'd gone a different route in my career and knew what none of these words meant...
@apreviousseagle836
@apreviousseagle836 Год назад
@@GSBarlev To really get ahead, you have to be autistic. The field is just too damn big. Just to be an expert in "Windows Server" would be a career on its own *if* you actually did know everything about it inside out. But nobody does. And we're expected to know: Virtualization, Containerization, Storage, Security, Authentication, Databases, and all the tools in those fields (vSphere, Azure, AWS, EMC, Hitachi, K8s, Linux. The 100 or so different SQL's, etc.). Hell just knowing AWS on its own is impossible for one single person. Just *that* is literally hundreds of services. I haven't even touched coding yet: C++, Python, Go, Ruby, JavaScript, C#, blah blah Even the most seasoned Senior Engineer know maybe 2 or 3 of these at an intermediate level, and another 10-15 at a foundational level. The rest is Google-flu and StackOverFlow, lol. Which is why I'm not worried about ChatGPT yet. It will simply weed out the L1, and provide nuclear pistols to the Senior types............................if they leverage and embrace it now.
@turolretar
@turolretar Год назад
@@GSBarlev nah it’s all shit, unless you’re talking about being a priest, this is something I can get behind
@velo1337
@velo1337 Год назад
There are no solutions only tradeoffs. i really felt that :)
@FourOf92000
@FourOf92000 Год назад
Thomas Sowell (quote source; the guy the gif is of) is full of gems like that
@tobb10001
@tobb10001 Год назад
I feel like this is a sentence about programming in general, not only cloud.
@dennycrane2938
@dennycrane2938 Год назад
The language is iffy. Anything we do to implement is a solution. IMO Would be better as something more like "There are no 'correct' solutions, only tradeoffs"
@sofianikiforova7790
@sofianikiforova7790 Год назад
Based Thomas Sowell
@nixonkutz3018
@nixonkutz3018 Год назад
Love the lightning pace of the narrative and hilarious graphic content! It's like being part of an elaborate inside joke but it's pure legit tech talk
@asdf8asdf8asdf8asdf
@asdf8asdf8asdf8asdf Год назад
Very timely and good catch… More cloud realism will be appreciated on this channel! Basecamp and Dropbox saved a lot of money because they were very VERY storage dependent (S3) Companies that are database dependent are less likely to transfer off…
@robertgorham2985
@robertgorham2985 Год назад
The lesson I see a lot, is that you just need to use the data at hand to make decisions and implement the changes that make sense. Find a priority for your company and change your heuristic for what success is defined by. Then make the decision on your architecture after taking the data. If it doesn't work out, accept the failure and then change accordingly
@shadamethyst1258
@shadamethyst1258 Год назад
Don't things like vendor lock-in make this kind of decision process more difficult?
@JayDoge
@JayDoge Год назад
​@@shadamethyst1258 Then use infrastructure as code tool like Terraform
@vinnytube1001
@vinnytube1001 Год назад
In data processing systems, first consider the data, then organize your processes around what is most efficient for your needs with that data. Don't start with a disconnected cloud solution and then ham-fist shove the data into it.
@nikluz3807
@nikluz3807 Год назад
I’m a simple man. I see Fireship, I click.
@Rud331
@Rud331 Год назад
That's why you are not simple
@akar_excel
@akar_excel Год назад
Same here, we are men of culture😅
@Ayo_jayo
@Ayo_jayo Год назад
I click I sits & learn more tips.
@AbdulRehmanKhan.
@AbdulRehmanKhan. Год назад
Good sir
@AndroidChileDemos
@AndroidChileDemos Год назад
same here, this is the only youtube alert that I have.
@GeorgeFrick
@GeorgeFrick Год назад
Thank you for mentioning the trade-offs at the end. You could talk about the four quadrants: Monolith, Modular Monolith, Microservices, Distributed Monolith. Never make a distributed monolith, and decide on the trade offs between Monolith, Modular Monolith and Microservices. I generally recommend a Modular Monolith and you can break off Microservices as needed.
@GeoffreyHale
@GeoffreyHale Год назад
+
@hanshima_
@hanshima_ 10 месяцев назад
Thanks for sharing, I'm gonna look into it.
@crystallake6198
@crystallake6198 Год назад
I think its also important to note that the New prime video architecture which they claim is a monolith 1. STILL uses lambda. 2. Is not a single container, but multiple containers (1 per detector), and 3. still is a distributed workflow, albeit one that is scaled manually first within a single instance, and then replicated to additional instances.
@miguelhenriques214
@miguelhenriques214 Год назад
In general I think you've described the scenario pretty well however small remark: the whole solution does run in a single server but rather multiple service instances across multiple containers to distribute the load. But closed it pretty nicely, it's all about choosing the technology for your use case.
@prashanthb6521
@prashanthb6521 Год назад
So basically, Its better to communicate over pcie instead of over ethernet.
@Jiftoo
@Jiftoo Год назад
Serverless is a blessing when you have a few "pure" programs that you can upload to the cloud and call when needed, instead of having an instance running somewhere, which you have to pay for monthly.
@Jiftoo
@Jiftoo Год назад
@@SahilP2648 I'm using cloud functions to run a node script that formats a pdf, that doesn't require a $3000 server I think
@SahilP2648
@SahilP2648 Год назад
@@Jiftoo any script can be run on that server using docker containers. You only pay for electricity as you aren't renting anything. Even network costs are based on your company's network. The only thing different will be the latency between your on premise server vs a server running in that particular region say Asia vs US. But that can be something which can be reduced because CDNs can cache your assets like images and video and offer them in that region. But I am only writing this for actual companies with multiple developers, not for personal projects.
@clray123
@clray123 Год назад
@@SahilP2648 Even better don't use crappy tech which requires "builds".
@Ebakoba
@Ebakoba Год назад
Thomas Sowell- no solutions only trade-offs was a nice touch. Man is a legend.
@demetriusjohnson5358
@demetriusjohnson5358 Месяц назад
So glad to see on this random video related to stuff I watch, that T Sowell shows up and all of you people know about him and appreciate the cameo! Wow 🎉
@toni96049
@toni96049 Год назад
Loved the thomas sowell quote at ghe end. Good vid.
@0xdjole
@0xdjole Год назад
Monolith can scale horizontally...but issue is entire system is forced to scale. If one part of application needs scaling, they all scale. With microservice you don't have to upscale entire system but only microservie that require it. That was the entire goal of microservices.
@fltfathin
@fltfathin Год назад
how about a group of monolith and microservices making up a multi-service network instead of either one? that's better than doing strictly either way right?
@clray123
@clray123 Год назад
Actually, even with monolith only those functions that utilize the additional resources scale. Nobody really cares if you deploy the remaining 80% of your code that does not need to scale along because it's never invoked. Disk space is cheap. CPU/RAM are what's causing the cost.
@steveb7600
@steveb7600 Год назад
The actual goal was to move clients from a commodity based rent-a-server system like EC2 and into a proprietary system more subject to vendor lock.
@fltfathin
@fltfathin Год назад
@@steveb7600 meanwhile binstuffing works at hashicorp
@hbsousa
@hbsousa 2 месяца назад
100%. Loved the video but the way to differentiate between microservices and monoliths using that aspect was way off.
@glenospace
@glenospace Год назад
I think that CloudRun is such a fantastic platform. It’s basically servers when you need it, and serverless when you dont. Growing up? Switch to kubernetes. But for data intensive stuff, sure, you might be better off doing monolithic pipes - but those are special workflows that most devs never see.
@rdubitsk
@rdubitsk 11 месяцев назад
Excellent video. Stupid question. What is the relationship between microservices and docker containers?
@rinzler9775
@rinzler9775 Год назад
The funiest thing is if you work on a system that has gone through several of these "migrations" - there is a new layer added over the old system for each change - you can almost see the layers like looking a tree stump rings.
@punkisinthedetails1470
@punkisinthedetails1470 Год назад
Or peeling paint / old wallpaper
@wavesnowaves
@wavesnowaves Год назад
One of the main points here, is that moving packets around AWS network is expensive, especially if there is cross AZ movement as well. For use cases that involve a lot of data processing, the less hops the better. And scaling fewer components up instead of out - can save a ton of money.
@AI-xi4jk
@AI-xi4jk Год назад
Moving video frames is expensive on any network or process.
@steveb7600
@steveb7600 Год назад
I think the bigger issue was long running Lambdas under heavy compute from those payloads but perhaps the data consumption was super costly as well
@steveb7600
@steveb7600 Год назад
@@AI-xi4jk True, I am not sure that would have been cheaper by moving it to a virtual instance
@hki6mq
@hki6mq Год назад
I love the easter eggs you leave lying around in your videos, which elude to your ideas about things beyond tech.
@cougar2013
@cougar2013 Год назад
Thomas Sowell is the goat
@jonnysongs
@jonnysongs Год назад
allude*
@studiouswadoo5027
@studiouswadoo5027 Год назад
I love that reference to Thomas Sowell at the end because a lot of people are disillusioned to think there's a one size fit all solution to things. Depending on the service you're trying to run whether it's responding to web requests or doing video processing, you'll have to make architectural decisions. Sure there's ways improve the compute efficiency or do cost optimization but often times there's tradeoffs. You could abdicate the responsibility of managing your infrastructure by going to the cloud but you lose control. I think this applies to a lot of things in life like Tor for example. You're more anonymized in some respects but get higher latency
@vikram_saha7
@vikram_saha7 Год назад
What a beautiful way to demostrate or explain the whole serverless thing which is going on in linkedin for weeks.
@Steven_Olson
@Steven_Olson Год назад
I read the original article by AWS, and their idea of a monolith is smaller than most microservices I've worked with (unless you count lambda functions, which I don't). I don't think I'm the only one who sees a difference between serverless and microservices. I feel like this article is being blown way out of proportion at times. That being said, serverless is definitely not a good tool for many use cases, but it has its uses.
@user-mc5tp5mv3v
@user-mc5tp5mv3v Год назад
This is partially because lambdas are expensive af. Lookup the prices on AWS - 1 hour of running a 1 GB lambda is 6 cent, 1 hour of running an on-demand t2.micro is 1.16 cent. So, you need to prefer lambdas over EC2 if your code is running less than 10-15 minutes per hour. And we are not even counting reserved instances or savings plans! IMO, in the last 5 years we have had a number of "toy" technologies (won't specify which ones other than lambdas to not generate drama): they look like kid's toolbox - red wooden saw, yellow plastic hammer - all colorful, attractive and completely useless EDIT: I admit that lambdas are not completely useless, but their usability is limited, and mostly it's not of the business domain, but some maintenance - CI/CD pipelines, taking actions if the app is not healthy etc
@Fanaz10
@Fanaz10 Год назад
aws is good for companies with too much money, solves the money overflow problem
@gdYTf
@gdYTf Год назад
Will we assembly containers reduce server less overhead enough to actually become competitive in the near future?
@kaizer-777
@kaizer-777 Год назад
This may come as a surprise to some, but you can scale out with your monolithic application as well.
@daviidon
@daviidon Год назад
My respect for this man after seeing the Sowell cameo 📈📈📈📈📈
@liquidsnakex
@liquidsnakex Год назад
Jeff is always dropping hints that he’s based, he knows the average lefty is too stupid to notice.
@demetriusjohnson5358
@demetriusjohnson5358 Месяц назад
TRUTH!!!
@jeanchindeko5477
@jeanchindeko5477 Год назад
Microservice architecture bring a whole set of complexity and for each new tools to mitigate the risk. Now you need more monitoring, logging, tracing and tools to store and handle all that stuff
@tomodoros6846
@tomodoros6846 2 месяца назад
All this can be learned in Factorio. Drones are like a cloud service that gets you what you need but at some point the energy cost of drones grind your factory to a halt.
@cooop92
@cooop92 11 месяцев назад
Great video as always but I feel like its confusing monolithic vs micro-service application architecture and traditional server vs serverless hosting. For example, you can host a monolithic app on serverless architecture, the same way you can host micro-services all on one big single instance. I think the main pain point was the cost of networking between the micro-services rather than the cost of scaling, i.e having one big server instance vs on-demand serverless functions? So maybe the title should be "Micro-services was a big mistake..."?
@spuriousGeek
@spuriousGeek Год назад
World class content as always - Thank you sir!
@macienrique
@macienrique Год назад
Hey fireship thanks for the videos! It would be amazing to see one about the performance tab in your browser and how to debug performance issues correctly ❤
@JellySword8
@JellySword8 Год назад
Pretty sure he already talked about this
@aryasaktiflister_aw
@aryasaktiflister_aw Год назад
Yeah, I've been wondering when will the inter-server communication overhead starts to catch up on these microservices thing, seems like just about now, for a company big enough that is
@anuzis
@anuzis Год назад
Horizontal scaling isn't only accessible to microservice architectures. Monoliths can scale horizontally with compute intensive functions handled on independent stateless machines that handle all processing microservices would, but with state handled in the DB.
@darekmistrz4364
@darekmistrz4364 Год назад
Shhhh, that is secret knowledge only to be shared in secret neckbeard meetings in the basement.
@tengamangapiu
@tengamangapiu 9 месяцев назад
I actually said in a job interview that even though IT is migrating towards microservices, I wouldn't discard the tendency to revert in the future. Like one day IT influencers might praise something like "no-latency apps" where there's no network calls, debugging is centralized, memory is shared, etc, and so we'd go back to monoliths.
@JonathanTheZombie
@JonathanTheZombie Год назад
I kind of wish Thomas Sowell was also a computer scientist. Closest we have rn is Knuth.
@user-si7gh3gw5e
@user-si7gh3gw5e Год назад
David Parnas? Fred Brooks? Michael Jackson?
@JonathanTheZombie
@JonathanTheZombie Год назад
@@user-si7gh3gw5e tell me more
@thorchristopher4945
@thorchristopher4945 Год назад
well his son happens to be one, he's worked as a developer since the 1990s.
@joshbarghest7058
@joshbarghest7058 Год назад
A total charlatan who couldn't hack it in academia and so became a think tank shill? Doesn't sound an anything like Knuth.
@KD-rh2cr
@KD-rh2cr Год назад
Dijkstra
@nakamuragames
@nakamuragames Год назад
2:38 It's still horizontally scalable. Just that since all components are within one machine, they can only scale it up horizontally together.
@gavinlew8273
@gavinlew8273 8 месяцев назад
Thinking of your infrastructure in terms of micro-services makes it easier to de-couple and manage the software. But like you said, there are trade-offs and it's a bit of a juggling act at times.
@srki22
@srki22 Год назад
They could still use serveless but without step functions, they are ridiculously expensive!
@zedmagdy
@zedmagdy Год назад
Laravel and Ruby on Rails was right all the time?
@Manivelarino
@Manivelarino Год назад
how do you vertically scale a service like prime video this just doesn't make sense to me. I guess they went with larger bundles of microservices instead of having everything separate?
@aadlr
@aadlr Год назад
That glitch stutter on "corrpution" made me LOL. Nice one
@farqueueman
@farqueueman Год назад
Once again, Thomas Sowell is right in all dimensions, realities, universes and professions... his wisdom even the test of tech.
@allesdurchprobiert
@allesdurchprobiert Год назад
I'm curious now. What are you referring to?
@farqueueman
@farqueueman Год назад
@@allesdurchprobiert the last clip used by fireship (or a clip of Sowell near the last portion of the video).
@allesdurchprobiert
@allesdurchprobiert Год назад
@@farqueueman Thanks! I missed it because I was reading comments while the video still played. A bad habit.
@stevencruz978
@stevencruz978 Год назад
So moral of the story: it depends on your needs. If your product needs to scale across the nation, microservices are your best bet. But if you’re handling a basic task like video processing, just deploy a monolith.
@rustyprogrammer1827
@rustyprogrammer1827 Год назад
But but if you have a hammer all you see is nail everywhere - CTO of series A funded startup who just switched to Aws because its cool 😂
@Adomas_B
@Adomas_B Год назад
Who could've guessed - the lawyer's favorite phrase "it depends" makes a return in the programming field
@leeow3n
@leeow3n Год назад
nah, your summary is an oversimplification that loses the nuances of micro/macro service architecture and how considering performance when deciding boundaries is really important.
@DryBones111
@DryBones111 Год назад
The decision barely has anything to do with the geography.
@chrism3790
@chrism3790 Год назад
I think that the real trick is to define the boundary of a service well. Not everything needs to be broken down into a service - you can bundle things together if it makes sense from an I/O perspective. But you should break things up where it does make sense.
@undudeme
@undudeme Год назад
The comp. I work for went on a rampage trying to turn everything into micro-services - simply cause they bought into AWS's sales pitch. When the cost started to exceed the budget, they tried to cut cost any way they could. I'm sure AWS will now sell them the monolithic model (with a fancier name like AWS EC2000X PandoraForm, etc.) and the CTO will lap it up.
@iandrake4683
@iandrake4683 Год назад
Is Thomas Sowell a big monolith fan?
@dhess34
@dhess34 Год назад
I really don’t think they meant to throw serverless under the bus THIS bad, but it’s all over the media… I think it was just supposed to be, ‘Look, there are times where serverless doesn’t make sense’, but it’s all over the news as ‘Serverless is so bad, even Amazon is moving away from it’.
@Evan-dh5oq
@Evan-dh5oq Год назад
They can still scale horizontally, just each task must be managed end to end by a single service. They can still scale out the number of instances for more tasks per second
@AneesKhan-uz4mz
@AneesKhan-uz4mz Год назад
What are you doing step function?
@jonafll3986
@jonafll3986 Год назад
As always it depends on your usecase.
@iirekm
@iirekm Год назад
It's all about specific use case. For some usecases lambdas, for some microservices, for some monolith. For most apps microservices is way to go, but e.g. when a piece of code is used from time to time or has unpredictable peaks in usage, lambdas or batch jobs can be better, or for usecases where ACID transactions is must have and scalability is not an issue, monolith can be ok.
@doofer149
@doofer149 Год назад
What makes you think you can't scale horizontally, whats stopping you from adding another monolith instance?
@Lambda_Ovine
@Lambda_Ovine Год назад
I just like how software engineers live so much in the abstract that they really think they can replace computers themselves with code
@SahilP2648
@SahilP2648 Год назад
I mean clearly it can be done as Amazon just showed their flawed architecture (but still can be done). But the question is at what cost lol. 90% performance wastage is huge.
@toxaq
@toxaq Год назад
As someone who has never understood the micro services craze it’s great to see my argument explained so coherently.
@scootergirl3662
@scootergirl3662 Год назад
Did you watch the whole video? Near the end he argues why someone might really want micro service
@TheMathematicalMan
@TheMathematicalMan Год назад
I don't understand one thing: If the problem was overhead of of moving the data from one lambda to the next one in the processing pipeline, why couldn't they just use AWS EKS and have all of those steps run in the same pod?
@-_-Girthbrooks-_-
@-_-Girthbrooks-_- Год назад
What are you doing step-function?
@loupax
@loupax Год назад
We are still using pointers, they just point to someone else’s computer. And when we need shared memory, it has to be stored on someone else’s computer. I find it strange we act shocked that serverless is not as performant as monoliths, I always thought the entire point of microservices was to allow an organization to scale, not to keep things as efficient as possible. I guess the real problem is that scaling your Organisation doesn’t mean much during an economic recession and serverless only solved a problem that exists during times of economic growth.
Далее
🤢 To try piggy toothpick beauty gadget
00:30
Просмотров 9 млн
Top 6 Most Popular API Architecture Styles
4:21
Просмотров 833 тыс.
AWS Fooled Devs & Sabotaged The Industry | Prime Reacts
21:47
The Most Insane Linux Distributions
7:04
Просмотров 4,9 тыс.
7 Things No Programmer Ever Wants to Hear
5:16
Просмотров 1,7 млн
Lenin on Microsoft: AI and Stagnation
8:09
Is "edge" computing really faster?
8:14
Просмотров 557 тыс.
What is Serverless?
6:42
Просмотров 179 тыс.
Why so many distros? The Weird History of Linux
8:23
Main filter..
0:15
Просмотров 5 млн
Калькулятор в iPadOS 18 ➕
0:38
Просмотров 147 тыс.