云原生技术解析

news2024/11/24 11:10:34

云原生的概念

        云原生是一种软件架构和部署方法,旨在利用云计算的优势,以更灵活、可扩展和可靠的方式构建和部署应用程序。它主要关注在容器、微服务、自动化和持续交付等方面。

        云原生技术是指以云计算作为基础,以平台和工具为依托,以敏捷和可扩展为目标,以用户为中心,以数据为核心的新一代软件架构和发展理念。它以快速迭代、可扩展性、安全性和可持续性为核心,以满足日益增长的业务需求和新的技术挑战。

        

技术特点

  • 容器化部署:使用容器技术(如Docker)进行应用程序打包和部署,实现跨环境的一致性和可移植性。
  • 微服务架构:将应用程序拆分为小型、自治的服务,每个服务专注于特定功能,提高了灵活性和可维护性。
  • 自动化运维:利用自动化工具和平台实现持续集成、持续交付和自动化扩缩容,提高了效率和可靠性。
  • 弹性伸缩:根据应用程序的负载情况自动调整资源,提高了系统的可伸缩性和稳定性。

七大原则:

        服务化原则(Service-oriented Principle):将应用程序设计为由多个相互协作的服务组成,每个服务都有明确定义的职责和接口。这种服务化的架构有助于提高应用程序的灵活性、可维护性和可扩展性。

        弹性原则(Resilience Principle):在设计和实现应用程序时考虑到各种可能的失败和异常情况,并采取相应的措施来保障系统的稳定性和可用性。弹性原则包括容错机制、故障转移、自愈能力等,以确保系统能够在面对异常情况时仍然能够正常运行。

        零信任原则(Zero Trust Principle):不信任任何内部或外部网络,始终对网络中的所有请求进行验证和授权。这意味着即使在内部网络中,也需要采取严格的访问控制和身份验证措施,以最大程度地减少安全风险。

        可观测原则(Observability Principle):通过适当的监控、日志记录和指标收集来实现对应用程序运行状态的全面了解。可观测性包括实时监控、故障排查、性能优化等方面,以帮助开发团队及时发现和解决问题。

        韧性原则(Antifragility Principle):不仅要使系统能够应对异常情况,还要使其能够从中受益并变得更加强大。韧性原则倡导在面对挑战时不断学习、改进和适应,以增强系统的适应能力和抗干扰能力。

        自动化原则(Automation Principle):通过自动化工具和流程来简化部署、配置、监控和维护操作,以提高效率、降低成本和减少人为错误。自动化原则使开发团队能够更快速、更可靠地交付和管理软件。

        架构持续可演进原则(Continual Evolution Principle):将架构设计和开发过程视为一个持续演进的过程,随着需求和技术的变化不断调整和优化架构。这种原则强调灵活性和敏捷性,以适应不断变化的业务环境和技术趋势。

技术架构

云原生技术架构通常包括以下组件:

  • 容器引擎:负责运行和管理容器的软件,如Docker、Kubernetes等。
  • 服务网格:管理微服务之间的通信和调用关系,如Istio、Linkerd等。
  • 持续集成/持续交付(CI/CD):实现自动化的构建、测试和部署流程,如Jenkins、GitLab CI等。
  • 监控和日志:用于监控应用程序性能和健康状态,如Prometheus、Grafana等。

技术构建选型

在构建云原生应用时,可以根据具体需求选择合适的技术组件和工具,例如:

  • 容器编排平台:Kubernetes、Docker Swarm等。
  • 服务网格:Istio、Linkerd等。
  • 持续集成/持续交付工具:Jenkins、GitLab CI等。
  • 监控和日志系统:Prometheus、ELK Stack等。

应用场景

云原生技术适用于各种应用场景,包括但不限于:

  • 微服务架构:构建和部署微服务应用程序。
  • 大规模分布式系统:实现高可用性、高性能的分布式系统。
  • 容器化应用部署:快速、一致地部署应用程序到不同的环境。
  • 持续交付和持续部署:实现快速、可靠地发布新功能和更新。

架构对比

类型特点功能场景解决方案产品优缺点
IASS基础设施提供基础设施开发、测试、部署虚拟化技术AWS EC2、Azure VM灵活性高,但管理复杂
PASS平台服务提供应用开发平台开发、测试、部署容器编排平台Heroku、Google App Engine简单易用,但功能受限
SASS软件服务提供软件即服务应用部署、业务处理云应用服务商Salesforce、Office 365快速上手,但定制性差
DASS数据服务提供数据即服务数据存储、分析云数据库服务Amazon RDS、Google BigQuery管理方便,但安全性需关注

