解析云原生架构中两大核心原则

news2024/9/27 17:37:24

1.云原生架构是什么

云原生架构是一种设计和构建应用程序的现代方法,以微服务、容器化、持续集成和持续部署(CI/CD)等技术为基础,使应用能够在云环境中动态运行。云原生架构强调解耦合、弹性和自动化,开发团队在独立的环境中开发和部署,能够并行工作,快速迭代新功能。

今天分享两个在云原生架构中的核心原则。

1.1 研发过程自动化原则

1.1.1 概念

研发过程自动化原则指的是通过自动化工具和流程提升软件开发交付的效率和质量。这一原则强调持续集成、持续交付(CI/CD)与基础设施即代码(IaC)等实践,自动化构建、测试和集成代码,确保变更能够及时被检测,实现代码的自动化部署。

1.1.2 配置方法

通过采用 IaC(Infrastructure as Code)、GitOps、OAM(Open Application Model)、Kubernetes operator 及其他自动化交付工具,标准化企业内部的软件交付过程,通过配置数据自描述和面向终态的交付过程,让自动化工具理解交付目标和环境差异,实现整个软件交付和运维的自动化。

1.1.2.1 基础设施即代码(IaC)

IaC 是一种管理和配置基础设施的方式,通过代码来定义和提供基础设施,无需手动配置服务器或服务。

  • 示例工具:Terraform、Ansible、CloudFormation。
  • 实践:建议将基础设施的配置文件放在版本控制系统中,可以方便地追踪和管理所有变化。
1.1.2.2 GitOps

GitOps 是一种运维模型,将所有的系统状态和应用配置保存在 Git 仓库中,实现持续集成和持续交付。

  • 流程:开发者通过提交代码到 Git 触发 CI/CD 流程,自动化工具根据 Git 中的声明式配置进行环境的更新和应用的部署。
  • 优势:提供了一种清晰的审计和回滚机制,使操作变得更为一致。
1.1.2.3 开放应用模型(OAM)

OAM是一种用于微服务管理的标准框架,它的核心理念是提供一个抽象层,使开发者和运维团队能够定义和管理微服务的部署及其运行时需求,而不必过多关心底层基础设施的具体实现。

  • 结构:通过组件(Component)和场景(Trait)来定义应用,组件描述了应用的基本构成,场景则定义了它的运行时配置和策略。
  • 优势:开发人员可以更专注于业务逻辑,运维人员则可以统一管理不同组件的运行状态和变更。
1.1.2.4 Kubernetes 操作员

Kubernetes 操作员是一种在 Kubernetes 集群中运行的自定义控制器,其主要目的是管理云原生应用的生命周期。使用操作员时,用户可以以声明的方式配置应用的期望状态,操作员根据这个配置监督和维护实际的状态,根据定义的期望状态对实际状态进行调整。

  • 功能:通过编写业务逻辑,Kubernetes Operator 实现了应用的自动化管理,包括部署、升级、备份等反馈机制。
  • 优势:融入 Kubernetes 的原生特性,使复杂应用的管理变得简单高效。

1.1.3 特征意义

自动化研发可以引入标准化流程,降低因操作不当而引起的错误,加速软件的构建、测试和部署过程,符合云原生的快速响应和高频迭代的特性可以保持不同环境和阶段的一致性,减少环境配置和版本不兼容带来的挑战,让最终交付的应用在不同的云环境中表现一致。通过集成监控和反馈机制,开发团队能够迅速获取应用在生产环境中的运行状态及时发现和解决问题。

在云原生架构中,资源管理和调度是一个重要的考虑因素。研发过程的自动化可以结合CI/CD(持续集成和持续部署)工具,更有效地管理云资源

1.1.4 小结

云原生架构通常依赖容器、微服务和大量第三方组件,这些技术在带来灵活性和可扩展性的同时,往往也会增加整体的技术复杂性,整体增大了软件技术栈的复杂度和组件规模,需要充分遵循研发过程自动化原则,才能让应用最大程度发挥云原生的技术优势。

2.1零信任原则

2.1.1定义

在云原生技术中,零信任原则(Zero Trust Principle)是一种网络安全模型,它主张无论是在内部还是外部网络,任何请求都不应被默认信任。所有访问请求都必须经过严格的验证和授权才能被允许。这个原则的核心思想是“永不信任,总是验证”

2.1.2 核心要素

