Jonas Bonér is a Java
programming pioneer, perhaps best known as the author of Akka, a toolkit and
runtime for distributed, resilient applications on the JVM. He's also the CTO
and co-founder of Lightbend (formerly Typesafe) that he started with
Scala creator Martin Odersky in 2011. He knows a lot about building scale-out
applications. Lightbend just announced a new framework called Lagom
that is designed for Java developers building microservices.
Bonér is Swedish
and Lagom means ‘just right' in Swedish. I asked him to tell me more about the
thinking behind Lagom.
VMblog: What problem
are you trying to solve with Lagom?
Jonas Bonér: People want to move their application architecture
from monoliths to microservices for all kinds of good reasons. But it's hard.
Lagom makes it much easier. Microservices-based architecture itself is a simple
concept; it advocates creating a system from a collection of small, isolated
services, each of which owns their data; independently, isolated, scalable and
resilient to failure. Services integrate with other services in order to form a
cohesive system that's far more flexible than the typical enterprise systems we
build today.
Traditional enterprise systems are designed as monoliths;
all-in-one, all-or-nothing, difficult to scale, difficult to understand and
difficult to maintain. Monoliths can quickly turn into nightmares that stifle
innovation, stifle progress, and stifle joy. The negative side effects
monoliths cause can be catastrophic for a company. Remember the Twitter Fail
Whale? That was a monolithic Ruby on Rails app. Moving to a microservices
architecture, and Scala, rescued them.
VMblog: In your opinion, why aren't
more organizations moving more quickly to microservices then?
Bonér: Certain technical constraints held us back from
taking the concepts embedded within the microservices term to the next level:
single machines running single core processors, slow networks, expensive disks,
expensive RAM, and organizations structured as monoliths. Fast forward to 2016.
The technical limitations holding us back from microservices are gone. Networks
are fast, disks are cheap (and a lot faster), RAM is cheap, multi-core
processors are cheap, and cloud architectures are revolutionizing how we design
and deploy systems.
Designing and programming software is fun and is why most of
us entered the software industry to begin with. Microservices are more than a
series of principles and technologies. They're a way to approach the complex
problem of systems design in a more empathetic way.
Microservices enable us to structure our systems the same
way we structure our teams, dividing responsibilities and among people and ensuring the people doing the
actual work are free to own their work. As we detangle our systems, we shift
the power from central governing bodies to smaller teams who can seize
opportunities rapidly and stay nimble because they understand the software
within well defined boundaries that they control.
VMblog: It sounds like
a more, almost humane, approach to software architecture.
Bonér: As always, new challenges demand a new way of
thinking and we have seen new systems emerge that are designed to deal with
these new challenges, systems that are built on the Reactive principles, as
defined by the Reactive
Manifesto.
The Reactive principles are not in any way new. They have
been proven and hardened for more than 40 years, going back to the seminal work
by Carl Hewitt and his invention of the Actor Model, Jim Gray and Pat Helland
at Tandem Systems, and Joe Armstrong and Robert Virding and their work on
Erlang. These people were ahead of their time, but now the world has caught up
with their innovative thinking and we depend on their discoveries and work more
than ever.
What makes microservices interesting is that this
architecture has learned from the failures and successes of SOA, kept the good ideas and re-architected them from ground up
using Reactive principles and modern infrastructure. Microservices are one of
the most interesting applications of the Reactive principles in recent years.
##
Once again, thanks to Jonas Bonér, CTO and co-founder of Lightbend, Inc., for talking with VMblog.com.