Amazon Web Services Bootcamp
上QQ阅读APP看书,第一时间看更新

Application integration

AWS allows us to create modular applications using application integrations. Different applications can be integrated with various services, such as SNS, SQS, MQ, and so on:

  • Step Functions: AWS Step Functions is a service that executes distributed applications in a series of steps. We can have microservice applications as each step, and Step Function allows us to create visual workflows and the steps can be changed easily. Step Function is invoked automatically and each step state is logged and retried when an error occurs.
  • Amazon MQ: Amazon MQ is a message broker service for Apache ActiveMQ. It allows us to easily set up and scale a message broker service for distributed applications. Amazon MQ is compatible with Apache ActiveMQ, so we can reuse the existing APIs to connect to Amazon MQ without making any changes to our code.
  • Simple Notification Service (SNS): AWS Simple Notification Service is a publisher/subscriber model where we can send data to the subscribed channels. The publisher will publish data on the SNS topic and subscribers will be notified about the messages published on the topic. Subscribers may include AWS SQS, Lambda, Email, HTTP/S, and SMS. SNS mobile notifications can also be used for push notifications on mobile devices, such as Android, iOS, Windows, Baidu-based devices, and Fire OS.
  • Simple Queue Service (SQS): AWS SQS is a distributed message queuing service. SQS can be used where applications are distributed and each single component has its own set of responsibilities, so that requests can be passed on to SQS and the consumer applications of SQS can read messages and process data. SQS is a fully managed service, so users don't need to worry about infrastructure and maintenance.
  • Simple Workflow Service (SWF): AWS SWF helps to define a series of workflows for any application. It helps to execute background processing jobs that have parallel or sequential execution. AWS SWF maintains the state and knows which task needs to be invoked next.