logo

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

联系我们 : contact@wise2c.com

产品支持 : service@wise2c.com

售前咨询 : sales@wise2c.com

电话: +86 (755) 33268246

粤ICP备16049363号

Author: admin

深圳睿云智合科技有限公司 > Articles posted by admin (Page 3)
  • All
  • 技术漫谈
  • 最佳实践
  • 睿云新闻
  • 行业资讯

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

在过去的一段时间里容器已经大量的使用到了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

某股份制商业银行定制化PaaS介绍

某股份制商业银行的PaaS平台是由睿云智合(Wise2C)与Rancher合作,基于Rancher做的定制化开发。基于业务场景和银行业的特殊需求,同时为了兼顾能够实现对以后Rancher版本的平滑升级,我们在Rancher之上做了一层逻辑抽象。 一、软件架构与部署方案 整体软件架构如下图所示: 顶层的DCOS作为统一的管理平台,可以通过PaaS以及IaaS提供的API实现对云平台的集中管控。左侧蓝色部分是原生Rancher,DCOS与红色定制化部分通过API来访问Rancher。由于未对Rancher做任何改动,可以做到对Rancher版本大于1.2的平滑升级。   红色部分为定制化逻辑抽象部分,归纳起来可以按照功能职责大致分为以下微服务(后面会详细介绍): 1 鉴权认证 2 资源管理 3 应用编排 4 弹性伸缩 5 日志收集 6 监控告警 7 镜像仓库   这些微服务在部署时按照Rancher将infrastructure stack部署到环境中的思路,使用一个独立的Rancher环境来部署这些微服务,部署拓扑结构如下图所示: 图中每一个虚线框对应Rancher中的一个环境;“扩展ENV”这个环境直接使用Rancher server的主机作为Agent,上面运行定制化的微服务。其他环境分别对应到某个租户的特定网络,单个网络内部流量不使用Rancher原生的overlay,而采用Wise2C实现的扁平化网络,网络之间流量由外部防火墙控制。   二、角色与权限模型 PaaS平台的角色与权限模型沿用了Rancher的一部分概念,又引入了自己的内容。主要差异在于两方面: 1 PaaS平台引入了对镜像仓库的管理,这在Rancher中是没有的;即角色的权限,除包含操作Rancher外,还能够操作镜像仓库。镜像仓库与PaaS的权限模型是一致的; 2 另外,客户引入了租户的概念,这点与Rancher中不同,租户是可以跨越多个Rancher的环境的   Rancher权限模型: 平台管理员: 拥有整个Rancher平台的所有权限; 环境用户: 1 Owner拥有环境的所有权限; 2 Member拥有除对环境内部用户授权外的所有权限; 3 Restricted User拥有环境内部除对用户授权以及操作基础资源外的所有权限; 4 Read Only拥有环境内部资源的只读权限;   PaaS平台权限模型: 平台管理员: 等同于Rancher的平台管理员权限再加上对镜像仓库管理的所有权限; 租户内部角色: 1 租户管理员拥有管理租户资源以及对租户内部用户进行授权的所有权限;再加上对镜像仓库管理的所有权限 2 高级成员在PaaS平台内拥有对租户内用户授权以及操作基础资源外的所有权限;在镜像仓库内,拥有对镜像仓库设置镜像同步规则、创建、删除镜像仓库Namespace、改变镜像状态等权限; 3 受限成员在PaaS平台内拥有对租户内用户授权以及操作基础资源外的所有权限;在镜像仓库所属Namespace内,拥有上传、下载镜像的权限; 4 Read Only在PaaS平台内,拥有查看租户类资源的权限;在镜像仓库所属Namespace内,拥有查看镜像仓库资源的权限; 具体映射关系如下图所示: 鉴权部分的软件设计如下所示: 所有对PaaS访问的API请求均经由API proxy做鉴权控制之后代理到系统内部具体的微服务上。PaaS不直接参与租户的增删查改,API proxy通过与PaaS外部的Keystone通信来获取用户角色以及租户信息。   三、资源管理 网络部分 1 由于金融行业对网络安全性方面的要求比较苛刻,而Rancher所能够提供的均是基于某个环境内部的overlay网络。Overlay必然会导致很多报文无法被安全设备透明的过滤,这是行业内无法接受的;因此,必须采用扁平网络。 2 处于安全的考虑,会出现同一个stack内部的多个service需要分别部署到不同的网络分区的需求,采用当前Rancher的managed网络显然无法满足需求;因此,必须支持多网络。 对于扁平网络的支持,我在之前的文章(在Rancher 1.2中实现基于CNI的扁平网络)中有详细的介绍,主要是使用ebtable直接在linux bridge上对流量做控制,从而避免使用overlay;这样,外部安全设备能够透明的看到各个容器之间的流量。     对于多网络的支持,我们是通过在Rancher之上实现一层抽象逻辑来实现的。整个模型演变为一个网络映射为Rancher的一个环境(环境内部运行一个扁平网络)。这部分主要涉及对平台中所有网络的管理,以及维护租户与网络之间的映射关系。 下面举一个例子来描述该流程:     1 平台管理员在PaaS上创建一个网络,指定网络的参数(子网掩码、网关、所属安全域、所属隔离域等),这些数据会保存到数据库; 2 平台管理员根据需要为租户分配第一个网络;此时,抽象层需要真正在Rancher上创建出网络所对应的环境;以及创建监控、日志、以及定制化系统所需的system级别的应用堆栈; 3 当平台管理员为租户分配第二个以上的网络时,抽象层还需要将该Rancher环境与租户其他网络对应的Rancher环境之间建立env link关系,否则跨Rancher环境的应用堆栈各service之间无法使用Rancher DNS进行互访。 存储部分 客户PaaS在存储部分最终选定NFS作为其存储方案,前期也有讨论过使用ceph等,这部分我在之前的文章(探讨容器中使用块存储)中也有专门分析过为什么不选用那种方案。 由于单个租户可以拥有多个网络(也就是多个Rancher环境),而在Rancher中Rancher-NFS driver所创建volume是基于环境层面的。为了能够将该volume映射到租户层面,我们在抽象层中做了这层映射操作。 具体流程如下: 1 平台管理员在PaaS中指定参数创建出一个NFS server;同网络一样,此时只是将数据保存到数据库; 2 平台管理员为租户分配NFS server,此时抽象层真正操作租户网络所对应的多个Rancher环境,在逐个环境内添加用于提供Rancher-NFS driver的system...

