What tradeoffs with other quality attributes might you expect from using them (such as security, availability, and modifiability)?
I would expect certain tradeoffs from choosing the set of performance tactics described in the last question. I imagine that security, testability, and modifiability would be negatively affected, while availability would increase.
Security would be reduced by increasing the number of data centers. The extra web servers and computing sites introduce additional points of attack on the system. Also by locating web servers at different places in the world, some sites may be less safe because the support staff might not be as experienced or trustworthy.
Testability would become more complex when using multiple copies of data. Ensuring that each copy of the data is in sync with all others is much more complex than using one database. Increasingly complex tests would be required to ensure the system works correctly.
Modifiability would be greatly effected by the use of multiple data centers. Any time a change to the website is required, the changes need to be fanned out to multiple locations which increases the time for those changes to go live. Even if the same software is used by all sites and tactics to improve the modifiability of the code are followed, the time to deploy changes will still be slower as updates are sent out globally.
On the other hand, the performance tactics will also improve system availability. Redundancy is built into the system by using multiple web servers. Data recovery is also improved by using multiple data sources. If data is lost at one site, it can be easily restored from a different site.
What tradeoffs with other quality attributes might you expect from using them (such as security, availability, and modifiability)? I would expect certain tradeoffs from choosing the set of performance tactics described in the last question. I imagine that security, testability, and modifiability would be negatively affected, while availability would increase. Security would be reduced by increasing the number of data centers. The extra web servers and computing sites introduce additional points of attack on the system. Also by locating web servers at different places in the world, some sites may be less safe because the support staff might not be as experienced or trustworthy. Testability would become more complex when using multiple copies of data. Ensuring that each copy of the data is in sync with all others is much more complex than using one database. Increasingly complex tests would be required to ensure the system works correctly. Modifiability would be greatly effected by the use of multiple data centers. Any time a change to the website is required, the changes need to be fanned out to multiple locations which increases the time for those changes to go live. Even if the same software is used by all sites and tactics to improve the modifiability of the code are followed, the time to deploy changes will still be slower as updates are sent out globally. On the other hand, the performance tactics will also improve system availability. Redundancy is built into the system by using multiple web servers. Data recovery is also improved by using multiple data sources. If data is lost at one site, it can be easily restored from a different site.
การแปล กรุณารอสักครู่..
