The trajectory of modern software engineering is often framed as a linear progression from the monolithic application to the microservices architecture. For a generation of architects and developers, this shift was viewed as an inevitable evolution toward scalability, agility, and resilience. Amazon, as a pioneer of service-oriented architectures, served as the global poster child for this transition. The move from a centralized codebase to a distributed network of independent services was not merely a technical choice but a strategic necessity to support a rapidly growing online marketplace. However, as the industry enters 2026, a counter-narrative has emerged. The recent experiences of the Amazon Prime Video team, among other tech giants, suggest that the microservices "siren song" may lead to unnecessary complexity and prohibitive costs for specific workloads. This tension creates a critical architectural dichotomy: the need to decompose monoliths to enable global scale versus the need to consolidate services to regain performance and fiscal efficiency.
The Anatomy of the Monolith
Monolithic applications are characterized by a single, unified codebase where all business logic, data access, and user interface components are tightly coupled. In the early stages of a product's lifecycle, this architecture is not only acceptable but often superior.
- Simplicity and Productivity
Monoliths are inherently simple to understand and develop because the entire application resides in one place. This allows for straightforward debugging and a cohesive understanding of the system's flow. - Small-Scale Efficiency
At a small scale, the lack of network overhead between components makes monoliths highly efficient. Data is shared in-memory rather than over a network, reducing latency. - The Coordination Wall
As engineering teams grow from a small group to hundreds of developers, the monolithic structure begins to act as a bottleneck. The coordination overhead compounds, meaning that the effort required to manage the codebase increases exponentially with the headcount. - Deployment Gridlock
In a monolithic environment, a single failed quality assurance (QA) test can halt the entire release pipeline. Because the application is a single unit, no part of the system can be deployed if any other part is failing, leading to slower deployment cycles. - Feature Stagnation
Integrating advanced capabilities, such as generative AI, becomes an arduous task. The tightly coupled nature of the monolith resists the rapid restructuring required to implement these new technologies, making innovation feel out of reach.
The Transition to Microservices
When the constraints of a monolith become unsustainable, organizations often pursue a migration to a microservices architecture. This transition involves breaking the application into individual components that can be developed, deployed, and scaled independently.
- Scalability Constraints
Amazon's own transition was driven by the inability of its monolithic system to efficiently support a surging number of customers and services. The system could no longer scale specific high-demand components without scaling the entire application. - Deployment Risks
Under a monolithic regime, updates must be rolled out across the entire application. This creates a high-risk environment where a small change in one module can trigger system-wide failures. - Flexibility Limitations
Adding new features is often cumbersome in a monolith due to tightly coupled components. A change in the payment module might inadvertently break the shipping module, requiring extensive regression testing.
Decomposition Strategies and Patterns
The process of decomposing a monolith is a structured journey that requires a combination of architectural patterns and organizational shifts.
- The Strangler Fig Pattern
This pattern involves incrementally replacing specific functionalities of the monolith with new microservices. Over time, the new services "strangle" the old monolith until the legacy system can be completely decommissioned. - Decoupling Services
Amazon decomposed its application into smaller, independent services to ensure that failures in one area did not cascade through the system. - Event-Driven Architecture
To maintain decoupling, an event-driven approach is employed. This allows services to communicate asynchronously, ensuring that the producer of an event does not need to know the state or location of the consumer.
Organizational Alignment: Two-Pizza Teams
Technical architecture cannot succeed without a corresponding organizational structure. Amazon adopted the "two-Pizza Team" concept to support its microservices transition.
- Team Agility
A "two-pizza team" is a small group—small enough to be fed by two large pizzas—that owns a specific service end-to-end. - Autonomy and Ownership
These teams are autonomous, meaning they have the authority to make decisions about their service's design, implementation, and deployment without waiting for centralized approval. - Reducing Coordination Overhead
By decentralizing authority, the organization eliminates the "coordination wall" experienced in monolithic teams, allowing for rapid iteration and deployment.
Technical Implementation on Amazon EKS
For organizations modernizing their infrastructure, Amazon Elastic Kubernetes Service (Amazon EKS) provides the orchestration layer necessary to manage the complexity of a distributed architecture.
- Automated Provisioning
EKS allows teams to move from a single codebase to a scalable, multi-tenant microservices architecture with automated provisioning. This reduces the manual effort required to spin up new environments. - Namespace Isolation
To manage multi-tenancy, EKS utilizes namespaces, which provide a logical separation between different services or teams within the same cluster. - Resource Quotas and Network Policies
To prevent a single service from consuming all cluster resources, resource quotas are implemented. Network policies further enhance security and isolation by controlling the traffic flow between pods. - EKS Pod Identity
This feature streamlines the process of assigning IAM roles to Kubernetes pods, ensuring that microservices have the precise permissions needed to access other AWS resources without overly permissive credentials. - Infrastructure Automation with ACK and GitOps
The use of the AWS Controllers for Kubernetes (ACK) and GitOps transforms the EKS cluster into a full infrastructure automation system. This allows the desired state of the infrastructure to be managed via version control. - EKS Capabilities (re:Invent 2025)
AWS introduced "EKS Capabilities," which provides managed controllers for Argo CD, ACK, and kro (Kubernetes Resource Orchestrator) directly within EKS. This simplifies the adoption of the control plane architecture.
Practical Implementation: Event-Driven Microservices
A concrete example of this architecture is the implementation of a producer service using a Spring Boot and Kafka stack.
- Spring Boot Setup
The process begins by using Spring Initializr to generate a new project. The essential dependencies for an event-driven microservice include: Spring WebSpring for Apache KafkaSpring Boot DevTools- Kafka Integration
By integrating Apache Kafka, the service can emit events that other microservices consume, ensuring that the producer remains decoupled from the downstream consumers.
The Counter-Trend: Return to the Monolith
Despite the industry's push toward microservices, a significant shift occurred around 2025. Several tech giants, including Amazon's own Prime Video team, discovered that microservices were not a universal solution.
- The Prime Video Case Study
The Prime Video team developed a monitoring tool to identify quality issues in thousands of concurrent customer streams. This required massive scalability. - The Failure of Serverless Orchestration
Initially, the team used a distributed approach orchestrated by AWS Step Functions. This included: - State machines for orchestration.
- Serverless functions (Lambda).
- S3 buckets for temporary storage of captured video frames.
- Bottlenecks and Account Limits
The service performed multiple state transitions for every second of the stream. This led to the team rapidly hitting AWS account limits. - Cost Prohibitions
The cost of the distributed architecture was unsustainable. AWS Step Functions charges per state transition, and the high number of tier-1 calls to the S3 bucket for video frames created a significant "cost problem." - The Monolithic Solution
The team realized that the distributed approach provided no tangible benefits for this specific use case. Consequently, they packed all components into a single process. - Resulting Impact
By returning to a monolithic architecture, the team eliminated the need for S3 for temporary storage and bypassed the state transition costs of Step Functions, reportedly reducing costs by 90%.
Broader Industry Shifts
The Prime Video experience is not an isolated incident. Other companies have reported similar issues with microservices.
- Uber
Uber discovered that too many microservices created more complexity than value. By consolidating services, they were able to improve overall reliability and reduce operational overhead. - Twitter
Twitter found that for certain workloads, a simpler, centralized system was more effective than a distributed one. - Shopify
Shopify's experience suggests that a well-designed monolith can provide the benefits of scale and organization without the inherent chaos of a highly fragmented microservices ecosystem. - LinkedIn
LinkedIn noted that overly fine-grained microservices led to increased latency and performance degradation.
Comparative Analysis of Architectures
The choice between a monolith and microservices is not a binary decision of "better" or "worse," but rather a calculation of trade-offs.
| Feature | Monolithic Architecture | Microservices Architecture |
|---|---|---|
| Initial Development | Simple and fast | Complex and slow |
| Deployment | Single unit; high risk | Independent; lower risk per service |
| Scaling | Scale the whole app | Scale individual components |
| Network Latency | Low (in-memory) | High (network calls) |
| Operational Cost | Low (at start) | High (orchestration, networking) |
| Team Coordination | High overhead at scale | Low overhead (autonomous teams) |
| Data Persistence | Centralized database | Polyglot persistence (decentralized) |
Modernization Pathways
For organizations currently navigating these choices, AWS suggests a structured approach to modernization, regardless of whether the end goal is a microservice or a refined monolith.
- Greenfield Projects
These involve creating a system from scratch for a completely new environment. In this scenario, architects can design for the current scale and expected growth without the burden of legacy code. - Brownfield Projects
These involve developing new software within the context of existing legacy systems. The primary goal here is often the decomposition of monoliths. - Data Persistence Strategy
A key part of modernization is enabling data persistence for microservices. This involves moving away from a single shared database and promoting "polyglot persistence," where each microservice uses the data store best suited for its specific needs (e.g., NoSQL for metadata, Relational for transactions).
Conclusion: The Architectural Synthesis
The evolution of software architecture from the monolithic era to the microservices boom, and the subsequent return to the monolith for specific workloads, reveals a fundamental truth: architecture must be driven by the specific requirements of the workload rather than industry trends.
The microservices architecture is an extraordinarily powerful tool for organizations that need to scale their engineering headcount to thousands of developers and manage global, multi-tenant applications. The use of Amazon EKS, combined with GitOps and event-driven patterns, provides a robust framework for this level of complexity. However, the "cost of distribution" is real. When every second of a process requires multiple state transitions and network hops, the overhead of microservices—both in terms of latency and cloud billing—can become a liability.
The lesson from the Prime Video case study is that not all workloads benefit from distribution. A well-structured monolith can be faster, cheaper, and more reliable when the components of a service are tightly coupled by nature. The most successful modern organizations are those that avoid dogmatic adherence to any single pattern. Instead, they employ a hybrid approach, utilizing monoliths for high-performance, tightly coupled tasks and microservices for broad, scalable, and autonomous business capabilities. The goal is not to achieve the "purest" architecture, but the most efficient one for the specific problem at hand.
Sources
- re:Invent 2025 - From monolith to microservices: Migrate and modernize with Amazon EKS
- Return of the Monolith: Amazon Dumps Microservices for Video Monitoring
- Decomposing monoliths into microservices
- From monolith to microservices: Real-world case studies and lessons learned
- Reduce costs by 90% by moving from microservices to monolith
- Monoliths Back: Why Tech Giants are Abandoning Microservices