零信任安全针对传统边界安全架构思想进行了重新评估和审视,并对安全架构思路给出了新的建议,默认情况下不应该信任网络内部和外部的任何人 / 设备 / 系统,需要基于认证和授权重构访问控制的信任基础,诸如 IP 地址、主机、地理位置、所处网络等均不能作为可信的凭证。零信任对访问控制进行了范式上的颠覆,引导安全体系架构从“网络中心化”走向“身份中心化”,其本质诉求是以身份为中心进行访问控制。

零信任第一个核心问题就是身份(Identity),赋予不同的 Entity 不同的 Identity,解决是谁在什么环境下访问某个具体的资源的问题。在研发、测试和运维微服务场景下,Identity 及其相关策略不仅是安全的基础,更是众多(资源,服务,环境)隔离机制的基础;在员工访问企业内部应用的场景下,Identity 及其相关策略提供了灵活的机制来随时随地接入服务。

2.1.3 关键要素
  1. 身份验证
    1. 用户验证:所有用户在访问系统前必须进行强身份验证。这通常包括多因素认证(MFA)。
    2. 设备验证:确保访问请求来自经过验证的设备,包括设备健康检查和合规性检测。
  2. 最小权限原则
    1. 细粒度权限控制:根据用户的角色和需要授予最小权限,确保用户只能访问所需的资源。
    2. 动态权限管理:权限应根据实时风险和用户行为动态调整。
  3. 网络微分段
    1. 分段隔离:将网络分成多个小的隔离区段,以限制潜在攻击者的活动范围。
    2. 内部流量控制:即使在内部网络中,流量也应进行严格控制,防止横向移动。
  4. 全面监控和审计
    1. 实时监控:持续监控所有用户活动和系统行为,检测异常和潜在威胁。
    2. 审计日志:记录所有访问和操作日志,以便于后续的分析和审计。
  5. 基于策略的访问控制
    1. 策略驱动:访问控制策略应基于上下文(如用户身份、设备状态、请求位置等)进行动态调整。
    2. 自动化响应:根据策略自动调整访问权限,处理异常活动。

在云原生技术中,零信任原则通过确保无论是内部还是外部用户和设备都需要经过严格验证,避免了传统网络边界的依赖,要求持续验证和最小权限访问,能够有效防止数据泄露和网络攻击。此外,零信任架构与云原生环境的自动化和动态特性高度契合,支持实时监控和响应,使安全管理更加灵活高效。

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

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

相关文章

【高级编程】万字整理集合框架 迭代器 泛型(含方法案例)

文章目录 集合框架集合接口集合类ArrayListLinkedListHashSet 迭代器 IteratorMap 接口泛型Collections 工具类 集合框架 如果并不知道程序运行时会需要多少对象,或者需要更复杂方式存储对象——可以使用Java集合框架 Java集合框架提供了一套性能优良、使用方便的…

@EqualsAndHashCode注解使用

一,EqualsAndHashCode注解来自于Lombok EqualsAndHashCode 是 Lombok 库提供的一个注解,用于自动生成 equals 和 hashCode 方法。这两个方法在 Java 中非常重要,特别是在集合框架中使用时,它们确保了对象的正确比较和哈希值的一致…

YOLOv8改进 | 注意力篇 | YOLOv8引入LSK注意力机制

1. LSK介绍 1.1 摘要: 最近关于遥感目标检测的研究主要集中在改进定向边界框的表示上,但忽略了遥感场景中呈现的独特先验知识。 这种先验知识可能很有用,因为在没有参考足够远距离上下文的情况下,可能会错误地检测微小的遥感物体,并且不同类型物体所需的远距离上下文可能…

HarmonyOS开发实战( Beta5版)优化实践/合理使用缓存提升性能

简介 随着应用功能的日益丰富与复杂化,数据加载效率成为了衡量应用性能的重要指标。不合理的加载策略往往导致用户面临长时间的等待,这不仅损害了用户体验,还可能引发用户流失。因此,合理运用缓存技术变得尤为重要。 系统提供了P…

uniapp组件用法

一. 什么是组件,有什么好处? 在uni-app中,组件是构成应用的基本单位,它们是用来定义用户界面的一部分,并且通常包含了视图和逻辑。组件的设计使得开发者能够以声明式的方式构建应用界面,并且通过组件化的开发方式来提高代码的复…

损失函数、成本函数cost 、最大似然估计

一、损失函数 什么是损失函数? 【深度学习】一文读懂机器学习常用损失函数(Loss Function)-腾讯云开发者社区-腾讯云 损失函数(loss function)是用来估量模型的预测值f(x)与真实值Y的不一致程度,它是一个…

Python 新手必看:如何用 unittest 写出高质量代码?

