热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

云计算基础之云计算概念

云计算基础主机资源使用方式在云计算出现之前,常用的主机资源使用方式有:IDC托管、IDC租用、自己购买、虚拟机、传统的资源管理方式资源方面:初始投入后期维护成本

云计算基础

主机资源使用方式在云计算出现之前,常用的主机资源使用方式有: 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的学习环境主要有三种模式:单节点、双节点、三节点

单节点部署:

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

两节点部署:

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

三节点部署:

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

网络环境:

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

 


推荐阅读
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
  • 本文介绍了OpenStack的逻辑概念以及其构成简介,包括了软件开源项目、基础设施资源管理平台、三大核心组件等内容。同时还介绍了Horizon(UI模块)等相关信息。 ... [详细]
  • Sleuth+zipkin链路追踪SpringCloud微服务的解决方案
    在庞大的微服务群中,随着业务扩展,微服务个数增多,系统调用链路复杂化。Sleuth+zipkin是解决SpringCloud微服务定位和追踪的方案。通过TraceId将不同服务调用的日志串联起来,实现请求链路跟踪。通过Feign调用和Request传递TraceId,将整个调用链路的服务日志归组合并,提供定位和追踪的功能。 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
  • SpringBoot整合SpringSecurity+JWT实现单点登录
    SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • Iamtryingtocreateanarrayofstructinstanceslikethis:我试图创建一个这样的struct实例数组:letinstallers: ... [详细]
author-avatar
不要再想Ta
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有