In a corporation, I always try to struggle to find a good answer about whether its good to consolidate technology and create centralized services or distribute it and let individual teams create and manage their own applications even if there are some common features and synergy in them.
There are pros and cons to both the approaches.
Centralized services provide synergy in terms of non repeatable work or in other words not reinventing the wheel. They also provide more security to underlying data with only few apps, services and people having access to it. On the other hand they also come with their own baggage. Primarily its a bigger architectural challenges to create dependency on centralized services which puts load on them and failure of those services impact various dependent services. Even it also creates a red-tape with in a corporation where consumer teams become unnecessarily dependent on centralized services team and make them slow and curtails the creativity and productivity.
Distributed services while ushering productivity and creativity also provide the ownership to each team to build a best experience for their stakeholders and customers with out depending on central services to meet their one off requirements. They are also more aligned with service oriented architecture and more architectural sound since they only impact one part of business or a company not the entire company. Just like centralized services they also come with their cons which are reinventing the wheel, less secure, more management issues of data.
In the end, I think there is not a good answer to this problem and each case should be evaluated and looked at its own merit but personally I always keep a little bias towards distributed services and start from that angle and evaluate whether I need to move towards centralization or remain on the side of distribution.
This argument I believe can never be settled just like in government their are always two sides to government power? Strong Federal or Strong States?
There are pros and cons to both the approaches.
Centralized services provide synergy in terms of non repeatable work or in other words not reinventing the wheel. They also provide more security to underlying data with only few apps, services and people having access to it. On the other hand they also come with their own baggage. Primarily its a bigger architectural challenges to create dependency on centralized services which puts load on them and failure of those services impact various dependent services. Even it also creates a red-tape with in a corporation where consumer teams become unnecessarily dependent on centralized services team and make them slow and curtails the creativity and productivity.
Distributed services while ushering productivity and creativity also provide the ownership to each team to build a best experience for their stakeholders and customers with out depending on central services to meet their one off requirements. They are also more aligned with service oriented architecture and more architectural sound since they only impact one part of business or a company not the entire company. Just like centralized services they also come with their cons which are reinventing the wheel, less secure, more management issues of data.
In the end, I think there is not a good answer to this problem and each case should be evaluated and looked at its own merit but personally I always keep a little bias towards distributed services and start from that angle and evaluate whether I need to move towards centralization or remain on the side of distribution.
This argument I believe can never be settled just like in government their are always two sides to government power? Strong Federal or Strong States?
No comments:
Post a Comment