Week 2 – Post 2 – Application Architectures and Sytems development

In the week 2 we discussed Application Architectures considering Monolithics, Service Oriented Architecture, Microßservices and a MASA Model (Mesh Apps and Services Architecture.

Recently Amazon Prime Video published a success case called Scaling up the Prime Video audio/video monitoring service and reducing costs by 90% discussing how Prime Video effectively handled a growing volume of content while achieving 90% reduction in costs by leveraging a monolithic architecture, which enabled them to consolidate various components of their system into a single cohesive unit.

In this case, the monolithic architecture was beneficial for Prime Video due to some reasons. Firstly, by consolidating various components into a single cohesive unit, it simplified the development, deployment, and management processes. This allowed for seamless communication and data sharing between different modules, improving overall efficiency. Additionally, the monolithic architecture provided better scalability as it could handle increased volumes of content without significant performance issues. Moreover, it enabled Prime Video to leverage existing infrastructure and technologies, reducing the need for additional resources and lowering costs. Overall, the monolithic architecture proved to be a suitable choice for Prime Video in terms of simplicity, scalability, and cost-effectiveness for their audio-video monitoring service.

It caused a lot of discussions and noise about Monolithic x Micro-services. But as always the only certainty we have is that one size never fits all on IT World.

While it has its advantages, such as simplicity and easier development, there are scenarios where other architectural approaches may be more appropriate.

During our class Dave Hollar, our Professor, shared this very interesting diagram from Gartner that shows the Mesh App and Service Architecture. Masa architecture promotes the use of loosely coupled services and APIs, allowing for easier integration and reusability of components. It encourages the development of microservices and event-driven systems, enabling greater agility and responsiveness to changing business needs. By adopting Masa, organizations can build resilient, scalable, and distributed applications that are adaptable to evolving technology landscapes and can effectively leverage cloud-native capabilities.

In large-scale systems with complex and rapidly evolving requirements, a monolithic architecture can become cumbersome and difficult to maintain. It can hinder agility and scalability since any changes or updates require modifying the entire system. In such cases, a microservices or distributed architecture might be more suitable. I worked in the past with Internet Banking in a monolithic approach. After the fast growth of the Mobile and Internet usage, the deployments became each time bigger, harder to test and if one thing failed, everything needed to be rolled back. So breaking into services and more business and features driven components, helped to expedite features and fixes launches in a parallel way reducing the surface of problem in case of something broken were delivered.

Microservices architecture allows for modular and independent services that can be developed, deployed, and scaled independently. This offers flexibility, scalability, and fault isolation, but it also introduces complexities in managing the interactions between services.

Also, with more than 20 years in IT area I have seen big companies with a huge legacy environment that keeps helping the business. With APIs and event-driven patterns is possible to decouple systems, while you still keep some legacy and third party applications that will be more complex and require a longer time to be modernized.

The Prime Video experience teaches us that in some cases, the monolithic address the most important thing the business needs. Prime Video team realized that distributed approach wasn’t bringing a lot of benefits in their specific use case, their specific tool for audio/video quality inspection, so they packed all of the components into a single process. This eliminated the need for the S3 bucket as the intermediate storage for video frames because our data transfer now happened in the memory. They also kept the same components, but now instead of the distributed architecture, in a monolithic approach.

So here we have the good IT DEPENDS statement that Architects say a lot. Considering the requirements of scalability, costs, the feature and which are the goals to address are key to show which one is the best architecture to address our needs.


Posted June 5, 2023 by Claudia Charro in category Topic 2 – Application architecture layer; systems development

Leave a Comment

Your email address will not be published. Required fields are marked *

*