云计算环境搭建综合全面的自动化框架

所以无论您是环境部署工程师还是自动化脚本开发人员,如果您想开发一套自动化环境部署的解决方案,阅读本文将会有助于您的工作。作者所在的项目是 IBM 基于企业级的
一款庞大而
复杂的云计算战略产品,通过为用户提供可视化的网络平台接口,充分和快捷地帮助客户部署高灵活度的云方案。在项目开发及上线过程中,平均每四个小时会发布一个
新的安装版本,从软件测试到生产发布需要超过四个环境的支持,尤其在 Demo(演示)环境每天需要部署一次,每个环境会涉及冗余
镜像服务、分布式架构、加密的 VPN 终端访问。而部署过程中面临的情况是跨地域和跨时区的,部署软件包发布在美国 Austin,云环境的数据中心在新加坡,部署人员在中国上海。部署流程包括:部署版本软件包的下载和管理、数据库升级、动态服务器程序部署,访问门户的部署,静态访问服务组件的部署和注册。如果按照传统的手工部署,从头到尾即使是熟练的部署工程师也需要至少
两天的时间来完成,而且人工部署会出现疏漏和错误的发生,经常会碰到模块的漏包情况。所以如何搭建一套综合全面的自动化框架,通过脚本运行的方式高效准确的完成各级环境的部署成为项目进展顺利的一项重要工作。目前此自动化框架已经上线,每天只需一小时的时间,就会准确高效地把最新版本部署到各级
云计算环境中。这套自动化框架不仅已应用于该项目本身,其设计思路,功能模块也适用于软件工程领域里其他分布式、架构庞杂的项目,所以无论您是环境部署工程师还是自动化脚本开发人员,如果您想开发一套自动化环境部署的解决方案,阅读本文将会有助于您的工作。

这套综合的解决方案至少包括以下优点和功能:

提高云计算环境的部署效率 排除人为部署的疏漏和错误 可重用,易扩展 开发工具开源,节约成本

设计架构

首先我们要从 IBM 云计算环境架构入手分析该环境的结构特点,这样我们才能有针对性的设计专门的自动化框架,IBM 云计算环境是基于 IaaS(Infrastructure as a Service 基础架构服务)提供的云服务,用户通过 Web Service 在 IBM 云环境中获得虚拟设施及绑定的软件服务,比如用户可以在此平台申请 Linux、Windows 等操作系统,还可在此平台申请 IBM 的 Websphere、DB2 等软件产品,这些服务都是以镜像方式存储在 IBM 云环境中。

为便于读者理解设计的脉络,以及内部模块之间的相互联系,我们先来分析一下 IBM 云计算环境的逻辑架构图,如下图所示:

图 1. IBM 云计算环境逻辑架构图

用户通过 Web 终端访问 IBM 云环境的 BSS(Business Service)平台,向该平台发送申请相关镜像服务请求,比如申请一台附带 WebSphere 的 Red Hat Linux 操作系统,该请求通过 WebSEAL 接收并发送到 CFEP(Common Front-End Portal)处理,该请求调用对应的 REST API,把请求信息打包成信息流(Message)通过信息总线来传送到后台云服务器(Service Provider),相应附带 WebSphere 的 Red Hat Linux 操作系统镜像服务产生,相关注册信息被存储在对应的数据库服务器中。所以 IBM 云计算环境包括三个组服务:a. IHS Portal 服务 b. CFEP Web 和数据库服务 c. Service Provider Web 和数据库服务,每组服务有对应的硬件环境支撑,我们再来看一下 IBM 云计算环境的物理架构。

图 2. IBM 云计算环境物理架构图

本图中黄色区域为 IBM 云计算环境的前端服务配置,蓝色区域是云服务后台配置。其中后台服务配置是整个云环境的核心区,是单点固定服务单元,而前端服务可以根据业务需求进行跨区域扩展,即可以提供多台分布于不同物理位置的服务单元。在本文中为便于解析,把该云环境的前端服务定为两组硬件环境(Front end area 简称 FE),分布在两个虚拟局域网 Vlan1,Vlan2 中,后台服务(Service Provider area 简称 SP) 配置与 Vlan3 中,合称 BSS 平台。

每天在 IBM 云计算环境更新部署程序的情况是:BSS 服务是分布在新加坡云环境数据中心,部署发布程序包文件在美国 Austin 的发布服务器(Austin build machine)中,部署执行环境即自动化脚本运行环境(Single Point Execution Machine) 在中国上海。如下图所示:

图 3. IBM 云计算环境自动化部署架构图

在该架构中进行程序部署的步骤是:

从美国 Austin 发布服务器,自动检测和传输新发布的部署程序包文件到自动化脚本运行环境(Single Point Execution Machine) 在 Single Point Execution Machine 上运行自动化脚本执行部署 部署更新 Front end 和 Service Provider 数据库 在 Front end 和 Service Provider Web Server 上更新部署动态应用程序 在 IHS Server 上部署静态程序组件 重注册程序组件 更新 Portal Web 文件 更新 Info center 信息库 自动化脚本执行完毕发布部署执行日志

