返回顶部

云计算基础之云计算概念

云计算基础

主机资源使用方式在云计算出现之前,常用的主机资源使用方式有: IDC托管、IDC租用、自己购买、虚拟机、...

 传统的资源管理方式

资源方面:

  • 初始投入/后期维护成本高,后期资源闲置浪费

人力方面:

  • 纯手工操作,自动化能力差 技术水平限制,资源分配不合理

最终效果:

  • 资源利用率低

虚拟化是什么?

  • 就是本来没有,但是通过某种特殊的手段,让你以为有,而且确信不已,这些手段就是虚拟化技术

虚拟化的目的

在时间上和空间上突破我们工作的限制,提升工作效率。

  • 时间上:多种工作在一时间段内同时进行

  • 空间上:在一台物理主机上,虚拟出来多台主机,多台主机共同做一件事情。

 为什么要云计算?

对提供商而言:

资源方面:海量资源动态管理,灵活的调配,达到资源高效率使用 人力方面:技术团队高效使用

对客户而言:

使用方式多:网络访问无处不在 成本投入低:按需使用的自助服务,资源可以弹性伸缩

云计算的历史

1961年 "云"概念由计算机科学家John McCarthy提出

1990年 各大厂商开始普及并且验证了现代云计算基础的核心概念:功能服务

2006年 "云计算"出现在商业领域,Google提出"云计算"概念

2009年 美日韩将其纳入政府议程 2010年 中国将其纳入战略性产业,云计算开始在中国进入迅速发展期

2013年 政府工信部发布基于云计算的政务平台设计指南

2015年 云计算脱离争论不休和宣扬阶段,开始进入落地实施阶段

基本概念

云计算概念

  云计算是一种模型,可以实现随时随地、便捷的、按需地从可配置计算资源共享池中获取所需的资源(网络、 服务器、存储、应用程序及服务),资源客户快速的供给和释放,使管理的工作量和服务提供者的介入降低至最少 。 -- 2011.9 NIST(美国国家标准与技术研究院)对云计算的修订版定义。

什么是云计算

Management 是 云计算实现的一种 方式,因为包含众多组件,所以也有人称之 为Cloud OS

从表现形式上来讲:

  底层由物理硬件构建出一个环境,在这个环境上运行一个操作系统,对终端用户而言,当我们需要用到一个操 作系统或应用实现特殊功能时,它只需要向CloudOS提出申请而就能够立即申请获取一个对应的请求环境,这个环 境我们可以随时终止,开启等功能。

对于用户而言,无需关心它所需要的计算能力从哪里来,有别于传统使用计算机操作系统的状况(看得见、摸 得着) 虚拟机资源总容量,不能超过物理资源的容量大小

从本质上来讲:

  • 云计算是一种资源交付的模式。它的特点是:基于网络、按需付费、弹性拓展。

  • 云服务提供商基于有效的网络通信对所有资源进行统一管理,客户对使用的计算资源按需付费,计算资源使用

过程中支持弹性拓展,客户只需投入很少的管理工作就可以高效率的使用计算资源。

Private:传统/私有方式

  • 优点:所有事情都亲自做,可控

  • 缺点:用户成本比较高,要求自身技术水平高

  • 典型软件:传统物理主机

Iaas:基础设施即服务

  • 优点:底层硬件到操作系统,都不需要用户操心,省事,可以集中精力做业务项目。

  • 缺点:服务商提供的东西,非自己自由定制,所以不可控

  • 典型软件:OpenStack,CloudStack

PaaS:平台即服务

  • 优点:我不会运维,我只会开发,底层到运行环境,都不需要用户操心,省事,可以集中精力做应用项目

  • 缺点:服务商提供的东西,定制太强,不灵活,只适用于特殊的应用项目,

  • 典型软件:Docker、Rocket、Openshift...

SaaS:软件、应用即服务

  • 优点:所有东西都由服务商提供,自己只需要花钱使用就行了,对于广大(大中小)企业来说,SaaS是采用先 进技术实施信息化的最好途径。比如说,买企业邮箱,买财务软件云

  • 缺点:对客户来说,所有东西都不可控,安全不安全,看情况。

企业云使用现状

  • 弱水三千,只取一瓢,所以有眼光的和实力专一的人,做中间某一应用为"特殊服务",通过应用软件许可证费 、软件维护费以及技术支持费等方式技术变现,实现价值。

  • 常见的应用服务有:DBaaS、FWaaS、LBaaS、XaaS...

  • 现在创业公司,如果没有拿得出手的XaaS的话,你都不好意思说你是创业的,拉投资都拉不过来。这种模式 是很重要的。

  • 举例:各种运维平台、日志管理平台、监控平台、财务平台。。。

  • 所以说:"一切皆服务" 才是云计算的最终目标,再次验证了云计算不是一种技术手段,而是资源使用模式的 变革。

云供应商基本情况:

  • 亚马逊:国外企业,支持分级别的资源使用

  • 阿里云:国内企业,支持天级别的资源使用

  • 青 云:国内企业,支持分级别的资源使用

  • 腾讯云、华为云。。。

  • 目前他们提供的云主机,一般只支持容量扩充,不支持缩小,因为没有必要。

