云平台和云原生

news2024/12/25 23:35:59

目录

1.0 云平台

1.1.0 私有云、公有云、混合云

1.1.1 私有云

1.1.2 公有云

1.1.3 混合云

1.2 常见云管理平台 

1.3 云管理的好处

1.3.1 多云的统一管理

1.3.2 跨云资源调度和编排需要

1.3.3 实现多云治理

1.3.4 多云的统一监控和运维

1.3.5 统一成本分析和优化

1.3.6 实现基于API构建跨云的应用

2.0 云原生

2.1 云计算历史回顾

2.2 什么云原生

2.3 理解云原生应用

2.3.1 云原生应该是什么样子的?

2.4 Service Mesh


1.0 云平台

1.1.0 私有云、公有云、混合云

1.1.1 私有云

私有云(Private Clouds)是为一个客户单独使用而构建的,因而提供对数据、安全性和服务质量的最有效控制。该公司拥有基础设施,并可以控制在此基础设施上部署应用程序的方式。私有云可部署在企业数据中心的防火墙内,也可以将它们部署在一个安全的主机托管场所。私有云极大的保障了安全问题,目前有些企业已经开始构建自己的私有云。

优点:提供了更高的安全性,因为单个公司是唯一可以访问它的指定实体。这也使组织更容易定制其资源以满足特定的IT要求。

缺点:安装成本很高。此外,企业仅限于合同中规定的云计算基础设施资源。私有云的高度安全性可能会使得从远程位置访问也变得很困难。

1.1.2 公有云

公有云通常指第三方提供商用户能够使使用的云,公有云一般可通过 Internet 使用,可能是免费或成本低廉的。这种云有许多实例,可在当今整个开放的公有网络中提供服务。公有云的最大意义是能够以低廉的价格,提供有吸引力的服务给最终用户,创造新的业务价值,公有云作为一个支撑平台,还能够整合上游的服务(如增值业务,广告)提供者和下游最终用户,打造新的价值链和生态系统。它使客户能够访问和共享基本的计算机基础设施,其中包括硬件、存储和带宽等资源。

优点:除了通过网络提供服务外,客户只需为他们使用的资源支付费用。此外,由于组织可以访问服务提供商的云计算基础设施,因此他们无需担心自己安装和维护的问题。

缺点:与安全有关。公共云通常不能满足许多安全法规遵从性要求,因为不同的服务器驻留在多个国家,并具有各种安全法规。而且,网络问题可能发生在在线流量峰值期间。虽然公共云模型通过提供按需付费的定价方式通常具有成本效益,但在移动大量数据时,其费用会迅速增加。

1.1.3 混合云

混合云是公有云和私有云两种服务方式的结合。由于安全和控制原因,并非所有的企业信息都能放置在公有云上,这样大部分已经应用云计算的企业将会使用混合云模式。很多将选择同时使用公有云和私有云,有一些也会同时建立公众云。因为公有云只会向用户使用的资源收费,所以集中云将会变成处理需求高峰的一个非常便宜的方式。比如对一些零售商来说,他们的操作需求会随着假日的到来而剧增,或者是有些业务会有季节性的上扬。同时混合云也为其他目的的弹性需求提供了一个很好的基础,比如,灾难恢复。这意味着私有云把公有云作为灾难转移的平台,并在需要的时候去使用它。这是一个极具成本效应的理念。另一个好的理念是,使用公有云作为一个选择性的平台,同时选择其他的公有云作为灾难转移平台。

优点:允许用户利用公共云和私有云的优势。还为应用程序在多云环境中的移动提供了极大的灵活性。此外,混合云模式具有成本效益,因为企业可以根据需要决定使用成本更昂贵的云计算资源。

缺点:因为设置更加复杂而难以维护和保护。此外,由于混合云是不同的云平台、数据和应用程序的组合,因此整合可能是一项挑战。在开发混合云时,基础设施之间也会出现主要的兼容性问题。

1.2 常见云管理平台 

1.3 云管理的好处

多云趋势明显、应用广泛,而云管理平台是多云管理的必然选择。

云管理平台的主要能力包含混合云、多云环境的统一管理和调度、提供系统映像、计量计费以及通过既定策略优化工作负载,更先进的产品还可以与外部企业管理系统集成,包括服务目录,支持存储和网络资源的配置,允许通过服务治理加强资源管理,并提供高级监控,提高性能和可用性。

具体来说,云管理平台可以在以下几个方面体现其在多云管理中的作用:

1.3.1 多云的统一管理

企业的IT人员管理多个不同的云平台,让云服务的用户登录多个不同的云平台进行操作显然是件困难的事情。通过使用云管理平台,管理员可以设定跨云统一的管理策略、审批流程、资源配额以及镜像模板等,并统一管理和维护多云应用和基础架构模板,并通过管理门户管理整个环境。云服务消费者从自助服务门户中选择多云模板进行部署和使用。

1.3.2 跨云资源调度和编排需要

对于企业IT应用的不同需要,管理员和开发者需要根据具体需求调度和编排跨云资源,此时,云管理平台不可或缺。对于特点的应用,开发人员期望将基础架构和应用程序服务部署到多个平台,部署后配置这些服务,并通过工作流设计界面控制生命周期操作(启动,停止等)。如标准的Web、APP、DB三层架构应用部署时,借助公有云CDN的能力,把Web层部署在公有云上,把APP集群部署在私有云的容器或者虚拟机上,把DB部署在私有云物理机上。通过云管理平台跨云编排能力,将这些公有云服务、私有云的资源进行统一的编排,辅以流程引擎形成跨云服务。

1.3.3 实现多云治理

多云需要统一的治理能力。云管理平台提供的治理和控制功能使管理员能够定义角色和权限层次结构,与企业和公有云目录和身份验证服务(单点登录SSO等)集成,设置和执行成本和其它配额和限制,并使用标记的资源跟踪更改历史记录,以执行合规性策略。

1.3.4 多云的统一监控和运维

管理员和运维者都需要监控告警和利用率报告来优化正在进行的多云管理。在与企业级客户交流时经常会听到的抱怨就是,为了管理云数据中心、管理某个云环境都要登录多个系统分别进行:操作虚拟化、网络、存储、业务等的管理;对IT流程的管理;对监控告警系统的管理等等。云管理平台集成企业内部IT环境,是管理员和运维人员能在统一的portal完成对于云的管理和运维操作。

1.3.5 统一成本分析和优化

云系统的管理员、财务人员、云服务的消费者都需要考虑成本和服务/资源利用率报告来优化正在进行的多云管理。云管理平台提供的基于云环境、云服务和资源类型、服务消费实体构建的成本分摊模型,到期日期和性能/使用情况分析不仅有助于控制使用情况,还可以引导消费者使用最佳的云平台,优化整体成本。此外,云管理平台提供的成本优化能力,能帮助管理员分析存在的僵尸主机、资源利用率低、选择成本及性价比更好的服务,进行资源调度。而当某个公有云调整价格时,云管理平台的动态资源调度和优化能力可以灵活的在各云间调配高性价比的服务,节省企业云消费成本。

1.3.6 实现基于API构建跨云的应用

IaaS、PaaS及DaaS服务为企业应用提供了良好的集成支撑,通过API控制应用程序和基础架构元素对云管理员和开发人员都很重要。云管理平台提供统一的API网关,抽象各云平台的API差异,提供了一系列的鉴权、API生命周期管理、API服务消费及管理能力,简化了对于各云平台的集成及企业内部IT服务管理工具和产品的使用。

通过构建多云,企业可以实现统一管理公有云和私有云、跨国跨区域的业务系统部署、关键数据的云灾备、应对短时的云爆发业务需求、全局的高可用性和性能需求、各云服务提供商的优势/高性价比服务选择、成本分摊及优化能力等。但多云带来的最大问题是服务异构,多活也意味着必然有大量数据同步,带宽,时延,数据一致性方面都有很大挑战,管理成本也会上去。所以可以优先考虑单朵云内同城和异地建设,这样基础层面同构,可以更好地专注在业务容灾和双活建设上。

综上所述,多云需求的快速增长,必然需要相应的管理能力,而云管理平台作为一个综合的双模IT管理实践,方便管理员构建和管理多云、便于开发人员构建和运行跨云的应用程序,并帮助 IT 经理交付、治理和优化多个云平台。

2.0 云原生

2.1 云计算历史回顾

基于虚拟机技术,陆续出现了 IaaS/PaaS/FaaS 等形态,以及他们的开源版本。

IaaS:Infrastructure as a Service(基础设施即服务)
从上面的架构图可以看出,IaaS处于最底层,服务商提供底层/物理层基础设施资源(服务器,数据中心,环境控制,电源,服务器机房),客户自己部署和执行操作系统或应用程序等各种软件。