Read More

邮政电商平台“邮乐网”完成容器云平台项目建设,进一步完善分布式架构系统治理

众所周知,容器技术在互联网电商平台的应用普及相比传统企业更早、更为广泛,2016年10月,邮乐网成为睿云智合第一个互联网企业客户。   邮乐网由中国邮政与TOM集团携手呈献,是一个结合高端线上网购和线下零售于一体的独特创新购物服务平台。中国邮政历史悠久,线下网络覆盖全国,并且拥有完善的物流系统及代收货款一体化平台;TOM集团在电子商务领域具备丰富的经验、先进的科技及应用。双方互为裨益,以后来者面貌出现的 “邮乐网”,正试图通过集合中国邮政和TOM集团的资源优势,以及借鉴双方在电子商务市场的经验教训,来实现在B2C行业的突破。   以高起点、高规格快速搭建的邮乐网电商平台,核心技术团队来自沪港地区资深互联网、金融等领域,在搭建支撑年营收额数百亿且高速增长的业务平台过程中,技术平台的选型与部署严谨而又高效,在全球范围内对容器云集群管理平台产品进行了筛选与评估,最终选择Rancher作为容器云平台核心框架,由睿云智合提供项目实施与技术支持服务,双方共同为邮乐网的电商运营平台提供基于容器的云计算基础架构解决方案。...

Read More

安盛天平借助容器技术提升关键业务系统持续运维自动化水平

在刚刚达成的安盛天平汽车保险有限公司与睿云智合的容器项目合作中,双方确认,由睿云智合提供全方位的技术支持服务,帮助安盛天平实施应用容器化的持续运维管理平台建设。双方将建立长期的技术合作,以逐步实现安盛天平各个关键应用系统在接下来分阶段、分步骤地完成生产环境容器化后的持续运维管理目标。   安盛天平车险是中国财产险市场上目前以数字化业务为主要核心渠道的两家公司之一(另一家是平安产险),公司业务系统架构一直以追求灵活响应、高度自动化为目标,是为数不多在信息技术层面能够快速高效响应数字化业务发展需要的财产保险公司之一。早在2015年末,安盛天平的技术团队即已投入对Docker技术的研究与学习试用之中,在自行完成了多种容器编排框架产品的内部部署与测试后,最终仍选择借助第三方技术服务方的力量,与深圳睿云智合共同合作,逐步完成基于自身实际需要的容器化应用持续运维管理平台的建设,为安盛天平继续保持在车险数字化业务领域的竞争优势提供新型容器云技术的有力支持。...

