The latest version of the microservices framework Lagom comes with Akka Management, a set of tools for operating Akka powered applications, and support for deployment with Kubernetes or OpenShift. The recently released version 1.5 is built on Play 2.7.0, Alpakka Kafka 1.0 and Akka 2.5.22, and also adds support for Couchbase and gRPC through Akka gRPC.
The new Akka Management tools allow for remote inspection of the state of the Akka Actor System through a dedicated HTTP endpoint. Lagom will also by default add several routes to the endpoint for health checks.
The new tooling has also made it possible to introduce Akka Cluster Bootstrap which discovers existing nodes in the environment, instead of using a static list of seed nodes. The Akka team recommends migrating to the new Cluster Bootstrap, because they find it both simpler and more robust.
With the new version, support for Lightbend Orchestration is removed due to the increased friction and reduced flexibility it brought to deployment. In the future, there will be no automated handling of deployments; instead the recommendation is to do this manually. For deployments targeting OpenShift or Kubernetes environments, the team have written a guide on how to Deploy Lightbend Applications.
Incubating (not fully tested, maybe with limited functionality) support for cross-service gRPC communication is introduced to give developers more transport alternatives, besides the existing HTTP/JSON-based transport, hopefully increasing the adoption of their services. gRPC requires HTTP/2, but this is already supported by Lagom.
Another incubating feature is support for Couchbase, which adds one more alternative for persistent entities (an Aggregate root in DDD terms) and read-side processors (responsible for the read model) through the Akka Persistence Couchbase module. Lagom already supports Cassandra, PostgreSQL, MySQL, Oracle and H2.
Other improvements include:
- TLS basic support both in development mode and in tests by means of self-signed certificates provided by the framework
- Additional routers, giving the possibility to extend the routes exposed by a service
- Incubating support for Java 11
A guide for migration from Lagom 1.4 to 1.5 is available. For migration from earlier versions the recommendation is to first upgrade to the latest version of 1.4 before migrating to 1.5.
An updated version, 1.5.1 have also been released which adds a new Service locator implementation based on Akka’s Service discovery. This is a replacement for the locator from Lightbend Orchestration, which was removed in 1.5.
Lagom is an open source microservices framework for Java and Scala built on Akka and Play. Lagom is specifically designed for reactive applications with CQRS and Event Sourcing as fundamental concepts.
In an interview with Jonas Bonér, CTO of Lightbend and creator of Akka, when Lagom was first released, he argued that most available microservices frameworks focus on making it easy to build individual microservices — which is the easy part. Lagom extends that to systems of microservices, large systems — which is the hard part, since we here are faced with the complexity of distributed systems.