云计算技术:

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

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



云计算概述:

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

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

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

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

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

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

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

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


官网 www.openstack.org

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

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

云计算_服务器


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(镜像管理中心)

云计算_服务器_02

openstack其他可选组件:

云计算_java_03


openstack服务

服务名项目名称描述
DashboardHorizon基于openstack Api接口使用django开发的web管理
ComputeNova通过虚拟化技术提供计算资源池
NetworkingNeutron实现了虚拟机的网络资源管理
Object StorangeSwift对象存储
Block StorangeCinder块存储
Identity ServiceKeystone认证管理
Image ServiceGlance提供虚拟镜像的注册和存储管理
TelemetryCeilometer提供监控和数据采集,计量服务





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:存储云基础设施的编译时和运行时的状态。这包括可用的实例类型,在使用中的实例,可用的网络和项目。


云计算_应用程序_04