云平台和云原生

目录

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公司提出,并在内部使用。

服务网格的基本构成

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于Lipschitz李式指数的随机信号特征识别和故障检测matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 4.1 Lipschitz李式指数定义与性质 4.2 Lipschitz李式指数的估计 4.3 Lipschitz李式指数在信号特征识别与故障检测中的应用 5.完整程序 1.程序功能描述 基于Lipschitz李式指数的随机信号特…

Mac的终端配置

Mac的终端配置 参考教程包管理工具 - Homebrew出现的问题用虚拟环境解决方案:直接将解释器的路径放过去错误方法:用find查找到虚拟环境安装的路径,其链接的是brew安装的python路径 编辑器没有报错,但是运行过程中仍然找不到pandas…

联想电脑开启虚拟化失败,开启虚拟化却提示还没有开启虚拟化

安装虚拟机的时候, 电脑要开启虚拟化, Intel VT, 去BIOS开启了, 但是依然报错,说虚拟化处于禁用状态。 解决方案: 去联想官方,下载BIOS更新包,更新BIOS。 更新文档: 联…

基于单片机的奶瓶温控系统设计

摘要:本设计使用STC89C51单片机为核心芯片,DS18B20 作为温度检测模块,LCD1602 显示温度值,当温度低于设定的温度时,启动加热功能;当温度高于设定的温度时,该系统中断加热,实现自动报警功能。设计简单、成本低、实用性强。 关键词:单片机;温度传感器;设计 1 概述 随…

Pytorch导出FP16 ONNX模型

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

LeetCode 73.矩阵置零————2024 春招冲刺百题计划

给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 输入:matrix [[1,1,1],[1,0,1],[1,1,1]] 输出:[[1,0,1],[0,0,0],[1,0,1]] 示例 2: 输入:matrix […

featup入坑笔记

一、新建环境 在conda中建立一个虚拟环境featup, conda create -n featup python3.9 二、开始配置: 我是先下载了FeatUp,之后 pip install -e . -i https://mirrors.aliyun.com/pypi/simple/ 但是,突然出错了,说无法…

Javascript - 你在项目中是如何使用闭包的

难度级别:中高级及以上 提问概率:80% 很多初级开发者其实在日常工作中,很少有使用闭包的机会,但这却是一个非常高频的考点,因为对闭包不是特别了解,使用又少,久而久之,就觉得闭包是一个难点。在Javascript中,一个普通方法在执行完毕后…

Selenium+Chrome Driver 爬取搜狐页面信息

进行selenium包和chromedriver驱动的安装 安装selenium包 在命令行或者anaconda prompt 中输入 pip install Selenium 安装 chromedriver 先查看chrome浏览器的版本 这里是 123.0.6312.106 版 然后在http://npm.taobao.org/mirrors/chromedriver/或者https://googlechrom…

统一用安卓Studio修改项目包名

可以逃跑,可以哭泣,但不可以放弃 --《鬼灭之刃》 修改项目包名 1)选中项目中药修改的包名: 2)目结构显示方式,取消 Compact Middle Packages 选项; 3)右键要修改的包名,选择 Refactor —— Re…

VSCode+Cmake 调试时向目标传递参数

我有一个遍历文件层次结构的程序,程序根据传入的文件路径,对该路径下的所有文件进行遍历。这个程序生成一个名为 ftw 的可执行文件,如果我要遍历 /bin 目录,用法为: ftw /bin问题是,如果我想单步跟踪&…

宁波CE欧盟认证:️打开欧洲市场的金钥匙

🌈🌈🌈宁波CE欧盟认证:🗝️打开欧洲市场的🔑金钥匙 宁波,🌇这座充满活力的🚤港口城市,正以其独特的💎魅力和实力,向世界展示着&#x…

网页布局与样式设计:从简单到复杂

✨✨祝屏幕前的小伙伴们每天都有好运相伴左右,一定要天天开心!✨✨ 🎈🎈作者主页: 喔的嘛呀🎈🎈 目录 引言 一. 基础布局技巧 1.使用CSS Grid布局设计网页布局 1.1 创建网格容器 1.2. 定义…

PaddleVideo:PP-TSM 视频分类

本文记录:使用Paddle框架训练TSM(Temporal Shift Module) 前提条件:已经安装Paddle和PadleVideo,具体可参考前一篇文章。 1-数据准备: 以UCF101为例:内含13320 个短视频,视频类别&…

【python】python的选择语句的三个题目

1.乘坐飞机时,有些航班没有行李额度,当乘客的行李小于等于20公斤时,按每公斤1.68元收费;大于20公斤时,按每公斤1.98元收费,编写程序计算收费情况(保留两位小数) air_bagfloat(input…

java中的Arrays类

java.util.Arrays类 java中的java.util.Arrays类是JDK提供的对数组进行操作的工具类,其中包含了数组的常规操作,有排序、填充、查找、打印等内容。 toString方法 Arrays类里的toString方法是静态方法,能够通过类名.方法名的方式进行调用。这…

[Java基础揉碎]Math类

目录 基本介绍 方法一览(均为静态方法) 1) abs 绝对值 2) pow 求幂 3) ceil 向上取整 4) floor 向下取整 5) round 四舍五入 6) sqrt 求开方 7) random求随机数 8) max 求两个数的最大值 9) min 求两个数的最小值 基本介绍 Math类包含用于执行基本数学运算的方法&…

计算器(C语言)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 介绍关键代码运行代码(3种) 介绍 标准计数器:执行加减乘除等等科学计算器:执行分数、统计学、指数函数、对数、三角…

【机器学习300问】64、简写出常见的激活函数及其导数?

在机器学习特别是深度学习中,激活函数是用于增加模型的非线性特性。对于一个给定的输入信号,激活函数定义了输出信号的形式。以下是一些常见的激活函数及其导数: 一、Sigmoid函数 函数 导数 二、Tanh双曲正切函数 函数 导数 三、ReLU线性整…

通过本机调试远端路由器非直连路由

实验目的:如图拓扑,通过本机电脑发,telnet调试远程AR4设备。 重点1:通过ospf路由协议配置拓扑网络,知识点:ospf配置路由器协议语法格式,area区域的定义,区域内网络的配置&#xff0…