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 . You can check out our five-part Akka Platform workshop
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) and Google Cloud Platform (GCP)
.
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 , 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.
Akka Microservices tutorial
The Implementing Microservices with Akka tutorial illustrates how to implement an Event Sourced CQRS application with Akka Persistence and Akka Projections.
The tutorial shows how to build and run each service step by step:
Lightbend Telemetry
Lightbend Telemetry can capture data for applications using Akka libraries and modules
, 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