Thanks David for detailed response. By the way discussion was started by Mohit (not Amit :) ).
Please see my comments inline.
standard based software product and API (this included data model, interface, process, etc.)
- This would make the solution modern because the standards are moving forward and keep themselves modern, and future prove because new standards will continue to come out. This also will prevent vendor locking or at least make it easier to switch vendor or integrate with multiple vendors. Standard based software also can enable vendor agnostics for assurance, fulfillment, data analysis, etc.
<Mohit: Agree, I have covered it in Points 2 and 4 in my original post>
2. cloud native, cloud ready is not good enough, has to be could native or has roadmap to migrate to cloud native
The key difference is that cloud native system can be deployed to either small or large logical server.
<Mohit: yes cloud native is desirable. But please refer my discussion with Sergey Zak and Andrey Svalov in same thread.
Sharing few points from discussion to consider –
"not everything is best placed in a Cloud.
Additionally, it is important to distinguish between market hype / "fashion" and fit for purpose."
"This really needs elaboration, do we mean "Ready to be deployed in either public, hybrid or private cloud infrastructure" ? Or do we mean "SaaS software'?
Cloud means so many different things nowadays.. Mostly the confusion is in infrastructure-related questions and Saas vs enterprise commercial models.
Mohit: since I was compiling from Telco side, I meant ready to be deployed in either public, hybrid or private cloud infrastructure. But from vendor viewpoint, Saas is picking up. I shall rephrase this point to cover all aspects."
>
- symmetric distributed system architecture therefore symmetric HA and DR
As solutions for OSS/BSS are very complex with large amount of code and data processing huge amount of entities, high scalability, performance, reliability, etc. are must. Active-standby HA/DR are just waste of resource and gives low confidence if the standby would work when the active goes down. With symmetric distributed architecture, system can scale out easily to increase performance, reliability, and scalability.
<Mohit: Valid point, but applicable for deployment architecture.>
- component-oriented with model driven software
In this industry, how to make solution mature/reliable and also flexible (I mean like requirements come in today, the patch ready tomorrow or next week, not months later) has been a big challenge for long time. Component-oriented with model driven can resolve this with peace of mind.
<Mohit: Agree, model driven is covered in Point 1 of my original message. Point 2 (API/Micro service complaint) will certainly encourage component oriented architecture but point taken.>
------------------------------
Mohit Prabhat Tyagi
Infosys
------------------------------
Original Message:
Sent: Jul 02, 2020 08:21
From: Fazhong (David) Deng
Subject: Is your solution, architecture modern? How will you decide that.
This is very interesting topic. Amit, thanks to bring this discuss to the group!
Honestly, I feel very hard to define what modern architecture is after working in this industry for 20+ years in both R&D and solution side.
First, software/product architecture is very different from solution architecture. By reading the messages above, I got the feeling this is mainly about solution architecture though, there are items applicable to both software/product architecture and solution architecture. For example, model driven, coupling, etc.
Second, based on my experience (I might be wrong) the key features for a solution to be modern and future prove are:
1. standard based software product and API (this included data model, interface, process, etc.)
This would make the solution modern because the standards are moving forward and keep themselves modern, and future prove because new standards will continue to come out. This also will prevent vendor locking or at least make it easier to switch vendor or integrate with multiple vendors. Standard based software also can enable vendor agnostics for assurance, fulfillment, data analysis, etc.
2. cloud native, cloud ready is not good enough, has to be could native or has roadmap to migrate to cloud native
The key difference is that cloud native system can be deployed to either small or large logical server.
3. symmetric distributed system architecture therefore symmetric HA and DR
As solutions for OSS/BSS are very complex with large amount of code and data processing huge amount of entities, high scalability, performance, reliability, etc. are must. Active-standby HA/DR are just waste of resource and gives low confidence if the standby would work when the active goes down. With symmetric distributed architecture, system can scale out easily to increase performance, reliability, and scalability.
4. component-oriented with model driven software
In this industry, how to make solution mature/reliable and also flexible (I mean like requirements come in today, the patch ready tomorrow or next week, not months later) has been a big challenge for long time. Component-oriented with model driven can resolve this with peace of mind.
Other features seem have far less importance compare to above, or they actually belong to above items.
This is just one opinion. I'd love to discuss and learn from you all.
------------------------------
Fazhong (David) Deng
OSSEra
Original Message:
Sent: Jul 01, 2020 09:52
From: Amit singh
Subject: Is your solution, architecture modern? How will you decide that.
Interesting thread..
In my view before jumping into the core Architecture jargon, I would suggest to go one step back!!
Modern Architecture Can not be generalized or Standardized. It is purely driven by the values an Architect bringing on the table for the Organization.
In one Word I can say it's a transformation Towards the Organization Vision and Mission.
But to some extend the basic ingredients are:
- Cloud Native
- Model Driven
- APIfication
Thanks
Amit
Solution Architect
------------------------------
Amit singh
Tata Consultancy Services
Original Message:
Sent: Jun 28, 2020 16:55
From: MOUAAD HAYADI
Subject: Is your solution, architecture modern? How will you decide that.
Hi,
Excellent, but let me purpose to add Dev Security Ops and Governance maturity Model sections...
Best Regards
EA
------------------------------
Mouaad Hayadi
Entreprise Architect
www.syntechnologie.net
Original Message:
Sent: Jun 18, 2020 04:11
From: Mohit Prabhat Tyagi
Subject: Is your solution, architecture modern? How will you decide that.
Based on my experience, I am trying to list down key features which can help in deciding whether technical solution is modern, future-proof–
- Model driven – model drive solution will allow faster T2M, bridge gas been business and IT and finally make solution technology or vendor agnostic
- API/Micro service complaint – architecture must be loosely coupled hence use of APIs/Micro service will allow scalability, re-usability and seamless integration
- Scalable data model – underlying data model if any, must be scalable and future proof else data model can become serious bottleneck with frequent changes
- Aligned to open standards – alignment to open standards will avoid any vendor locking and speed up innovation. However if solution is being built upon some COTS, COST must be chosen carefully, proprietary standards must be avoided.
- User centered interface – User interface must be intuitive and easy to use. New operation users should be able to learn and adopt UI with minimal effort.
- Cloud ready/ Cloud native – Cloud based solution will be cost effective and scalable.
I am very keen to receive inputs/views to make above list comprehensive. Idea is to build a checklist to qualify a solution modern or something which can be refereed while starting a greenfield implementation.
Note – I am not getting into execution methodologies like Agile/Devops etc.
#DigitalEcosystems
------------------------------
Mohit Prabhat Tyagi
OSS Portfolio Lead, Program Manager
Infosys
------------------------------