Speed, Agility, Resilience
Trusted Experts in Microservices, Cloud Native & Chaos Engineering
  • Home
  • EBooks
  • Contact Us
  • Consultancy
    • One-to-One Online Consultancy
    • Onsite Consultancy
  • Training
    • One-to-One Online Training
    • Building Reliable Systems
    • Building Antifragile Systems with Microservices Course
    • Fast Track to Cloud Native Java
    • Fast Track to Applying DDD for Effective Microservices
    • Fast Track to Running Production Microservices
    • Fast Track to Chaos Engineering
    • Autumn of Cloud Native
  • Speaking
    • Schedule
    • Slides and Videos
    • Brown Bag Events
  • Blog
  • FAQ
  • Client Feedback
  • Gallery
  • (Print) Books
  • Essais

What is the Life Preserver design and thinking tool for Software?

3/24/2014

1 Comment

 
The first step to building antifragile software is often to 'break apart the monolith’. A monolithic piece of software constrains your choice of technologies, languages and speed of change to the lowest common denominator, and also represents a system to make robust (at best) or to accept is fragile (at worst).

Antifragile software systems aim to thrive on change, and any such system if it is robust or fragile in its entirely will resist or fear change respectively. Therefore the monolith is often identified as the main problem.

But how to go breaking apart the monolith? This is why I invented the simple Life Preserver design tool that I’ve now used successfully with hundreds of clients across dozens of domains. A couple of examples of the Life Preserver in action are used by the new Spring.io site and linked to below:
  • Designing and Implementing RESTful Web Services with Spring
  • Data Access with Spring
  • Designing and Implementing a Web Application with Spring

In a nutshell, the Life Preserver tool looks to answer the following questions:
  • Where does my component go? - The Life Preserver tool helps you group together components into areas where they evolve at the same rate as other components.
  • What should my component do? - Components can be analysed and migrated towards single-purpose and ensure that they do no accidentally cross-boundaries between evolutionary rates of areas of your application.
  • What should be the coupling between my components/areas of my architecture? - Various components and techniques can be assessed for the level of de-coupling they provide between evolutionary areas of your application, allowing you to choose the right level of complexity of approach for the right level of de-coupling. This is the jumping off point to begin to break out some of those single-purpose components as services in their own right, as and when the advantages of microservices become attractive.

Simple to use but sometimes tricky in nuance, my book “Antifragile Software” goes into more detail on how to use the Life Preserver (or at least it will by the end of this week!) with the aim to prepare your architecture to gain the advantages in the right places of separating out antifragile, reactive microservices. 
1 Comment
Thots Ontario link
1/27/2021 04:27:47 pm

Great reading your post

Reply



Leave a Reply.

    Musings on software development

    Archives

    September 2017
    June 2017
    November 2016
    September 2016
    May 2016
    February 2016
    September 2015
    August 2015
    June 2015
    March 2015
    January 2015
    December 2014
    November 2014
    October 2014
    June 2014
    May 2014
    April 2014
    March 2014
    February 2014
    December 2013
    August 2013

    Categories

    All
    Announcements
    Antifragile
    Books
    Innovation
    Life Preserver
    Microservices
    Philosophy
    Psychology
    Reviews
    Software

    RSS Feed

Products

EBooks
​(Print) Books
Consultancy
Training
​
Speaking

Company

Essais
FAQ
Client feedback
Gallery

Support

Contact
Picture
© COPYRIGHT 2018. ALL RIGHTS RESERVED.


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.