๐ช๐ต๐ ๐๐บ๐ฎ๐๐ผ๐ป ๐๐ฏ๐ฎ๐ป๐ฑ๐ผ๐ป๐ฒ๐ฑ ๐ ๐ถ๐ฐ๐ฟ๐ผ๐๐ฒ๐ฟ๐๐ถ๐ฐ๐ฒ๐ ๐๐ฟ๐ฐ๐ต๐ถ๐๐ฒ๐ฐ๐๐๐ฟ๐ฒ ๐ถ๐ป ๐๐ฎ๐๐ผ๐ฟ ๐ข๐ณ ๐ ๐ผ๐ป๐ผ๐น๐ถ๐๐ต?
In the latest post (check in the comments), a team that works on Prime Video explained their approach to ensuring that customers receive high-quality content. They use a tool to monitor every stream viewed by customers and use it to identify quality issues.
The tool was intended to run on a small scale, so they noticed that ๐ผ๐ป๐ฏ๐ผ๐ฎ๐ฟ๐ฑ๐ถ๐ป๐ด ๐บ๐ผ๐ฟ๐ฒ ๐๐๐ฟ๐ฒ๐ฎ๐บ๐ ๐๐ผ ๐๐ต๐ฒ ๐๐ฒ๐ฟ๐๐ถ๐ฐ๐ฒ ๐๐ฎ๐ ๐๐ฒ๐ฟ๐ ๐ฒ๐
๐ฝ๐ฒ๐ป๐๐ถ๐๐ฒ. So, they decided to revise the architecture.
The initial architecture consisted of ๐๐ฒ๐ฟ๐๐ฒ๐ฟ๐น๐ฒ๐๐ ๐ฐ๐ผ๐บ๐ฝ๐ผ๐ป๐ฒ๐ป๐๐ ๐ผ๐ฟ๐ฐ๐ต๐ฒ๐๐๐ฟ๐ฎ๐๐ฒ๐ฑ ๐ฏ๐ ๐๐ช๐ฆ ๐ฆ๐๐ฒ๐ฝ ๐๐๐ป๐ฐ๐๐ถ๐ผ๐ป๐. They moved expensive operations between components into a single process to keep the data more transient within process memory.
Building initial solutions with serverless components was a good choice because it enabled it to be done quickly and scale each component, yet such a way of using some components ๐ฐ๐ฎ๐๐๐ฒ๐ฑ ๐ถ๐๐๐๐ฒ๐ ๐ฎ๐ ๐ฑ% ๐ผ๐ณ ๐๐ต๐ฒ ๐ฒ๐
๐ฝ๐ฒ๐ฐ๐๐ฒ๐ฑ ๐น๐ผ๐ฎ๐ฑ.
After the analysis, they concluded that the distributed approach didn't bring many benefits, so they packed all the components into a single process. ๐ ๐ผ๐๐ถ๐ป๐ด ๐๐ต๐ฒ๐ถ๐ฟ ๐๐ฒ๐ฟ๐๐ถ๐ฐ๐ฒ ๐๐ผ ๐ฎ ๐บ๐ผ๐ป๐ผ๐น๐ถ๐๐ต ๐ฟ๐ฒ๐ฑ๐๐ฐ๐ฒ๐ฑ ๐๐ต๐ฒ๐ถ๐ฟ ๐ถ๐ป๐ณ๐ฟ๐ฎ๐๐๐ฟ๐๐ฐ๐๐๐ฟ๐ฒ ๐ฐ๐ผ๐๐ ๐ฏ๐ ๐ผ๐๐ฒ๐ฟ ๐ต๐ฌ% ๐ฎ๐ป๐ฑ ๐ถ๐ป๐ฐ๐ฟ๐ฒ๐ฎ๐๐ฒ๐ฑ ๐๐ฐ๐ฎ๐น๐ถ๐ป๐ด ๐ฐ๐ฎ๐ฝ๐ฎ๐ฏ๐ถ๐น๐ถ๐๐ถ๐ฒ๐.
Image credits: Amazon.
_______
If you found this valuable, I share insights like this in more detail every Thursday in my newsletter. Tap the 'View my blog' link in my bio to join.
#technology #softwareengineering #cloudcomputing #techworldwithmilan #softwarearchitecture