【Techo Day 腾讯技术开放日】什么是云原生?

前言

刚开始听到云原生的时候也是一脸疑问?emm,什么玩意 ?后来查阅资料后才知道,通俗的来说云原生安全指云平台安全原生化和云安全产品原生化,现在也越来越多的企业开始重视云原生安全了。国内做这块的厂商比较多,但是质量确实层次不齐,建议可以去了解下青藤云安全,算是国内最早一批接触云原生安全的厂商之一,他们家提出的“一二四”云原生安全体系,在Dev和Ops这两个方向上分别要做到“安全左移,上线即安全”和“持续监控和响应,自适应安全”,然后在安全开发、安全测试、安全管控、安全运营这四个环节中通过各种工具和手段来进行落地,以应对云原生带来的安全挑战。可以去深入了解一下。

uTools_1667660023214.png

详解

  • 云原生(Cloud Native)的概念,最早是由 Pivotal 于2013年提出的。2013年,Pivotal 公司的 Matt Stine 首次提出云原生(Cloud Native)的概念。
  • 2015年,Matt Stine 在《Migrating to Cloud Native Application Architectures - 迁移到云原生应用架构》定义了符合云原生架构特征:
  • 2015 年 Google 主导成立了云原生计算基金会(CNCF),开始围绕云原生的概念打造云原生生态体系。
  • 2018年,被称为云原生元年,大量科技公司开始接受云原生的概念,并纷纷加入到云原生的大家庭。此外,主流云计算供应商相继加入 CNCF,持续丰富整个云原生的生态。
  • 2021年,已经有几百家企业和机构加入 CNCF 参与云原生的建设

就目前来说不同的企业对于云原生有不同的解释,当前在业界具有广泛影响力的云原生计算基金会(Cloud Native Computing Foundation, CNCF)认为,云原生是一类技术的统称,通过云原生技术,我们可以构建出更易于弹性扩展的应用程序。

这些应用可以被运行在不同的环境当中,比如说私有云、公有云、混合云、还有多云的场景。

云原生可分解为 “云”(Cloud)和 “原生”(Native)两个词。这里还隐藏了一个词—— “计算”(Computing),因为云原生本质上是一种与云计算(Cloud Computing)相同的计算方式,因此通常我们在说云原生的时候,实际上是暗指云原生计算(Cloud Native Computing)。

得益于云计算快速发展,基于云计算特性所设计的云原生应用相比传统的单体应用在安全性,扩展性,快速迭代,运维等各方便都有巨大的领先优势。

云原生自诞生依赖,已经度过了概念炒作的阶段,进入架构落地阶段,出现了云原生2.0的概念。云原生1.0与2.0最大的区别在于, 1.0的云原生是ON Cloud,即把容器、微服务、DevOps等云原生的特征堆砌到云上。这样的做法虽然实现了弹性、敏捷等,但还仅仅是解决了基础设施架构层的问题,是以资源为核心,并未实现资源效率的最大化、最优解。

而云原生2.0则是IN Cloud,是以应用为中心。除了具备云原生1.0的容器、微服务、DevOps等特征外,更强调对资源的配备。

从现在基础设施的发展情况来看,我们正在从以资源为中心的资源上云阶段向以应用为核心的应用上云阶段演进,关注点从资源云化向应用云化渗透。第一阶段,我们关注的是以资源自动化为目标的资源融合管理。第二阶段,我们关注的是以应用自动化为目标的应用敏捷管理。

相对概念阶段的云原生以及资源上云来说,云原生2.0的关注点有了以下变化:

高效的资源管理与调度:基于软硬件协同构建多元算力,为应用提供极致的覆盖逻辑、虚拟机、容器、函数等在内的多元算力;基于边云协同和分布式云架构,实现多云算力的纵向融合和横向联动,形成分布式泛在算力平台;以应用为中心,实现资源的高效管理、调度和编排,实现一键部署、一建管理和智能感知。

敏捷的应用交付与管理:通过创新应用开发模式,进一步实现应用的敏捷交付和应用的全生命周期管理,通过侵入式和非侵入式两种模式助力企业应用架构升级。

智能的业务支撑与开放:主要是如何做好数据汇聚融合和数据运营,推动数据资产化、数据业务化和业务数据化,借助AI等新技术,实现数据对业务的二次赋能,实现业务的智能升级。

完善的安全可信与合规:借助云原生对基础资源的融合纳管,在基础资源和基础设施安全的基础上,进一步打造应用、数据和业务安全。

云原生包含了哪些技术?

