一篇文章了解云原生

云原生的定义

云原生是一条最佳路径或者最佳实践。更详细的说,云原生为用户指定可一条敏捷的,能够以可扩展,可复制的方式最大化地利用云的能力,发挥云的价值的最佳路径。

因此,云原生其实是一套知道进行软件架构设计的思想。

容器技术使得应用具有了一种“自包含”的定义方式,所以这样的应用才能以敏捷,以可扩展可复制的方式发布在云上,发挥出云的能力。所以说容器技术是云原生技术的核心底盘。

云原生的技术范畴:

  • 云应用定义与开发流程,这包含应用定义与镜像制作、配置CI/CD,消息和Streaming以及数据库等

  • 云应用的编排和管理流程,这也是k8s比较关注的一部分

  • 监控与可观测性。这部分强调的是云上应用如何进行监控,日志收集,Tracing以及云上如何实现破坏性测试

  • 云原生的底层技术,比如容器运行时,云原生存储技术,云原生网络技术等

  • 云原生工具集

  • 最后则是 Serverless。Serverless 是一种 PaaS 的特殊形态,它定义了一种更为“极端抽象”的应用编写方式,包含了 FaaS 和 BaaS 这样的概念。而无论是 FaaS 还是 BaaS,其最为典型的特点就是按实际使用计费(Pay as you go),因此 Serverless 计费也是重要的知识和概念。

云原生思想的两个理论
不可变基础设施:这一点目前是通过容器镜像来实现的,其含义就是应用的基础设施应该是不可变的,是一个自包含,自描述,可以完全在不同环境中迁移的东西。
云应用编排理论:当前的实现方式就是k8s所主讲的内容

基础设施向云演进的过程:

对于传统的应用基础设施而言,其实往往是可变的。
比如要发布或者更新一个软件,流程大致是这样的:先通过ssh连到服务器,然后手动升级或者降级软件包,逐个调整服务器上的配置文件,并且将新代码直接都部署到现有服务器上。因此,这套基础设施会不断被调整和修改。

但是在云上,对“云”友好的应用基础设施是不可变的
这种场景下上述更新过程会这么做:一旦应用部署完成之后,那么这套应用基础设施就不会再被修改了。如果需要更新,那么需要先更改公共镜像来构建新服务直接替换旧服务。而我们之所以能够实现直接替换,就是应为容器提供了自包含的环境(包含应用运行所需的所有依赖)。所以对于应用而言,完全不用关心容器发生了什么变化,只需要把容器镜像本身修改掉就可以。因此,对于云友好的基础设施是可以随时替换和更换的,这就是因为容器具有敏捷和一致性的能力,也就是云时代的应用基础设施。

云原生关键技术点

如何构建自包含,可定制的应用镜像
能不能实现应用快速部署与隔离能力
应用基础设施创建和销毁的自动化管理
可复制的管控系统和支撑组件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值