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

Why Antifragility? Why Microservices?

2/9/2016

2 Comments

 
by Russ Miles & Sylvain Hellegouarch (of Simplicity Itself), 9th February, 2016
I get asked all the time "Why Microservices?", mainly by lovely people who have got a little caught up in the term itself. The question is often followed with something size-related such as "How big should my microservices be?".

This is not wrong! After all, 'micro' is in the name ... unfortunately.

The answer though is a little more complicated, as explained in our Antifragile Software book. The main reason I've seen for people to adopt microservices is that:

"The business needs to adapt and we need our software to keep up!"

As agility has been introduced and refined into the business the bottleneck often shifts to the software itself. I call this the "Elephant in the Standup" in my talks; the elephant is all the software you have that is now going to be in conflict with today's changes.

​Software is essential to the modern business and you only have to check out the excellent Phoenix Project book to get a wonderful explanation of how software likely is your business. Unfortunately that means if your software is slow to react to the increasingly rapid change in business need, then it is the software that becomes the inertia in the system.

Genuine complaints from the business usually take the form of:
  • lack of flexibility
  • poor performance 
  • incapacity to deliver fast enough
  • loss of confidence in the development teams...
In other words, software development is perceived as letting down the business.

This is why we need adaptable software, and microservices offer a great opportunity to enable it.

What does the business need?

At a basic level, most business leaders would agree that they want to:

● Address new, and potentially not yet anticipated, opportunity
● Listen and learn from their market and customers
● Re-align the products themselves, quickly, to these learnings

In short, the modern business needs to adapt on a continuous and relatively unplanned basis. When a business cannot adapt fast enough, it fails to address those goals and opportunities.

By designing software to thrive on change will the software delivery be able to gain its true value as partner in success of the company.

Software that thrives on change is Antifragile Software. Antifragile Software through Microservices is our mission here at Russ Miles & Associates.
Read more articles
2 Comments
Augusto
2/9/2016 07:53:09 am

I find it interesting that there are some organisations using microservices which face the same issues and have the same complaints, and organisations using monoliths that realise all of the benefits and none of the drawbacks mentioned here.

There is such a thing as a good monolith and a bad microservice architecture. Both are options, can be successful or can fail to deliver; and neither is a silver bullet.

Reply
Russ Miles link
2/9/2016 07:59:34 am

Good point! While these advantages are by no means the sole domain of microservices, microservices (especially where events are considered the ubiquitous language of the system) do typically open up more options than a monolith. At the very least in terms of small-grained options around scalability amongst other things.

But that's not to say that a well-design monolith can't achieve some of the benefits. My Life Preserver tool is in fact equally applicable to building a better monolith, preparing the ground for microservices or even approaching a system with only microservices in mind.

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.