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 the Life Preserver Tool does, an intro

10/29/2014

0 Comments

 
I am just in the process of writing the design and architecture sections of my book on LeanPub, “Antifragile Software: Building Adaptable Software with Microservices”, and so I thought I’d drop some snippets of what’s coming here as well.

This part of the book aims to help you either migrate from a monolith or to approach a green field project while sensibly deciding on what components of your system need to be present, what granularity those components need to be, and which components would make good candidate micro services. To achieve this I use a diagrammatic tool I invented for just this purpose, the Life Preserver.

In software development, great diagrams can be judged according to two things:

  • What questions they answer
  • What questions they ask

The Life Preserver tool is a diagram that does the following:

  • Helps you decide where your components goes
  • Helps you decompose your components so that they can have a single responsibility
  • Help you visualise how the pace of change affects the components in your system
  • Helps you decide how de-coupled components in different areas of your application need to be based on the differences in speed and frequency of change.
  • Helps you decide to spin-out microservices from your design to best effect.

To do this the Life Preserver is usually developed using the following main phases:
  • Organise, Reduce and Encapsulate your components across your system’s architecture
  • Group Components that change together, together
  • Decide on the appropriate level of de-coupling between components
  • Where useful, convert components into simple, event-driven components using CQRS strategies.
  • Decide what components to implement Postel’s law within in service of the de-coupling of the contracts between components
  • Decide which components make good candidate microservices that therefore need to be spun out into their code repositories so that they can be evolved at their own rate.
  • Decide on the integration strategies and patterns that need to be applied between your microservices.
  • Decide where micro service pipelines will help the comprehension and simplify your microservices.
  • Decide objectively on the choices of implementation on a per-microservice basis

When you’re experienced with the Life Preserver these steps are not exactly sequential in terms of how they are applied. However for the purposes of the book, and to make it easier to learn them, they are presented in the book in sequence as we build a real-world system that needs to evolve at the speed of the surrounding business’ need to innovate and compete.
0 Comments



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.