From software architecture to digital architecture
What I like the most with architecture is that, this is a living thing and, the more you learn, the more you realize that your knowledge can be improved.
My first contact with algorithmic was back at the university with my professor Michael Griffiths and his book “Algorithmique et programmation”.
I discovered the basics of algorithmic and some first jewels like the “Red-Black tree” (https://en.wikipedia.org/wiki/Red%E2%80%93black_tree) for data balanced access.
Later, in the same university, I had the chance to be part of the first promotions that was studying multi-dimensional data classification , constraint optimization (with algorithms like the simplex) and graph representation (path optimization, colorization …)
Then, I discovered a book that really influenced my path toward architecture :”Design Patterns” (https://en.wikipedia.org/wiki/Design_Patterns).
Written in 1994 with the gang of Four or GOF (Eric Gamma, Richard Helm, Ralph Johnson and John Vlissides), this book defined a set of 23 classic software design patterns that are considered by the community as a reference and a “must-know” for any position as software or system architect. I was impressed by this book because it does not only give a clear description of the patterns and how it works, but also questions and elements that needs to be collected to understand the benefits and drawbacks of using each pattern.
As new technologies emerge and many mature tools are created to use them, the architect work evolved in the last years from the algorithmic basics to new patterns that cover how to combine existing products or services to create business solution. For digital services especially, the specificity of the cloud (and the technologies that run on it) push you to consider a new set of patterns and practices.
In his book “Microservices Patterns”, Chris Richardson has compiled a very good architecture summary of those new patterns needed for digital.
The most common issue of digital services is the “Monolith Hell” which is to have a solution that is providing several digital services, but that is structured as a huge monolith. This monolith will slowly reduce the speed of development and increase complexity for new features.
The author use, as a book thread, the FTGO application that manage food preparation and delivery for customers (which is, by the way, one of the many solutions that has been accelerated by the COVID). From there, he defines and presents by example 44 design patterns for digital. For each of them, you can find a simplified description on his website https://microservices.io/patterns/index.html
It is sure that it is an investment to read the 500+ pages of architectural description and examples, but, like the book of the GOF, he takes the time to explain for each pattern the benefits and drawbacks to use them. I also found useful to use the audible recording (https://www.audible.com/pd/Microservices-Patterns-Audiobook/B07ZFZ464G) narrated by Aiden Humphreys and Lou Fernandez. However, I strongly recommend to have the eBook version as sample of codes and schemas are an important part of the work of the author to provide a clear picture of those patterns.
For architects and engineers that work on digital products, this set of patterns should not be a surprise but to have them listed and explained is a real asset. Also, the book is full of references of existing tools that can be used to insert those patterns into your products.
Finally, if you have access to the on-demand sessions of the CES 2021 (digital.ces.tech), you should also watch the IBM conference “The Cloud conundrum : Why Architecture Matters ?” presented by Pranay Ahlawat and Roger Gremo that discuss the evolution of software applications and why traditional software architectures won’t scale in the future. I have not seen it on YouTube for now, but I am sure that it will be soon available.-
In this session, the two co-presenters present a synthetic view of the evolution of the architecture
- Pre-1970 – Mainframe
- 1974-1990 – Monolithic
- 1990-2010 – Tiered
- 2010-2020 – Cloud Native
- 2021-… – Hyperplexed
In this conference and in many others of the CES 2021, it is recognized that, despite many negative effects on the business, the COVID has accelerated the digital transformation of the industry. So the important to have a good digital architecture and good digital processes (DevOPS, FinOPS …) is a vital goal for companies.
I am looking forward to the new architectural patterns that will emerge with the consumerization of the AI and the IOT, and how it will bring values to the business