Connecting...

Pexels Photo 417045

Cloud Native Akka & Kubernetes: the holy grail to elasticity? by Fabio Tiriticco

Pexels Photo 417045

Docker and Kubernetes is a perfect match for clustered Akka applications running in the cloud and thanks to the Kubernetes API you can write infrastructure logic that complements the business logic.

In this talk by Fabio Tiriticco find out how you can distribute your project with Akka Cluster, provision your project with Kubernetes and more!

 


Cloud Native Akka & Kubernetes: the holy grail to elasticity?

Have you ever wondered how to actually achieve elasticity on the cloud, outside of your cushy local dev environment?

Akka is the most mature choice to implement the traits of the Reactive Manifesto, thanks to the Actor model. Resilience is enabled by asynchronous message passing and Actor supervision. Location transparency, message routing and the “share nothing” approach enable seamless scalability, but once our app is deployed we need to rely on some external infrastructure to automatically scale up or down our services. At this point, Akka alone is not sufficient anymore. What else do we need?

We found Docker & Kubernetes to be a perfect match for clustered Akka applications running in the cloud. Thanks to the Kubernetes API, one can write infrastructure logic that complements the business logic. This leads to a general approach of infrastructure-as-code tailored to each different business case, which in turn lets companies achieve maximum efficiency and resource usage.

During this talk we will cover features from both Akka and Kubernetes, plus example code in Scala: familiarity with these technologies is recommended. Our example will rely on Google Cloud infrastructure.

Rough outline:

  • The Reactive Manifesto
  • Modelling the world with Actor Programming
  • Distribute your project with Akka Cluster
  • Provision your project with Kubernetes
  • Akka messaging vs HTTP
  • Conclusions