AWS Certified Solutions Architect – ProfessionalDesign Solutions for Organizational ComplexityMedium

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?

  1. AAWS Step Functions for orchestrating complex workflows and state management.
  2. BAmazon SQS (Simple Queue Service) for asynchronous messaging between microservices.
  3. CAmazon SNS (Simple Notification Service) for fan-out messaging to multiple subscribers.
  4. DAmazon MQ for Apache ActiveMQ or RabbitMQ to support existing synchronous messaging patterns.
Show answer & 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.

More Design Solutions for Organizational Complexity questions