云原生关键技术包括:容器,容器编排,微服务、服务网络、不可变基础,声明式 API、服务网格、DevOps。

1.容器

容器是一种打包应用的方式,可以打包应用中的所有软件和软件所依赖的环境,并可实现跨平台部署。容器优势:更高效的利用资源;更快速的启动时间;一致性的运行环境。

2.容器编排

容器编排包括:自动化管理和协调容器的系统,专注于容器的生命周期管理和调度。

容器编排核心功能:容器调度、资源管理、服务管理。

3.微服务

微服务是一种用于构建应用的架构方案。将一个复杂的应用拆分成多个独立自治的服务,服务与服务间通过“高内聚低耦合”的形式交互。

4.服务网格

服务网格(Service Mesh)是致力于解决服务间通讯的基础设施层。云原生应用有着复杂的服务拓扑,服务网格保证请求在这些拓扑中可靠地穿梭。在实际应用当中,服务网格通常是由一系列轻量级的网络代理组成的,它们与应用程序部署在一起,但对应用程序透明。

第二代Service Mesh主流组件:Istio、MOSN(Modular Open Smart Network)Linkerd。

5.不可变基础设施

不可变基础设施(Immutable Infrastructure)

任何基础设施实例(服务器、容器等各种软硬件)一旦创建之后便成为一种只读状态,不可对其进行任何更改;

6.声明式 API

命令式 API:可直接发出让服务器执行的命令,例如:“运行容器”、“停止容器”等;

声明式 API:可声明期望的状态,系统将不断地调整实际状态,直到与期望状态保持一致

借助容器技术我们可以自动化地构建出不可变的、可版本化管理的、可一致性交付的应用服务体系,这里包括了标准化实例、运行环境等。还可以依赖持续部署系统,进行应用服务的自动化部署更新,加快迭代和部署效率。

7.DevOps

DevOps 目标 :就是让开发人员和运维人员更好地沟通合作,缩短开发周期,增加部署频率,更可靠地发布。

8.服务网格Istio

Istio 解决了开发人员和运维人员所面临的从单体应用向分布式微服务架构转变的挑战。

服务网格用来描述组成这些应用程序的微服务网络以及它们之间的交互。随着服务网格的规模和复杂性不断的增长,它将会变得越来越难以理解和管理。它的需求包括服务发现、负载均衡、故障恢复、度量和监控等。服务网格通常还有更复杂的运维需求,比如 A/B 测试、金丝雀发布、速率限制、访问控制和端到端认证。

Istio 提供了对整个服务网格的行为洞察和操作控制的能力,以及一个完整的满足微服务应用各种需求的解决方案

可以理解为:

Kubernetes是整个云原生的基石,容器(Container)是Kubernetes的底层引擎,Docker是应用最广的容器工具,微服务是Docker的好搭档,服务网格是微服务的辅助,建立在k8s上的针对请求的扩展功能,不可变基础设施是现代运维的基石,声明式API是Kubernetes的编码方式。

云原生技术的作用与意义

  1. 对于应用开发团队而言,原来云原生技术可以提升应用开发的效率,提升应用交付的质量。比如通过容器,技术开发团队可以更容易地获取开发所需要的环境与资源,开发出来的应用可以被运维团队更容易地部署和管理。通过DevOps的最佳实践,应用交付的速度和质量可以被有效的提升。
  2. 对于业务方来说,云原生的好处是所提交的需求,可以更快地被响应和实现。因为云原生技术可以有效地缩短应用交付的周期,让需求更快地变成代码,代码更快地变成线上的应用,最终为用户服务,实现价值。云原生应用可以更好地弹性扩展,满足不同业务的需求。例如容器应用提供的应用自愈能力,可以帮助减少应用的停机时间提升用户的体验。
  3. 对于企业来说,云原生技术可以通过有效提升应用开发、交付效率,简化研发工作,让开发者聚焦研发创新、业务创新,有效地提升团队的创新能力,从而提升企业在市场的竞争能力。
本站文章资源均来源自网络,除非特别声明,否则均不代表站方观点,并仅供查阅,不作为任何参考依据!
如有侵权请及时跟我们联系,本站将及时删除!
如遇版权问题,请查看 本站版权声明
THE END
分享
二维码
海报
【Techo Day 腾讯技术开放日】什么是云原生?
刚开始听到云原生的时候也是一脸疑问?emm,什么玩意 ?后来查阅资料后才知道,通俗的来说云原生安全指云平台安全原生化和云安全产品原生化,现在也越来越多的企业开...
<<上一篇
下一篇>>