A global financial institution is migrating a legacy mainframe application that processes millions of transactions daily to AWS. The application relies heavily on synchronous, high-throughput messaging for inter-service communication within the mainframe environment. The institution requires a solution that minimizes changes to the application's messaging logic while providing a managed, highly available, and scalable messaging service on AWS. The solution must also support integration with existing on-premises systems during a phased migration. Which AWS service best meets these requirements?
- AAWS Step Functions for orchestrating complex workflows and state management.
- BAmazon SQS (Simple Queue Service) for asynchronous messaging between microservices.
- CAmazon SNS (Simple Notification Service) for fan-out messaging to multiple subscribers.
- DAmazon MQ for Apache ActiveMQ or RabbitMQ to support existing synchronous messaging patterns.
Show answer & explanationAnswer & explanation
Correct answer: D. Amazon MQ for Apache ActiveMQ or RabbitMQ to support existing synchronous messaging patterns.
Amazon MQ supports industry-standard APIs and protocols like JMS, NMS, AMQP, STOMP, MQTT, and WebSocket, which are commonly used in enterprise applications, including those on mainframes. This allows for re-platforming with minimal code changes to the messaging logic. It also provides a fully managed, highly available, and scalable solution that can integrate with on-premises systems.
Why the other options are wrong
- A. AWS Step Functions is for orchestrating workflows and managing state, not for high-throughput, synchronous inter-service messaging that a mainframe application would typically use.
- B. Amazon SQS is primarily for asynchronous, decoupled messaging and would require significant re-architecture of the synchronous messaging patterns used by the mainframe application.
- C. Amazon SNS is a pub/sub messaging service, primarily for fan-out scenarios and notifications, not for synchronous inter-service communication required by a legacy mainframe application.
Hybrid Messaging with Amazon MQ
Amazon MQ is a managed message broker service for Apache ActiveMQ and RabbitMQ that makes it easy to set up and operate message brokers on AWS. It supports industry-standard APIs and protocols, simplifying migration of existing applications that use message-oriented middleware.
- Supports industry-standard protocols (JMS, NMS, AMQP, STOMP, MQTT, WebSocket).
- Managed service, reducing operational overhead.
- High availability and scalability built-in.
- Facilitates migration of legacy applications with minimal code changes to messaging logic.
Memory trick: Migrate Old Queues to AWS with MQ's Familiar Tune.