AWS EventBridge can replace Webhook

Webhook

  • Receive calls through HTTP POSTs from external systems only when they have some data updates (mostly Payment webhook)

  • Webhooks can activate whole integration workflow to act on these updates. Webhooks refers to a combination of elements that collectively create a notification and reaction system within a larger integration.

  • Provide applications and services with (near) real-time information (Extra configuration step, extremely resource consuming)

  • You have considerably less control over data flow.

  • Used when we need to sync data b/w application, platform, databases

  • Webhook allows an application to speak directly to one another, without using middleware.

  • Sometimes called as reverse APIs

  • Webhook is another communication protocol for SaaS applications that allows for communication between applications, but simply using HTTP POST to control the thread of execution.

  • It is difficult to have a webhook without a SaaS application.

  • Webhook can be used in conjunction with API.

  • To use a webhook, you register a URL with the company providing the service. That URL is a place within your application that will accept the data and do something with it.

    • In some cases, you can tell the provider the situations when you’d like to receive data. Whenever there’s something new, the webhook will send it to your URL.

    • Drobbox webhooks provide real time notifications about file changes in dropbox.

    • Webhooks are HTTP endpoints which consume HTTP requests, translating the incoming request data into an event which is then forwarded to the respective cloud service.

For APIs there is request followed by the response. However, no request is required for webhook, it just send the data when its available.

AWS EventBridge (Serverless)

  • EventBridge is a serverless pub / sub service which makes it possible to seamlessly connect different event sources with AWS cloud services via event buses.

  • Amazon EventBridge ingests data from supported SaaS partners and routes it to AWS service targets. With EventBridge, you can use data from your SaaS apps to trigger workflows for customer support, business operations and more.

  • The Amazon EventBridge schema registry stores event structure - or schema - in a shared central location and maps those schemas to code for below languages

    • Java

    • Python

    • Typescript

  • Event use a specific JSON structure.

  • Event publishers can be

    • Any (Legacy) application - https://www.serverless.com/blog/eventbridge-use-cases-and-tutorial

    • Integrated SaaS provider

    • Internal AWS services

  • Event consumers can be

    • EC2

    • Lambda

    • Other event buses

    • Any listed AWS services

    • For more details refer to https://aws.amazon.com/eventbridge/

  • Example - integrated SaaS provider - Payshield is a payment vendor-independent provider of security solutions that helps reduce PCI DSS scope. Through integration with Amazon EventBridge, your organization can receive transaction notification for every payment request processed by Payshield's services.

  • Eventbridge features

    • can be secure using IAM ,

    • failure - resilience,

    • Analytics and metrics available,

    • at least once delivery,

    • robust

    • predictable retry - with exponential backoff upto 24 hours

    • Async design