文末赠免费精品编程资料~~ 在 Python中 ,unittest 模块是进行单元测试的强大工具。无论你是初学者还是有经验的开发者,单元测试都是确保代码质量的重要一环。而 unittest 模块就是让这一过程变得简单、快捷的利器。 什么是单元测试? 在进入…

浩瀚麦克风怎么样?西圣、罗德、神牛领夹麦克风全网巅峰PK测评

​一台优质专业的无线领夹麦克风能够清晰、稳定地收录声音,提升音频录制质量。而劣质的无线领夹麦克风则可能出现声音不清晰、信号不稳定、续航短等各种问题。作为一名资深的数码测评师,我已经测评过了好几十款无线领夹麦克风,今天将从麦克风…

Python应用指南:获取高德地铁站点数据(单城市版)

书接上文,上篇文章是一次性下载全国所以城市的地铁站点数据,但是可视化的过程需要手动把换乘站给一个个复制出来分配到其他各个经过的线路,还需要核对站点顺序不能出错,如果只需要单个城市的数据呢?另外能不能直接生成…

【复杂系统系列(初级)】自动调节动态平衡模型——生物体的稳态机制

【通俗理解】自动调节动态平衡模型——生物体的稳态机制 关键词提炼 #自动调节 #动态平衡 #生物体稳态 #反馈机制 #体温调节 #微分方程模型 第一节:自动调节动态平衡模型的类比与核心概念 1.1 自动调节动态平衡模型的类比 自动调节动态平衡模型可以被视为生物体…

grpc-spring 通信(监控视频传输)

先看效果 这是微软相机,22ms延迟 (不走网络存粹寄存器和内存的通信)这是程序抓取摄像头然后传给client,client的java窗口展示的,延时也是22ms(对了localhost好像也不走网络吧) 几个点 1.openc…

大功率舞台灯调光调色方案 | 支持深度调光,多路输出调光 36V/48V/60V FP7126

在舞台演出中,灯光扮演着非常重要的角色,它不仅可以烘托氛围,营造氛围,更能够为表演者增添光彩,塑造形象。在博物馆场所中,突出展品细节。根据灯光用途和适用类型,舞台灯可以细分为聚光灯、泛光…

foundation model

目录 多模态预训练模型 BLIP LLM GPT3 InstructGPT FLAN chain of thought ToolFormer QWEN Llama3 VLM QWen-VL VideoChat Video-ChatGPT 应用 DriveVLM PlanAgent 多模态预训练模型 CLIP BLIP 《Bootstrapping Language-Image Pre-training for Unified Visi…

突发!Runway 从 HuggingFace 及 GitHub 上删库跑路,背后有何隐情?

突发!2024年8月29日Runway 从 HuggingFace 及 GitHub 上删库跑路,背后有何隐情? 🧐 今天我们来聊一聊科技圈一则爆炸性消息:Runway ML 从 HuggingFace 和 GitHub 上删库跑路,毫无预警!这个举动…

基于asp.net的在线考试系统源码分享

这是一个基于asp.net的开发的在线考试系统,需要的小伙伴自己参考源码,下载链接我放在后面了。 1.主要功能 主要功能包含用户注册登陆、学生登录、老师登陆、试卷管理、分数管理、 填空题选择、选择题管理、题库管理、分数管理、试卷随机生成等等模块。…

【精选】基于Django的智能水果销售系统设计与实现

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…

面试必问的 Linux 命令帮你整理好啦...

01.背景 作为一名测试工程师,Linux 是必须要掌握的一项技能。 因为大部分的互联网公司的项目都是搭建和部署在 Linux 服务器上的,所以测试就算不去负责搭建和维护测试环境,也需要在测试过程中去服务器那边定位测试中的问题。 所以&#xf…

PTA L1-027 出租

L1-027 出租(20分) 下面是新浪微博上曾经很火的一张图: 一时间网上一片求救声,急问这个怎么破。其实这段代码很简单,index数组就是arr数组的下标,index[0]2 对应 arr[2]1,index[1]0 对应 arr[0…

这四种人不能合作做生意

合伙创业千万不要和这四种人合伙,不然公司做大了都不是你的! 一、不愿出钱的人,不愿出钱就不会有决心。公司一旦有风吹草动,最先跑路的都是没有出钱的。 二、不愿付出时间的人,想用业余时间参与,不愿全身心…

Unity编辑器扩展之Hierarchy面板扩展

内容将会持续更新,有错误的地方欢迎指正,谢谢! Unity编辑器扩展之Hierarchy面板扩展 TechX 坚持将创新的科技带给世界! 拥有更好的学习体验 —— 不断努力,不断进步,不断探索 TechX —— 心探索、心进取&#xff…