Kubernetes is on a steady march toward becoming the world’s commodity platform to run distributed services. It orchestrates applications packaged as Docker containers, which makes it more versatile than platforms bound to a single technology stack. Despite being technologically agnostic, it offers a great deal of control, implementing different distributed patterns.
Akka is the most popular toolkit to distribute JVM applications. Architectures based on the actor model enable location transparency, asynchronous messaging, and the “share nothing” approach, which leads to seamless scalability from day one. Akka’s clustering module ties nodes together, which in turn run actors. This is very similar to how Kubernetes gathers nodes into a cluster and runs containers on top of it. Akka Cluster however has no control over resource allocation, isolation, or provisioning.
Join Adam Sandor and Fabio Tiriticco, experts in Akka and Kubernetes, to see whose favorite technology is better suited for building modern distributed applications. Is Kubernetes the end of Akka Cluster? Does Akka Cluster offer more to JVM-based applications than Kubernetes does, or is there a reason for their friendly coexistence?
Adam and Fabio explore different patterns for using Kubernetes together with or in place of Akka Cluster, detailing the pros and cons of each approach to guide you in navigating the conflicting and overlapping aspects of the two technologies. These patterns include running an Akka Cluster on top of Kubernetes with a fixed set of nodes, integrating Akka Cluster with Kubernetes to provide dynamic resource allocation based on internal Akka Cluster metrics, distributing an Akka actor system purely using Kubernetes, and microservices on Kubernetes without using Akka. Along the way, Adam and Fabio share their research into these patterns, along with working examples. The code will be made available publicly on GitHub.
Adam Sandor is a senior consultant in cloud-native computing at Amsterdam-based consultancy Container Solutions. His life currently revolves around building distributed systems using Kubernetes and related cloud-native technologies. Previously, he worked in application development.
Comments on this page are now closed.
©2018, O’Reilly UK Ltd • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • email@example.com