云计算技术:

一、什么是云端,所谓云端需要两层理解
(1)服务不在本地,这一层可以理解为服务器
(2)它和普通的服务器是不一样的,这些云端的服务器的资源是共享的,一旦一个服务器不能承受,将会把任务分配给其他机器。

二、云技术与其他技术的区别:
云技术可以使用的语言有java,c++等。云技术的开发,并没有发展什么新语言,而是在其他语言的基础上。比如Java语言。与其他技术,最显著的区别,不是在开发上,而是在于架构上,最显著的特点是分布式。



云计算概述:

云计算是一个资源池,它为我们提供了诸如水、电、煤气一样的基础服务。

云计算是一种按使用量付费的模式,这种模式可以快速、高效地提供网络,服务器,存储,应用软件,服务等,我们不必关心如何实现,所以只需投入很少的管理工作,只需和服务供应商进行很少的交互。

云计算从广义上可以分为如下几种模式:

IaaS(基础设施即服务)、PaaS(平台即服务)、SaaS(软件即服务)

IaaS Amazon、阿里云、腾讯云提供的云主机即IaaS,我们拿到的是一台机器,可以自定义操作系统。

PaaS 面向开发者,直接给用户提供一个平台来运行用户的程序,早期的idc服务商卖的主机、新浪的sae、阿里云的云数据库等。

SaaS 卖的是服务,比如腾讯企业邮箱、印象笔记等

openstack是目前比较流行的一个实现云计算平台的项目


官网 www.openstack.org

由NASA(美国国家航空航天局)和Rackspace合作研发并发起的,以Apache许可证授权的自由软件和开放源代码项目,用python语言开发,可以实现私有云或者公有云

主要有三个最基础组件:计算服务、网络服务、存储服务

云计算_第1张图片


openstack简介

发布版本  http://releases.openstack.org/,目前稳定版本为Liberty

OpenStack提供开放源码软件,建立公共和私有云。 OpenStack是一个社区和一个项目,以及开放源码软件,以帮助企业运行的虚拟计算或者存储云。 OpenStackd开源项目由社区维护,包括OpenStack计算(代号为Nova),OpenStack对象存储(代号为SWIFT),并OpenStack镜像服务(代号Glance)的集合。 OpenStack提供了一个操作平台,或工具包,用于编排云。




6个核心服务:

  • nova(计算中心,对比阿里云的ESC,支持kvm,xen等虚拟化技术)

  • keystone(认证中心)

  • neutron(网络服务中心)

  • swift(对象存储服务,存储图片,附件等文件,对比腾讯云的COS)

  • cinder(块存储服务,云盘)

  • glance(镜像管理中心)

云计算_第2张图片

openstack其他可选组件:

云计算_第3张图片


openstack服务

服务名 项目名称 描述
Dashboard Horizon 基于openstack Api接口使用django开发的web管理
Compute Nova 通过虚拟化技术提供计算资源池
Networking Neutron 实现了虚拟机的网络资源管理
Object Storange Swift 对象存储
Block Storange Cinder 块存储
Identity Service Keystone 认证管理
Image Service Glance 提供虚拟镜像的注册和存储管理
Telemetry Ceilometer 提供监控和数据采集,计量服务





OpenStack中有两个守护进程:


接收和调解API调用的WSGI应用程序 (nova-api,glance-api等等)。

进行编排任务的工人守护进程(nova-compute, nova-network,,nova-schedule)。


OpenStack中还包含两个组件

消息队列服务和数据库。这两个组件方便异步编排复杂的任务通过消息传递和信息共享。


  • 终端用户通过nova-api 接口与Openstack 计算交互。

  • OpenStack计算守护进程通过队列的交换信息(行动)和数据库(信息)进行API请求。

  • OpenStack Glance是一个完全独立的基础上设施。



openstack各个组件的介绍:


  • nova-api:是对外的接口。OpenStack 云计算的核心控制器(CloudController定义在trunk/nova/api/ec2/cloud.py)。它提供了一个为所有的API查询(OpenStack API或EC2 API)的端点,引发多数业务流程的活动(如运行一个实例),并实施一些政策(主要是配额检查)。

  • nova-schedule:根据当前资源使用情况,决定计算节点分布到哪台计算节点上。目前实现很薄,目前已支持插件方式扩展,方便后面可能有采用更复杂算法。

  • nova-compute:接收队列中的动作,然后执行一系列的系统命令(如启动KVM实例),同时更新数据库中的状态。

  • nova-volume:给虚拟机分配额外持久化的存储,管理持久卷到计算实例的创建,连接和分离。

  • nova-network:网络管理,给虚拟机分配网络和管理,使外部 PC 可以可直接访问。它接受队列中的网络任务,然后执行任务操纵网络(如设立桥接接口或更改iptables规则)。

  • queue:提供了一个守护进程之间传递消息的中央枢纽。当前由 RabbitMQ实现,理论上可以是Python的ampqlib支持的任何AMPQ消息队列。

  • SQL database:存储云基础设施的编译时和运行时的状态。这包括可用的实例类型,在使用中的实例,可用的网络和项目。


云计算_第4张图片