什么是Cloud Native?

Cloud Native(云原生)是以云架构为优先的应用开发模式。目前,越来越多的企业已经在大规模开始拥抱云,在云环境开发应用、部署应用、发布应用。

它与微服务一样,Cloud Native 并不是一种具体的技术,而是一类思想的集合,包括DevOps、持续交付(Continuous Delivery)、微服务(MicroServices)、敏捷基础设施(Agile Infrastructure)、康威定律(Conways Law)等

它的特性有:

  • 以云为基础架构
  • 云服务
  • 无服务
  • 可扩展
  • 高可用
  • 敏捷
  • 云优先

大家可以看一下Cloud Native 云架构模式脑图,可以看出Cloud Native 体系是非常庞杂的。

 

那么他与微服务的关系又是什么呢?

Cloud Native与微服务的关系

微服务因其固有的特性,方便通过全自动部署工具来实现独立部署,因此非常适合在云环境中进行部署。在Cloud Native 中,倾向于使用微服务来构建应用。同时,Cloud Native因为是以云环境为优先的,非常适合微服务的部署和管理。

为什么我们需要使用Cloud Native?

软件不可能不出故障。传统的企业级开发方式,需要有专职人员来对企业应用进行监控与维护。而在 Cloud Native 架构下,底层的服务或者是 API 都由将部署到云中,等价于将繁重的运维工作转移给了云平台供应商。这意味着客户应用将得到更加专业的看护,同时,也节省了运维成本。

因此,云是大势所趋。

如何实现 Cloud Native

其实这是一个非常大的话题,比如,作为开发者,你需要了解目前市面上流行的云供应商,了解微服务、SOA,了解 HTTP 和 REST,了解领域驱动设计(DDD),了解CI\CD和TDD,了解两个披萨,了解分布式的常用架构和模式等等。还好现在还是能找到一些文档资料供大家学习的,下面我就为大家介绍一份相关文档。

这份文档从架构、研发流程、团队文化三个角度详细介绍了如何构建Cloud Native.

持续演进的Cloud Native

第1章 综述

  1. Cloud Native的起源
  2. Cloud Naive的组成
  3. Cloud Ntive背后的诉求
  4. 如何衡量Coud Nive的能力
  5. Cloud Native的原则

从整体上描述了Cloud Native 的起源、组成及原则等

 

第2章 微服务架构

  1. 微服务架构的起源
  2. 为什么采用微服务架构
  3. 微服务设计原则
  4. 微服务架构实施的先决条件
  5. 微服务划分模式
  6. 微服务划分反模式
  7. 微服务API设计
  8. 微服务框架
  9. 基于Dubbo框架实现微服务
  10. 基于Spring Cloud框架实现微服务
  11. 服务发现场景下的ZooKeeper与Etcd
  12. 微服务部署策略
  13. 为什么总觉得微服务架构很别扭

 

第3章 敏捷基础设施及公共基础服务

  1. 传统基础设施面临的挑战
  2. 什么是敏捷基础
  3. 基于容器的敏捷基础设施础服务的平台化
  4. 基于公共基
  5. 监控告警服务
  6. 分布式消息中间件服务
  7. 分布式缓存服务
  8. 分布式任务调度服务
  9. 如何生成分布式ID

 

第4章 可用性设计

  1. 综述
  2. 逐步切换
  3. 容错设计
  4. 流控设计
  5. 容量预估
  6. 故障演练
  7. 数据迁移

 

需要这份文档的老哥帮忙点赞转发加关注支持一下小编,然后访问git地址:https://github.com/biws-byte/msby.git

第5章 可扩展性设计

  1. 加机器能解决问题吗
  2. 横向扩展
  3. AKF扩展立方体
  4. 如何扩展长连接
  5. 如何扩展数据库
  6. 如何扩展数据中心

 

第6章 性能设计

  1. 性能指标
  2. 如何树立目标
  3. 如何寻找平衡点
  4. 如何定位瓶颈点
  5. 服务通信优化
  6. 通过消息中间件提升写性能
  7. 通过缓存提升读性能
  8. 数据库优化
  9. 简化设计

 

第7章 一致性设计

  1. 问题起源
  2. 基础理论
  3. 分布式系统的一致性分类
  4. 如何实现强一致性
  5. 如何实现最终一致性
  6. 分布式锁
  7. 如何保证幂等性

重点描述了微服务架构、敏捷基础设施及公共基础服务、可用性、可扩展性、性能、一致性等方面的设计实践

 

第8章 未来值得关注的方向

  1. Serverless
  2. Service Mesh

介绍了Serverless 和Service Mesh

第9章 研发流程

  1. 十二因子
  2. 为什么选择DevOps
  3. 自动化测试
  4. Code Review
  5. 流水线
  6. 为什么需要AIOps
  7. 基于数据和反馈持续改进
  8. 拥抱变化
  9. 代码即设计

介绍了如何构建研发流程

 

第10章团队文化

  1. 为什么团队文化如此重要
  2. 组织结构
  3. 环境氛围
  4. 管理风格
  5. 经典案例

介绍了如何建设团队文化

 

这份文档可以给技术管理者、架构师和有一定基础的技术人员提供帮助,特别是希望改变研发模式,从交付型软件过渡到云服务的传统软件企业开发者,这份文档将帮助你少走弯路。

需要这份文档的老哥帮忙点赞转发加关注支持一下小编,然后访问git地址:https://github.com/biws-byte/msby.git