常见种类

这一节我们从云计算分类、衍生云类型、使用现状三个方面来学习。 云计算分类

公有云:普遍性

  • 用户按需使用,成本低廉,管理方面。

  • 用户的数据保存在公有云的提供商那里,从技术上来讲,数据安全是没有办法保证的,这能从业务层面上来看待

  • 比如:银行不用公有云,竞争对手的云服务战略合作伙伴
  • 举例:亚马逊、阿里云、openstack。。。

私有云:专用性

  • 所有资源都自己提供,安全有保障

  • 技术/人力/业务成本高昂,资源利用效率低。

  • 举例:vmware、公司云。。。

混合云:协调性 

  • 核心业务用私有云,临时需求/轻量级业务需求使用公有云

  • 成本的最优使用效率

衍生云类型:

出现原因:自己搞私有云成本太高,公有云又有安全风险,所以基于公有云衍生出来一系列的云

"托管云":

  • IDC机房自己做一个私有云,我按需可以租给你,当然我还支持扩展,设备你不需要买,你可以自己管,也可 以让我代管,设备你有使用权,但是产权是我的。

问题:

  • 万一"一女两嫁",同一个机器,你租给了多家,安全没有保障怎么办?就出现了"专用云"

"专用云":

  • 你租用的物理主机,保证只有你一个人在用

"行业云":

  • 比如说银行不敢用公有云,那么某银行自己建立一个云,然后咱们同一行业的,你即想省钱又想保证安全,那 么你来使用我的行业云。

  • "政务云"、"金融云"、"游戏云"

各云模型使用现状

选用的标准:根据业务特点,成本承受能力,业务故障承受能力,技术能力,综合确定 选用哪种?

  • 有实力的:自己搞一套云,富裕的话,共享一点

  • 实力稍欠缺:核心自己搞一套云,其他的功能用公有云,作为补充,减轻成本

  • 小微企业:由于自身特性,选择比较喜欢的云环境

基本架构

云计算基本架构

 

  根据我们对kvm虚拟机的理解,创建虚拟机需要获取各种物理资源及其映像文件,最重要的就是映像文件。那 么在云计算基本架构中,各种资源我们好获取,重要的是VM实例的磁盘映像文件,因为该文件包含了VM实例的规 格以及各种配置信息。

  为了保证用户定制的vm实例能够运行,指定主机提供VM实例所需的CPU和内存及网络资源,为了避免延迟,一 个携带操作系统的映像文件一般会在指定主机的本地磁盘空间里面。但是我们生产中一般不能确定VM实例被指定的 具体主机,所以我们一般会单独找个空间存储该映像文件,

为了资源的高使用效率,映像文件一般不包括存储功能,而是找一个专用的存储资源,按需分配存储空间,既 然是永久存储,那么磁盘/网络io就是一个性能挑战,所以也用分布式存储来解决它。

所以: 资源的计算、网络、存储是非常重要的

2) 销毁后怎么重新建?

  VM实例销毁后,各种资源已各归各位,如果再重新创建规格一样的VM实例,怎么重建呢? VM实例创建后,会生成各种各样的配置信息,如果重建或者再来一个同规格的VM实例,那么他们用到的配置 信息都是一样的,所以我们需要专门找一个数据库来存放这些配置信息。数据库在整个过程中会有如下操作: 创建虚拟机实例时候,配置信息的检索 销毁虚拟机实例时候,配置信息的更新 虚拟机实例资源变更时候,配置信息的更新 ... 所以:数据库很重要,引申-数据的缓存也很重要

3) 怎么批量创建VM实例?

  如果批量创建多个VM实例,是同时创建还是按顺序创建呢? 为了避免同时创建多个VM实例时候,给用户和各种资源带来的压力,我们应该按照创建请求的顺序,一个一个 的创建,而满足顺序的功能的软件,这就可以用异步协作的消息队列。 所以:消息队列很重要

通过上面的案例场景分析:

  • 在云计算场景中,至少有三大支撑性服务:数据库、缓存、消息队列,三大主要功能:计算、网络、存储

虚拟化 VS 云计算

 虚拟化:

  虚拟化是一种技术,它的目的在于提高资源的使用率,并将底层硬件和上层的应用软件进行隔离,使得上层软 件及应用计算变得更加弹性可控。最终达到有限成本的高价值。 默认情况下,虚拟化技术默认并不对外,将底层资源抽象为上层应用软件服务,一个没有被服务化的虚拟化环 境只能被称为"资源池",只有内部管理人员才可以操作。

云计算:

  它是以虚拟化技术为核心技术和基础,面向服务架构(SOA)的一种实现,将虚拟化环境"资源池"隐藏起来,将 其上层应用软件形成丰富的云管理接口,达到所有人自由使用所有资源的一种现象,他是一种资源使用模式的变革 。 所以: 虚拟化是一种技术,云计算是资源交付模式,云计算不等于虚拟化。 云计算是基于虚拟化技术的一种资源交付使用模式。

OpenStack简介

