架构的目标为了实现以下特性:
- 正确性
- 系统首先需要正确,运行稳定
- 可用性
- 软件系统对于用户的商业经营和管理来说极为重要,因此软件系统必须非常可靠,一般99.99%是一个比较基本的要求。
- 快速开发
- 互联网目前是一个快鱼吃慢鱼的时代,已经不是大鱼吃小鱼了。因为小鱼在一夜之间就长大了,把大鱼吃掉了。诺基亚就是明证,facebook就是明证。
- 良好体验
- 良好的体验对用户的吸引力是巨大的,某迅公司往往是抄一个产品,把用户体验做好,然后原产品就没有然后了。
- 伸缩性
- 用户激增的时候,网站可以伸缩来支持用户的增长或流量高峰。
- 安全性
- 安全也是一个商业公司的命脉,攻击、泄密、破解,前一段闹的沸沸扬扬的各种用户信息泄露,足以说明安全的重要性。
- 扩展性
- 网站在增加新模块或者新的技术时,能比较容易的扩展。
- 高性能
- 性能其实也是用户体验的一部分,尤其是用户量不断增多,性能是节省成本的重要手段。
- 可定制化
- 同样的一套软件,可以根据客户群的不同和市场需求的变化进行调整。入门版、企业版、旗舰版针对不同用户,不同人群是绝对必须的。
- 可维护性
- 一个产品,一个网站上线之后,80%时间需要不断的更新及增加新的功能,可维护性是一个架构的基本需求。
为了实现以下特性,需要依赖本产品系统的架构模式以及流程规范,另外也需要支撑的系统支持及流程规范。 架构不只是要关注本系统的技术实现,同时也需要关注支撑系统,支撑系统也是架构不可缺的一部分。