资源预览内容
第1页 / 共23页
第2页 / 共23页
第3页 / 共23页
第4页 / 共23页
第5页 / 共23页
第6页 / 共23页
第7页 / 共23页
第8页 / 共23页
第9页 / 共23页
第10页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Copyright IBM Corporation 2010IBM Cloud InfrastructureIBM Cloud Infrastructure(云架构云架构(云架构云架构 )之之之之 “ “IBM IBM CloudStarterCloudStarter” ”云架构云架构云架构云架构L3 L3 级课程级课程级课程级课程L3级课程云架构Page 2内容简介内容简介内容简介内容简介CloudStarter 介绍REST 标准简介CloudStarter API 简介及编程举例L3级课程云架构Page 3CloudStarter 介绍介绍L3级课程云架构Page 4CloudStarterCloudStarter 概述概述概述概述 CloudStarter 是 IBM 为基础架构云(IaaS)平台提供的一套进行虚拟化管理、配置管理、用户管理、安全管理、审计管理、计费管理等核心服务的中间件软件 CloudStarter的目标是屏蔽不同平台上虚拟化管理软件(PowerVM, KVM, VMware, Hyper-V等)的差异,通过简单易用的REST Web Service方式向外提供搭建基础设施云计算平台的统一的编程接口(API)独立软件开放商可以根据不同的客户需求定制业务流程和用户界面,使用 CloudStarter 提供的核心功能构建相应的基础架构云(IaaS)平台L3级课程云架构Page 5CloudStarterCloudStarter 架构架构架构架构MonitoringAudit Log & ReportSecurity MgmtUser & Role MgmtDeployment EngineImage MgmtProject MgmtSystem ConfigWeb UI (reflect infrastructure management process)Metering & BillingInfras mgmt processResource SchedulerREST APIsClient Specific Customization & Func.REST APIsVMControlSystems DirectorServer, Storage, NetworkCustomized UIOpened Frameand APIOpened ChoiceVirtualizationBest ChoiceL3级课程云架构Page 6基于基于基于基于 CloudStarterCloudStarter 构建基础架构云计算平台的特点和价值构建基础架构云计算平台的特点和价值构建基础架构云计算平台的特点和价值构建基础架构云计算平台的特点和价值部署简便,易于使用基于REST的开放的架构利用了VMControl 的核心功能但屏蔽了其复杂性广泛支持主流的虚拟化平台 (PowerVM, VMware, Hyper-V, KVM) 但屏蔽了各平台的差异和复杂性可利用已有的硬件环境和虚拟化环境全部功能均以 RESTful Web Service方式提供,便于二次开发,与已有系统和流程做整合动态的基础架构,快速的虚拟机部署能力可以更好的满足业务需求按需计算,按使用量计费模式,可以极大的提高各类资源的使用效率,并有利于不同部门之间的结算云计算平台提供容错性,高可用性以及能源优化水平扩展能力L3级课程云架构Page 7REST 标准简介标准简介L3级课程云架构Page 8What is RESTWhat is RESTREST - Representational State Transferla software architecture style for distributed systems such as the WWWlIntroduced in 2000 in the doctor dissertation of Roy Fielding (one of the principal authors of the HTTP specification)lUsually referred in RESTful Web Service (REST API)lClient / ServerlLightweightlSimple (compare to SOAP/WS-*)lBased on HTTP (or SMTP, FTP, etc)lImplemented by Sun(JSR 311), Restlet, MicrosoftL3级课程云架构Page 9REST REST 编程概述编程概述编程概述编程概述REST API编程核心是基于HTTP协议的,通过Http的方式来实现业务逻辑的操作。REST编程分为两个部分:l服务器端编程:通过在服务器端将业务功能划分为资源或服务,并将其与HTTP的URL一一对应,以http请求的方式实现各种资源或服务的业务逻辑操作,定义与实现资源的表示方式以及响应结果。l客户端编程:在客户端对RESTURL所代表的服务或资源进行请求访问、结果处理以及异常判断来完成业务逻辑的编程实现。REST编程支持语言lJava, JavaScript, Ruby On Rails, Python,Perl, C+, dojo.REST 编程相关类库l各种httplib,如java.net,httpclient,python httplibljson处理类库,org.json,javascript json,dojo json库等L3级课程云架构Page 10REST Web Service TopologyREST Web Service TopologyRESTWeb ServiceWindows / Linux / UnixMobile DeviceJSON / XML / Atom over HTTP(s)Resource CollectionResourceResourceResource CollectionResource CollectioncontainsResource Oriented ArchitectureResource CollectioncontainsusescontainsREST Network TopologycontainsL3级课程云架构Page 11JSON (JavaScript Object Notation)JSON (JavaScript Object Notation)JSON is a lightweight data-interchange format that is easy for both humans and machines to read and process.JSON is build on two simple structures:lA collection of name/value pairs (i.e. a HashMap, named as Object in JSON)lAn ordered list of values (i.e. an Array)name1 : “value1” ,name2 : ,name3 : ,Property nameProperty value: String, Integer, array, functionJSON ObjectProperty delimiter,name1 : “value1”, JSON ArrayJSON ObjectL3级课程云架构Page 12REST AdopterREST AdopterSMBLarge CompanyL3级课程云架构Page 13REST Sample (Get)REST Sample (Get)Get all the virtual servers in host with OID 1232 that are currently in the Started state:Send GET to https:/myserver:port/webContext/VMControl/hosts/1232/virtualServers?state=8Results :HTTP 1.1 200 OK uri:https:/myserver:port/ibm/director/rest/VMControl/host/1232/virtualServersvirtualServers:uri:https:/myserver:port/ibm/director/rest/VMControl/hosts/1232/virtualServers/18460,name:myVirtualServer1,oid:18460,properties: ,customization:uri:https:/myserver:port/ibm/director/rest/VMControl/hosts/1232/virtualServers/18460/customization,state:label:Started,id:8, L3级课程云架构Page 14CloudStarter API 简介简介及及编程举例编程举例L3级课程云架构Page 15Cloud Starter REST API Cloud Starter REST API 架构架构架构架构Web UI(JavaScript, Ajax, Dojo, HTML, CSS)REST APIs (JSON, JAX-RS) DerbyVMControlLDAPApplication ServerUser RegistryWorkspace ManagerVirtual Resources AggregatorVMControl Deployment InterfaceCloud StarterCloudJSON over HTTPL3级课程云架构Page 16术语术语术语术语将一批物理服务器和存储设备作为一个整体来管理,让这些资源看起来就是一台机器,形成一个大的资源池。通过向资源池申请和使用需要的资源来创建虚拟机可以提高资源的利用率,提供高度的动态性和灵活性。资源池(Resource Pool)部署是指将指定的虚拟机映像部署到物理主机上去的过程, 以创建客户需要的虚拟机。部署包含将要生成的虚拟机的各种定义和属性。部署(Deployment)云平台的使用者, 包括管理员和普通用户。客户在使用云之前,必须先在云平台中注册一个新用户。用户(User) 云平台里面不同的角色拥有不同的权限。每一用户(User)可以拥有多个角色(Role)角色(Role)每一个用户都有一个帐号。本项目的云计算平台采用预付费,采用资源使用情况和使用时长付费的模式,用户必须保证其帐号内有足够的余额才能向云计算平台租用虚拟机。帐号(Account)项目提供了一种便于客户对其拥有的虚拟机进行分类分组管理的办法。 客户在向云计算平台租用服务(租用虚拟机)时,可以通过项目来统一管理属于这个项目的一个或多个虚拟机。云计算平台为每位客户缺省创建一个项目。客户可以自由添加新的项目。项目(Project)客户使用云计算平台的详单,云计算平台将基于使用详单记录计算该客户应该支付的费用。账单(Billing)主机指一台物理服务器。物理主机(Host)资源指主机以及存储设备上的可供虚拟机使用的处理器(CPU)、内存(DRAM)、输入输出(I/O)、网络(Network)以及外部存储(Disk)等。资源(Resource)一个可以部署到虚拟机上去的二进制数据文件,其中包括了操作系统和各种应用软件。一个映像文件中还包括了元数据(meta-data)来描述部署这个映像所需的虚拟机的配置。映像(Image)Hypervisor 运行于物理机器之上,然后虚拟机又运行于Hypervisor 之上。Hypervisor 负责把物理资源 ( CPU, 内存,硬盘,I/O, 网络等) 虚拟化之后,提供给虚拟机使用。Hypervisor运行于虚拟化Hypervisor之上的虚拟机器。对PowerVM平台而言,一台虚拟机就是一个逻辑分区(Logical Partition)。虚拟机(Virtual Server)描述术语名称L3级课程云架构Page 17Resource Life Cycle / Resource Life Cycle / 资源生命周期资源生命周期资源生命周期资源生命周期物理主机/虚拟机映像物理主机虚拟机1 虚拟机2部署(虚拟机定义)抓取虚拟机快照成为映像基于映像创建虚拟机定义,选择要部署到的目标物理主机,创建部署(即虚拟机的定义)。设置虚拟机的IP地址及相关网络参数,部署虚拟机。虚拟机的生命周期部署中运行中禁用销毁关机已到期创建虚拟机定义GET /imagesPUT /images/idPOST /deploymentsPOST /imagesGET /configuration/ipAddressesPUT /deployments/idL3级课程云架构Page 18Cloud Starter REST APICloud Starter REST API 映像/Image APIlGET /imageslPOST /images lGET /images/idlGET /images/id/definitionlGET /images/id/targets 部署/Deployment APIlGET /deployments : Retrieve all deploymentslPOST /deployments : Create a deployment based on an image.lGET/DELETE /deployments/id : Retrieve/Delete a deployment.lPUT /deployments/id : Update a Virtual Servers properties or deploy/stop/start this Virtual Server.lGET /deployments/id/definitionlGET /deployments/id/virtualServerslGET /deployments/id/virtualServers/id/credentialslGET /deployments/id/target 项目/Project APIlGET /projects: Retrieve the projects available in CSK.lPOST /projects: Create a new project in CSK.lGET/PUT/DELETE /projects/idlGET /projects/id/deployments: Retrieve the deployments that belong to a project.lGET /projects/id/images: Retrieve the images that belong to a project.lGET /projects/id/users: Retrieve the users that have access to a project.lPOST /projects/id/users: Add a user to a project. lDELETE /projects/id/users/username: Remove a user from a project.Note: Here only list out important APIs, not all APIs.L3级课程云架构Page 19Cloud Starter REST API (2)Cloud Starter REST API (2) 用户/User APIlGET /users: Get all users in user registry.lPOST /users: Add a user to the user registry.lGET/PUT/DELETE /users/id: Retrieve/Update/Delete a user profile from user registry.lDELETE /users/id: Delete a user from the user registry.lPOST /auth: Do authentication using the username and password. 配置管理/Configuration APIlGET /configuration/cloud: Retrieve Cloud configuration and status.lPUT /configuration/cloud: Update Cloud configuration.lGET /configuration/ipAddresses : Retrieve a list of all IP addresses.lGET /configuration/ipAddresses/id : Retrieve the details of an IP address. 日志/Event APIlGET /events : Retrieve all events/logs.lGET /events/id : Retrieve details of an event. 账单/Billing APIlGET /billings?username=userId : Retrieves all the billing information of the specified user. 资源/Resource APIlGET /status/requestSummary : Retrieve the statistic summary of deployment requests in the cloud.lGET /status/requestSummary/userId : Retrieve the statistic summary of deployment requests submitted by the specified user.lGET /status/resourceSummary : Retrieves the information of all resources in the Cloud.lGET /status/resourceSummary/userId : Retrieves all the information of resources that used by the specified user. L3级课程云架构Page 20APIAPI典型用例典型用例典型用例典型用例 ( (部署虚拟机部署虚拟机部署虚拟机部署虚拟机) )部署虚拟机HTTP Request Method:PUT http:/host/csk/api/deployments/509Body: click to seeHTTP ResponseStatus code: 200 OKBody: SUCCESS: Deployment 509 executed.L3级课程云架构Page 21L3级课程云架构Page 22CloudStarterCloudStarter 案例案例案例案例使用CloudStarter REST API 建立的 IaaS 基础架构云平台 Copyright IBM Corporation 2010
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号