Presented by Lightbend


50 years ago this year, Carl Hewitt invented the actor model, a computational model embracing non-determinism, which assumes all communication is asynchronous. Non-determinism enables concurrency, which, together with the concept of long-lived stable addresses to stateful isolated actors, allows actors to be decoupled in time and space to support service distribution, location transparency and mobility.

Today, the world has caught up with Hewitt’s visionary thinking; multi-core processors, cloud and edge computing, IoT and mobile devices are the norm, and the need for a solid foundation to model concurrent and distributed processes is more significant than ever. Actors provide the firm ground required to build complex distributed systems that address today’s challenges in cloud and edge computing.

As Carl Hewitt once said, “One actor is no actor.” Actors come in systems. They collaborate, replicate, self-organize and self-heal, not far from biological systems observed in nature. What is fascinating about actor systems is that the harsher, less predictable and more prone to failure the environment is, the more they thrive. It is the ultimate programming model for tackling the challenges at the edge.

A programming model for tackling the challenges at the edge

In my vision,  the cloud and edge are not viewed as separate things, “either-or” or “black and white,” but as a continuum. In an ideal world, one should not have to think about cloud and edge differently—design, architect and develop for each separately. There is too much complexity standing in the way of getting things done that developers have to deal with. They’re finding their way through a jungle of products, libraries, tools and techniques, and then left with the puzzle of composing their selections into a single functioning system.

We need to raise the abstraction level and liberate developers, set them free to focus on the essence: writing business logic. This calls for the unification of cloud and edge, a single programming model, runtime and data fabric that abstracts and manages the underlying details, complexity and vast differences in infrastructure requirements and the guarantees it can provide.

Leveraging the power of the actor model

This is why I created Akka: to put the power of the actor model into the hands of all developers. I envisioned a single programming model, runtime and data fabric for and across the cloud-to-edge continuum. Leveraging the power of the Actor Model, you can write your service once, and then see it run anywhere throughout the whole continuum—from the centralized cloud and then, all the way out to the devices.

Where something will run -- on-prem, cloud, edge or device -- should not dictate how it is designed, implemented or deployed. The optimal location for a service at any specific moment might change and is highly dependent on how the application is being used and the location of its users. Instead, the guiding principles evolve around data and service mobility, location transparency, self-organization a self-healing and the promise of physical co-location of data, processing and end-user—meaning that the correct data is always where it needs to be, for the required duration, nothing less or longer, even as the user moves physically in space.

The cloud to edge continuum isn’t just a plan for the future, it’s already a reality. It marks the beginning of a new path of rapid innovation for organizations, and we at Lightbend are excited to see where it leads.  And in all actuality, I think we are just getting started.

For more on unifying the cloud and the edge with Akka, don’t miss Jonas Bóner's blog.

Jonas Bonér is founder & CEO at Lightbend.


Sponsored articles are content produced by a company that is either paying for the post or has a business relationship with VentureBeat, and they’re always clearly marked. For more information, contact sales@venturebeat.com.