“Akka Serverless is really the first of its kind”
We chatted with Jonas Bonér, CEO and Founder of Lightbend about Akka Serverless and what makes it so different from other architectures. Jonas explains how data is kept secure in Akka Serverless and what limitations it removes with its data-centric backend application architecture.
JAXenter: Hi Jonas, thanks for the interview. Right out of the gate, let’s talk about Akka Serverless. What makes this new architecture so different?
Jonas Bonér: Akka Serverless is really the first of its kind. A lot of energy has gone into abstracting away the underlying infrastructure of the cloud with technologies such as Kubernetes and that has moved the industry forward significantly. But building high-performance, highly scalable, and resilient back-end services, and APIs takes a lot of specialized expertise – distributed computing is hard, even in a containerized world.
Akka Serverless abstracts away all of the hard stuff required to build this class of services – including databases, caches, and message brokers – allowing the developer to focus where there is the biggest value: the business logic.
JAXenter: How is data kept secure in Akka Serverless?
Jonas Bonér: Data is an incredibly important asset for any company, so we’ve spent a great deal of time coming up with a proper architecture that makes Akka Serverless as secure as possible.
Each project that developers create on Akka Serverless gets a unique scope. Within that scope, we make sure that incoming traffic is limited to only those services that developers have exposed to the outside world. From our “front door” to the pods running the services, all data is secured with mTLS connections. The data that we store is encrypted using AES256.
JAXenter: What are some of the biggest challenges organizations face in regards to serverless?
Jonas Bonér: The move to the cloud to date has primarily been about two things: infrastructure optimization and the adoption of SaaS applications. The next quantum leap of value generated by the cloud will come when serverless is able to address the full gamut of applications required to run a business.
But serverless today has been limited in applicability due to challenges related to performance, the management of state at scale, and the architectural complexity of building real-time systems with a serverless paradigm. But that is changing fast. We anticipate massive disruption to the status quo with entire swaths of today’s software infrastructure becoming abstracted by high-value stateful serverless offerings like Akka Serverless.
JAXenter: What limitations does Akka Serverless remove?
Jonas Bonér: Akka Serverless provides a data-centric backend application architecture that can handle the huge volume of data required to support today’s cloud native applications with extremely high performance. The result is a new developer model, providing increased velocity for the business in a highly cost-effective manner leveraging existing developers and serverless cloud infrastructure.
Another huge bonus of this new distributed state architecture is that, in the same way as serverless infrastructure offerings allow businesses to not worry about servers, Akka Serverless eliminates the need for databases, caches, and message brokers to be developer-level concerns.
JAXenter: Cloud complexity is a big topic these days. How can we help reduce cloud complexity? What are some of the best practices?
Jonas Bonér: We believe that developers want to write code, and as we looked at removing the database from the equation we knew that bringing along the best practices of Domain Driven Development and microservices would be immensely beneficial.
Developers can express their data structure in code and the way Akka Serverless works makes it very straightforward to think about the “bounded context” and model their services in that way too. With Akka Serverless we tightly integrate the building blocks to build highly scalable and extremely performant services, but we do so in a way that allows developers to write “what” they want to connect to and let the platform handle the “how”.
As a best practice you want microservices to communicate asynchronously using message brokers, but you don’t want all developers to have to figure out how to connect to them and interact with them. Akka Serverless provides a higher-level abstraction on top of that so it’s a straightforward API that you use in your code and Akka Serverless handles connecting to it.
JAXenter: You mentioned that Akka Serverless supports multiple programming languages. Can you give me some examples?
JAXenter: How does Akka Serverless scale?
Jonas Bonér: Firstly, as the name implies, Akka Serverless is built on Akka which powers some of the world’s most scalable systems. Akka’s reactive architecture was designed for massive scalability and performance and you might well have used Akka today without knowing it – and you certainly did if you bought a Starbucks, watched Disney+, used LinkedIn, or played Fortnite.
Secondly, Akka Serverless uses a high-performance distributed database for data persistence. Finally, Akka Serverless leverages Kubernetes under the covers to handle container orchestration at scale. But the great thing is that all of this is completely abstracted away from the developer – there is no requirement for the developer to understand reactive architectures, distributed databases or Kubernetes in order to build a massively scalable system.
JAXenter: Does Akka Serverless compete against AWS’s Lambda?
Jonas Bonér: Not really, since today’s serverless offerings are not really designed for the kinds of stateful applications that this solution is being used to develop. If a developer is happy using Lambda today, that’s great. We see Akka Serverless as bringing the possibilities of the incredible serverless paradigm to a much broader set of developers who, until now, have not been able to use serverless for building high-performance business-critical applications.
JAXenter: Could you tell us more about Lightbend’s Cloudflow? How does Cloudflow interact with Kubernetes, and what benefits does it offer?
Jonas Bonér: Cloudflow is an open source project that we have commercialized with a product called Akka Data Pipelines. It is used by developers building large-scale streaming data pipelines and, similarly to Akka Serverless, abstracts away many of the complexities of building this challenging set of applications. In particular, Akka Data Pipelines makes it easy to apply machine learning models to real time streams of data and the deployment of a full streaming data pipeline onto Kubernetes is managed with a single click.