正如《从偶然到必然-华为研发投资与管理实践》中提到华为提到产品是否能够呈现期望的或要求的质量属性,本质上是由架构来决定。因此,借鉴华为对于架构与设计核心原则也是很有必要。从关键理念来看跟业界通用的设计原则也有不少吻合之处。
目录
1、全面解耦原则
对业务进行抽象建模,业务数据与业务逻辑解耦,软件和硬件解耦,平台与产品解耦,系统各部件间解耦。
2、服务化、组件化原则
以服务、数据为中心,构建服务化,组件化架构,具备灵活、按需组合的能力。
3、接口隔离及服务自治原则
通过接口隐藏服务、组件的实现细节,服务、组件间只能通过接口进行交付,接口契约化、标准化,跨版本兼容。
服务、组件可独立发展、独立发布、独立升级。服务自治,可视,可管、可控、可测、可维,故障自愈。
4、弹性伸缩原则
构建全分布式云化架构,或借鉴云化架构思想,每项服务具备横向扩展能力,支持按需使用,自动弹性伸缩,可动态替换,灵活部署,支撑高性能,高吞吐量,高并发,高可用场景。
5、安全可靠环保原则
构建最小权限、纵深防御、最小公共化、权限分离,不轻信,开放设计,完全仲裁,失效安全,保护薄弱环节,安全机制经济性,用户接受度以及加强隐私保护的安全体系,确保系统、网络和数据的机级的可靠性,通过故障的预测、预防、快捷恢复,避免故障发生;系统资源使用效率最大化,实现节能、节地、节材、环保。
6、用户体验和自动化运维原则
面向业务获取和使用场景,构建实时、按需、在线、自助、社区化、方便易用的用户体验;
支持远程、自动、智能、安全、高效地完成网规/网设、安装、部署、调测、验收、扩缩容、软件升级、打补丁、日常维护、问题处理。
7、开放生态原则
面向生态场景,按需开放平台设施、中间件、数据、业务逻辑、UI等能力,构建开放生态,支持分层、远程、自动、自助、简单高效地完成定制、集成、第三方应用开发。
8、高效开发原则
创建支持迭代、增量、持续交付的架构,支持部件独立开发、自动化编译构建、测试、集成验证,并易于高修改和持续优化;支持开发组织小型化、扁平化,支持小团队独立高效并行开发。
9、柔性供应制造原则
模块化设计,模块、物料归一化、标准化,支持自动化、数字化、智能化、随需求应变的柔性制造。
10、持续演进原则
架构并非一蹴而就,需要有效地管理架构需求,持续构建和发展架构,适应业务需求变化,适时引入业界最佳实践,及时重构,确保架构生命力和竞争力。