什么是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章 综述
- Cloud Native的起源
- Cloud Naive的组成
- Cloud Ntive背后的诉求
- 如何衡量Coud Nive的能力
- Cloud Native的原则
从整体上描述了Cloud Native 的起源、组成及原则等
第2章 微服务架构
- 微服务架构的起源
- 为什么采用微服务架构
- 微服务设计原则
- 微服务架构实施的先决条件
- 微服务划分模式
- 微服务划分反模式
- 微服务API设计
- 微服务框架
- 基于Dubbo框架实现微服务
- 基于Spring Cloud框架实现微服务
- 服务发现场景下的ZooKeeper与Etcd
- 微服务部署策略
- 为什么总觉得微服务架构很别扭
第3章 敏捷基础设施及公共基础服务
- 传统基础设施面临的挑战
- 什么是敏捷基础
- 基于容器的敏捷基础设施础服务的平台化
- 基于公共基
- 监控告警服务
- 分布式消息中间件服务
- 分布式缓存服务
- 分布式任务调度服务
- 如何生成分布式ID
第4章 可用性设计
- 综述
- 逐步切换
- 容错设计
- 流控设计
- 容量预估
- 故障演练
- 数据迁移
需要这份文档的老哥帮忙点赞转发加关注支持一下小编,然后访问git地址:https://github.com/biws-byte/msby.git
第5章 可扩展性设计
- 加机器能解决问题吗
- 横向扩展
- AKF扩展立方体
- 如何扩展长连接
- 如何扩展数据库
- 如何扩展数据中心
第6章 性能设计
- 性能指标
- 如何树立目标
- 如何寻找平衡点
- 如何定位瓶颈点
- 服务通信优化
- 通过消息中间件提升写性能
- 通过缓存提升读性能
- 数据库优化
- 简化设计
第7章 一致性设计
- 问题起源
- 基础理论
- 分布式系统的一致性分类
- 如何实现强一致性
- 如何实现最终一致性
- 分布式锁
- 如何保证幂等性
重点描述了微服务架构、敏捷基础设施及公共基础服务、可用性、可扩展性、性能、一致性等方面的设计实践
第8章 未来值得关注的方向
- Serverless
- Service Mesh
介绍了Serverless 和Service Mesh
第9章 研发流程
- 十二因子
- 为什么选择DevOps
- 自动化测试
- Code Review
- 流水线
- 为什么需要AIOps
- 基于数据和反馈持续改进
- 拥抱变化
- 代码即设计
介绍了如何构建研发流程
第10章团队文化
- 为什么团队文化如此重要
- 组织结构
- 环境氛围
- 管理风格
- 经典案例
介绍了如何建设团队文化
这份文档可以给技术管理者、架构师和有一定基础的技术人员提供帮助,特别是希望改变研发模式,从交付型软件过渡到云服务的传统软件企业开发者,这份文档将帮助你少走弯路。
需要这份文档的老哥帮忙点赞转发加关注支持一下小编,然后访问git地址:https://github.com/biws-byte/msby.git