About AxonIQ B.V.
AxonIQ is a cloud-native platform enabling complexity, continuity, security and business agility and offers tooling for developers of distributed systems:
- Advanced, high performance EventStore
- GDPR Module for Data Erasure in Event-driven Systems
- Message routing for the Microservices applications
Developing AxonIQ is the natural next step for the team behind the Axon Framework – a small team who found themselves repeatedly solving the same problems in many different projects. As projects built using the open-source Axon Framework matured, the team noticed a lack of adequate tooling to deal with the high volume of messages in large event-driven systems.
AxonIQ is an elegant and practical solution that takes the stress out utilizing an event-driven architecture and offers extensive tooling, professional support and education.
About the founder and CTO, Allard Buijze
Like many kids of the 80s, Allard got his start programming on his Commodore 64 after receiving some programming books for his birthday. It was that moment, he says, that he caught the “programming virus” and has been working on his craft ever since. He has a passion for not only gaining a deep understanding of engineering fundamentals, but also for researching new methods and techniques. He believes that by sharing his findings with others, he not only becomes a better developer, but can make a real contribution to the development of the next wave of IT professionals.
Development of the Axon Framework
It was Allard’s drive to understand the engineering fundamentals, research new methods and share his knowledge that lead to the birth of the Axon Framework.
Allard was working on a project for a library, building a system that would log sessions for public access to the internet. Upon receiving the seemingly simple request to add a unified billing and subscription system for these sessions across multiple libraries, he saw the complexity of the project rise exponentially. “If a requirement is easy to explain but hard to build then it means you are doing something wrong, and not following DDD principles. The library project was the trigger to start investigating what I was doing wrong and how I could fix it” says Allard.
After seeing a presentation by Greg Young at QCon in 2009 about utilizing multiple models for different purposes, linked by events, Allard decided to build an application using CQRS principles to see what would happen. After only three short weeks of experimentation, Allard realized that none of the code he had written had anything to do with the specific use case he was working on – anyone who wanted to configure an application using these principles would have to write the same code. Not wanting to keep this knowledge to himself, Allard published his experiment online and made it open source. He continued on with his day job, playing around with Axon on the side.
Less than a year later Allard got a call from a French company who said they were going to use Axon in production. He apprehensively enquired as to the nature of the project, hoping that his fledgling framework hadn’t been given too much responsibility. The reply: a medical application for tracking surgical equipment. Gulp.
Thankfully the project was a success, which gave Allard the confidence to start using his side project in production. With the support of his employer Trifork, their customers and the open source community, Allard and his team spent the next few years building and refining the product.
It wasn’t until the microservices wave swept through developer circles in 2014, that Allard and his team started to understand the full potential of Axon. The framework had matured past the very specific use cases that had been envisaged in its early days and started to take on a life of its own. Today, the framework is not confined to CQRS principles and provides a fast and efficient way for developers to build scalable applications within an event-driven microservices or structured monolith architecture.
“It’s not always feasible or appropriate to implement a fully distributed microservices architecture. While Axon is very suited to this architectural pattern, it also offers the opportunity to create a structured monolith. This is where the application is deployed as monolith, but within it there are relatively separated components. It prevents the big ball of mud that many applications eventually end up as; despite the best intentions and effort of architects and developers. With Axon, modularity is maintained with explicit message-based APIs, with the messages defined as commands, events or queries.”