云原生架构体系和重点概念解读

这篇具有很好参考价值的文章主要介绍了云原生架构体系和重点概念解读。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【摘要】大部分人对云原生的认识仅限于容器、微服务、DevOps等内容,把容器、微服务、 DevOps就等同于云原生,这显然是不对的。本文梳理了云原生架构体系内容并对重点概念进行了解读,希望对读者有所帮助。

云原生(Cloud-Native)的概念在国内提及的越来越多,但大部分人对云原生的认识仅限于容器、微服务、DevOps等内容,把容器、微服务、 DevOps就等同于云原生,这显然是不对的。CNCF从其自身的角度定义了云原生技术:云原生技术使企业能够在现代动态环境中构建和运行可扩展的应用程序,如在公共云、私有云和混合云环境中。包括容器、服务网格、微服务、不变的基础设施和声明式API等。采用这些技术可实现系统的松散耦合性、弹性、可管理性和可观察性等。也可以与自动化相结合,实现以最少的工作量频繁地、可预测地进行重大影响的功能的变更。

云计算提供了敏捷的、自服务的、不变的基础设施等内容,使业务应用上云逐渐成为一种共识,但不进行云原生架构重构而直接上云可能是危险的,传统业务应用架构无法在云上进行弹性扩展和敏捷响应,无法有效利用云计算的特性赋能企业。所以这可能需要对传统架构的业务系统进行分布式微服务分拆重构,部署运行在容器云平台等之中,使用DevOps思想,通过CI、CD等持续提升交付效率,等等。使应用从一开始被创建就具备云的特性,为云而生,它是为了充分利用云计算的分布式和弹性扩展等特征,使其具备或适应云上部署运行的要求,或者直接用云的思想、方法、工具在云中创建,天生具备云的特性。所以云原生可以认为是一种基于云来构建和运行云应用程序的方法论和技术体系,使用云原生技术和方法论来构建和运行管理云应用。

Matt Stine在2015年发表《迁移到云原生架构》一书中定义了符合云原生架构的特征:12要素应用、微服务、自服务敏捷基础设施、基于API协作、扛脆弱性等。云原生体系内容没有明确的定义,不过通常认为云原生技术体系和方法论包括微服务、容器、DevOps、持续交付、ServiceMesh、不可变基础设施、声明式API、混沌工程、安全、基于移动的客户体验等内容 。

云原生架构体系和重点概念解读,云计算,云安全,系统架构,云原生,云计算,云架构,DevOps

图 1 云原生技术体系

十二个要素应用为云原生应用的设计提供了原则指导;微服务架构为云原生应用架构设计、分布式部署、敏捷变更等提供了方案;容器则为云原生应用提供了弹性伸缩、一致性环境等能力,和微服务结合,支撑应用随需扩展;自服务敏捷基础设施则提供了云原生应用持续交付的基础设施资源等保障,可以和容器化PaaS平台共同支撑云原生应用的自动化弹性扩展、可视化监控、自动化智能化运维运营等,使用户无需关注基础设施资源,无需运维基础设施资源,无需关注应用部署位置等;服务网格支撑着服务的管理和治理;混沌工程则持续增强系统的韧性和稳定性;DevOps优化组织间的协同,满足彼此的关切,指导C ICD的落地和持续交付,实现应用全生命周期管理;声明式 A PI则实现了服务标准化发布和服务之间的协同;安全则涉及云原生架构体系的方方面面,比如 D evOps安全 D evSecOps、容器镜像安全、网络安全、应用安全、 A PI安全、认证授权、访问控制等等;所有这些技术和方法、原则满足客户随时随地随需的需求,简化客户操作,提升客户体验。

基于对云原生架构体系的学习和理解,笔者觉得一个相对完整的云原生架构体系内容包括如图中的内容:

云原生架构体系和重点概念解读,云计算,云安全,系统架构,云原生,云计算,云架构,DevOps

图 2 云原生架构体系

