A New Trilogy: The Enterprise Architect's Intro to Microservices
An architect's guide to going from monolith to microservices
Earlier this summer, Lightbend CTO & Co-founder (and creator of Akka) Jonas Bonér and Enterprise Advocate Kevin Webber were seeing their vacation time more as a far-off dream than a plausible reality.
Jonas had just published the free O'Reilly book titled Reactive Microservices Architecture–called "the best single source of the key ideas needed to design modern Reactive systems" by John Nestor–and we wanted to make it even easier to get the principles of microservices architectures into the hands of Enterprise Architects, CTOs, App Dev Managers and other decision makers. With the story of going Reactive with microservices in place, Jonas and Kevin set to work breaking down this concise, valuable book into a three-part series.
This post consolidates all three webinar presentations in a single place, so get some popcorn out and enjoy the show(s)!
Part 1 - Microservices, Monoliths, SOA and How We Got Here
As microservices-based architectures continue to rise against traditional monolithic systems, it's useful to take a look back to the past to understand how we got to where we are today with heritage applications, and the challenges they pose to productivity, agility, and performance.
In Part 1 of 3, Kevin reviews a bit of history of application development, from the early days of monoliths and SOA to the emergence of Microservice architectures. Looking at the drawbacks of heritage architectures, Kevin describes how the principles of Reactive can help you build isolated services that are scalable, resilient to failure, and combine with other services to form a cohesive whole.
Part 2 - The 6 Traits of Reactive Microservices: Isolated, Asynchronous, Autonomous and more
It's a different world, and when it comes to computing, everything from multi-core processors to the price of RAM and disk have changed remarkably compared to 10 years ago...
In Part 2 of 3, Jonas shares the 6 characteristics of Reactive Microservices that matter for having responsive, elastic, resilient systems that harness the power of advances in hardware and cloud infrastructure. Starting with importance of decomposing systems in discrete, isolated services that are decoupled in both time (i.e. concurrency) and space (i.e. distribution and mobility), Jonas continues with reiterating the need for asynchronous, message-driven communication and maintaining service mobility with these 6 principles for successfully working with microservices:
- Isolate All the Things
- Act Autonomously
- Do One Thing, and Do It Well
- Own Your State, Exclusively
- Embrace Asynchronous Message-Passing
- Stay Mobile, but Addressable
Part 3 - Exploiting Reality with Microservices in Production Systems
One microservice is no microservice: they come in systems. To get the benefits of truly distributed systems (i.e. and not "distributed monoliths"), a new set of challenges present themselves to architects and development teams.
In Part 3 of 3, Jonas returns to discuss what any Enterprise Architect will come to understand––to exploit reality, we need to live and operate within its constraints (i.e. accepting that time is relative, information has latency and so on), in order to bend these laws of concurrency and distribution. Here we review the real-life needs of systems of Microservices, including details on how to manage:
- Service discovery
- API management
- Communication patterns management
- Security management
- Data coupling minimization
- Reducing the cost of coordination
Don't wait for a blocker to arise...
We are on this journey together and your success is our top priority. If you want to jumpstart your modernization initiative with Reactive Platform technologies, Lightbend is the best way of building distributed systems on the JVM.
A Lightbend Subscription goes far beyond the traditional vendor support offering: our customers benefit from the incredible value that our technical expertise and subscription program brings to their development initiatives, resulting in less mistakes and a faster time to value.