Deriving Business Value from Microservices
Microservice architecture is hot, but do you get business value from it?
The following is an excerpt from the book “Microservice Architecture: Aligning principles, practices, and culture” written by Irakli Nadareishvili, Ronnie Mitra, Matt McLarty and Mike Amundsen, and published by O’Reilly Media, Inc. Nadareishvili is CTO and co-founder of ReferWell. Mitra, McLarty and Amundsen are members of the API Academy at CA Technologies.
Successful companies do not focus on increasing software delivery speed for its own sake. They do it because they are compelled by the speed of their business. Similarly, the level of safety implemented in an organization’s software system should be tied to specific business objectives. Conversely, the safety measures must not get in the way of the speed unnecessarily. Balance is required.
For each organization, that balance will be a function of its delivery speed, the safety of its systems, and the growth of the organization’s functional scope and scale. Each organization will have its own balance. A media company that aims to reach the widest possible audience for its content may place a much higher value on delivery speed than a retail bank whose compliance requirements mandate specific measures around safety. Nonetheless, in an increasingly digital economy, more companies are recognizing that software development needs to become one of their core competencies.
In this new business environment, where disruptive competitors can cross industry boundaries or start up from scratch seemingly overnight, fast software delivery is essential to staying ahead of the competition and achieving sustainable growth.
In fact, each of the microservice architecture benefits that drive delivery speed contribute real business value:
- Agility allows organizations to deliver new products, functions, and features more quickly and pivot more easily if needed.
- Composability reduces development time and provides a compound benefit through reusability over time.
- Comprehensibility of the software system simplifies development planning, increases accuracy, and allows new resources to come up to speed more quickly.
- Independent deployability of components gets new features into production more quickly and provides more flexible options for piloting and prototyping.
- Organizational alignment of services to teams reduces ramp-up time and encourages teams to build more complex products and features iteratively.
- Polyglotism permits the use of the right tools for the right task, thus accelerating technology introduction and increasing solution options.
Likewise, digital native consumers expect always-on services and are not shy about changing corporate allegiances. Outages or lost information can cause them to take their business elsewhere. A safe software system is indispensable. The safety-aligned benefits discussed earlier also provide particular business value:
- Greater efficiency in the software system reduces infrastructure costs and reduces the risk of capacity-related service outages.
- Independent manageability contributes to improved efficiency, and also reduces the need for scheduled downtime.
- Replaceability of components reduces the technical debt that can lead to aging, unreliable environments.
- Stronger resilience and higher availability ensure a good customer experience.
- Better runtime scalability allows the software system to grow or shrink with the business.
- Improved testability allows the business to mitigate implementation risks.
Clearly, microservice architecture has the potential to provide numerous business benefits. However, not every organization needs every benefit, and not every microservice architecture is capable of delivering all of them. With that in mind, let’s now look at how an organization can combine its business objectives with the potential benefits of microservice architecture to tailor a goal-oriented approach.