随着移动通信技术的发展和移动设备的普及,人们的工作、生活、社交、投资等方式发生了显著的变化。当前人们通过手机基本上可以随时随地满足需求。用户可能在不同的时间( 7x 24)通过不同终端、不同操作系统、不同版本、不同地方等访问业应用系统,这就要求不仅仅是APP客户端操作便利、交互友好,也要求后端服务和系统能够敏捷响应。手机 App 应用 的体验好坏可能直接决定着用户是否继续使用它。在移动互联时代,用户移动化体验需求是应用设计的 关键驱动因素 。

云应用12要素描述了一种云应用原型,是一种云应用(可独立部署的单元)设计原则和方法论。它通过强调声明式配置、水平扩展的无状态/无共享进程,以及与部署环境的整体松耦合,来关注速度、安全性和可扩展性。Kevin Hoffman 于《Beyond the 12-factor App》中重新描述并扩展了云原生应用的12因素并增加API优先 、遥测、认证和授权三个要素。新增的要素糅合了API协同、可视化监控、安全性等内容,在指导云原生应用的设计方面更加完善。

微服务架构是一种应用分布式架构方式,它将单体巨石应用拆分为若干个单一能力的可独立部署的服务,就是微服务。通常一个微服务代表一种业务能力,或是提供业务价值的最小的“原子”服务单元。它解决了紧耦合的单体巨石系统难以变更难以更新的问题,实现轻量、敏捷变更。

云原生架构体系和重点概念解读,云计算,云安全,系统架构,云原生,云计算,云架构,DevOps

图 3 单体架构演化到微服务架构

中台本质也是一种架构方式,其核心是实现复用。中台一直被当作是一种企业架构,没有很明确讨论复用的粒度,所以其落地没有明确的方式方法和标准。从应用架构角度来说,中台和应用的前、中、后端层次划分没有本质区别,算不上一种新的架构方式。微服务分解架构从横向将系统进行分解,中台分层架构从纵向将系统分层,从而实现微服务在不同层次的复用和共享。从单个应用系统扩展到企业所有的系统,最终可以融合成一个分层分解的企业级系统,这就是笔者一直所提的 “ 系统融合 ” 思路。

容器是一种内核轻量级的操作系统层虚拟化技术,在流程级别提供隔离,为单一的应用程序提供运行一致的运行环境。每个应用程序及其环境都可以在隔离的环境中运行。容器特性和微服务架构非常契合,因此微服务通常部署在容器中,实现敏捷部署、自动化弹性伸缩、环境一致性等能力。但容器依然是相对底层的运行单元,众多容器的管理和治理是个难题。Kubernetes(也称为K8s)是一个开源容器管理和调度框架,用于自动化容器应用程序的部署、扩展和管理。它将构成应用程序的容器分组到逻辑单元中,以便于管理和发现。容器云平台是采用容器和容器管理及调度技术而构建的应用管理部署运行平台,支持不同租户的容器应用管理和治理能力。基于容器云而把日志、监控、认证、权限、配置、中间件、工具平台,以及算法等统一部署维护,提供企业级平台服务能力,构建轻量化P aaS平台,结合自动化、智能化实现自服务敏捷响应基础设施能力。

云原生架构体系和重点概念解读,云计算,云安全,系统架构,云原生,云计算,云架构,DevOps

图 4 容器云架构

云原生的核心是云原生应用。自服务敏捷响应基础设施为云原生应用的自动化环境准备、构建、部署、监控、反馈、健康检查、故障自愈、资源调度、弹性伸缩、动态路由和负载均衡等提供支撑, 实现自主服务平台进行云原生应用的部署和运行,使配置管理自动化、基础设施资源透明,无需关注应用运行在什么地方;将IaaS和PaaS最终融合在一起,提供更流畅的、一致的体验;企业内部可通过基础设施资源管理(多云管理平台)实现异构资源的管理,统一的资源服务;实现持续交付,提升可用性、可扩展性、可管理性。

DevOps是一种理念和方法论,目的是为了协调和理顺开发和运维团队之间的关切,提升协作效率。DevOps旨在实现开发运维一体化,通过自动化、智能化等工具实现应用全生命周期管理和组织之间的高效协同。基于D evOps方法论和理念所构建的平台也称为 D evOps平台,通常要用自动化流水线等实现持续集成 C I、持续交付CD等能力。Google SRE是DevOps的一种具体实践,它通过系统工程的思想来解决软件工程的问题, 使运维自动化和智能化。运维人员不低于 5 0%的时间做运维工具的研发,让研发人员专注于业务应用的研发。Google SRE使用错误预算来协调研发和运维之间的关切,一旦错误预算用尽,则运维将拒绝业务应用的发布部署,从而使研发要关注业务应用的稳定性和健壮性。

