云原生模式读后感(一)

云原生模式书籍介绍:https://item.jd.com/12704245.html
记录一些书中的总结

第一部分云原生上下文

1.什么是云原生

(1)即使遇到基础设施不断变化甚至发生故障的情况,云原生应用程序依然可以保持稳定。
(2)现代应用程序的关键要求是支持快速迭代和频繁发布新版本、零停机时间以及大量新的设备连接。
(3)云原生应用程序的模型有三个关键实体:

  • 云原生应用程序
  • 云原生数据
  • 云原生交互
    (4) “云”是指软件在哪里运行,而“云原生”指的是软件如何运行。
    (5) 云原生并不是非此即彼的架构。一些软件可以采用许多新的云原生架构模式,一些软件可以仍然继续使用较老的架构,还有一些软件可以采用混合架构(新旧架构结合)。

2.在生产环境中运用云原生应用程序

(1)为了让编写的代码实现价值,你需要做到两件事:能够简单且频繁地发布,让它在生产环境中良好地运行。
(2) 如果这两个目标其中之一没有实现,不应该归咎于开发人员或者运维人员。一个失败的系统才是“罪魁祸首”。
(3) 系统之所以失败,是因为采用了定制化从而难以维护的解决方案,它的环境给软件部署本身带来了风险,同时它将软件和环境中的变化视为一种例外情况。
(4)当部署存在风险时,部署频率就会降低,但这只会让部署有更大的风险。
(5) 你可以反过来看面对的这些问题,即关注可重复性、确保部署的安全性、拥抱变化,并创建一个支持部署而非阻碍部署的系统。
(6) 可重复性是优化IT运维的核心,自动化不仅适用于软件的构建过程,还适用于运行时环境的创建和应用程序的部署过程。
(7) 在基于云的环境中,软件设计模式和运维实践都会不断发生变化。
(8)新系统依赖于一个支持持续交付、高度迭代的软件开发生命周期。
(9)企业需要具备持续交付的能力,才能在当今的市场竞争中获胜。
(10) 让整个系统具有更细的粒度是关键。更短的开发周期和规模更小的应用程序组件(微服务)可以显著提高开发的敏捷性和系统的弹性。
(11)在一个一定会变化的系统中,实现最终一致性是最重要的。

3.云原生软件平台

(1) 云原生平台满足了现代软件的大量需求。
(2)云原生平台可以用在整个软件开发生命周期中。
(3) 与过去十年中以基础设施为中心的平台相比,云原生平台的抽象层次更高。
(4)通过在平台中加入控制功能,不需要再对每个应用程序的每次部署都进行审批,进而可以大大提高部署的频率,而且更加安全。
(5)应用程序团队和平台团队可以独立工作,各自管理产品的构建、部署和维护。
(6)最终一致性是平台的核心,需要不断监控系统的实际状态,并与期望状态进行比较,并且在必要时进行调整。这既适用于在平台上运行的软件,也适用于平台本身的部署。
(7) 随着软件变得更加模块化和分布式,还需要将组件组合成一个整体的服务。平台必须支持这些分布式系统。
(8)对于构建和运维云原生软件的企业来说,云原生平台是绝对必要的。

第二部分云原生模式

4.事件驱动微服务:不只是请求/响应

(1)请求/响应和事件驱动的方法,都可以用来连接组成云原生软件的各个组件。
(2)一个微服务可以同时实现请求/响应和事件处理两种协议。
(3) 在理想、稳定的环境下,其中一种方法的实现,可以产生与使用另一种方法实现完全相同的结果。
(4) 但是在云环境中,解决方案是一个分布式系统,环境在不断变化,结果可能会有很大的不同。
(5) 除了请求/响应和事件驱动风格以外,其他一些架构模式也同样适用于云原生软件。
(6)但是其他模式会专门服务于其中某一种调用协议。
(7)CQRS在事件驱动的系统中起着重要的作用。

5.应用程序冗余:水平伸缩和无状态

(1) 有状态的应用程序无法在云原生环境中很好地工作。
(2) 与用户的一系列交互(逻辑上是在会话状态中捕获的)是在应用程序中引入状态的常见方式。
(3)有状态服务是一种特殊类型的服务,它不得不面对分布式、云环境中数据弹性的重要问题。
(4)大多数应用程序应该是无状态的,并且应该将状态的处理工作交给那些有状态的服务。
(5) 使应用程序无状态很简单,并且一旦完成,就可以在云环境中具有显著的优势。

6.应用程序配置:不只是环境变量

(1)云原生软件架构需要重新评估配置应用程序的技术。一些现有的方法仍然存在,一些新的方法也是有用的。
(2)云原生应用程序的配置并不像在环境变量中存储配置那么简单。
(3) 属性文件仍然是正确处理软件配置的重要部分。
(4)使用环境变量进行配置非常适合于系统配置数据。
(5) 可以使用Kubernetes等云原生平台,将环境配置的值传递给应用程序。(6)应该像对待源代码一样对待应用程序的配置:在源代码仓库中管理配置、进行版本控制和访问控制。
(7)配置服务器(例如,Spring Cloud Configuration Server)可以用来注入应用程序的配置值。
(8)你现在必须考虑何时应用配置,它与云原生应用程序的生命周期息息相关。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

来自万古的忧伤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值