PaaS:Platform as a Service(平台即服务)
PaaS处于中间层,服务商提供基础设施底层服务,提供操作系统(Windows,Linux)、数据库服务器、Web服务器、域控制器和其他中间件,以及服务模型中的备份服务等中件层服务。例如IIS,.NET,Apache,MySQL …,客户自己控制上层的应用程序部署与应用托管的环境。

SaaS:Software as a Service(软件即服务)
SaaS处于最上层,服务商提供基于软件的解决方案,满足客户最终需求;如OA、CRM、MIS、ERP、HRM、CM、Office 365、iCloud、G Suite等应用,客户不需考虑任何形式的专业技术知识,获得完整的软件包,使他们的日常工作和生活变得更轻松。

BaaS:Backend as a Service(后端即服务)
服务商为客户(开发者)提供整合云后端的服务,如提供文件存储、数据存储、推送服务、身份验证服务等功能,以帮助开发者快速开发应用。

FaaS:Function as a service(函数即服务)[Serverless]
无服务器计算,当前使用最广泛的是AWS的Lambada。
服务商提供一个平台,允许客户开发、运行和管理应用程序功能,而无需构建和维护通常与开发和启动应用程序相关的基础架构的复杂性。按照此模型构建应用程序是实现“无服务器”体系结构的一种方式,通常在构建微服务应用程序时使用。

其实还有很多的aaS,比如DaaS(Data as a service,数据即服务)、NaaS(Network as a service,网络即服务) 等等。

2013 年 docker 出现,容器技术成熟,然后围绕容器编排一场大战,最后在 2017 年底,kubernetes 胜出。2015 年 CNCF 成立,并在近年形成了 cloud native 生态。

在这个过程中,云的形态一直变化,可以看到:供应商提供的功能越来越多,而客户或者说应用需要自己管理的功能越来越少。

2.2 什么云原生

云原生从字面意思上来看可以分成**云**和**原生**两个部分。

云是和本地相对的,传统的应用必须跑在本地服务器上,现在流行的应用都跑在云端,云包含了IaaS,、PaaS和SaaS。

原生就是土生土长的意思,我们在开始设计应用的时候就考虑到应用将来是运行云环境里面的,要充分利用云资源的优点,比如️云服务的**弹性**和**分布式**优势。

微服务
微服务解决的是我们软件开发中一直追求的**低耦合+高内聚**,记得有一次我们系统的接口出了问题,结果影响了用户的前台操作,于是黎叔拍案而起,灵魂发问:“为啥这两个会互相影响?!”

微服务可以解决这个问题,微服务的本质是把一块大饼分成若干块低耦合的小饼,比如一块小饼专门负责接收外部的数据,一块小饼专门负责响应前台的操作,小饼可以进一步拆分,比如负责接收外部数据的小饼可以继续分成多块负责接收不同类型数据的小饼,这样每个小饼出问题了,其它小饼还能正常对外提供服务。

DevOps
DevOps的意思就是**开发和运维**不再是分开的两个团队,而是你中有我,我中有你的一个团队。我们现在开发和运维已经是一个团队了,但是运维方面的知识和经验还需要持续提高。

持续交付
持续交付的意思就是在不影响用户使用服务的前提下频繁把新功能发布给用户使用,要做到这点非常非常难。我们现在两周一个版本,每次上线之后都会给不同的用户造成不同程度的影响。

容器化
容器化的好处在于运维的时候不需要再关心每个服务所使用的技术栈了,每个服务都被无差别地封装在容器里,可以被无差别地管理和维护,现在比较流行的工具是docker和k8s。

2.3 理解云原生应用

2.3.1 云原生应该是什么样子的?

在云原生之前,底层平台负责向上提供基本运行资源。而应用需要满足业务需求和非业务需求,为了更好的代码复用,通用型好的非业务需求的实现往往会以类库和开发框架的方式提供,另外在 SOA/ 微服务时代部分功能会以后端服务的方式存在,这样在应用中就被简化为对其客户端的调用代码。

然后应用将这些功能,连同自身的业务实现代码,一起打包。

而云的出现,可以在提供各种资源之外,还提供各种能力,从而帮助应用,使得应用可以专注于业务需求的实现。
非业务需求相关的功能都被移到云,或者说基础设施中去了,以及下沉到基础设施的中间件。

以服务间通讯为例:需要实现上面列举的各种功能。

SDK 的思路:在应用层添加一个胖客户端,在这个客户端中实现各种功能。