服务网格(ServiceMesh )实现微服务东西向流量的管理和治理。其区别于API网关对服务南北向流量的管理和治理。其通常应用于容器环境,以sidecar的方式代理流量管理、可观测性和安全能力。服务网格总体架构由流量代理组件和管理组件组成, 代理组件被称为数据平面,直接处理入站和出站数据包,转发、路由、健康检查、负载均衡、认证、鉴权、产生监控数据等。管理组件被称为控制平面,负责与代理通信,下发策略和配置。笔者一直跟踪着服务网格发展但一直没有采用,原因在于一方面感觉其不够成熟,另一方面其加层的方式会带来延迟,和笔者推崇的简单方式解决复杂问题思路有悖。

抗脆弱性由Naasim Taleb在《Antifragile》书中提出,将故障随机注入到生产环境中,目的是为了识别和消除架构中的缺陷,找到应用架构中的弱点,并强制进行修复,架构会随着时间的推移而变得强壮,提升其稳定性、可用性、耐久性等。在国内也称之为混沌工程(Chaos Engineering)。中国信通院于2 020年开始组织 进行混沌工程技术研究,提出了应用混沌工程方法来验证云原生系统的韧性架构,同时成立混沌工程项目组。2 021年 发布《混沌工程测试平台能力》标准纲要,并发布行业标准《混沌工程平台能力要求》。

云原生应用之间的交互是通过已发布和版本化的API来实现的,通常采用HTTP Rest 风格序列化JSON数据。通过API 可以提供一层可重用接口层。同时API封装了业务逻辑内部细节,消费者不能直接访问API服务内部数据,也在一定程度上增强了数据安全。

安全是任何系统不可或缺的部分。风险无处不在,云原生架构体系中内容众多,每个组件每个服务都可能带来风险和安全问题(因此要通过 “ 减层 ” 方法最小化组件和服务,严格遵循 “ 非必要不采用原则 ” )。从云原生应用生命周期过程来说,云原生安全可以简单分为 “ 设计时安全 ” 和 “ 运行时安全 ” 两段。设计时以静态检测分析为主,比如代码分析、镜像漏洞扫描等;运行时以动态和交互式检测、防护、分析为主,比如入侵检测、病毒查杀、网络微隔离等。云原生安全可以利用传统的安全技术和方法,比如认证授权、访问控制、加密解密、合规检测、静态安全检测、动态安全检测、网络隔离等等,重点是通过可用的安全机制增强云原生安全能力。虽然我们提倡安全左移,尽可能将安全风险消除在设计时段,但运行时安全一样不可少,安全漏洞随时都可能出现,采用微服务、容器的云原生架构也为运行时带来了更多的风险点,安全防控更加不易。需要不断提升系统可见性、错误隔离等能力提升安全管控能力。云原生安全和传统网络安全的分安全域模式不同,它需要动态的自动化和智能化的管控能力。云原生未来可能逐渐通过软件定义边界、增强的身份认证、微隔离等技术实现动态的网络安全管控。

云原生架构体系内容比较庞大,深入到每一个部分都有很多的工作。不过在对云原生体系架构和体系内容有全面的了解之后,认识到彼此之间的联系和局限,才能真正构建满足客户需求、支持移动化随时随地随需的服务、具备云计算特性弹性扩展、敏捷响应、安全稳定的云原生应用。文章来源地址https://www.toymoban.com/news/detail-822402.html

