AWS Certified Solutions Architect – ProfessionalDesign Solutions for Organizational ComplexityHard

A multinational corporation has a business-critical application hosted on-premises that uses a proprietary messaging system for inter-service communication. The company plans to gradually migrate parts of this application to AWS using a microservices architecture. During the migration period, the AWS-based microservices need to reliably exchange messages with the on-premises services, ensuring message ordering and guaranteed delivery even during network disruptions. The solution must minimize changes to the existing on-premises messaging system and allow for eventual full migration to cloud-native messaging. Which hybrid messaging solution should an architect recommend?

  1. AImplement Amazon SQS FIFO queues in AWS and a custom on-premises adapter to push messages to SQS.
  2. BUtilize AWS Managed Apache ActiveMQ (Amazon MQ) in AWS, and configure a network bridge between the on-premises proprietary messaging system and Amazon MQ.
  3. CSet up Amazon Kinesis Data Streams in AWS and modify on-premises services to send data directly to Kinesis.
  4. DDeploy a self-managed RabbitMQ cluster on Amazon EC2 instances and connect it to the on-premises system via VPN.
Show answer & explanation

Correct answer: B. Utilize AWS Managed Apache ActiveMQ (Amazon MQ) in AWS, and configure a network bridge between the on-premises proprietary messaging system and Amazon MQ.

AWS Managed Apache ActiveMQ (Amazon MQ) supports industry-standard messaging protocols, making it suitable for bridging with existing proprietary systems through a network bridge. It provides managed message brokers with high availability, message ordering, and guaranteed delivery, crucial for critical inter-service communication during a gradual migration, minimizing changes to the on-premises system.

Why the other options are wrong

  • A. While SQS FIFO provides ordering and guaranteed delivery, a custom adapter for a proprietary system can be complex. More importantly, SQS is a queueing service, not a full message broker that handles complex routing and protocol compatibility as effectively as ActiveMQ for hybrid bridges.
  • C. Kinesis Data Streams are designed for high-throughput real-time data streaming, not for traditional enterprise messaging with guaranteed delivery and message ordering between services, especially when dealing with proprietary systems that might require specific protocols.
  • D. Deploying a self-managed RabbitMQ cluster on EC2 instances would negate the 'minimize changes' and 'leverage managed services' goals, as it introduces significant operational overhead for managing the cluster, patching, and scaling.

Amazon MQ for Hybrid Messaging

A fully managed message broker service for Apache ActiveMQ and RabbitMQ that makes it easy to set up and operate message brokers in the cloud, facilitating hybrid messaging with on-premises systems.

  • Supports industry-standard messaging protocols (e.g., AMQP, MQTT, OpenWire, STOMP).
  • Offers high availability, message ordering, and guaranteed delivery.
  • Reduces operational overhead by managing the broker infrastructure.
  • Ideal for bridging existing on-premises messaging systems to AWS.

Memory trick: MQ bridges the old and new, keeping messages in order.

More Design Solutions for Organizational Complexity questions