学习目标:

  • 了解 openstack的定义和特点

  • 说出 openstack的核心服务

  • 说出 openstack的完美组件及其作用

  • 了解 openstack学习环境及其特点

OpenStack简介

这一节,我们从历史、简介、核心服务、发行版本、使用简介五个方面来学习 Openstack历史

2010年的时候,云计算的老大是AWS,老二是Rackspace,老二打不过老大,所以就和NASA拉帮结派,Rac kspace拿出自己的对象存储产品项目swift,NASA拿出自己的云计算项目nova,2010年7月份将它们开源,项 目命名为OpenStack。

2012年9月,在OpenStack的6版本,Nova中的两个子项目独立出来,成立了Neutron和Cinder项目,自此 ,OpenStack的关键项目(Nova+Neutron+Cinder)就稳定了。

2016年OpenStack基本上就成了开源云计算领域的行业标准了。

OpenStack官方简介

官方地址:

  • https://www.openstack.org

官方文档地址:

  • https://docs.openstack.org

发行版本介绍:

  • https://releases.openstack.org/index.html

OpenStack是一个正在开发中的云管理平台的"大"项目,覆盖了网络、虚拟化、操作系统、服务器等各个方面

 OpenStack核心服务

 三个核心服务:

  • compute、networking、storage

         

           

OpenStack官方项目,基本上每半年更新一次版本,迭代周期太短。所以,企业如果要使用OpenStack的话 ,因为原生的openstack满足不了公司的业务需求,我们必须有能力(特别是二次研发)跟得上OpenStack的发展 ,成本也能承受得起,最主要的是承受得起对客户的承诺(我们提供的服务,满足您日益增长的需求)

openstack经过漫长的8年发展,它逐渐的走向了成熟。

openstack使用简介

OpenStack基于python语言开发,是一个组件非常多且复杂的技术项目,任何一个地方都有可能出问题, 使用和维护OpenStack是需要相当强的技术实力:包括运维能力、系统建构能力、二次开发能力。

一般的小型企业(服务器30-50台左右):

  • 使用OpenStack在技术和成本上是一个巨大的挑战,基本上是没有必要的 如果要用虚拟化的话,ovirt(kvm虚拟机批量管理工具)即可,一两台主机搞OpenStack,吃饱了撑的 。

中大型企业(物理结点在200+左右):

  • 对业务vm实例需要灵活部署运行的话,这种场景才有可能用到OpenStack

架构设计

 概念图:

 组件介绍

这一节,我们从组件简介、组件介绍两个方面来学习。

官方资料

  • https://www.openstack.org/software/project-navigator

  • https://docs.openstack.org/pike/projects.

  • html https://docs.openstack.org/pike/configuration/

组件简介

  • https://releases.openstack.org/pike/index.html

大概目前是61个左右,一部分是基础项目,是属于OpenStack管理的项目,和用户没太多直接关系。P版中和 真正和用户有关的项目大概有36多个,能投入生产也就11个左右,最小化安装也就5-6个。 

 

 

  openstack团队根据组建项目的成熟及重要程度,将其分解成核心项目、孵化项目,以及支持项目和相关项 目。每个项目都有自己的委员会和项目技术主管,而且每个项目都不是一成不变的,孵化项目可以根据发展的成熟 度和重要性,转变为核心项目。

Openstack的组件:

完美组件:

  • Cinder:为VMs提供持久的块存储能力,支持多种存储方式,工作中ceph用的比较多

  • Glance:用于存储和检索磁盘映像文件,支持多种存储方式

  • Heat:openstack的任务编排工具

  • Horizon:openstack的web可视化界面

  • Keystone;为Openstack中的所有服务提供了认证、授权以及端点编录服务员

  • Nova:管理VM的所有操作

  • Netron:为Openstack提供网络的功能;插件化设计,支持众多流行的网络管理插件

  • swift;分布式存储,基于RESTful的API实现非结构化数据对象的存储及检索,工作一般用ceph 成熟组件:

  • Trove:提供数据库即服务的功能

  • sahara:在OpenStack中提供大数据服务,生产可用

  • Octavia:openstack中的负载均衡项目,生产可用。

  • IRonic,物理裸机管理,目前是非常好用。

实验组件:

  • Ceilometer,用于实现监控和计量服务的实现,缺乏后续发展

实验环境

这一节,我们从学习环境、主机环境两方面来学习。

官方环境介绍:

  • https://docs.openstack.org/install-guide/overview.html#example-architecture

学习环境简介

openstack的学习环境主要有三种模式:单节点、双节点、三节点

单节点部署:

  • 所有组件都部署在一台主机上,没有工作意义,仅供学习使用。

两节点部署:

  • 由控制节点和计算节点组成,网络功能有限

三节点部署:

  • 由控制节点,计算节点和网络节点组成,网络功能有限 我们实验使用两节点环境

网络环境:

  • 通过上图可看到,不管是单/双节点或多节点,其内部的网络是复杂的,如果有条件的话,实验环境采用 多网卡,如果采用单网卡,一定要注意网卡的"混杂模式",即所有类型网络数据均可通过,不做限制。

 

posted @   Crazymagic  阅读(762)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示

目录导航