logo

地址:深圳南山区大冲国际中心21楼

联系我们 : contact@wise2c.com

产品支持 : service@wise2c.com

售前咨询 : sales@wise2c.com

电话: +86 (755) 33268246

粤ICP备16049363号

一月 2018

  • All
  • 技术漫谈
  • 最佳实践
  • 睿云新闻
  • 行业资讯

恒大人寿:打造应对业务变革以及金融科技创新的驱动引擎

数字时代的今天,商业市场环境以及科技发展趋势正给保险行业带来一场重大的变革。传统保险公司正面着一系列威胁与挑战,其中包括互联网科技公司新玩家所带来的创新运营模式以及创新渠道的挑战、来自物联网与大数据技术的发展对于保险公司传统保险模型的威胁以及来自新一代消费者群体的消费行为与对保险公司服务体验的要求所带来的挑战。   变革为保险行业带来了挑战同时也带来了巨大的创新机会。正是看到这一点,恒大人寿的IT团队将自己定位为企业创新的驱动引擎,积极的拥抱变革。希望通过对未来趋势的新技术、新工具、新管理方法的应用以及对阻碍发展的陈旧系统架构以及工具流程的革新,快速储备并发展IT技术能力,为敏捷快速的响应业务变革与发展以及金融科技创新打好基础。   Docker技术作为目前IT行业应用打包以及流程标准化的趋势技术,是IT团队提高响应速度与交付能力的基础。Docker技术的特性可以为IT团队带来以下价值:   1.通过以docker镜像为基础的标准化封装与交付实现应用全生命周期管理的自动化 2.保证开发、测试、生产环境的一致性,避免环境不一致导致的部署问题 3.容器的轻量以及启动快速的特性是应用提供服务高可用性以及弹性伸缩的基础 4.Docker对基础设施资源更细粒度的使用可以为企业节省IT基础设施资源的投入   通过对技术趋势的洞察以及深入的技术调研,恒大人寿在2017年初启动了引入Docker技术的容器化系统项目,在项目中建设了容器集群管理平台以及基于容器的DevOps平台,同时实现了关键应用在生产环境的容器化迁移。希望通过Docker技术对IT架构以及流程进行改造实现IT团队交付能力的提升以及流程的自动化。   在技术选型上恒大人寿选择了睿云智合(Wise2C)的容器云平台解决方案。睿云智合(Wise2C)容器云平台产品和方案支持主流的Kubernetes、Rancher、Swarm等集群管理及容器编排引擎,目前在保险,银行等行业都有大量成功案例。   利用睿云智合(Wise2C)产品的持续交付功能为开发和测试团队规划和设计了持续集成和持续交付流水线,解决软件的快速开发和快速交付,为团险核心系统等业务应用提供了容器运行环境,解决基于常用数据库,中间件系统的容器化和构建应用目录,实现数据库,中间件的一键部署。实现团险核心业务系统、销售支持系统、微信应用系统、e化前后端系统等业务系统的容器化迁移以及应用的弹性和快速部署。解决这些业务应用的的快速升级和更新以及生命周期管理问题。   总体技术方案如下图所示:   容器化系统项目的实施为恒大人寿带来了以下收益:   1.大幅提高现有开发交付工作效率,加快交付速度 环境搭建-过去,流程搭建环境是先提交环境需求单,走审批流程,然后运维人员搭建虚拟机,安装中间件等,时间消耗在繁杂的流程审批和安装虚拟机中间件上。现在,通过容器云平台,只需从平台选择需要部署的镜像文件版本,然后直接部署到云平台定义好的相应环境的资源池中即可。环境搭建时间由过去的以天为单位提高到以分钟为单位。   编译打包-过去,编译打包各个项目人员各自为阵使用本地编译环境及依赖,一旦出现问题在测试过程中才能发现,造成返工,影响整个项目的进度。现在,通过容器云平台开发人员只需提交代码,构建打包在平台上统一完成,编译环境一致,过程透明,自动化流水线中出现问题一目了然。最终生成标准化的镜像交付物可以在任意环境中部署运行。   部署升级-过去,应用部署升级虽然有部署工具,但如果环境比较多,更新频繁,将非常消耗时间。现在,通过容器云平台可以用应用商店或者预设好的部署流水线对相应系统或者服务组件版本进行自动部署升级。   交付版本-过去,生产版本交付流程复杂,现在,通过容器云平台只需要将可发布镜像从测试环境同步至生产环境就可一键部署至生产环境。   2.大幅提高系统变更质量 过去,很多测试是人工完成的,一旦需求比较多,就造成排队的现象,滞缓迭代速度,测试用例的保存也是靠人工完成,一旦需要测试用例回归测试,有可能测试用例已丢失,又需要花时间去整理用例,协调测试数据。   现在,通过要求开发人员提高自动化测试覆盖率并在平台上建立自动化测试流水线阶段,平台能够做到保存测试用例和脚本,以便测试用例回放,每次迭代将自动进行测试,并将测试结果实时邮件通知测试人员,开发人员,大大减少了人工工作量。另外,也将很方便进行负载均衡和压力测试。   3.消除了线下线上环境差异 过去,由于测试环境和生产环境不一致,可能导致生产部署后应用程序无法使用的情况,当这种情况出现时,需要耗费很多人力精力去调查原因,给业务上线带来严重影响。现在,使用容器能完美解决该问题,应用开发完成后通过标准化封装成带有运行依赖的容器镜像,可以在任意装有Docker引擎的环境运行。   4.提高了资源利用率,降低了成本 同时,通过容器技术可以对技术设施资源进行更细粒度的使用,大大提高资源利用率,并降低拥有总成本。...

