Lightbend today announced a collection of open source releases to highlight our focus on simplicity, ease of deployment and wider breadth of options for integration and persistence. The adoption of gRPC, for example, introduces another level of collaboration with additional service types, and better integration for a new generation of infrastructure and services in Kubernetes and its ecosystem. We continue to bring the strengths of Reactive systems to applications infrastructure.
The Kubernetes market is predicted to grow significantly. By improving our integration with Kubernetes and specifically Red Hat OpenShift, we enable Reactive developers to extend and unlock the strengths of both Kubernetes and Lightbend’s open source frameworks to build Reactive systems that transform organizations and open up new opportunities.
Additionally, we have delivered continued improvement on integration, persistence, and expanded the ways and endpoints your reactive systems can interact with the wider melange of relevant systems. All while maintaining core Reactive principles and capabilities. Scala continues its journey towards 3.0, and 2.13 solidifies this bridge to a common yet transitional feature set.
We have delivered as a set of releases to increase our level of support for Kubernetes and its wider ecosystem, including:
* Standardized and better curated the Alpakka and Alpakka Integration connectors, and announced stable APIs in Alpakka 1.0
* Introduced new and improved collections for Scala 2.13
* Worked to make the deployment of Reactive technologies to Kubernetes, specifically the formation of clusters and deployment on Red Hat OpenShift, easier and more accessible
* Improved integration with Akka Service Discovery in Akka Management
1.0 — aligning service discovery for Lagom services and gRPC services
* Continued to update all framework dependencies for security and interoperability
* Updated to the latest versions of Akka HTTP and Alpakka Kafka
* Ensured compatibility with Akka gRPC (for both Play and Lagom), including documentation and examples
* Released additional community-contributed features, such as support for Caffeine in memory cache for Play 2.7, and a new, native Akka Streams MQTT Alpakka connector to remove blocking, excessive memory use and other issues.
SOME OF THE NEW FEATURES AND RELEASES:
The focus for 2.13 is compiler performance, simplifying collections, modularizing the standard library and increased user-friendliness.
The new and improved Actor API (Akka Typed) and remote messaging protocol (Artery) are now ready to be used in production. A brand new “Akka Coordination” module provides additional safety for Akka Cluster via an extensible API for distributed locking, with a Kubernetes-native implementation available to subscribers of Lightbend Platform.
Akka HTTP 10.1.8
Many small improvements to header handling, error management, and more.
Akka Management 1.0
Akka management simplifies the cluster formation and service discovery process, particularly with Kubernetes deployments.]
Elasticsearch connector now has support for the new Akka Stream context propagation feature AWS DynamoDb, Google Cloud Pub/Sub gRPC, Kudu now use Akka Stream attributes to inject needed resources Apache Solr, AWS Kinesis, Geode, Google FCM, HBase, HDFS, IronMq, MongoDb, OrientDb, XML connectors have been refactored to more closely follow Alpakka connector guidelines. Most of the connectors now support Scala 2.13.0-M5.
Alpakka Kafka 1.0
Introduced a stable API, upgraded the Kafka client to support Kafka broker versions up to 2.1.1, and introduced the Alpakka Kafka testkit to improve the testing process.
gRPC: Play now offers play-grpc which is a module built on top of akka-grpc and gives you experimental support to declare your services in this format.
Akka Coordinated Shutdown: Play 2.6 introduced the usage of Akka’s Coordinated Shutdown but still did not use it all across the core framework or expose it to the end user. Coordinated Shutdown is now used internally to handle Play’s lifecycle.
We have introduced a new cache implementation based on Caffeine:
Caffeine is a high performance, near optimal caching library based on Java 8 Major Library Updates: Play 2.7 brings a new version of most of its dependencies. The updates mainly include new features, security and overall fixes. See a list of the most important updates in our migration guide. Of course, we are also bringing the latest version of our own libraries such as Play JSON, Play-WS and Twirl.
TLS Support: Lagom in both dev mode and tests supports basic usage of TLS by means of self-signed certificates provided by the framework Cluster Formation: A new mechanism to form and join an Akka Cluster is introduced in Lagom 1.5. Apart from the original Manual Cluster Formation the new Akka Cluster Bootstrap is now supported Additional Routers: As of Lagom 1.5 it is possible to extend the routes exposed by your service gRPC: Lagom 1.5 introduces support for cross-service gRPC communication Deployment: Neither ConductR not Lightbend Orchestration are supported in Lagom 1.5.
OpenShift/Kubernetes deployment guide (replacing Lightbend Orchestration)
A new and improved guide for deploying Lightbend applications in OpenShift and Kubernetes OpenShift and kubernetes deployment guide
Akka Persistence Couchbase
The Akka Persistence Couchbase plugin allows for using Couchbase 5.1 and newer as a backend for Akka Persistence and Akka Persistence Query. It can also be used with Lagom Persistence.
In this period, we are DEPRECATING LIGHTBEND ORCHESTRATION, and replacing it with a more comprehensive approach to deployment, as outlined in our new guide (see above). We feel this better reflects the open nature of the Kubernetes ecosystem, and allows for customization that reflects developers use of the frameworks.
SUMMARY AND A LOOK FORWARD:
This set of releases brings wider interoperability and increased deployment options to reactive systems and the frameworks they are built in. We will continue to deliver more features, and broader integration options to the reactive developer with Lagom, Akka, Play and Alpakka.
We hope our commitment to all core Reactive frameworks is apparent, and welcome your feedback as we progress.
OUR PLANS FOR THE NEXT PERIOD INCLUDE:
* Completing Scala 2.13 and supporting it across the Lightbend Platform
* Providing full compatibility for Java 11
* Improvements to documentation for all projects
* Alpakka support for context passing in more connectors
* Akka Persistence Cassandra 1.0
* Akka 2.6, including a stable API for Akka Typed
* Integrating Akka Typed into Play and Lagom