时间: 2024-09-16 10:04:36

云计算环境搭建综合全面的自动化框架的相关文章

有关对日框架环境搭建

问题描述 有关对日框架环境搭建 求问 有关o3w框架应用的环境应该怎么搭建,有没有人会?急求

联合云:云计算环境的统一框架

不管从哪方面来看,联合云(federated cloud)的概念都很出人意料.因为能够管理多个复杂的遗留环境,同时又能够整合基础架构,云计算飞快地发展了起来.可是随着各企业推进各自云计算项目的脚步越来越快,有一大部分CIO目前开始全力应付杂乱无序的云计算环境,似乎云计算环境并不是那么在控制中. Metis Strategy公司的总裁Peter High表示:"我们能够看到,有一大部分业务部门的人自作聪明地进行私有云的投资兴建,而没有和CIO齐心协力,制定一个统一的计划,来对云计算进行最有效的利用

Appium+python自动化环境搭建

Appium+python自动化环境搭建 一.环境准备 环境是Windows10版本 64位系统    1.jdk1.6.0 (64位)    2.android-sdk_r24.4.1-windows    3.python:2.7(3.6也可以)    4.appium:1.4.16.1    5.Node.js:node-v4.4.7-x64    6.Appium-Python-Client   二.android的测试开发环境 1.介绍 以下为安卓的测试开发环境安装步骤,请一步一步操作

Windows环境搭建Web自动化测试框架Watir(基于Ruby)

web自动化测试一直是一个比较迫切的问题 图1-1 需要安装的工具 http://railsinstaller.org/ 因为安装Ruby还需要用到其他的一些开发工具集,所以建议从网站http://railsinstaller.org/ 下载,而且使用该安装包的话,它会帮你把环境变量也设置完毕,我使用的版本是:railsinstaller-2.2.4.exe,建议下载最新版本. 开始安装RailsInstaller工具包,安装到默认位置即可. 这个对勾建议打上,它会帮你配置git和ssh,安装过

SSH框架总结(框架分析+环境搭建+实例源码下载)(转)

首先,SSH不是一个框架,而是多个框架(struts+spring+hibernate)的集成,是目前较流行的一种Web应用程序开源集成框架,用于构建灵活.易于扩展的多层Web应用程序.   集成SSH框架的系统从职责上分为四层:表示层.业务逻辑层.数据持久层和域模块层(实体层).   Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持.Spring一方面作为一个轻量级的IoC容器,负责查找.定位.创建和管

spring+springMVC+mybatis的框架项目基础环境搭建

上一个项目在后台用到spring+springMVC+mybatis的框架,先新项目初步需求也已经下来,不出意外的话,应该也是用这个框架组合. 虽然在之前activiti相关的学习中所用到的框架也是这个,但是当时重点在于实现activiti的功能,因此在环境搭建上也只是以能用为前提,与真实项目中所用的还是差了不少. 因此为了给接下来的项目做准备,今天便抽空练习了一下这个框架组合的搭建.虽然之前的框架都不是我来搭,接下来这个可能也不是让我搭,但记录下来说不定以后能用上,也或者对其他人有用. 那么进

Laravel框架学习笔记(一)环境搭建_php实例

为什么选择laravel框架,是因为laravel框架目前是Php最流行的框架,深入研究后发现和asp.net mvc框架在功能上基本上是伯仲之间.只是各自的实现方法不同. php在windows下的开发环境搭建 1.下载php地址http://windows.php.net/download/注意相关版本,我的服务器用的iis7.5 32 系统 VC11 x86 Non Thread Safe 解压之后放到相应的目录,配置php.ini文件,这里注意里面的dll启用的相关配置,这个网上有也不多

TestNG环境搭建以及框架初识

TestNG的英文为Test Next Generation, 听上去好像下一代测试框架已经无法正常命名了的样子,哈哈,言归正传,啥是TestNG呢,它是一套测试框架,在原来的Junit框架的思想基础上开发的新一代测试框架,既然这么牛b,那果断弄来试试.本文主要从安装步骤-->第一个测试例子-->再多一点例子-->框架分析-->suite文件的书写-->总结结束. 安装步骤: 1. 第一步,当然首先是在你的java sdk, eclipse ide, system envir

Ruby与Ruby on Rails框架环境搭建的简明教程_ruby专题

安装Ruby与升级RubyGems提示:在Ubuntu环境下安装过程中,如果提示权限问题,可以使用sudo make和sudo make install. 1.Ruby安装 wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p125.tar.gz \ && tar -xzvf ruby-1.9.3-p125.tar.gz \ && cd ruby-1.9.3-p125 \ && ./configure