Read More

我们应该如何基于容器来进行软件的持续交付

在过去的一段时间里容器已经大量的使用到了IT软件生产的各个环节当中:从软件开发,持续集成,持续部署,测试环境到生产环境。   除了Docker官方的DockerSwarm,DockerMachine以及DockerCompose以外,开源软件社区还涌现了一系列的与容器相关的工具,涵盖了从容器编排,调度,监控,日志等等各个方面的需求。   本文将从软件研发流程出发讨论如何基于容器解决软件的持续交付问题,以及团队协作问题。并为大家展示睿云智合(Wise2C)的持续交付平台是如何基于目前最先进的软件开发流程思想设计出来的。   在持续集成中使用容器   构建环境统一管理   在传统模式下使用持续集成工具诸如Jenkins,在部署企业持续持续集成平台的第一个问题就是多样化的构建构建环境需求,而通常的做法是将构建Agent(服务器或者虚拟机)分配给团队由团队自己管理构建服务器的环境配置信息,安装相应的构建依赖等。   在持续集成中使用docker dockerrun--rm-v`pwd`:/workspace-v/tmp/.m2/repository:/root/.m2/repository--workdir/workspace maven:3-jdk-8/bin/sh-c'mvncleanpackage'   如上所示,我们可以非常方便的通过容器来完成软件包的构建,其中有几个点需要注意的是: •--rm命令可以确保当命令执行完成后能够自动清理构建时产生的容器,我想你应该不太希望需要不定期清理构建服务器磁盘的问题吧。   • -v除了将当前源码挂载到容器当中以外,我们还可以通过挂载磁盘来缓存一些构建所需的依赖,比如maven下载的jar包,从而提高编译效率。   • --workerdir用以指定构建命令执行的工作路径,当然需要和workspace保持一致。   如上,基于容器我们可以快速搭建适应多种构建需求的CI构建环境,所有需要的一起就是你的构建服务器上需要的只有Docker。   在持续集成中使用docker-compose   在某些情况下,在构建或者集成测试阶段我们可能需要使用到一些真正的第三方依赖,比如数据库或者缓存服务器。在传统的持续集成实践中,通常要么你直接使用已经部署的数据库(记得清理测试数据,并发如何保证),直接使用内存数据库来代替真实数据库,要不使用mock或者stub来进行测试。   当然在理想情况下我们还是希望能够使用与真实环境一直的真正的数据库或者其他中间件服务。基于docker-compose我们可以非常方便的实现对于复杂构建环境的需求。   build: command:sh-c'mvn--help' image:maven:3-jdk8 links:[mysql] volumes: -'.:/code' -'/tmp/.m2/repository:/root/.m2/repository' working_dir:/codemysql: environment:{MYSQL_DATABASE:test,MYSQL_PASSWORD:test,MYSQL_ROOT_PASSWORD:test,MYSQL_USER:test} image:mysql:5.5   同样我们以maven为例,假设我们需要在构建中使用到mysql以支持集成测试的需求   docker-composerun--rmbuildsh-c'mvncleanpackage'&&docker-composestop&&docker-composerm-f ▪--rm确保在构建命令执行完成后自动清理build所产生的容器。 ▪-docker-composestop&&docker-composerm-f确保依赖的其它服务如mysql能够正常的退出并且清理所产生的容器。   建立持续交付解决方案 建立基于共同目标的具有跨职能协同的研发团队,是DevOps运动的根本。而自动化则是提高效率的基石。基于以上我们是如何基于容器建立我们的持续交付解决方案?   基础设施自动化   使用Rancher理由很简单,Rancher是目前市面上唯一一个能满足开箱即用的容器管理平台,同时能够支持多种编排引擎,如Rancher自己的Cattle,Google的K8S,以及Docker官方的Swarm作为容器编排引擎。同时Rancher提供的Catalog应用商店能够帮助研发团队自主创建所需要的服务实例。   创建持续交付流水线   建立持续交付流水线的核心问题是如何定义企业的软件交付价值流动。   如下图所示,我们总结了从开发,持续集成,持续交付各个阶段所使用的一些典型工具的使用,以及在各个阶段中的相关团队的相关活动,典型的DevOps相关的活动。   在持续交付流水线下的团队协作   正如上文所说,创建持续交付流水线的本质就是定义软件的交付的价值流动,反应正式的软件交付流程。价值的流动则涉及到团队中各个职能的成员的高度协同。   开发流水线   开发人员:频繁提交持续集成,通过持续的编译,打包,测试,镜像构建,自动化验收测试等环节产生可测试的候选镜像列表(如:0.1-dev)。   •以源码仓库为起点,开发人员频繁提交,每一次代码变更都要立即在流水线中传递;睿云智合WiseBuild持续交付平台支持定时周期触发,代码变更检查以及Webhook等多种触发方式。   •提交测试阶段从技术角度断言整个系统是可运行的,该阶段会进行编译,运行一套单元测试,并进行代码质量分析,WiseBuild持续交付平台设计遵循“BuildInDocker,BuildWithDocker,RunWithDocker"基于容器技术全面减少对于异构构建环境的支持,并且默认提供了当前主流的编程语言的编译,以及测试支持。同时用户可以根据需要在持续交付流水线中集成Sonarqube进行代码的质量跟踪和管理。   •自动化测试阶段,从功能交付断言整个系统是能够满足客户规范和要求的,WiseBuild持续交付平台支持基于Rancher或者RancherCompose在流水线中自动部署镜像到Rancher平台,同时内置了Selenium,Robotframework,Cucumber等主流自动化测试工具和框架。   •手动测试阶段,当新的代码提交部署到rancher环境后,开发人员同时可以快速的进行手动测试,确保新提交的代码在测试环境中是可用的,并且满足相关的功能需求。   •镜像构建,当代码提交通过了整个流水线的持续验证后将会产生响应版本的镜像文件。   基于流水线中的过程质量和代码质量数据,团队可以快速处理典型的代码质量问题,避免技术债务的产生。 总而言之,开发流水线可以帮助团队频繁的进行代码集成并且通过单元测试,代码静态分析,自动化验收测试等技术实际帮助开发人员快速的发现和解决问题,并且产生可待测试的镜像列表。   测试流水线   测试人员:从候选测试镜像列表中,选择需要测试的目标镜像,标记为测试版本(将0.1-dev标记为0.1-test),并且将待测试镜像自动部署到验收测试环境,完成手动探索性测试,对于已测试完成的镜像标记为预发布版本(0.1-test标记为0.1-beta)。   在待测试镜像列表中选择镜像,发布到开发用DockerRegistry仓库。 对于测试人员而言,流水线的起点则变为待测试的镜像列表,基于WiseBuild创建Docker类型流水线,可以支持测试人员快速创建测试环境并且运行相关的自动化测试脚本,同时满足手动探索性测试的需求。   支持使用自动化触发方式,如‘1.0.*-beta’的形式,当监听dockerregistry有符合规则的镜像产生后自动触发流水线。   支持手动触发,测试猿人可以手动选择服务该规则的镜像进行手动触发,一键准备测试环境,运行自动化验收测试等。   自动化部署流水线   运维人员:从预发布镜像列表中选择镜像部署到预发布环境,并且在验证通过后标记为release版本(如将0.1-beta标记为0.1-release),并且发布到生产环境。   与自动化测试流水线相同,运维人员可以建立独立的部署流水线,从待发布的镜像列表中选择镜像发布到生产环境Registry中,并且设置流水线的自动或者手动触发,实现对于预生产环境的一键部署。   小结 睿云智合的WiseBuild持续交付平台支持对接基于DokcerRegistry标准的镜像仓库服务,包括DockerHub,DockerRegistry,Habor,阿里云等等。 在基于容器的持续交付实现方案当中,我们以镜像为价值传递的单元,通过镜像的持续测试以及验证,完成镜像从开发,测试到可发布的状态转变,完成软件的交付流程。   •开发人员频繁提交,持续集成,持续反馈。 •测试人员自服务部署一键准备测试环境。 •运维人员执行一键式部署预生产环境。...

