持续演进的Cloud Native (读书笔记01)

简介: 观察任何一个企业都可以从三个角度出发,这三个角度分别是技术、流程、文化,三个方面都做好才能成为伟大的企业。Cloud Native也一样,需要从架构、研发流程、团队文化三个角度来实现,三者需要相互配合,缺一不可。

Cloud Naive 定义


如果非要给Cloud Native下一个定义,那么我认为,Cloud Native是一系列架构、研发流程、团队文化的最佳实践集合,以此支撑更快的创新速度、极致的用户体验、稳定可靠的用户服务、高效的研发效率。


Cloud Native 组成


观察任何一个企业都可以从三个角度出发,这三个角度分别是技术、流程、文化,三个方面都做好才能成为伟大的企业。Cloud Native也一样,需要从架构、研发流程、团队文化三个角度来实现,三者需要相互配合,缺一不可。Cloud Native的组成,如图


1.png


从架构的角度来讲,Cloud Native是以云和微服务架构为基础构建系统的,这里的云并不一定是公有云,也可以是私有云、混合云,云包含了敏捷基础设施及公共基础服务。除此之外,还需要考虑架构的质量属性。下图为Cloud Native架构的组成


2.png


Cloud Native成熟度模型


3.jpg


Cloud Native 原则


为失败设计原则


  • 从架构的角度讲,为失败设计同样重要,因为失败是不可避免的,我们希望失败的结果是我们预料到的,是经过设计的。
  • 因为失败是不可避免的,所以设计目标是预测并解决这些故障。


不变性原则


  •  实现不变性原则的前提是,基础设施中的每个服务、组件都可以自动安装、部署,不需要人工干预。每个服务或组件在安装、部署完成后将不会发生更改,如果要更改,则丢弃老的服务或组件并部署一个新的服务或组件。替换的速度远远快于修复的速度。


标准化原则


  • 如果我们都采用相同的微服务框架,那么服务之间的调用将变得非常容易。而且,团队间发生人员流动,也不再会因为换了一种框架而需要漫长的熟悉时间。当所有的日志打印都遵循某种标准的时候,对于排除故障,日志分析将非常重要。
  • 独立自主和标准化是一对互斥的原则,独立代表的是灵活、创新,而标准则代表效率、稳定,两者需要权衡。所谓独立自主是在一定的标准下实现的


速度优先原则


  • 效率更像一种“节流”方法,而速度是接近于“开源”的一种手段。当速度和效率发生冲突时,速度优先。


简化设计原则


  • 越是基础的服务,越需要稳定,越需要简化设计、简化运维。简化设计也是Amazon和Netflix的软件设计原则。

自动化驱动原则


  • 任何重复性的工作都应该自动化,只有真正拥抱自动化的时候,才能做到持续发布,才能做到更好的用户体验。

演进式设计原则


  • 架构是持续演进的,并非一蹴而就的。单凭设计阶段很难达到理想的目标,需要不断锤炼。初级阶段应该采用尽可能简单的架构,因为初级阶段对需求、规模等都不是十分确定,可以采用快速迭代的方式进行架构演进。很多互联网公司都强调架构演
相关文章
|
XML 前端开发 Cloud Native
Spring Framework 5.3.0正式发布,在云原生路上继续发力(下)
Spring Framework 5.3.0正式发布,在云原生路上继续发力(下)
Spring Framework 5.3.0正式发布,在云原生路上继续发力(下)
|
2月前
|
Kubernetes Cloud Native Ubuntu
庆祝 .NET 9 正式版发布与 Dapr 从 CNCF 毕业:构建高效云原生应用的最佳实践
2024年11月13日,.NET 9 正式版发布,Dapr 从 CNCF 毕业,标志着云原生技术的成熟。本文介绍如何使用 .NET 9 Aspire、Dapr 1.14.4、Kubernetes 1.31.0/Containerd 1.7.14、Ubuntu Server 24.04 LTS 和 Podman 5.3.0-rc3 构建高效、可靠的云原生应用。涵盖环境准备、应用开发、Dapr 集成、容器化和 Kubernetes 部署等内容。
73 5
|
4月前
|
Kubernetes Cloud Native Java
探索未来编程新纪元:Quarkus带你秒建高性能Kubernetes原生Java应用,云原生时代的技术狂欢!
Quarkus 是专为 Kubernetes 设计的全栈云原生 Java 框架,凭借其轻量级、快速启动及高效执行特性,在 Java 社区脱颖而出。通过编译时优化与原生镜像支持,Quarkus 提升了应用性能,同时保持了 Java 的熟悉度与灵活性。本文将指导你从创建项目、编写 REST 控制器到构建与部署 Kubernetes 原生镜像的全过程,让你快速上手 Quarkus,体验高效开发与部署的乐趣。
63 0
|
存储 关系型数据库 数据库
分布式系统开发实战:CloudNative架构,Cloud Native成功案例分析
有非常多的公司在使用Cloud Native,这些公司包括国外知名企业如Amazon、Netflix等,也包括国内的知名企业淘宝。本节介绍这些企业如何从小企业转变成为Cloud Native的实践者?
|
消息中间件 运维 监控
太香了!Alibaba内部架构师进阶指南,理论+实践双飞
很多技术大会上的分享大多“高大上” 亿级流量、 超大型研发团队,虽然值得借鉴,但由于应用场景与研发资源的差异 般企业并不容易落地。其实 ,中小型研发团队在IT还是占大多数 他们在技术架构方面的问题较多 技术阻碍业务、跟不上业务发展的情况很常见。
|
消息中间件 Cloud Native Java
【深入浅出SpringCloud原理及实战】「SpringCloud-Alibaba系列」微服务模式搭建系统基础架构实战指南及版本规划踩坑分析
【深入浅出SpringCloud原理及实战】「SpringCloud-Alibaba系列」微服务模式搭建系统基础架构实战指南及版本规划踩坑分析
724 1
【深入浅出SpringCloud原理及实战】「SpringCloud-Alibaba系列」微服务模式搭建系统基础架构实战指南及版本规划踩坑分析
|
消息中间件 缓存 算法
持续演进的Cloud Native (读书笔记03)
可靠性公式:A=MTBF /(MTBF+MTTR)。其中,MTBF的全称是Mean Time Between Failure,即平均无故障工作时间,指上一次故障恢复后开始正常运行到这次故障的时间平均值。MTTR的全称是Mean Time ToRepair,即平均故障修复时间,是指从出现故障到完全恢复的这段时间。
持续演进的Cloud Native (读书笔记03)
|
存储 缓存 网络协议
持续演进的Cloud Native (读书笔记02)
微服务架构并不是什么技术创新,而是开发过程发展到一定阶段对技术架构的要求,是在实践中不断摸索而来的。
持续演进的Cloud Native (读书笔记02)
|
Cloud Native Java API
Spring Framework 5.3.0正式发布,在云原生路上继续发力(上)
Spring Framework 5.3.0正式发布,在云原生路上继续发力(上)
Spring Framework 5.3.0正式发布,在云原生路上继续发力(上)