Service Mesh 的思路,体现在将 SDK 客户端的功能剥离出来,放到 Sidecar 中。就是把更多的事情下沉,下沉到基础设施中。

在用户看来,应用长这样:

云原生是我们的目标,Service Mesh 交出了自己的答卷,接下来我们可以回到 Service Mesh 这里了。

2.4 Service Mesh

其中文译名是服务网格,这个词最早使用由开发Linkerd的Buoyant公司提出,并在内部使用。

服务网格的基本构成

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

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

相关文章

Armadillo库:用于线性代数和科学计算的快速C/C++库下载及vs环境下的使用方法

armadillo库的下载及使用 一. armadillo库的下载二. vs2022环境下armadillo库的基本使用方法 一. armadillo库的下载 armadillo库的官方下载连接: https://arma.sourceforge.net/download.html 选择网页中最新版本的armadillo库压缩包文件进行下载。 解压armadillo-12.8.2.ta…

GitHub 仓库 (repository) Branch - SSH clone URL - Clone in Desktop - Download ZIP

GitHub 仓库 [repository] Branch - SSH clone URL - Clone in Desktop - Download ZIP 1. Branch2. SSH clone URL3. Clone in Desktop4. Download ZIPReferences 1. Branch 显示当前分支的名称。从这里可以切换仓库内分支,查看其他分支的文件。 2. SSH clo…

小程序解析二维码:jsQR

1.了解jsQR jsQR是一个纯javascript脚本实现的二维码识别库&#xff0c;不仅可以在浏览器端使用&#xff0c;而且支持后端node.js环境。jsQR使用较为简单&#xff0c;有着不错的识别率。 2.效果图 3.二维码 4.下载jsqr包 npm i -d jsqr5.代码 <!-- index.wxml --> &l…

Redis 常用的基本命令

&#x1f525;博客主页&#xff1a;fly in the sky - CSDN博客 &#x1f680;欢迎各位&#xff1a;点赞&#x1f44d;收藏⭐️留言✍️&#x1f680; &#x1f386;慢品人间烟火色,闲观万事岁月长&#x1f386; &#x1f4d6;希望我写的博客对你有所帮助,如有不足,请指正&#…

上门服务小程序|上门服务系统|上门服务软件开发流程

在如今快节奏的生活中&#xff0c;上门服务小程序的需求越来越多。它们向用户提供了方便、高效的服务方式&#xff0c;解决了传统服务行业中的很多痛点。如果你也想开发一个上门服务小程序&#xff0c;以下是开发流程和需要注意的事项。 1、确定需求&#xff1a;在开始开发之前…

神经网络解决回归问题(更新ing)

神经网络应用于回归问题 神经网络是处理回归问题的强大工具&#xff0c;它们能够学习输入数据和输出之间的复杂关系。 神经网络提供了一种灵活且强大的框架&#xff0c;用于建模和预测回归问题。通过 适当的 网络结构、训练策略和正则化技术&#xff0c;可以有效地从数据中学…

【CPA考试】2024注册会计师报名照片尺寸要求解读及手机拍照方法

随着2024年注册会计师考试的临近&#xff0c;众多会计专业人士和学生都开始准备报名参加这一行业的重要考试&#xff0c;报名时间为4月8日至4月30日。报名过程中&#xff0c;一张符合要求的证件照是必不可少的。本文将为您详细解读2024年注册会计师考试报名照片的尺寸要求&…

Pytorch导出FP16 ONNX模型

一般Pytorch导出ONNX时默认都是用的FP32&#xff0c;但有时需要导出FP16的ONNX模型&#xff0c;这样在部署时能够方便的将计算以及IO改成FP16&#xff0c;并且ONNX文件体积也会更小。想导出FP16的ONNX模型也比较简单&#xff0c;一般情况下只需要在导出FP32 ONNX的基础上调用下…

LINUX系统触摸工业显示器芯片应用方案--Model4(简称M4芯片)

背景介绍&#xff1a; 触摸工业显示器传统的还是以WINDOWS为主&#xff0c;但近年来&#xff0c;安卓紧随其后&#xff0c;但一直市场应用情况不够理想&#xff0c;反而是LINUX系统的触摸工业显示器大受追捧呢&#xff1f; 触摸工业显示器传统是以Windows系统为主&#xff0c…

微信小程序用户登录授权指定(旧版本)

