opsbet娱乐官网

云计算环境下的高校DevOps实践之路

来源:大发 | 时间:2018-08-24 人气:7385
  •   随着信息化的发展,高校各类业务系统数目繁多,而软件交付的方式也在发生变化。传统的软件系统交付方式是由校方信息化管理部门提供硬件服务器,只负责服务器硬件资源的正常运转和网络访问的畅通,而不参与到软件开发生命周期。这种方式在高校信息化发展初期确实非常高效,也弥补了校方人员技术水平不高的缺陷。但是随着信息化的发展,云计算技术的成熟,大数据对教育的变革,尤其是高校信息化需求的变化,各个应用不再是独立的个体,而是整个学校信息化的组件,多个应用之间相辅相成,业务流程交叉,数据流混杂。软件系统个体发展开始向平台化、集成化、统一化发展。这种变化,对于软件开发参与者发生了变化,对校方信息化人员的总体战略和运维也提出了更高的要求。这些变化,要求校方信息化人员与第三方软件供应商协同工作,参与系统部署的环境准备和后续运维。

      DevOps(Development和Operations的组合词)是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例。透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠。它的出现是由于软件行业日益清晰认识到:为了按时交付软件产品和服务,开发和运营必须紧密合作。

      如图1所示,我们可以把DevOps看作开发(软件工程)、技术运营和质量保障(QA)三者的交集传统的软件组织将开发、IT运营和质量保障设为各自分离的部门,在这种环境下如何采用新的开发方法(例如敏捷软件开发),是一个重要的课题。按照从前的工作方式,开发和部署,不需要IT支持或者QA深入的跨部门的支持;而现在却需要极其紧密的多部门协作。而DevOps考虑的还不止是软件部署,它是一套针对这几个部门间沟通与协作问题的流程和方法。

      DevOps的引入能对产品交付、测试、功能开发和维护起到意义深远的影响。在缺乏DevOps能力的组织中,开发与运营之间存在着信息“鸿沟”──例如运营人员要求更好的可靠性和安全性,开发人员则希望基础设施响应更快,而业务用户的需求则是更快地将更多的特性发布给最终用户使用。这种信息鸿沟就是最常出问题的地方。

      按照IDC的研究,2005年之前是虚拟化技术发展的第一阶段,称之为虚拟化1.0,从2005年到2010年时虚拟化发展的第二阶段,称之为虚拟化2.0,目前已经进入虚拟化2.5阶段,虚拟化3.0阶段在不久也将会到来。根据Gartner的预测,目前中国70%的X86企业服务器将实现虚拟化。而高校核心机房的虚拟化发展更是如此,几乎每个高校都在利用虚拟化部署应用系统,每个高校部署了私有云。

      CPU的虚拟化技术将计算能力作为资源,VxLAN技术将网络作为资源,而各种分布式文件系统则将存储作为资源。以上几种资源都可以通过私有云来进行自助申请、使用以及归还。

      目前IaaS在高校云计算中得到了实现和部署,信息化部门可以使用商业虚拟化软件管理各类虚拟化资源,并允许用户自助申请。但IaaS的可分配的资源粒度限定于虚拟机,还未能细化到服务。PaaS技术则更加侧重于某个开发平台所用组件为服务,譬如数据库作为服务,或者一整套开发环境作为服务,这种模式强调的是服务的可重用性,高校信息化的多样性决定了这种模式在高校中的局限性。SaaS是更高端的服务模式,所以云计算的发展给高校带来的最主要的服务模式的变更在于IaaS,这只是原先主机交付与虚拟机交付的差别,还未升级到对软件交付模式进行改进的高层次变更。

      为了改进高校软件交付的模式,我们在近两年的软件系统建设中,优先采用DevOps模式,校内项目负责人员、运维人员和第三方软件开发商人员进行了对接,组建新形式的项目组,共同参与项目建设。双方职责因分工不同而侧重点不同。在项目建设中引入了敏捷开发方法,并且要求产品多次交付,具体措施有:

      有了这几项措施,DevOps增进了开发团队与运营团队之间的协作性、高效性的关系。由于团队间协作关系的改善,整个组织的效率因此得到提升,伴随频繁变化而来的生产环境的风险也能得到降低,并且降低了软件产品开发失败的风险。图2为DevOps的生命周期路线。

      为了正确使用DevOps模式,在软件架构中,引入了微服务,并根据基于业务进行拆分、采用自动化文化、去中心化、服务独立部署、服务完全自治、隔离失败、渐进式拆分、避免大规模改造原有代码等原则对业务进行拆分。

      目前常用的服务器操作系统有Windows Server和Linux,而软件普遍采用B/S架构,因此对于操作系统的需求,主要是为了能够运行Web服务器,考虑到目前常用Web服务器有微软的IIS,Apache httpd,Nginx,我们只需要准备Windows Server 2012和CentOS等Linux系统即可。由于我们限定了操作系统,开发组也会提早获知生产运行环境,改变以往软件完成后,校方必须满足软件开发方的需求,造成了多种操作系统的存在。

      现有编程语言,都有成熟的数据持久化工具,而数据持久化工具对于数据库是透明的,它依赖于数据驱动程序,允许用户比较容易的在多种数据库软件中迁移和部署,因此数据库可由校方自主选择决定。比较常见的数据库有Oracle、Microsoft SQL Server和MySQL。其中Oracle基本是采取独立于软件部署服务器的方式提供,Microsoft SQL Server和MySQL因为是轻量级的数据库服务系统,可以视软件系统的复杂性决定是否与软件部署在相同的服务器中。

      操作系统和数据库的决定,为我们准备虚拟机模板提供了依据。在DevOps实践中,我们根据上面几个选项,分别构建了Windows Server+Microsoft SQL Server和CentOS+MySQL的模板,并让开发方实现知情未来的生产环境,开发方在需求调研阶段依然获知未来的运行环境,有针对性的开发,提高了后续产品的稳定性。

      对于Java类开发语言,对Web服务器的依赖性不强,反而是需要成熟的容器,如Tomcat、Glassfish、WebLogic Server等容器。这一方面的选择根据操作系统以及Java平台架构限定。若是轻量级的应用,可以选用Tomcat容器,也可以根据开发方的熟悉程度由开发方选择,但基本可以限定在Linux操作系统。

      对于台下的Web应用,其Web服务器必然选择IIS,其对应的操作系统亦为Windows Server。由于Web服务器都是以软件包的形式存在,其均可以通过命令行方式安装,因此该项没有做进虚拟机模板,而是根据实际情况实时安装。

      整个系统而非微服务的日志体系,采用标准的日志格式非常便于后续的日志聚合检索,便于整体的视角分析、监控、查看系统;一旦系统出现问题,运维可以提供详实的日志给开发方,便于问题的查找和解决。鉴于不同的服务器操作系统有不同的日志系统,因为对于虚拟机准备中没有特殊要求。但也可以单独准备rsyslog服务器,用于接收从Linux服务器发过来的日志。

      在DevOps中,重复使用某个模块是该模式的基础。必须避免自己重复发明轮子,尽量选择市面上成熟的开源技术框架进行支撑,比如SpringBoot、Spring Cloud、Netflix、WildFly Swarm、Docker、Kubernetes、Bootstrap、CAS等框架;只有如此,才能减少DevOps组的技术负责度,降低运维人员的技术要求。由于使用组件的重复性,运维和开发人员均可以充分熟悉所用组件框架,从而快速发现问题、解决问题。

      有了以上的要求,我们还需要建设代码共享库,问题列表库、文档知识库等DevOps所必须的支撑,而这些支撑是通过云计算的方式来提供。尤其是新的应用系统建设时,DevOps中的运维人员,即校方运维人员,可以以同样的架构应用于新的应用系统建设。

      在该拓扑结构下,原有私有云运维团队中,需要提升部分工作人员向业务层发展,并控制代码库、知识库和问题库的部署和基本运维管理。在新建项目时,私有云运维团队需要根据项目需要,分配生产环境、测试环境和开发环境给项目组,从而允许项目多次部署、多次交付。

      在云计算环境下的DevOps要求云计算运维人员不仅是云基础架构管理员,还需要参与到项目组中,了解项目基本信息,因此对于云计算相关人员的定位提出了更明晰的要求。引入DevOps机制,可以保障软件项目的有序推荐,保障软件项目的质量。

      随着物联网、云计算等技术的快速崛起,以及机器学习算法的突破发展,人工智能已经成为当今最热门科研领域之一,并被誉为人类创造的最后一个发明,基将...

      前日,2018年全国职业院校技能大赛(高职组)先电杯云计算技术与应用赛项在深圳职业技术学院落下帷幕。由深职院计算机学院何宇星、冯杨洋和孙俊捷三位同学组成的广东省3队最终在比赛中脱颖而出,获...

      重庆大学创办于1929年,是教育部直属的全国重点大学,国家首批211工程和985工程重点建设的高水平大学,共有A、B、C和虎溪四个校区,校园环境优雅,彰...

      当云计算、大数据、人工智能等技术纷至沓来,当AlphabetZero只要经过自学就能战胜AlphaGo,当网络教育被写入党的十九大报告可以肯定地说,以科技驱动的教育已经落地,诸多理想正在照进现实,技术...

      2017年12月12日,神州数码(000034.SZ)公告重大资产收购方案:拟作价46.5亿购买广州启行教育100.00%股权(现金20%,换股80%),配套募集资金不超过9.66亿元。中信研究分析认为,神州数码收购启行...

相关opsbet娱乐官网信息

    无相关信息
Baidu