阿里微服务布道师:详解微服务架构设计( 五 )


下图传统Monolithic的DevOps开发队伍方式:

阿里微服务布道师:详解微服务架构设计

文章插图
 
这种整体型架构要求产品队伍横跨产品管理 Dev开发 QA DBA 以及系统运营管理 , 而微服务架构引入以后 , 如下图:
阿里微服务布道师:详解微服务架构设计

文章插图
 
微服务促进了DevOps方式的重组 , 将一个大臃肿的整体产品开发队伍切分为根据不同微服务的划分的产品队伍 , 以及一个大的整体的平台队伍负责运营管理 , 两者之间通过API交互 , 做到了松耦合隔绝 。
阿里微服务布道师:详解微服务架构设计

文章插图
 

阿里微服务布道师:详解微服务架构设计

文章插图
 
  • 首先需要考虑构建DevOps能力 , 这是保证微服务架构在持续交付和应对复杂运维问题的动力之源;
  • 其次保持服务持续演进 , 使之能够快速、低成本地被拆分和合并 , 以快速响应业务的变化;
  • 同时要保持团队和架构对齐 。微服务貌似是技术层面的变革 , 但它对团队结构和组织文化有很强的要求和影响 。识别和构建匹配架构的团队是解决问题的另一大支柱 。
  • 最后 , 打造持续改进的自组织文化是实施微服务的关键基石 。只有持续改进 , 持续学习和反馈 , 持续打造这样一个文化氛围和团队 , 微服务架构才能持续发展下去 , 保持新鲜的生命力 , 从而实现我们的初衷 。
微服务的实施是有一定的先决条件:基础的运维能力(如监控、快速配置、快速部署)需提前构建 , 否则就会陷入如我们般被动的局面 。推荐采用基础设施及代码的实践 , 通过代码来描述计算和网络基础设施的方法 , 使得图案度i可以快速安全的搭建和处理由新的配置代替的服务器 , 服务器之间可以拥有更高的一致性 , 降低了在“我的环境工作 , 而你的环境不工作”的可能 , 也是为后续的发布策略和运维提供更好的支撑 。
阿里微服务布道师:详解微服务架构设计

文章插图
 
由于Docker引入 , 不同的微服务可以使用不同的技术架构 , 比如Node.js JAVA Ruby Python等等 , 这些单个的服务都可以独立完成交付生命周期 , 如下:
阿里微服务布道师:详解微服务架构设计

文章插图
 
微服务案例Netflix的微服务架构如下 , 着重全球分发 高可扩展性和可用性:
阿里微服务布道师:详解微服务架构设计

文章插图
 
Twitter的微服务架构 , 注重高效的可扩展的数据中心:
阿里微服务布道师:详解微服务架构设计

文章插图
 
希望对您系统架构 , 软件项目开发,运维管理 , 系统架构与研发管理体系, 信息安全, 企业信息化等有帮助




推荐阅读