云原生架构的定义

news2024/11/14 20:30:20

前言:

从技术的角度,云原生架构是基于云原生技术的一组架构原则和设计模式的集合,旨在将云应用中非业务代码的部分进行最大化的剥离,从而让云设施接管应用中原有的大量非功能特性(如弹性、韧性、安全、可观测性、灰度等),使业务不再有非功能性业务中端困扰的同时,具备轻量、敏捷、高度自动化的特点。

上图展示了在代码中通常包括三部分:

业务代码、三方软件、处理非功能特性的代码。其中业务代码是指实现业务逻辑的代码;三方软件是业务代码中依赖的所有的第三方代码库,包括业务库和基础库;处理非功能性的代码指的是:高可用的、安全的、可观测性等非功能性能力的代码。

        这三个部分中只有业务代码是核心,是对业务真正带来价值,另外两个部分都只算附属物,但是随着软件规模的增大,业务模块规模变大,部署环境的增多,分布式复杂性增强,使得今天的软件构建变得越来越复杂;对于开发人员的技术要求也越来越高。云原生相比传统架构进了一大步,从业务代码中剥离了大量非功能性特性(不会是所有,比如易用性还不能进行剥离)到lassh和paas中,从而减少了业务代码开发人员的技术关注范围,通过云厂商的专业性提示了应用的非功能性能力。

        此外具备云原生架构的应用,可以最大化利用云服务和提升软件交付的能力,进一步的加快软件的开发。

1. 代码结构发生巨大大变化:云原生架构最有影响力的就是让开发人员的编程模型发生 巨大的变化。今天大部分的编程语言中,都有文件、网络、线程等元素,这些元素充分利用单机资源带来的好处,但是却带来了分布式编程的复杂性;因此大量的框架和产品涌现,来解决分布式环节中的网络调用问题、高可用的问题、cpu的争抢使用的问题,分布式存储的问题。

        在云的环境中,如何获取存储变成了若干服务,比如对象存储服务,块存储服务和没有随机访问的文件存储服务,云不仅改变了开发人员获得这些存储能力的界面,还在于云产品在这些openapi或者开源的sdk背后把分布式场景中的高可用挑战、自动扩容挑战、安全挑战、运维调整等待都处理了。应用开发人员就不用在其代码中处理节点宕机后如何把本地保存的内容同步到远程的问题了。也不用除了当业务峰值到来的时候,如何对存储节点进行扩容的问题,而应用的运维人员不用再发现zero day安全的问题,紧急对三方存储软件进行升级。

本书由阿里云 20+ 位云原生技术专家共同编撰,也是作为业界首本全方位构建云原生架构规划与实践全景图的白皮书。本书在详细阐述云原生架构定义的同时,完整展示云原生架构应用所需的演进路径与设计规则,旨在帮助企业更好地理解与应用云原生架构,助力企业数字化转型升级。

云原生架构白皮书 2022版-藏经阁-阿里云开发者社区

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/798880.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL中锁的简介——全局锁

1.锁的概述及分类 2.全局锁的介绍 给数据库加全局锁: flush tables with read lock;数据备份: mysqldump备份指令 root用户名 1234 密码 itcast数据库名称 itcast.sql备份文件名称 mysqldump -uroot -p1234 itcast >itcast.sql;数据库全局锁解锁&am…

复现YOLOv5改进最新MPDIoU:有效和准确的边界盒回归的损失,打败G/E/CIoU,效果明显!!!

MPDIoU: A Loss for Efficient and Accurate Bounding Box Regression 论文简介MPDIoU核心设计思路论文方法实验部分加入YOLOv5代码论文地址:https://arxiv.org/pdf/2307.07662.pdf 论文简介 边界盒回归(Bounding box regression, BBR)广泛应用于目标检测和实例分割,是目标…

word显示书签并给书签添加颜色

CTRg 定位书签 在 Word 的用户界面中,没有直接的选项可以批量为所有书签设置颜色。但你可以使用 VBA 宏或者编写自定义的功能来实现这个需求。这里给出一个简单的 VBA 宏,它可以设置当前文档中所有书签内文本的颜色:vba Sub ColorAllBookmark…

【高级数据结构】线段树

目录 最大数(单点修改,区间查询) 线段树1(区间修改,区间查询) 最大数(单点修改,区间查询) 洛谷:最大数https://www.luogu.com.cn/problem/P1198 题目描述 …

11-3_Qt 5.9 C++开发指南_QSqlQuery的使用(QSqlQuery 是能执行任意 SQL 语句的类)

文章目录 1. QSqlQuery基本用法2. QSqlQueryModel和QSqlQuery联合使用2.1 可视化UI设计框架2.1.1主窗口的可视化UI设计框架2.1.2 对话框的可视化UI设计框架 2.2 数据表显示2.3 编辑记录对话框2.4 编辑记录2.5 插入记录2.6 删除记录2.7 记录遍历2.8 程序框架及源码2.8.1 程序整体…

unity关于匀速移动某些值的方法