大厂实践

阿里巴巴

        阿里巴巴在云原生领域积极投入,并通过其开源项目如Dubbo、Sentinel、RocketMQ等支持云原生应用的构建和部署。

阿里云:

        阿里云在云原生领域提供了一系列产品和解决方案,涵盖了容器服务、服务器编排、微服务架构、持续集成/持续交付等多个方面。以下是阿里云的云原生技术方案和产品技术架构的概述:

阿里云容器服务

        阿里云容器服务 Alibaba Cloud Container Service,是一种高性能、高可用的容器应用管理服务,基于Kubernetes提供企业级的容器集群管理能力,支持弹性伸缩、自动修复、多可用区部署等特性。

技术架构
  • Kubernetes:作为底层的容器编排引擎,负责管理和调度容器。
  • Docker:用于打包、分发和运行容器化应用程序。
  • ECS(Elastic Compute Service):提供虚拟服务器资源,作为Kubernetes集群的节点。
  • VPC(Virtual Private Cloud):提供网络隔离和安全性,保障容器集群的网络通信。
  • SLB(Server Load Balancer):负责流量的分发和负载均衡,提高应用程序的可用性和性能。
阿里云容器服务 for Kubernetes(ACK)

        阿里云容器服务 for Kubernetes(ACK)是阿里云提供的全托管 Kubernetes 服务,支持多集群管理、Serverless 架构、混合云集群等特性,为企业提供更灵活、更便捷的 Kubernetes 集群管理方案。

阿里云微服务解决方案

        阿里云微服务解决方案提供了一整套微服务架构的技术方案和工具,包括注册中心、配置中心、服务治理、调用链追踪等,帮助企业快速构建和部署基于微服务架构的应用程序。

开源产品
  • Spring Cloud Alibaba:基于Spring Cloud和阿里巴巴开源的组件,提供了微服务架构的核心功能,包括注册中心、配置中心、服务调用、服务熔断、服务降级等。
  • Nacos:作为注册中心和配置中心,提供服务发现和动态配置管理的能力。
  • Sentinel:提供服务流量控制、熔断降级、系统负载保护等功能,保障微服务系统的稳定性和可靠性。
  • SkyWalking:提供分布式系统的调用链追踪和性能监控功能,帮助分析和优化微服务架构的性能问题。

百度

        百度利用Kubernetes等云原生技术构建了自己的容器云平台,支持百度内部和外部应用的快速部署和扩展。

百度智能云

        百度智能云的“云智一体”进化史展现了其在云计算和人工智能领域的持续探索与创新,推动了企业数字化转型和智能化升级。以下是该进化历程的主要节点:

        2019年:百度智能云在云上AI服务领域迅速增长,连续4年位居IDC《中国AI云服务市场》报告市场份额第一。

        2020年:百度智能云提出“云智一体”战略,将云计算作为基础,以人工智能为核心,实现云与人工智能的紧密融合。

        2021年:百度智能云发布了“云智一体”架构2.0,强调“适合跑AI的云”和“懂场景的AI”构成智能时代基础设施。

        2022年9月:百度智能云发布了全新战略“云智一体,深入产业”及“云智一体3.0”架构,从行业核心场景切入,向上优化已有应用、孵化新应用,向下改造数字底座。

        2022年12月:百度智能云推出了国内首个全栈自研的AI基础设施——百度“AI大底座”,帮助企业快速、低成本地实现“AI的随用随取”,推动产业智能化升级。

        2023年3月:百度智能云推出了文心一言等大模型服务,预示着模型即服务(MaaS)将成为云计算主流商业模式,推动万亿级市场的发展。

华为云

        华为私有云基本信息介绍,包括解决方案名称、部署形式、一般网络规划、组件部署架构、云平台基本服务及整体架构及说明几部分,简述如下:

解决方案

华为私有云解决方案为 FusionCloud ,主要包含以下组件

( 1 ) FusionSphere :云套件(云操作系统)

( 2 ) ManageOne :云管平台

( 3 ) esight :监控平台

( 4 ) OceanStor BCManager :容灾组件

