Home United States USA — software From Microliths to Microsystems: Jonas Bonér at QCon London

From Microliths to Microsystems: Jonas Bonér at QCon London

432
0
SHARE

At QCon London, Jonas Bonér, CTO at Lightbend, presented “From Microliths to Microsystems”, and explored microservices from first principles, and discussing the architectural style in the context of distributed systems. Key takeaways included: avoid building ‘microliths’, and instead create systems that are…
At QCon London , Jonas Bonér , CTO at Lightbend, presented ‘ From Microliths to Microsystems ‘. Bonér explored microservices from first principles, and discussing the architectural style in the context of distributed systems. Key takeaways included: avoid building mini-monoliths, or so-called ‘microliths’, and instead create systems that are resilient and elastic; minimise coupling and communication within system; ’embrace reality’ by utilising reactive programming, reactive system design and eventual consistency; stateless behaviour should be separated from the stateful entity to enable easier scalability; and practice events-first Domain-Driven Design (DDD).
Bonér began the talk by stating that « we have been spoiled by the [design simplicity of the] almighty monolith », but the challenges of scaling development activities around a monolithic codebase mean that embracing the microservice architectural style is now ‘becoming a necessary evil’ for many organisations. Microservices are effectively distributed systems, and developers must design both individual microservices and the overall architecture accordingly.
Much like actor-based applications , which are naturally composed of multiple actors to accomplish any arbitrarily complex task, a microservice-based application should be designed as a distributed system composed of multiple services.
Each microservice needs to be designed as a distributed system: a microsystem. We need to move from microliths to microsystems
Bonér proposed that many developers are building ‘microliths’: a single instance microservices that is not resilient or elastic.

Continue reading...