Read More

容器技术帮助传统金融企业显著提升IT能力的最佳实践

2015年曾冲刺入全行业保费发展规模前三的富德生命人寿,作为一家在业界连年刷新保费增速记录的创新性金融机构,近几年进入集团化经营发展战略阶段后,在更多的业务内容创新、业务渠道创新、业务结构优化改造方面始终走在行业尖端。   而这一切的业务发展成绩离不开强大的IT技术支持与引领,尤其是在应对互联网金融业务市场的激烈竞争时,IT能力的对决往往决定着业务发展的优劣。2015年下半年,富德生命人寿与中国平安科技——这两家传统金融机构科技创新力量的优秀代表,几乎同时开始启动了对容器技术的调研与引进,并在历时大半年的选型与方案验证测试后,各自完成了自己的容器技术应用项目。   作为领先并专注于金融行业容器技术与产品服务的合作伙伴,睿云智合(Wise2C)非常荣幸地参与了这两个率先迈出行业探索和实践步伐的项目实施过程,并且在其后为更多金融企业用户提供了我们的专业产品与技术服务,积累了目前遥遥领先市场同业的成功案例。   下面就让我们来看看富德生命人寿容器技术应用案例的具体解析。   项目目标场景 富德生命人寿的容器技术应用场景可以说在传统金融企业中是最为全面、最为丰富的案例之一,非常具有代表性。其项目需求具体包括:   •在引进容器技术之前,富德生命人寿已经将核心业务系统解耦为六十多个业务模块,正在尝试系统架构的微服务化治理,而容器技术刚好可以在有限的基础设施及人力资源条件下帮助实现高效部署和运维这些微服务模块。 •作为大部分业务模块自研为主的IT团队,业务软件的生产过程大幅提升自动化管理水平也迫在眉睫,CI/CD平台建设很早就已在富德生命人寿进行实施,容器技术的助力使得这一平台的使用将变得更加高效、流畅。 •作为大力开展互联网创新业务的金融企业,混合云架构支持下的诸多互联网应用需要在安全可靠的前提下解决高并发计算资源的弹性伸缩和业务灵活迁移,容器管理平台正是解决这一刚需的最佳利器。 •支撑富德生命人寿核心系统运行的计算资源每天差不多有一半时间没有任何业务流量,然而大数据团队的计算资源却非常紧张,富德生命人寿希望将大数据平台部署在容器化环境中,可以有效提高计算资源在不同运行时段的合理利用,真正实现云计算资源的科学管理。   技术实现方案 整体技术方案: 富德生命人寿基于容器技术设计了两个中心:软件持续交付中心和系统持续运行中心,第一期方案将主要支撑寿险业务的核心系统从软件开发测试,部署上线到持续运行全流程管理。   生命人寿IT平台架构部经过近一年的广泛调研,分析和验证性测试,最终采用了如下整体技术方案: •容器管理平台采用Rancher, 为上层应用提供容器化的基础设施和容器化应用的运行环境,以及基础性容器服务。 •持续交付中心,在睿云智合的WiseBuild基础上,实现了针对目前研发,测试,运维流程的集成和定制开发。 •在容器管理平台之上,与睿云智合的产品WiseRun设计思路一致,双方合作研发了持续运行中心,高效管理复杂业务系统的建模,部署过程,以及全面的系统应用监控,配置中心和日志中心。   应用容器化和持续运营中心 ▪将应用容器化,实现业务系统在多环境的一键部署; ▪引入容器管理和编排平台(Rancher),实现开发,测试,生产环境的自动化和底层基础设施的适配,以提供应用的运行环境,屏蔽底层基础设施差异; ▪实现应用的自动化部署及后续生命周期管理; ▪结合持续交付中心,实现业务系统的持续部署。   构建基于容器的交付中心 •将开发环境,测试环境和应用环境容器化,实现环境“一键部署”,及大规模构建环境的自动创建和复制,实现开发,测试和预生产环境的一致性和标准化交付; •实现持续构建服务,代码管理服务,并支持并行、弹性地自动构建服务。 混合云管理 项目中睿云智合(Wise2C)技术团队为富德生命团队完成了市场几乎所有主流的公有云主机以及私有环境混合场景的基础设施架构搭建测试及验证,为富德生命人寿未来的IT资产投入规划提供了有力的数据支持。   大数据平台容器化及自动化部署 项目中睿云智合(Wise2C)技术团队帮助完成了包括Hadoop以及HDFS、YARN、HBase、Hive、Kafka、Zookeeper等大数据组件的容器化集群部署,并全面实现了高可用特性以及平台的弹性伸缩能力。   建立了在非忙时段使用业务计算资源快速启动大数据集群进行自动化数据处理的科学机制。 项目中关键技术点 日志收集方案 项目中我们根据富德生命人寿的实际情况设计了一个低资源资源消耗,无应用侵入,可以清楚识别日志来源的统一日志收集方案。请参阅往期微信分享容器内应用日志收集方案   监控告警方案 富德生命人寿在监控方面的需求主要包含以下四个功能点,日志采集,告警,存储以及展示。目前业界流行的方案中只有prometheus是作为一个整体的方案可以同时满足这四个功能,但是prometheus的默认的存储方式是本地存储,对opentsdb这种分布式的时间序列数据库支持不够,在扩展性上不够好。所以我们为富德生命人寿设计了一种组合式的方案采用cAdvisor+scollector+Bosun+OpenTSDB+Grafana实现监控告警需求功能。各个组件之间都有官方支持,所以兼容性有足够的保证。...

