Do You Really Need A Distributed Architecture?
Does the question sound rhetoric to you? Do you think the answer is “Yes” by default these days?
Think twice. Ask yourself the questions below. You may change your mind at the end.
Is performance important to you and your customers? Consider the following performance threats specifically applicable to distributed architectures.
- Network latency as a result of multiple round trips to perform a single operation.
- High network utilization by sending more data than is required.
- Increased serialization overhead.
- Performance costs as a result of security checks.
Care to build security aware systems? Care to protect your and your customers mission critical assets? Consider the following security threats and challenges specifically related to distributed architectures.
- Parameters manipulation.
- Network eavesdropping and information disclosure.
- Credential theft.
- Data tampering.
- Unauthorized access to administration interfaces.
- Denial of service.
- Identity flow across physical tiers.
- Unauthorized access due to lack of network protection.
Care to respond to production incidents quickly? Want to keep up with tight SLA's? Have a small talk with your production IT guys who are supposed to support your system in production. I am sure they will ask you the following questions. Do you have a good answers?
- What do I check when end users ask me the following questions?
- Why it is not working?
- Why it works so slow?
- Why I am not allowed to do this operation?
- How do I configure this?
- What alerts your system raises when it fails?
- Where all alerts are sent?
- How do I roll back the version?
- What should I do when I see specific alert?
- How do I distribute patches for your system?
- How do I know what is the source of the incident?
- How do I get detailed information regarding the incident?
- How do I recognizes the trends that usually lead to incident?
- How do I back up the configuration?
"Service-oriented architecture is, first and foremost, a means of attaining greater business agility from existing IT investments. SOA-based solutions connect systems and thereby automate previously manual information-transfer processes whether the goal is to develop new applications; to connect systems, workgroups, or geographically distributed subsidiaries; or to collaborate with trading partners."
Are you building next Google or Flickr or just building departmental HR system? Do you really achieve the benefits creating your distributed architecture? Do you really automate the process or add more operational costs?
- Google Architecture
- Amazon Architecture
- YouTube Architecture
- Flickr Architecture
- Wikipedia's Site Internals, Configuration, Code Examples and Management Issues
More questions and answers