Skip to content

EDA adoption assessment question

This section lists a set of questions architects can use to assess the EDA deployment and adoption.

Definitions used in the questions

Term Definition
Event represents a significant change in state or an occurrence that has happened within a system. It is a domain-specific occurrence that reflects a change in the state of the domain model
Event backbone core middleware that facilitates asynchronous communication and storage of events. It possesses high availability and replayability capabilities, ensuring the reliable handling and persistence of events.
Event schema structured definition that describes the format and structure of an event within an event-driven system. Avro, Json, XSD are common way to define schemas
Queue Queues are addressable locations to deliver messages to and store them reliably until they need to be consumed.
Topics represent end-points to publish and consume records
Multi-tenant a single instance of software serves multiple customers or tenants
Domain we use the domain driven design definition : specific area of knowledge, activity, or interest that is the focus of a particular application
Bounded context boundaries within which a particular domain model applies, ensuring clarity and focus.

Business

Question Response Assessment
What specific business goals are you aiming to achieve with event-driven architecture?
How will this architecture align with your overall digital transformation strategy?
Is the EDA is a tactical strategy to address some application requirements around resilience and scaling ? or is it more strategic initiative?
Do you use event in few application, isolated, mostly supplementary to other development activities?
Are you taking any business decision, automatically, on the events created in close real-time?
Do you have a strategic use and governance of EDA, promoted cross-organization by IT leadership?
Do you have some governance authority for API, Events, business services, business process and data definitions? A center of excellence, or competence.
Do you want to move to managed services and scale to zero infrastructure?
Do you adopt a multi cloud provider strategy?

Current architecture

Question Response Assessment
Do you use an event-bus currently?
Do you use a shared event cluster between domains?
Do you use queues in point to point and topics for pub/sub or both?
Which technology for queueing and messaging?
How many event backbone clusters?
How many node per cluster in average?
Do you use baremetal nodes or VM based or pure container on k8s?
Do you deploy cluster in different regions / Datacenters?
Do you consider datalake or lakehouse to be a target sink for events?
How many applications are using events / messaging today?
Does some of those topics / queues exposed as part of a B2B interaction?
Do you classify your business applications into different business impact classification ? if so are all the critical applications using asynchronous communication today?
If classifications are in place can you share uptime requirements?
What are the DR needs today?
Are you using process orchestration product today?
Do you have remote applications that needs access data with lower latency? how many of them?
Do you have exposed topic or queue to the public internet?
How many application are exposing business services today? REST or SOAP?
Do you use schema registry? How many of them?
Do you use Avro schema, protobuf or JSON or a combination of them? None is possible too.
Do you use AsyncAPI document to document topics and schema?
Do you generate technical events from file upload to bucket notification and content management?
Do you consider logs to be a source of events?
Do you use container and orchestration like Kubernetes in your modern application development practices?
How long do you need to keep events in event backbone?
For audit reason do you need to keep message for longer term ? Do you need to replay event of the past?
Do you use some dedicated connector framework to integrate systems to your event backbone?
Do you use topic replication between event clusters today?
Do you use stateful processing on the events to compute aggregate within time windows?
Are you using an API management platfor; today? Does it support AsyncAPI management too?

Future architecture

Question Response Assessment
How many applications will use events / messaging next year?
How many applications need to be changed to generate events or consume events?
Can you give us the scalability requirements in term of transaction per second on average and at peak?
Do you need transactional applications with strong consistency be integrated in your EDA?
Do you need to integrate data coming from mainframe?
Do you plan to use streaming for consuming event, processing them and generate new events?
Do you have a need to manage topic from a single user interface?
Do you want to apply event-sourcing as an implementation pattern?

Event sources

Question Response Assessment
What are you connecting in term of native applications ?
Do you use change data capture today to get event from database?
What are data replications ?
Where are existing data sources ?
Is there any SaaS integration for data source?
Do we have requirements for private networking?

Event Sinks

Question Response Assessment
Do you plan to use Lakehouse technology to persist event?
Do you plan to use database to persist data from event?
Where are you connecting to?

DevOps

Question Response Assessment
How many developers implement asynchronous event generation for business applications?
Are schema management part of your DevOps practices?
Do you automate event backbone cluster creation with Infrastructure as Code?
Do you automate topic and queue creation?
Do you have the necessary in-house skills, or will you need to hire or train staff?
Do you use Domain-driven design and event storming to model the application logic with events?
Do you have automatic process to sccale up the messaging middleware?
Do you manage consumer lag behind for the event processing?

Governance

Question Response Assessment
Does the organization has standard practices?
Are the API and Event designs and development coordinated?
Do you have a process to identify message consumers automatically?
Do you track data lineage today from producer to different consumers and to sinks?

Security

Question Response Assessment
What security measures are needed to protect event data?
Do you need to uniquely control access to topic or queue for each application?