Read More

将DevOps用到生产环境的民生保险容器应用云平台

作为传统金融机构重要代表的保险行业,许多企业的关键业务运营几乎毫无例外地依赖着一个笨重而陈旧的单体架构核心业务系统,其牵一发而动全身的复杂特性,使得诸多所属企业IT团队在面对企业“以客户为中心”、“互联网+”等发展战略所带来的排山倒海般的业务需求时,往往疲于奔命,甚至举步维艰。   除了系统架构本身的问题,大部分中小型金融机构,在业务软件的交付与运营管理方面,长期依赖核心业务系统供应商所提供的定制研发服务,缺乏对软件生产过程的高效管理,也使得大家在面对新一代业务系统架构改造过程中要求的持续交付/持续运营这一艰巨挑战时深感力不从心。   作为民营寿险企业的杰出代表,民生人寿成立十余年来始终坚持贯彻“以用户为中心”的经营理念,将不断提升用户体验,丰富服务模式,尝试通过多种渠道为客户提供个性化、定制化的保险产品作为公司追求的经营目标。而这一业务经营方针对IT支持的要求也在日益提高,在经过反复的“打补丁”方式勉力维持原有核心系统运行多年之后,民生人寿IT团队决心破旧立新,向业内标杆企业看齐,着手进行新一代核心系统的规划与建设。   重构一套全新的微服务架构核心业务系统,并且采用容器技术来优化微服务架构系统的治理模式,这样的战略规划不可不谓大胆而创新,因为在业界至今仍未有完整的成功先例。民生人寿IT团队上下都对这一项目寄予了极高的期望,大家一致认为,新架构下的核心业务系统重建项目意义极为重大,它很可能带领民生人寿在未来几年保险市场风起云涌的激烈竞争格局中突破重围,一举超越同类型机构!   睿云智合(Wise2C)承接了其中一项光荣而艰巨的任务:从2016年中开始,分阶段为民生人寿建设基于容器的企业级PaaS平台,包括开发者中心和运维中心,以帮助民生人寿在新架构核心系统搭建过程中实现高效的持续集成和持续部署自动化管理,并在未来进一步实现自动化运维管理。   项目目标场景 第一阶段建设开发者中心,为民生人寿新一代核心系统的项目开发提供完整的基于容器的持续集成解决方案,实现从代码提交到容器化部署的完善的DevOps工具链和工作流,促进微服务模块开发和上线的标准化、自动化,提高新一代核心系统的开发迭代效率。   第二阶段建设运维中心,为日后新一代民生人寿核心系统提供微服务运行框架以及自动化运维能力,实现持续部署服务、自动化弹性伸缩、自动故障恢复、灵活迁移、高级的服务编排以及高级的日志监控管理等能力,同时满足业务以及平台的高可用性要求。   技术实现方案 网络方案 本项目中睿云智合(Wise2C)为民生人寿两个数据中心四个业务网络区搭建了生产灾备两套平台环境。各业务网络区域均有独立的冗余接入交换机及网络防火墙设备,通过连接核心交换机及可选的负载设备实现数据流的策略控制及业务分隔。各区域间业务流量不允许互相访问。睿云智合根据民生现有网络架构进行了容器平台网络的规划设计,实现了业务、管理以及存储的三网分离。 存储方案 使用convoy组件连接NAS提供容器存储。 平台高可用(HA)方案 平台的的高可用(HA)部署采用3台主机节点,并且连接一个共用的外部的数据库。同时采用Haproxy代理以实现对三台HA节点的服务检查及访问切换策略。   MySql集群方案 容器管理平台需要使用外部数据库,以支持平台高可用架构。我们设计采用PerconaMySQL数据库集群方案,PerconaServer为MySQL数据库服务器进行了改进,在功能和性能上较MySQL有着很显著的提升。   高可用镜像仓库方案 高可用私有镜像库我们采用Harbor实现,使用Harbor提供的基于策略的Docker镜像复制功能实现镜像在两个环境的同步共享.该方案的优点是利用本地存储,成本低并且可以实现较快的故障转换。 日志方案 使用睿云智合自研日志收集工具WiseLog对接ELK,实现每个应用容器挂载一个专属的日志卷容器,不会存在应用写日志路径冲突的问题。同时,WiseLog容器内有logstash进程收集指定的日志文件,通过进程定时查询获取宿主机上新增的日志卷容器,并根据模板重新生成logstash的配置文件,将新增的日志文件加入收集列表。   WiseLog可以获取新增日志卷容器在rancher平台上所属的Stack,Service和Index,即使一个应用容器被调度到另外的主机,仍然可以通过Stack_Service_Index作为标识,在逻辑上将日志拼接起来,对于复杂的日志收集逻辑,也可以可以通过logtype的标签区分不同的应用,设置不同的日志收集路径。   监控方案 采用Prometheus+Grafana监控方案部署。实现对容器宿主机以及容器本身的日志采集,告警,存储以及展示。   持续交付平台方案 睿云智合在民生人寿生产环境容器管理平台上部署了持续交付平台WiseBuild,用来支持核心系统架构改造项目中每一个微服务模块的开发工作。 多个微服务模块开发小组可以同时在统一的WiseBuild平台上进行微服务模块开发过程的全生命周期管理与协作,以流水线为中心,实现从代码构建,测试到部署的端到端自动化能力。 同时,WiseBuild的流水线任务动态分配并容器化执行,构建环境可以动态,弹性扩张,可以支持民生人寿大规模的持续集成和部署活动。 通过WiseBuild提供的代码质量分析,自动化测试和发布决策等质量控制体系,民生人寿将为开发外包人员设立质量门,减少外包开发人员技术能力差异以及人员流动所带来的技术债积累风险。同时WiseBuild集成的各类自动化测试框架可以满足民生人寿的提高自动化测试覆盖率的需要。 通过WiseBuild,民生人寿将持续优化软件开发过程的管理流程,逐步实现开发过程的自动化程度以及IT交付效率的提升。通过在项目中持续的流程优化与团队交付能力的提升,逐步加速新一代核心系统架构改造项目的开发进程。   结语 众所周知,重构核心业务系统,并且是用最新的架构与技术重构一套没有多少先例可循的核心业务系统,这样的挑战并非是以传统而保守著称的金融机构敢于轻易尝试的项目。相信民生人寿IT团队的专业性、先进性都将在这一项目的实施过程中得到充分体现和锻炼,这一项目也必将随着实施成果的逐步显现成为行业中的优秀典范。作为与民生人寿IT同仁们一起并肩战斗的合作伙伴,睿云智合(Wise2C)将全力以赴,持之以恒地协助民生人寿共同迎接并赢得这场艰难的挑战!...