可能很多人会用到Verctor3.Lerp、Mathf.LerpUnclamped等等 这种其实不是匀速 看一下这个整体差不多的逻辑 public static float Lerp(float a, float b, float t){return a (b - a) * t;};这个逻辑就是,从a值到b值,返回一个a值加(b值-a值&…

msvcp140.dll丢失怎么办?(详细解决方法)

1.msvcp140.dll有什么用? 运行C程序:msvcp140.dll文件包含了许多C程序所需的函数和资源,使得C程序能够在计算机上正确运行。 提供运行时库:msvcp140.dll文件包含了C程序在运行时所需的库文件,如输入/输出操作、内存管…

【梯度下降在波士顿房价预测中的应用】

数据准备 我们首先需要加载波士顿房价数据集。该数据集包含房屋特征信息和对应的房价标签。 import pandas as pd import numpy as npdata_url "http://lib.stat.cmu.edu/datasets/boston" raw_df pd.read_csv(data_url, sep"\s", skiprows22, headerN…

运算放大器基础(二)

5.4.4基于理想运放的放大倍数分析 集成运放两个工作区: 线性区、非线性区 集成运放的理想化参数: 理想运放在线性区的特点 集成运放工作在线性区的电路特征

DSA之查找(1):线性表的查找

文章目录 0 知识回顾1 查找1.1 查找的概念 2 线性表的查找2.1 顺序查找2.1.1 顺序查找算法2.1.2 顺序查找的性能分析2.1.3 顺序查找的特点 2.2 折半查找(二分)2.2.1 折半查找算法2.2.2 折半查找的性能分析2.2.3 折半查找的特点 2.3 分块查找2.3.1 分块查…

背包问题求具体方案数问题--板子题

12. 背包问题求具体方案 - AcWing题库 思路:先将v[i]和w[i]先输入进去,然后我们进行倒叙dp,这个做的目的就是为了后边我们为了匹配确定路径做好准备,如果我们倒叙输入进去,我们再正序的时候就可以用推导式来进行路径输…

MySql000——MySql的下载和安装

一、下载MySql 二、下载MySQL驱动 三、安装 到此,成功安装

P11 第三章 电阻电路的一般分析——极基础

1、结点电压法列题 结点电压法,回路电流法,网孔电流法都是为了减少列方程数量,都是为了求解分析电路,都是中间解法。 结点电压法解出了结点电压,对于具体分析需求,可能还需要二次求解。 2、结点电压法&a…

通过web.xml来配置servlet程序

IDEA 2022.3.3 tomcat-9.0.27 Java EE8 JDK-16 配置访问的虚拟路径 web.xml <?xml version"1.0" encoding"UTF-8"?> <web-app xmlns"http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi"http://www.w3.org/2001/XMLSchema-insta…

如何在数据中台中提高效率并节省成本?

上节讨论了如何保障数据中台的数据质量&#xff0c;让数据“准”。除了“快”和“准”&#xff0c;数据中台还离不开“省”。随数据规模越来越大&#xff0c;成本越来越高&#xff0c;如不合理控制成本&#xff0c;还没等你挖掘出数据应用价值&#xff0c;企业利润就被消耗完。…

python+appium自动化测试如何控制App的启动和退出

由于本人使用的是Android设备做自动化测试&#xff0c;所以以下内容均基于Android系统做出的整理 一、启动app 启动app需要设置Capability参数&#xff0c;而Capability参数放在Desired Capalibity中&#xff0c;Desired Capalibity告诉Appium想要的自动化平台和应用程序&…

Visitor设计模式访问元素方法的问题

Visitor设计模式访问元素方法的问题 GPT给出的答案寻找灵感前置声明Element层次的实例Visitor interface的声明Element interface的声明Element实际类的声明及实现实现一个Visitor客户端代码 实战测试结果 针对C来说&#xff0c;若要实现Visitor设计模式&#xff0c;则会面临循…

05. 容器资源管理

目录 1、前言 2、CGroup 2.1、是否开启CGroup 2.2、Linux CGroup限制资源能使用 2.2.1、创建一个demo 2.2.2、CGroup限制CPU使用 2.3、Linux CGroup限制内存使用 2.4、Linux CGroup限制IO 3、Docker对资源的管理 3.1、Docker对CPU的限制 3.1.1、构建一个镜像 3.1.2…

C语言入门篇(八)

前言   本篇分享的是部分操作符的概念与用法&#xff0c;从经典例题入手&#xff0c;带你快速了解和掌握。   收录专栏&#xff1a;浅谈C语言 操作符详解上 1. 操作符分类2. 算术操作符3. 移位操作符3.1 左移操作符3.2 右移操作符 4. 位操作符5. 赋值操作符6. 单目操作符6.…

Pytest常用的命令行

查看Pytest所有的命令行 Pytest -h 结果&#xff1a; 我们使用pytest时&#xff0c;忘记了会有哪些命令行&#xff0c;或是忘记哪个命令行怎么用&#xff0c;可以进行查看下。 执行参数 命令行参数 (1)--collect-only&#xff0c;打印出具体的执行从目录到用例执行的具体显…