The following is a short interview with Succinctly author Zoran Maksimovic, whose new book, Akka.NET Succinctly, was published
Monday, March 26. You can download the book here.
What should people
know about Akka.NET? Why is it important?
Akka.NET is a
framework that simplifies building scalable, highly concurrent, high-throughput,
distributed, and fault-tolerant event-driven applications by using Microsoft.NET. Akka.NET itself is a port of the
original Akka framework written in Scala/JVM.
The previous sentence contains a few important concepts and anyone who is
experienced enough in building such systems knows that this is far from being
trivial. Akka.NET, however, enables building such systems more easily.
When did you first become interested in this subject?
On a daily basis,
I am faced with building concurrent and distributed applications. Searching for
new ways to solve common problems is at the heart of what every developer does.
solutions for a particular problem I was facing on a project, I came to know
about Akka.NET, especially through the videos published by the Akka.NET main
contributors. I loved the way the technology was presented, especially the fact
that these guys, in order to solve their own project problems, have built an
application framework now used by thousands of people worldwide. This was very
inspiring, and obviously I wanted to give it a try.
One thing brings
another, and slowly but surely, I came to love the way Akka.NET solves certain
issues of concurrency with ease.
By writing this
e-book, did you learn anything new yourself?
Absolutely. I think it is impossible to write a book without
getting something from it. From one side, I learned more about the internals of
the framework as I was forced to deep dive into it, but on the other side, I
believe I’ve seen a bigger picture where this application framework could fit.
While Akka.NET is not a silver bullet for every kind of a problem, it certainly
is an amazing tool that every developer should know about.
How will this subject
change over the next few years?
It’s always hard to tell what the future brings. The actor model
(as a paradigm) still holds after all these years, and most probably will for
the foreseeable future.
Microsoft.NET is a great platform for building applications,
especially now with the existence of .NET Core, which enables developing
applications supporting multiple platforms, which was a big handicap of .NET in
One thing is certain—the need for reactive applications will
grow in the future and hence the need for frameworks such as Akka.NET!
Do you see Akka.NET
as part of a larger trend in software development?
As mentioned earlier, Akka.NET offers a way of building
reactive systems within Microsoft.NET. We are surrounded by applications that
need to be reactive. Just think about the Internet of Things (IoT) or other
event-driven applications such as Twitter, LinkedIn, Facebook, etc. All of them
require all of these qualities mentioned earlier.
Nowadays, another popular topic is building microservices. Using
Akka.NET in order to create microservices is a very convenient way of
implementing these kinds of applications.
What other books or
resources on this topic do you recommend?
At this point in time, I believe the most authoritative and
complete information can be found on the official project’s website, http://getakka.net for the .NET version or https://akka.io/docs for the JVM version.
There are a lot of examples and concepts explained. I
remember sometimes I had to read over and over again about certain topics and every
time having the “aha!” moment as something new would become clear.