During our Akka Serverless open beta launch event on June 16, 2021, we received a lot of incredible questions. We weren’t able to answer all of them live, so we’re taking the opportunity to highlight a few of them. You can also check out the full Akka Serverless FAQ and the documentation for more details.
Let’s start off with a little bit of context. During the event, we said that Akka Serverless is “databaseless”. In the same way that serverless still requires servers to run, databaseless still uses an actual database so it’s not all kept in memory. The whole idea behind databaseless is that developers don’t have to worry about connection pooling in their services, schema design, security, upgrades, etc.
From a developer perspective, you can design the data structure that fits your service best and Akka Serverless handles all the rest. Here is a less-than-1-min video I made about defining your state model in Akka Serverless (more videos):
During the event, we had special guest Rob Howes of Judopay share what he and his team are working on. As Rob was talking, one of the questions we got was whether it was possible to build backends for games. That’s absolutely possible!
At an internal hackathon, a Lightbend engineer decided to build a complete chess application in Akka Serverless. Some other amazing use cases that we’ve seen during the Private Beta were backends for project management tools, IoT platforms to correlate sensor data, payment engines, and many more. You can use Akka Serverless for anything where you need to build stateful, high-throughput, low-latency services!
One of the design goals for Akka Serverless is to provide a very tightly integrated experience, where developers can think about what they want to connect and not how that should happen. All of the services that you create automatically get gRPC endpoints so you can integrate them into your stack in a straight-forward way. As a developer you don’t have to write any special code for that, Akka Serverless takes care of it.
Since we know not all systems support gRPC just yet, you can use the HTTP integration to add a RESTful endpoint to your service as well. From an Akka Serverless perspective these two, just like the eventing option with Google Cloud Pub/Sub, are configuration. Regardless of what you connect to, Akka Serverless makes sure that you get the data of your request and your state delivered to your function at the right time.
In the Value Entity example, I could have added an Action that is triggered when new data arrives and emits that data to a topic. A service in Java, for example, could subscribe to those events and enrich them with additional data before putting them in a View. For Akka Serverless, it really doesn’t matter which language you write your service in.
Akka in Akka Serverless isn’t just in the name of the product, the URL, or the command line interface. The technology that powers Judopay, Dream 11, or Verizon Wireless is the cornerstone of Akka Serverless. Using Akka, Akka Serverless delivers the scalability, resilience, and performance that you’d expect from our technology. At the same time, we wanted to make sure that building services would not be limited to just Scala or Java developers.
With Akka Serverless, we’re extending the Akka continuum and opening the doors to developers of all sorts of languages to use what they feel comfortable with to build low-latency and high-throughput services.
We totally understand that you’re curious to take Akka Serverless for a spin. To do so, simply register for an Akka Serverless account–from there you enter the “magical world of stateful serverless”.