到了这里,关于云原生架构体系和重点概念解读的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 计算机操作系统重点概念整理-第二章 进程管理【期末复习|考研复习】

    计算机操作系统复习系列文章传送门: 第一章 计算机系统概述 第二章 进程管理 第三章 进程同步 第四章 内存管理 第五章 文件管理 第六章 输出输出I/O管理 给大家整理了一下计算机操作系统中的重点概念,以供大家期末复习和考研复习的时候使用。 参考资料是王道的计算

    2024年02月08日
    浏览(59)
  • 云安全技术(三)之云计算相关的安全概念

    1、加密技术: 有许多不同类型和等级的加密技术。在云环境中,云安全专家有责任评价应用程序的需求、所使用的技术、需要保护的数据类型,以及监管合规或/和合同的需求。 2、传输状态数据: 传输状态数据(Data in Transit,DiT)指数据由应用程序处理、在内部系统遍历或在客户

    2024年02月05日
    浏览(52)
  • 系统架构设计师-第1章计算机组成与体系结构

    计算机系统是一个硬件和软件的综合体,可以把它看成按功能划分的多级层次结构。 系统软件支持应用软件的运行,为用户开发应用软件提供平台,用户可以使用它,但不能随意修改它。常用的系统软件有操作系统、语言处理程序、连接程序、诊断程序和数据库管理系统等。

    2024年02月03日
    浏览(62)
  • 云安全技术(二)之云计算参考架构

    多个主要组件组合在一起形成云架构(Cloud Architecture)和云实现的全貌。涉及的组件包括管理和运营云环境的活动(Activity)、角色(Role)和能力(Capability),以及基于云托管和服务交付方式的实际云服务类别和云部署模型。云参考架构包括所有云环境的通用特性和组件,而不必考虑服

    2024年02月10日
    浏览(42)
  • 从传统云架构到云原生生态体系架构的演进

    随着科技的不断发展,云计算领域也经历了巨大的变革。这一演进的核心焦点是从传统云架构过渡到云原生生态体系架构,这个过程在过去的几年里已经发生了显著变化。本文将深入探讨这一演进过程,以及它对企业和技术生态系统的影响。 在云计算兴起之初,虚拟化技术是

    2024年02月08日
    浏览(40)
  • 【阿里云·云原生架构·白皮书】保姆级解读 一、 云原生架构定义

    🔎这里是【阿里云·云原生架构·白皮书】,关注我学习云原生不迷路 👍如果对你有帮助,给博主一个免费的点赞以示鼓励 欢迎各位🔎点赞👍评论收藏⭐️ 【阿里云·云原生架构·白皮书】 主要更新一些在学习云原生架构时的一些总结,以及对白皮书内容的解读。 主要介

    2024年02月09日
    浏览(37)
  • (二十五)Flask之MTV&MVC架构模式Demo【重点:原生session使用及易错点!】

    🏆🏆作者介绍:【孤寒者】—CSDN全栈领域优质创作者、HDZ核心组成员、华为云享专家Python全栈领域博主、CSDN原力计划作者 🔥🔥 本文已收录于Flask框架从入门到实战专栏 :《Flask框架从入门到实战》 🔥🔥 热门专栏推荐 :《Python全栈系列教程》、《爬虫从入门到精通系列

    2024年03月21日
    浏览(48)
  • 云原生之nacos架构一览解读

    目录 一、什么是服务? 二、什么是服务注册中心? 三、什么是服务元数据? 四、什么是服务提供方? 五、什么是服务消费方?   在云原生架构中,\\\"服务\\\"是指可独立部署和运行的软件组件,它们通过网络接口提供特定的功能或服务。服务的概念在分布式系统中非常重要,

    2024年01月23日
    浏览(31)
  • 计算机网络重点概念整理-第一章 计算机网络概述【期末复习|考研复习】

    计算机网络复习系列文章传送门: 第一章 计算机网络概述 第二章 物理层 第三章 数据链路层 第四章 网络层 第五章 传输层 第六章 应用层 第七章 网络安全 计算机网络整理-简称缩写 给大家整理了一下计算机网络中的重点概念,以供大家期末复习和考研复习的时候使用。 参

    2024年02月07日
    浏览(62)
  • 计算机网络重点概念整理-第五章 传输层【期末复习|考研复习】

    计算机网络复习系列文章传送门: 第一章 计算机网络概述 第二章 物理层 第三章 数据链路层 第四章 网络层 第五章 传输层 第六章 应用层 第七章 网络安全 计算机网络整理-简称缩写 给大家整理了一下计算机网络中的重点概念,以供大家期末复习和考研复习的时候使用。 参

    2024年02月08日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包