>>返回主页
京东云许舟平:在云端为企业插上一双助其腾飞的翅膀

2018-03-21 14:40

  许舟平:很高兴今天下午跟大家做分享。我们看一下京东云如何通过DevOps的实践支撑业务发展。

  京东在前面13年里面一直致力于提升优化效率、帮助客户、成就客户,我们一直在努力不断的追求更好的客户体验。未来,京东的技术策略将关注在A、B、C领域,也就是AI、大数据和云。我们知道对于今天这样一个人工智能机器学习到来的时代,我们需要有机器算法,以及通过大数据帮助我们在各个行业领域中做好实践。云就是帮助我们去做好AI和大数据的一个承载平台,所以我们基于这样的一个方式希望能够在整个零售、物流、金融及科技产业中做好支撑。

  京东云是从电商平台到一个能够帮助各行各业的企业做企业信息化转型的服务平台。这个平台中我们可以看到,像对基础云的服务,弹性计算、网络以及基于相应的存储和CDN都是我们非常重要的基础设施。

  并且我们对云安全和DDoS防护以及数字和基于缓存的数据库提供很好的服务体验,基于这样的体验我们希望提供一站式云服务,能够让我们的客户感受到可信赖的来自京东云的服务,帮助我们的企业客户完成数字化转型。

  所以这个过程中,我们有各种各样的基于行业的服务和基于这样的行业服务衍生出来的各种各样的技术。技术如何支撑好企业转型?这是我今天给大家带来的主题内容:来自于京东云DevOps的技术实践—云翼平台。

  这个平台是为了解决工作效率,希望把线上可用性和用户体验得到提升。早期的时候我们有很多的场景,包括物流、电商零售和基于金融领域的相应衍生,都需要有一个技术场景。在这样一个场景里面,我们对于环境的维护,包括代码开发、版本管理、集成、交付和上线发布环节,全生命周期管理和监控都要做到。

  规范化、流程化和智能化是我们追求的,尤其是智能化的监控,我们尝试努力做到更好的实践。

  目前我们将云翼产品形成解决方案,将持续交付、运维、智能监控能力输出到京东云平台,为客户提供服务。在云翼产品中,我们有批量作业服务,有基于认证的门神系统和完善的镜像中心帮助客户使用。这个过程中对监控、持续交付和基础服务都可以解耦单独使用。

  基础服务里面有统一调度和服务资源管理功能,我们通过Anent代理来实现分布式的调度。我们有一个很好的服务,可以帮助我们为客户做好服务的基础源数据。

  完整的部署规范是我们不断的基于自身实践优化的过程。这个过程中我们通过标准化程序的操作,不断完善规范,并且通过一份基础代码多份部署的方式,通过显式、依赖把不同权限下、不同的配置在云上做统一。并且遇到问题的时候我们可以提供相应的DevOps一键式恢复功能,可以帮助客户在使用部署过程中完成一键式回滚。

  环境变量是早期通过实例名绑定,和代码分离,这样配置做了一个发布。

  DevOps一开始不支持作为服务分机房进行部署发布,尤其在

  公有云领域,我们对于机房链路进行了优化,现在可以支持分机房的服务。并且我们支持像金丝雀小流量的发布方式,能够保证好某些场景可以先通过切到小流量做好策略,让指定的服务上线。

  对特定场景和重点客户,通过这种小流量的互动发布方式制定这样的一个DevOps发布策略,以保证发布过程得以验证。并且通过这样的预发布环境和线上真实生产环境做一个隔离,以保证比较理想发布的过程。

  在发布部署过程中,其实我们有一个很好的灵活的流量接入调度策略,我们通过这种方法单独的管理实例的分割,这个过程中我们可以做好基于流量的服务扩展,也是基于客户服务做的一个演进。这个演进过程在运维提交上线过程中,我们通过一个持续交付的流程总览可以看到通过负载均衡做总体发布的访问。并且我们通过对不同产品库,严格区分编译、上线的动作和发布的过程,通过服务管理看发布过程中对服务的要求,以及基于这样的服务做好相应的构建包和镜像。在物理机和容器中做好不同的发布。

  我们对日志、流量和回滚是有一个很严格的要求的。所以我们可以看到对于日志的服务,尤其是现场日志,以及我们做好历史数据的收集、采集、处理,是DevOps过程中非常重要的一点。

  业务日志做好永久化的标准,这也是我们客户对我们很重要的一个要求。基于这个原因,我们对批量察看服务器日志提供了很好的支持,这也是根据我们客户的实际要求去做的。我们基于高效检索,现场日志,帮助客户在DevOps过程中使用日志服务。

  通过统一配置中心,保证好我们多样化配置的管理。在多样化配置管理里面我们可以通过支持高可用的状态快速的伸缩,保证好在动态加载过程中,进行快速的分发。并且我们通过一个认证资质对所有操作变成一个可追踪的过程。通过这样的方式可以达到完整的配置管理。

  通过接入层平台有效管控操作日志审计、用户权限控制和上线部署的自动开关的流量。在这个接入层里面我们也设置了一个负载均衡的平台,帮助我们的客户在使用DevOps过程做好流量的管控。

  云翼有上线流程中心,做好整体上线流程控制,并且对于上线每一项相应的详情有一个描述。针对不同的环境做好不同的上线审批保障过程,我们支持这种文件式的上线以及回滚动作。

  监控作为DevOps里面非常重要的一个环节,尤其作为运维来讲,无论是我们DevOps工程师还是后端的技术支持,都是非常关键的,所以云翼也提供智能监控的服务。通过这样的服务能做好多维度的数据聚合计算,以保证好云翼的监控是及时性的,和能被发现的。

  标准不仅仅是对于业务的,我们希望能打造端到端的监控。对基础的监控、存活监控、性能监控、业务监控是能够做到端到端的,形成完整的监控体系。这个体系中,我们已经在不断的完善,比如说我们的基础监控,其实对于像CPU、内存、网络等等很多方面都需要去做。

  对于性能监控和业务监控我们希望能够完善日志监控、方法监控和外网监控等的监控手段。下面就一个一个展开看一看智能监控框架的实现。

  在这个实验里面我们通过多方面的采集机器端口、日志、网络多个层面,做好一个框架式的实施监控。对于采集存储和实时聚合的计算,需要再提供相应的服务。还包括对计算和异常检测,多维度的计算和异常检测是我们可以提供完整得分析的重要保证。

  这也是我们在自己使用DevOps过程中非常常用的服务。这个服务过程中我们的报警分析和处理,尤其是多层报警模型以及去做好监控对这种异常判断,是来自于我们自己在使用和管理DevOps服务里的一个实践。

  这样的服务不仅仅支持物理机也支持虚拟机,并且我们通过一键式搜图和磁盘使用率、内存使用率和网络使用率、机器连通性等等方面,我们可以通过定制化的方式做好定制。通过相应的存活性监控保证对进程以及基于服务的存活性的检查。有了这些之后我们对报警会利用定制化模板给客户和自己使用过程中提供服务。

  有了技术监控和存活监控后,对于性能尤其是对于流量、错误码、平均响应时间和容量方面的指标,我们提供了一个性能监控手段。通过这个服务,我们去支持转化和命名的提取,通过这样的方式去完善性能的监控。在不断的完善过程中,我们希望有更多的使用,今后客户能够不断的通过他们的需求,不断的完善功能。

  对业务的监控,尤其是对于整体分析和去做好业务操作层面的监控一直是我们很关注的点。

  在业务监控中,用户所有相关操作的成功和失败,以及对应的原则和分析,以及模拟用户访问和做好用户业务监控,是我们需要去做的事情。

  对于镜像中心,我们的DevOps平台里是提供一个统一镜像中心服务,通过高可用可靠的服务镜像,保证我们做好在编译镜像、运行镜像等方面提供一个快速的安全的服务。

  作业平台服务,包括脚本管理、文件分发和包括对所有操作的审计。这是我们在整个的过程中经常会用到的一个作业平台,这个作业平台里面可以看到,我们对于相应的用户是有严格的权限要求的。如何控制这样的权限要求,是我们由另外一个服务去做的,这个服务也可以单独做,也就是我们的门神服务。

  以前京东云也是通过堡垒方式登陆去做,但是或多或少会存在使用堡垒机以及堡垒机用户的行为不可控和追溯浏览难的困难,所以我们通过门神服务和基于我们自己的ERP,通过服务的方式把不同权限的用户和他所有的操作记录下来,以保证能全线跟踪,而且可以避免单点故障。

  讲了这么多,其实我们一直在努力做的更好,我们希望能够通过在云平台实践的DevOps给我们提供更好的服务。我们希望对像容器化、以及容器编排和容器简化运维公有、私有、混合、多种云平台中的管理,实现DevOps的价值。

  我们希望能够给国内的企业提供一个完整的端到端全生命周期的DevOps服务,这是我们的理念。我们一直希望能够对于研发、测试、运维等相应的部门有一个很好的服务。

  这就是我跟大家分享的来自于京东云的DevOps的实践。

0