Read More

中国第一家推出容器云服务的金融行业云:平安金融云

作为国内综合金融卓越典范的中国平安集团,IT引领业务发展是其多年践行的企业科技发展战略,凭借多年积累的技术与团队经验,平安科技强大的IT能力始终为行业所瞩目。而平安的云计算战略,不仅仅着眼于平安集团自身,更期望立足于整个金融行业(和国内其他一些金融巨头的定位一样!),在科技服务自身发展的前提下,逐步谋求将先进而丰富的IT能力与基础设施资源对外进行输出,以科技的力量推动行业整体发展。而对于行业中的中小机构同业来说,在符合信息安全要求的前提下,标杆企业的专业技术与强有力的IT基础设施平台,是他们非常乐于学习和借力的先进资源,可以更快、更便利地获得专业的技术平台解决方案,这有利于他们将有限的人力物力更专注地投向业务应用层面的需求响应。   平安科技正是在这一战略前提下开始致力于打造金融行业领先的“平安金融云”,恰逢标志着Cloud2.0时代到来的容器技术传入中国,其诸多革命性的技术优势很快引起了平安技术先行者们的积极关注。及至2015年下半年,平安科技决定在新的平安云平台建设项目中,正式启动对容器技术的选型与引进。 项目目标场景 框架选型 在提供容器服务之前,平安云平台已经在为用户提供云主机、云存储等一系列企业公有服务,为了实现快速对接平安云已有IaaS平台并提供全面的容器云运营管理能力,平安科技在容器管理平台框架选型方面提出了以下选型要求: 架构简单,能够快速部署,易维护。 开源,贴近主流社区和原生平台。 支持多租户,能够严格的隔离和必要的互通。 支持VPC网络降低对网络的依赖。 符合容器服务规范的Stack、Service、Container领域模型。 完备、丰富的RestfulAPI。 跨平台支持好,能够适应混合云部署模式。 经过一系列的验证与测试平安科技最终在K8S,Mesos+Marathon以及Rancher之间选择了我们的Rancher平台作为容器服务平台基础框架。 自助服务 过去,开发测试人员做应用的开发测试工作时往往需要通过繁杂的内部资源申请流程获取开发测试环境。过程中常常需要与运维团队中负责各个基础设置资源管理以及数据库、中间件管理的成员进行多次沟通。无形中增加了时间成本沟通成本,同时所申请的环境在使用之后没有有效的资源回收机制造成了大量的资源浪费。 为了解决上述问题,平安科技通过容器服务平台为租户提供自助开发测试容器环境创建服务。租户可以自助在平台上快速部署所需服务与环境,并且在平台所分配的资源池中使用或释放开发测试容器环境作用资源。同时自助的在平台上完成镜像管理、应用编排、服务集群管理、容器管理等一系列工作。 持续交付 提供API对接平安已有的开发管理平台Wizard,为CICD流水线提供容器运行环境,实现全流程部署自动化。 技术实现方案 服务架构 平安云统一管理区 容器服务门户 门户系统,提供容器服务操作。 基于lvs+keepalived部署架构,外接mysql集群。 统一管理节点 采用Ansible,用于部署多租户容器环境,添加主机,初始化Registry等节点管理。 平安云公共服务区 Rancher服务 核心服务组件,主要用于容器调度与部署。 基于lvs+keepalived部署架构,外接mysql集群。 Docker节点 用于镜像制作、上传、下载,文件传输,执行Docker命令。 PublicRegistry 平安官方公共镜像仓库,同时是官方公共租户的镜像库。 采取多节点挂载共享盘部署。 租户VPC 租户环境 每个租户拥有完整容器部署和运行环境,包括RancherServer、Docker节点、PrivateRegistry。 隔离与其他租户之间的影响,减少跨租户的网络访问。 容器网络 对外:ContainerBridge,采用端口映射。 对内:容器之间直接使用容器管理平台框架Rancher自带的IPsec隧道实现。 如果某个容器需要对外服务,则采用端口映射方式,连通所在vm,就可以暴露服务。 如果容器不需要对外提供服务,只需要在同个应用内提供服务,那么采用ipsec方式,这样避免浪费过多端口。 容器与容器之间建立私有网络,只有容器与容器之间可以访问。每个容器都拥有一个私有网络地址:10.42.网段。 容器存储 根据Docker官方提供的所有存储驱动的成熟度。可以看到目前Production-Ready的是AUFS和DeviceMapper。 目前平安科技容器服务统一运行在CentOS,还没使用其他操作系统。因此选择DeviceMapper作为容器存储驱动。DeviceMapper底层直接使用云磁盘作为pool,采用LVM管理。 除了容器和镜像存储外,应用数据存储,包括配置文件采用了volume接口或者直接volume映射来解决应用容器漂移的数据问题。 日志 容器服务平台日志:本地+云平台ELK日志服务。 容器自身运行日志:本地云磁盘+云平台ELK日志服务。 容器内应用(业务方)日志:业务自行规划,已经提供目录挂载。 容器监控 主要依赖Rancher平台自带的主机与容器的监控功能,同时,通过脚本,定时获取容器本身的性能监控(cpu/mem/network/storage)数据,能够在portal上查看。 1、主机监控 2、容器监控 3、特定的中间件监控 平安研发了基于zabbix/open-falcon的监控平台用来提供常见中间件的性能监控(WebLogic/Tomcat/Nginx等),为中间件镜像制作脚本,中间件监控程序整合到Docker镜像中,容器一启动,就能即时上报性能数据到监控平台,无需任何外部干预。 镜像管理 针对镜像管理,平安科技进行了从单节点->双节点->跨区域分布式架构的演进。 通过自行开发的服务组件实现对不同区域数据中心的跨区域分布式镜像管理,每个区域都部署一套,对接本区域的私有镜像库。一方面监听当前区域的镜像仓库事件,然后主动发起同步操作。另一方面:执行Dockcer命令,管理该区域的所有运行容器的机器。 项目成果 经过大半年的设计、验证、实施,平安科技以全球领先的容器云开源技术框架(Rancher)为核心,自主研发为主,圆满完成了平安云CaaS容器服务平台的建设,实现了为平安集团旗下各个金融类别和拥有不同开发模式的子公司用户,提供物理机、虚拟机、容器等满足不同种类计算需求的计算资源服务的总体目标。并于2016年尝试面对公众市场发布推广,成为金融行业走向容器云平台公共服务的第一家机构! 结语 睿云智合(Wise2C)作为Rancher在金融保险行业的独家总代理,有幸成为这一历史性重大项目的合作伙伴,新的一年我们将一如既往地为平安金融云的不断发展提供更多专业、高效的服务。 同时,我们也非常高兴受邀参与到了更多不同运营方向的其他大型金融机构的容器云平台建设项目,为此我们正不断完善自身的系列容器技术平台产品,希望将我们的项目经验和技术能力,完整而快捷地交付给更多的企业用户!...

Read More