配置旧版本基础库2.12.3 实现效果 点击登录按钮即可直接登录&#xff0c;获取用户昵称和头像 点击获取头像昵称按钮则需要授权&#xff0c;才能成功登录 代码实现 my.xml <!-- 登录页面,调试基础库为2.20.2库 --> <view class"mylogin"><block w…

权威报道 | 百分点科技:《突发事件应急预案管理办法》解读

近日&#xff0c;百分点科技CTO刘译璟作为唯一企业界代表&#xff0c;接受应急领域权威期刊——《中国应急管理》杂志邀请&#xff0c;与中国安全生产科学研究院、中央党校、中国政法大学等单位的专家一起&#xff0c;就《突发事件应急预案管理办法》&#xff08;以下简称《办法…

三支冲突分析介绍

Pawlak最早通过观察一组智能体对一组问题的意见&#xff0c;提出了冲突分析模型。U表示对象集&#xff0c;V表示属性集&#xff0c;R表示对象集和属性集之间的二元关系&#xff0c;这样一个刻画冲突分析的信息系统通过三元组&#xff08;U&#xff0c;V&#xff0c;R&#xff0…

hive管理之ctl方式

hive管理之ctl方式 hivehive --service clictl命令行的命令 #清屏 Ctrl L #或者 &#xff01; clear #查看数据仓库中的表 show tabls; #查看数据仓库中的内置函数 show functions;#查看表的结构 desc表名 #查看hdfs上的文件 dfs -ls 目录 #执行操作系统的命令 &#xff01;命令…

如何用西门子PLC手工做一个电闸监控控制系统

//S-H4CK13Maptnh// 项目地址:https://github.com/MartinxMax/S7-200_Power_monitoring 欢迎三连支持…电闸监控与控制 注意 注意安全,220V!!! 应用场景 一些工业自动化企业中需要对电闸的监控与控制。 原理图 组装 上面一行检测跳闸情况 下面一行控制当前一路电源 控制…

小剧场短剧剧集收费短剧小程序APP

1. 内容展现 付费、免费、任务解锁&#xff1a;用户可以通过付费直接观看短剧&#xff0c;也可以通过完成平台任务&#xff08;如签到、分享等&#xff09;获得免费观看的机会。这种灵活的解锁方式既满足了用户的多种需求&#xff0c;也促进了平台的活跃度。主流展现形式&…

InsectMamba:基于状态空间模型的害虫分类

InsectMamba&#xff1a;基于状态空间模型的害虫分类 摘要IntroductionRelated WorkImage ClassificationInsect Pest Classification PreliminariesInsectMambaOverall Architecture InsectMamba: Insect Pest Classification with State Space Model 摘要 害虫分类是农业技术…

【黑马头条】-day07APP端文章搜索-ES-mongoDB

文章目录 今日内容1 搭建es环境1.1 拉取es镜像1.2 创建容器1.3 配置中文分词器ik1.4 测试 2 app文章搜索2.1 需求说明2.2 思路分析2.3 创建索引和映射2.3.1 PUT请求添加映射2.3.2 其他操作 2.4 初始化索引库数据2.4.1 导入es-init2.4.2 es-init配置2.4.3 导入数据2.4.4 查询已导…

Docker容器嵌入式开发:Docker Ubuntu18.04配置mysql数据库

在 Ubuntu 18.04 操作系统中安装 MySQL 数据库的过程。下面是安装过程的详细描述: 首先,使用以下命令安装 MySQL 服务器: sudo apt install mysql-server系统会提示是否继续安装,按下 Y 键确认。 安装过程中,系统会下载并安装 MySQL 相关的软件包,包括 libaio1、mysql…

ChromeDriver / Selenium-server

一、简介 ChromeDriver 是一个 WebDriver 的实现&#xff0c;专门用于自动化控制 Google Chrome 浏览器。以下是关于 ChromeDriver 的详细说明&#xff1a; 定义与作用&#xff1a; ChromeDriver 是一个独立的服务器程序&#xff0c;作为客户端库与 Google Chrome 浏览…

STM32H7通用定时器计数功能的使用

目录 概述 1 STM32定时器介绍 1.1 认识通用定时器 1.2 通用定时器的特征 1.3 递增计数模式 1.4 时钟选择 2 STM32Cube配置定时器时钟 2.1 配置定时器参数 2.2 配置定时器时钟 3 STM32H7定时器使用 3.1 认识定时器的数据结构 3.2 计数功能实现 4 测试案例 4.1 代码…