Udemy: Akka Essentials with Scala

Udemy is a bit like a big “mooc market” and of course, Sturgeon’s law1 applies here as well, but there are really lots of good courses here as well – easily worth the 11-13€ you normally pay for them (if you can ignore Udemy’s cringeworthy “there’s always a sale going on” marketing strategy2).

One of the courses I took recently was “Akka Essentials with Scala” and it’s quite a good one if you want to get an overview of the Akka actor system. Ideally, you have some Scala background, but you will also get the gist of it if you are, like me, more Java-inclined (I took another course in parallel to get my Scala basics up to speed for this one, to be honest).

Akka is nice toolkit that allows for some really great concurrent systems (much more easily than out-of-the-box Java, for example). Using the actor model you use “small” objects (actors) that only communicate via messages (very easily) and are guaranteed to only process one message at a given time (taking away many worries of concurrency). It makes very good use of threads, so that there can be thousands of actors running without overloading your system (of course, there are some limitations and pitfalls, for example when it comes to slow or even blocking processes, which can starve your actor system, if you aren’t careful, but those can be handled as well, if you understand them).

Of course, actors are not the only thing Akka offers, there are also other packages, for example Akka Streams (stream processing), Http (client/server), Clustering, etc. But, the best start is at the beginning, so I went with the basic actor system of Akka.

In my job, we started using Akka more and more, so I already knew some bits and pieces, but I decided to take the course to start getting the whole picture instead of just the little pieces that might or might not contain all the actually important details (which is always a danger if you start using something without deeply understanding something – most of the time, it will work in the beginning, but you can easily miss crucial pitfalls if you never go back and build up a solid understanding).

So, in the end (again), I can recommend this course – which was an easy choice, since it was also one of highest rated ones (deservedly – there are others with a slightly higher rating, but far less votes – or missing courses for the follow-up topics like Akka Streams).

Footnotes

  1. “90% of everything is crap.” – Wikipedia.
  2. Basically, courses are priced 100€+, but in practice, there’s pretty much always a sale going on which drops the price to 11.99€ or whatever. If a price is higher, either search online for “Udemy Coupon” or simply wait a few days and chances are that there will be another sale. Alternatively you can simply message the course creator(s) who can give out coupons to bring the prices down to “normal”, too – this might even be preferred, since then the course author will get a 97% cut instead of 50%.