Read More

平安银行结束基于容器的PaaS平台选型,正式引进睿云智合WiseCloud平台

在历时近10个月的多轮选型与验证性测试后,睿云智合在重重竞争中脱颖而出,终于赢得平安银行技术团队的一致认可,成为平安银行容器云管理平台的实施合作方,将为平安银行提供基于容器的PaaS产品WiseCloud平台。   作为银行业创新发展的典范,平安银行的发展历程从前身为深圳发展银行时期就充满了传奇,这一过程当然离不开科技的有力支持。尤其在未来,金融行业将更加直面来自互联网巨头的数字化业务竞争挑战,对分布式架构、自动化应用生命周期管理平台等云计算能力的建设需求,显得尤为重要。传统银行业自2017年以来,已陆续有基于容器的云平台、PaaS平台等建设项目提到实践计划中来,形成了行业趋势。   早在2016年平安银行技术团队即积极开始对容器技术的应用研究,组建了一支由IT规划、研发、工具链、运维等部门全方位参与的选型小组,组织对市场上主要的容器技术服务商进行了方案交流、产品演示、PoC测试等多方面考察与评估,最终选择了具有丰富的金融行业容器项目实施落地经验的睿云智合作为容器应用生命周期管理平台的提供方。双方将在接下来的平台落地部署与逐步上线应用过程中,摸索打造一套适应于平安银行内部技术环境与规则要求的容器云平台,为下一步全行范围内的推广奠定坚实的基础。...

Read More

恒大人寿拟将睿云智合WiseBuild平台部署于生产环境

睿云智合日前与恒大人寿保险有限公司达成合作,将提供自主研发的基于容器的CI/CD平台WiseBuild来支持恒大人寿内部业务系统开发测试与持续部署管理。该项目将选取合适的应用项目打通从开发测试到生产环境的实施过程,为恒大人寿内部软件交付过程的自动化管理提供有力支持。   恒大人寿是由恒大集团收购中新大东方人寿而来,业务覆盖寿险、健康险和意外伤害险等,是一家全国性大型寿险公司,目前其总资产已超过700亿元。恒大进军保险业,将进一步夯实主业基础,并与健康、互联网社区服务等其他新产业形成协同效应,打造出国内最大、最完善的民生产业生态圈。   自恒大人寿总部迁址到深圳后,信息技术团队迅速扩充,对IT基础能力的建设与创新技术的推广也日益重视。尤其在容器技术应用方面的调研和实践紧跟行业趋势,勇于实践,引进睿云智合CI/CD产品WiseBuild并直接在生产环境落地的举措,成为金融保险行业在创新科技应用方面的积极表率。...

Read More

中国太平积极跟进容器云平台项目实践

继与中国平安、富德生命人寿、民生保险、恒丰银行等多家金融机构达成合作后,睿云智合又迎来与四大国有保险控股集团之一的中国太平的容器项目合作,为其提供容器云平台的搭建实施服务。   中国太平保险是国有民族保险品牌的骄傲,自2001年复业以来,太平人寿、太平产险、太平养老保险、太平再保险、太平资产管理,等诸多太平系金融保险机构遍布全球,业务发展增速始终位列行业前列。目前集团及旗下有9家机构获得国际权威评级机构授予的“A级”评级,是中国保险业获得国际“A级”评级最多的保险集团。   本次中国太平的容器云项目由太平集团旗下的后援共享中心牵头,先从太平人寿多个具备互联网特色的应用着手,将容器云平台率先在寿险业务应用进行落地,运营稳定后,再逐步扩展到其他业务条线的应用,以帮助太平集团相关金融业务在未来市场的数字化业务竟争中获得云计算基础能力的有力支撑。...

Read More