Cloud deployment

The Akka Cloud Platform is currently available for deploying on Amazon Elastic Kubernetes Service (EKS). It is available through the Amazon Marketplace new tab to install on your Amazon EKS cluster.

An Akka Cloud Platform subscription includes access to Lightbend Telemetry, Lightbend Academy, and basic support. Through the Akka Operator, the Akka Cloud Platform provides the following high level features:

  • convenient deployment without the need to define detailed Kubernetes manifests

  • integration with Akka Cluster Bootstrap

  • integration with Akka Management health checks

  • integration with Relational Databases and Cassandra

  • integration with Kafka

  • support for gRPC and HTTP services and internet facing ingress

  • insights to deployment status

Overview of deployment

To use the Akka Cloud Platform, you first need to install prerequisites and install the Akka Operator in an Amazon EKS cluster. The Akka Operator manages Akka Microservices in all namespaces of the Kubernetes cluster, which means that you should only install the operator once. It is possible to configure the operator to only manage a specific namespace, if required.

Deployment example

The following image shows the components required to deploy an Akka Microservice using Akka Cloud Platform. The steps you are responsible for include:

  • Creating and publishing the Docker image

  • Updating the deployment descriptor and applying it to the Kubernetes cluster

Deployment 1

The call-outs in the illustration highlight the following:

  1. A Kubernetes Custom Resource Definition new tab named akkamicroservices.akka.lightbend.com defines the deployment descriptor resource for Akka Microservices applications that the Akka Cloud Platform will deploy.

  2. The installed Akka Operator runs continuously in the Kubernetes cluster.

  3. You publish a Docker image containing the Akka Microservices application.

  4. You define the deployment descriptor for the Akka Microservice in a yaml file. It refers to the Docker published image and specifies other operational properties. You apply the .yaml file to the Kubernetes cluster with kubectl (Kubernetes standard command-line tool).

  5. The Akka Operator sees the new deployment descriptor and creates a Kubernetes Deployment new tab

  6. Kubernetes downloads the application image and starts the Akka Microservices application. The Akka Operator automatically provides additional configuration to the application.

To update the Akka Microservices application, you repeat steps 3 - 6. The Akka Operator sees the changes to the deployment descriptor and updates the Kubernetes Deployment accordingly. Kubernetes performs a rolling update of the application as shown in the illustration below.

Deployment 2
  1. Build and publish Docker image.

  2. Apply deployment descriptor.

  3. The operator creates a separate Kubernetes Deployment for the other Microservice.

  4. Pods and application is started.

Learn more