今天很荣幸能在这里跟大家一起分享下灵雀云在金融行业的云原生解决方案。
CNCF的云原生核心理念是快速交付业务价值,而云原生时代,主要由三驾马车驱动:容器、DevOps和微服务。在容器领域,几年前容器兴起时,我们准确地判断出这是未来可以改变软件交付模式的方向,所以灵雀云坚定地走在容器领域前沿,并很早就走上了Kubernetes路线;在DevOps领域,敏捷开发的概念十几年前开始兴起,但是到现在实际落地特别好的案例不多,所以后来出现了DevOps的概念,更侧重于工程实践;微服务也差不多同时期兴起。
为什么CNCF提出云原生的概念得到了业内的一致认可?因为容器、DevOps、微服务这三者就是一个铁三角,企业要想实现长远目标,打造良好完善的IT体系规划,就需要不断参考云原生的理念去实践。
云原生DevOps起点
企业如何定义自己在云原生的阶段和位置?主要看以下几个方面:
研发实力:包括自有和外包人员在内,研发团队规模如何?是不是做了微服务拆分,或者团队本身是否具备这样的技术能力?DevOps工具链用到多少?团队文化:有的研发团队很积极向上,愿意接受新技术和开源技术,他们接触和使用的本身就是云原生化的工具,这样的团队就很适合做云原生。这是落地云原生最好的切入点,我们建议可以让精英团队优先去做,然后再带动其他团队。业务场景:考虑业务变更是否频繁,是否有大并发场景,稳态业务是否多于敏态业务?我们有个客户有100多个项目,变更相对频繁,并发不大,这类客户就比较适合建设标准化的DevOps体系。
云原生DevOps天梯
云原生实际落地,我们建议可以从容器切入。以前企业也有直接落地DevOps的情况,但可能效果没有那么好,因为对于团队来讲,短期看不到实际的效果,团队会觉得用处不大,继而失去信心,而团队的士气是决定DevOps成败的关键因素之一。
DevOps链条很长,一个月之内很难达到一定效果,我们一般建议,团队做DevOps要拿出一年的周期来规划,这个周期对很多企业来说可能比较长,这也是我们为什么建议以容器为切入点来做的原因。容器迁移,比如在两周内将单体应用、web应用容器化会相对轻松很多,对团队来讲是很有利于提升士气的,况且可以在容器迁移的过程中,穿插着顺带把DevOps的核心流水线做了,可以让团队平滑地开始DevOps实践。
当然了,客户的情况不同,也决定了路径不同。比如作为试点,团队可以先容器上云,然后做DevOps,再做微服务化。也有的企业一开始已经有了微服务框架,而且架构合理,缺的是容器化和DevOps体系建设、流程梳理。针对这样的客户,灵雀云除了提供容器云,还会基于容器云提供DevOps工具链和咨询服务。我们不会仅限于工具链,还要把工具链的数据打通以及整合。
当团队级的DevOps试点达到预期效果后,可以扩大到部门级。我们接触的客户目前在第一、第二阶段的居多,尤其是第二阶段。在第二阶段,也不是每个客户都做了微服务,但是能看到一些正在做试点的客户,这里需要把握一个节奏。第三阶段,是上云原生。理论上,容器云、DevOps和微服务化都做的有一定基础,并且在整个公司50%以上的研发部门铺开应用,才可以算作正式进入云原生阶段。
云原生DevOps落地路径
在实际落地时,客户也知道云原生是个好东西。但它是长期的,到底应该怎么落地呢?
DevOps落地时要分层次来看:
组织文化DevOps化:需要考虑团队的文化、公司的文化,指定标准流程,输出文档标准。它不一定需要调整组织架构,我们可以组成虚拟团队,把最精英的一拨人组织起来,组成类似专家团队去做DevOps的探讨和落地。DevOps活动全局化:活动偏向日常活动,交付协作、技术支撑、度量改进等等都需要组织沟通交流,需要各种会议的讨论。细分领域自动化:工具这层,DevOps工具链把每一层做细分,一步步做。
云原生落地要勇于走出第一步。第一个应用容器化,快速得到效果,团队也会对这种效率感到兴奋和新奇感:用了行业内顶尖的技术,我的应用已经容器化了。比如灵雀云的一个客户,我们首先帮助他们做了容器的迁移,然后找准一个精英团队去做DevOps,作为公司内部未来能力输出的团队。每家公司里一定有这么一拨志同道合的人,希望为IT的变革付出努力,同时公司也要给他们一些鼓励。
第三,打造初始工具链。不一定很完美,比如一开始把持续集成、持续交付打通,自动化测试都可以先不做,然后慢慢地去完善。
单体应用上容器之后,下一步就要考虑服务分层,最终目标是要微服务化。但每家企业情况不同,有的可以一步到位全部微服务化,中间过程全部省掉;有的稳态应用比较传统,很长时间内不会变,我们也建议暂时不要动,先不要着急做核心应用的微服务化。灵雀云建议,先做边缘应用系统的微服务化,或者单体直接应用上云。这也会涉及到企业基础架构的考量,基础架构部门要去探讨怎么定微服务框架,如何做选择和取舍。
云原生DevOps实践
找到跨职能的精英团队,把云原生落地当成项目来做,成立一支虚拟团队,这个团队是专家职能还是业务职能,可以在做的过程中详细讨论。最终我们希望DevOps专家组能成为能力输出的源泉。
灵雀云会帮助客户成立DevOps专家组,实践敏捷活动和DevOps工具链一整套的解决方案。同时,穿插云原生理念、DevOps工具链、容器化和微服务化。我们的目标是帮助团队形成敏捷意识,给客户打造一支敏捷团队,未来可以带领公司大大小小的团队去做敏捷开发的项目,从而给客户带来比较长远的价值。
关于工具链,我们的最终目标是将所有工具链都打通,从需求管理到开发、测试、上线、运维、容灾等等DevOps所涉及的工具链都在我们考虑范围内。灵雀云会考虑用行业内开源的通用的工具来做,也会对接客户自定义的工具链,最终让客户对云原生工具链有很好的把控。
最后,用一句话来结束今天的演讲,这也是来自一位客户的原话:只有技术的进步,才能更好地赋能业务的发展!
云是软件技术的敌人,大敌。
了解到项目多一些,比技术本身点多一些.