FusionCloud

        FusionCloud 按照组网结构,部署可分为软件 SDN 部署、硬 SDN 部署和无 SDN 部署三种形式。

组件部署

基本组件部署架构如下:

  • 基础管理节点:安装 OpenStack 控制节点、 ManageOne 、公共组件和基础云服务组件。

  • 扩展管理节点:安装基础云服务以外的其他高阶云服务。

  • 网络计算融合节点:安装软件 SDN 组件,提供 vRouter 、 ELB 、 EIP 、 VPN 、 NAT 网关等功能,同时也作为计算节点,为客户提供计算资源。

基本服务
云服务说明
ECS弹性云服务器
IMS镜像服务
VPC虚拟私有云
SG安全组
Network ACLs网络ACL服务
ELB弹性负载均衡服务
EIP弹性IP服务
EVS云硬盘
ManageOne云管平台
私有云整体架构

华为私有云整体架构由基础设施层、资源池层、云服务层和管理层组成:

( 1 )基础设施层包括构建数据中心所需的服务器、存储设备和网络设备,提供基于物理资源构建的虚拟计算、虚拟存储和虚拟网络资源池,并提供可直接使用的物理服务器资源;基础设施层可根据不同业务的需求,提供多种类型的硬件部署架构。

( 2 )资源池层以资源组合形式分为物理层、统一资源层和业务层。

        物理层通常包括多个物理地域分布的数据中心;单个物理数据中心分为物理基础设施和物理基础架构;采用扁平化二层网络设计,将数据中心 IT 设备高速连接到一起。

        统一资源池层包括统一的计算资源池、存储资源池和网络资源池;每种类型的资源池,都有实际的作用域。资源池的划分和底层物理设备位置无任何关联, FusionSphere 将物理分散的计算、存储、网络设备纳入逻辑统一资源池,供上层业务按需调度。

( 3 )云服务层作为云服务的管理及运营平台,主要包括服务自动化层、服务接入层及服务门户层。服务自动化层通过对资源池层 IaaS 、灾备资源的封装,实现云资源服务的发现、路由、编排、计量、接入等功能,显现从资源到服务的转换。服务接入层是云管理平台的对外呈现,分为用户门户及管理员门户。用户门户面向各部门的业务管理员等,管理员门户面向系统管理员等。用户可通过服务租户自助操作门户(服务 console )实现对服务的操作、使用、监控等生命周期管理。

( 4 )管理层分为运营管理和运维管理两部分。

        运营管理,提供运营管理门户,提供对云服务的统一运营能力,提升运营操作的敏捷性,提升业务运营效率。运营管理门户除提供云服务申请和自助服务控制台外,支持包括 VDC 管理、租户管理、服务目录、服务控制台、计量等运营管理功能。

        运维管理,提供运维管理门户,提供对虚拟资源和物理资源的统一运维能力,支持对多数据中心的统一运维管理,包括资源管理、告警管理、拓扑管理、性能管理以及统计报表等,提升运维操作效率。

引入到自己项目中的建议

  • 技术评估:评估项目的需求和现有技术栈,选择合适的云原生技术和工具。
  • 人员培训:培训团队成员掌握云原生技术和最佳实践,提高项目的成功率和效率。
  • 渐进式采用:采用渐进式的方式引入云原生技术,逐步替换和优化现有的架构和流程。
  • 持续优化:持续优化和改进云原生架构和流程,以适应项目的发展和变化。
例如DevOps解决方案

        DevOps解决方案为企业提供了一整套持续集成和持续交付的工具和流程,帮助实现快速、高效的软件开发和部署。

技术组件
  • Jenkins:提供持续集成和持续交付的核心功能,支持自动化构建、测试和部署。
  • GitLab CI/CD:集成了代码仓库管理、CI/CD流水线和项目协作等功能,实现了全方位的DevOps工作流程。
  • Kubernetes:作为部署目标,提供容器化应用程序的自动化部署和管理能力,实现了DevOps流程的自动化和标准化。

