Akka Platform Guide

What is this guide about?

This guide provides information to aid in understanding and using the Akka Platform and the Akka Cloud Platform.

What are Akka Platform, and Akka Cloud Platform?

Akka Platform is a toolkit for building highly concurrent systems that are scalable, highly efficient, and resilient by using Reactive Principles. The Akka Platform includes support for Akka, additional commercial components, and is available from Lightbend as a subscription new tab. You can check out our five-part Akka Platform workshop new tab for developers, for a guided, hands-on walkthrough of Akka Platform.

Akka Cloud Platform adds tooling for deployment on Kubernetes and is available from Amazon Web Services (AWS) new tab and Google Cloud Platform (GCP) new tab.

Who are the intended audience of this guide?

This guide is for developers, administrators, evaluators and dev/ops. For evaluators the guide will provide a solid demonstration the power and value available via Akka Platform and Akka Cloud Platform. For developers the guide focuses on getting you up and running by covering the basics of Microservices and Cloud deployment, as well as the fundamental concepts that underlay Reactive development. For administrators, and devops the guide lays out the requirements, operations and patterns of usage.

Whether you are new to Reactive principles, or an experienced Akka user, you will find something of use in this guide. The guide complements the Akka reference documentation new tab, which presents all Akka features in detail.

Akka Platform

Akka is a platform for designing scalable, resilient systems that span processor cores and networks. Akka allows you to focus on meeting business needs instead of writing low-level code to provide reliable behavior, fault tolerance, and high performance.

Akka provides:

  • Multi-threaded behavior — without the use of low-level concurrency constructs like atomics or locks; relieving you from even thinking about memory visibility issues.

  • Transparent remote communication between systems and their components — relieving you from writing and maintaining difficult networking code.

  • Clustered, high-availability, elastic architecture, that scales on demand — enabling you to deliver a truly reactive system.

Akka’s use of the actor model provides a level of abstraction that makes it easier to write correct concurrent, parallel and distributed systems. The actor model spans the full set of Akka libraries, providing you with a consistent way of understanding and using them.

Akka Cloud Platform

Akka Cloud Platform enhances Akka by adding operational tooling, services, and support. It is easily accessible from marketplaces, such as AWS and GCP.

Why use Akka Cloud Platform?

  • Satisfy easy-to-deploy and operational needs for Development and SRE teams

  • Reduce implementation time for integrating with cloud services

  • Get started without business barriers

What does Akka Cloud Platform provide?

  • Integrated Telemetry — provides insight into applications built with Lightbend technologies and integrates with popular monitoring tools

  • Ops/DevOps tooling — Simple deployment and scaling of Kubernetes-powered Akka applications

  • Simple integration paths — Provided for relevant cloud services (for example, Kafka, Cassandra, data stores)

  • Available through popular Cloud Marketplaces:

    • Optional Pay-as-you-go, or custom pricing

    • Integrated legal, purchasing, and billing with the marketplaces

How to get the most out of this guide

For a code-first experience, have a look at the Implementing Microservices with Akka tutorial. The tutorial walks you through an example project and explains how features from the Akka ecosystem connect to build Reactive Systems. It will point you to the relevant concepts where applicable.

If this is your first experience with Reactive frameworks or Akka, we recommend reviewing the What is Reactive? section. This section presents some background and ideas behind Reactive. You can read about those concepts when introduced in the tutorial, or read them first if you prefer a more theoretical overview before diving into the code. There you will learn, for example:

  • The challenges that Reactive Architecture can help you overcome

  • A summary of Reactive Principles

  • The benefits of using Akka

If you are looking for a deeper dive into the conceptual framework it is also advisable to review Designing Reactive Microsystems.

The Akka modules for Microservices section provides a conceptual overview for each of the Akka modules used with Microservices.

Cloud deployment

Each section of the tutorial provides for both running locally or deploying to the cloud. The cloud deployment steps use the Akka Cloud Platform. If you are working through the cloud deployment steps, we recommend reviewing the Akka Cloud Platform section of this guide and the details for Cloud deployment and your specific platform.

You can deploy your applications anywhere you choose, it can be on your own data centers, or in the cloud. However, the cloud deployment sections of the tutorial specifically describe how to run in Kubernetes.

Lightbend Telemetry

Lightbend Telemetry new tab can capture data for applications using Akka libraries and modulesnew tab, Play, and Lagom. For those interested in adding telemetry to their deployments we advise reviewing the Lightbend Telemetry section of this guide.

How to…​

Some development tasks arise from requirements on existing projects. The How to …​ section contains guidance on introducing new features or architectural improvements to an existing codebase.

This documentation was last published: 2022-05-31