Axon Server on Cloud or dedicated kafka instance?

Hi -
Im trying to do an analysis on whether to go with Kafka as an ESB or Axon server Community edition.
We have a dedicated Kafka instance on a unix box which has an excellent performance and a private kubernetes instance that could host axon server .
Im expecting a load of somewhere around 1000 request per second.
Im inclined to use Kafka but wondering If I will loose on several good features that Axon server provides.

can someone help me with this dilemma what would be a better approach to address this issue by answering the below questions.

1 > If I run axon sever on kubernetes platform and with oracle as backend store - Do I need to set huge disk space for axon server ?

2> If I run on Kafka what are the key features I will miss out on, ?

3>what risks I run with If I use kafka ?

Thanks,
Sandeep

Hello Sandeep,

Let me give you my two cents on the scenario:

1 > If I run axon sever on kubernetes platform and with oracle as backend store - Do I need to set huge disk space for axon server ?

Firstly, Axon Server would by default be your Event Store too, thus eliminating the requirement to have an Oracle Backend Store for it.
Secondly, whether you need “hug disk space” or not will highly depend on what your events look like.
The metadata overhead is minimal and would in fact be a requirement too if you’d not use Axon Server but pick any RDBMS solution to store your events in.

Lastly, if you would go Axon Server Enterprise, there is logic in place to form consensus about what has been done when.
The storage of “this logic” will reach an order magnitude of about 1Gb.

Short answer? It depends on how you model your events and how much you’ll publish in the end.

2> If I run on Kafka what are the key features I will miss out on, ?

Kafka is an amazing Event Bus, let there be no doubt about that.
However, Axon Server is more than just an Event Bus, as it’s also a Command Bus, a Query Bus, a dedicated Event Store and it provides an out of the box dashboard for increased observability.
Those are, if you ask me, definite key features you’d miss out on.

Whether those will sway your decision highly depends on what you need from this set up of course.
Personally I see great benefit in deducing these three types of message (thus Commands, Events and Queries) as it maximizes the segregation of your components far more than when you’d just be using the idea of events.

3>what risks I run with If I use kafka ?

To be honest, I find this question quite broad and vague to answer, as it highly depends on what you are going to do exactly with it.
I’d delegate this question through to good old Google instead and read up on some “lessons learned…” blogs.
That’s what I’d do at least, hope that approach helps you too.

Concluding, hope this helps you out Sandeep.
If you’d ever need a more direct call to discuss the benefits and/or drawbacks of Axon Server, know you can always contact AxonIQ directly.

Cheers,

Steven van Beelen

Axon Framework Lead Developer

AxonIQ

twitter-icon_128x128.png