未来发展

        未来,云原生技术将继续发展和演进,包括但不限于以下方向:

        边缘化计算:随着物联网和边缘计算的兴起,云原生技术将进一步扩展到边缘设备和边缘节点,实现在边缘和云之间的无缝集成和协同工作,提供更低延迟和更高可靠性的服务。

  • 混合云:混合云架构将成为主流,企业可以在私有云和公有云之间灵活部署和迁移应用程序,同时利用云原生技术实现统一管理和自动化运维。

  • AI与自动化:人工智能和自动化技术将与云原生技术相结合,实现智能化的运维管理和应用优化,提高系统的智能化和自适应能力。

  • 安全和合规性:安全和合规性将成为云原生架构的重要考虑因素,各种安全技术和合规性标准将被集成到云原生平台和工具中,保障数据和应用的安全性和合规性。

  • 生态系统发展:云原生生态系统将进一步丰富和完善,包括容器编排平台、服务网格、持续集成/持续交付工具等,为开发者提供更多选择和更好的支持。

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

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

相关文章

大规模 RGB LED灯控系统 Lumos:创新与智能化的融合

灯控系统:创新与智能化的融合 在现代照明技术不断进步的背景下,灯控系统的应用已经从简单的开关控制,发展到能够进行复杂程控操作的智能化管理。我们推出的新一代灯控解决方案,凭借其高度的可配置性和跨平台兼容性,已…

Hadopp入门之基础概念

Hadoop概述 Hadoop是什么 Hadoop是一个由Apache基金会所开发的分布式系统基础架构主要解决海量数据的存储和海量数据的分析计算问题广义上来说,Hadoop通常是指一个更广泛的概念——Hadoop生态圈 Hadoop优势 高可靠性:Hadoop底层维护多个数据副本&…

Linux基础之进程-fork()函数的详解

目录 一、前言 二、fork()函数 2.1 fork()函数的基本概念 2.2 问题一的解答 2.3 问题二的解答 2.4 问题三的解答 2.5 问题四的解答 2.6 问题五的解答 一、前言 在上节内容中我们已经学会了使用我们的getpid()和我们的getppid()去查看我们进程的pid,并且学习到…

通过Mendix Portal管理应用整个生命周期

一、前言 大家常常会听到Mendix是一个统一的平台,怎么理解这个统一平台呢?它指的是帮助企业搭建一个统一的开发平台,管理应用的整个生命周期,之前大家更多地关注在应用开发层面,而开发只是整个生命周期的一环。 从上图…

华为手机恢复出厂设置后怎么还原数据?该如何预防数据丢失?

华为手机恢复出厂设置是将手机恢复到出厂时的初始状态,同时会删除所有用户数据和个人设置。如果不做任何预防措施,在恢复出厂设置后,您将丢失手机上的所有数据。那华为手机恢复出厂设置后怎么还原数据呢?以下是关于如何在华为手机…

柔性数组+结构体类型转换

柔性数组&#xff1a;在结构体中声明的时候仅作为占位符&#xff0c;好处是地址是连续的 强制类型转换&#xff1a;可用于通信双方进行信息交流 #include <iostream> #include <string.h>struct DataWater {int count;float size;char buf[0]; }; // dbuf相当于是…

GLU(Gated Linear Unit) 门控线性单元

文章目录 一、RNN二、GLU2.1 整体结构2.2 输入层(Input SentenceLookup Table)2.3 中间层(ConvolutionGate)2.4 输出层(Softmax)2.5 实验结果2.6 实现代码 三、RNN与GLU的对比参考资料 GLU可以理解为能够并行处理时序数据的CNN网络架构&#xff0c;即利用CNN及门控机制实现了RN…

UKP3d,修改管道长度或标高的方法

南京用户问&#xff0c;请问这个起末点标高可以修改么&#xff1f;如图&#xff1a; 上述起末点的标高是不可以修改&#xff0c;用户没有详细阐述自已想要的结果。可能是以下几种场景&#xff0c;希望能帮助到用户&#xff1a; 1.修改管道长度&#xff1a; 1.1.(管道在模型的…

各种类型的背景音频音效,不同风格的背景音乐素材

一、素材描述 本套背景音乐素材&#xff0c;大小1.76G&#xff0c;58个压缩文件。 二、素材目录 8支简短精致的企业标志片头音乐.zip Avril 伴奏收藏 Wish you were here.zip 《带我回家》带给人温暖感动的男声歌曲 .zip 《光荣时刻》震撼激烈的英雄史诗电影音乐素材.zip…

风扇开启执行逻辑

执行流程 public static void businessExecutionWork(){//以下为业务逻辑部分System.out.println("1、根据电池包控制风扇服务执行 开始!");//1、获取电池包电压、电流、环境温度//获取电池包电压、电流、环境温度ObtainBatteryDataService obtainBatteryDataServic…

分享一个适用于 Vue3.x 非常好用的组件库【Naive UI】

一、Naive UI 介绍 Naive UI 是一种简单易用、不太复杂的用户界面&#xff08;UI&#xff09;框架&#xff0c;主要用于Web应用程序的开发。它提供了超过80个组件&#xff0c;覆盖了表格、表单、弹窗、图表等多个方面&#xff0c;这些组件不仅功能强大&#xff0c;而且高度可定…

tomcat 设置JVM 参数

tomcat 启动的服务 设置jvm 设置的文件目录&#xff1a; /tomcat/bin/catalina.sh 添加设置参数&#xff1a; JAVA_OPTS“$JAVA_OPTS -server -Xms1024m -Xmx4096m -XX:MetaspaceSize1024m -XX:MaxMetaspaceSize2048m -XX:HeapDumpOnOutOfMemoryError -XX:HeapDumpPath/data/se…

C++可变参数模板类通过递归和特化方式展开

可变参数模版类有2种方式展开参数包&#xff1a;通过继承和通过递归特化。在此只举例一个后着的例子以阐述展开的方式和过程。这些内容其实书上都有&#xff0c;我只是在看《深入C11 代码优化与工程应用》一书中遇到了些困惑&#xff0c;可能书中的写法与我的理解不对版&#x…

【C++历练之路】哈希思想的应用——位图、布隆过滤器

W...Y的主页 &#x1f60a; 代码仓库分享&#x1f495; 前言&#xff1a;我们使用hash思想学习了哈希表&#xff0c;进行了模拟实现unordered_set与unordered_map。这些都是用hash思想实现出来的数据结构&#xff0c;今天我们来学习一下hash的应用——位图、布隆过滤器。 目…

课题组里有一个卷王是什么体验?

::: block-1 “时问桫椤”是一个致力于为本科生到研究生教育阶段提供帮助的不太正式的公众号。我们旨在在大家感到困惑、痛苦或面临困难时伸出援手。通过总结广大研究生的经验&#xff0c;帮助大家尽早适应研究生生活&#xff0c;尽快了解科研的本质。祝一切顺利&#xff01;—…

Ansys ACT的一个例子

由XML和IronPython文件组成&#xff0c;文件结构如下&#xff1a; ExtSample.xml <extension version"1" name"ExtSample1"><guid shortid"ExtSample1">2cc739d5-9011-400f-ab31-a59e36e5c595</guid><script src"sam…

【全开源】废品回收微信小程序基于FastAdmin+ThinkPHP+UniApp

介绍 一款基于FastAdminThinkPHPUniApp开发的废品回收系统&#xff0c;适用废品回收站、再生资源回收公司上门回收使用的小程序 功能特性 1、会员注册 支持小程序授权注册和手机号注册 2、回收品类 可设置回收品类&#xff0c;废纸、废金属、废玻璃、旧衣服等 3、今日指导价…

如何快速提取出一个文件里面全部指定类型的文件的全部路径

首先&#xff0c;需要用到的这个工具&#xff1a; 度娘网盘 提取码&#xff1a;qwu2 蓝奏云 提取码&#xff1a;2r1z 打开工具&#xff0c;切换到第五个模块&#xff0c;文件批量复制模块&#xff08;快捷键&#xff1a;Ctrl5&#xff09; 点击右边的“搜索添加”按钮&#…

[muduo网络库]——muduo库三大核心组件之Channel类(剖析muduo网络库核心部分、设计思想)

接着上文[muduo网络库]——muduo库的Reactor模型&#xff08;剖析muduo网络库核心部分、设计思想&#xff09;&#xff0c;接下来详细介绍一下这三大核心组件中的Channel类。 先回顾一下三大核心组件之间的关系。 接着我们进入正题。 Channel Channel类封装了一个 fd 、fd感兴…

onnx模型截取部分

这个是有需求的&#xff0c;比如有多个输入节点&#xff0c;我只用其中几个&#xff0c;或有多个输出节点&#xff0c;我只用其中几个。 比如这个输入&#xff0c;我们可以直接把transpose去掉&#xff0c;用类pytorch的N,C,H,W的格式输入。 还有如下输出&#xff1a; tran…