vlambda博客
学习文章列表

云原生技术解决方案和DevOps支撑平台,为何选择我们?

前面我很多文章都谈到云原生和DevOps支撑平台,也明确说明在数字化转型,传统企业IT架构和微服务转型下,云原生整体技术解决方案,企业逐步迁移上云将成为整体IT发展趋势。当前来看,金融,电信等信息化基础好的大集团企业往往都走在前面,有条件的完全自主可控研发自己的内部云原生技术平台,没有条件的往往也公开招标相关的微服务架构规划咨询,DevOps支撑平台项目。

而对于这类服务的提供,本身又分为两种。

一种是类似阿里云,腾讯云, 华为云也开始全面切入到传统的toB企业IT市场,为企业提供技术平台,上云迁移,云端弹性计算和存储服务的端到端解决方案。类似腾讯中标的招商证券DevOps项目,阿里中标的银行微服务平台建设项目等。

而另外一类则是传统软件服务厂商,当前在云原生方面发力的包括了亚信,润和,神州数码,普元,博云,网易的天舟等。这些企业一方面是提供微服务架构咨询和平台开发,一方面是提供类似DevOps支撑平台和研发效能改进。还有就是为大集团企业提供云原生技术平台的技术服务和人力外包。

在前面我也专门介绍过远行提供的云原生解决方案和DevOps支撑平台,因此今天再写一篇文章说明下该解决方案的一些关键优势在哪里。

云原生整体解决方案

远行基于开源微服务开发框架及微服务治理的核心能力打造的全新一代技术中台解决方案,帮助企业快速构建以微服务为驱动的全栈技术中台,一站式解决业务开发及运营中的应用生命周期管理、容器管理、服务治理、配置管理、分布式事务、数据化运营等痛点。

我们当前可以提供如上图的端到端解决方案。可以从横向和纵向两个关键维度来理解下整体解决方案的思路。

横向-覆盖完整软件生命周期

在横向上重点是覆盖完整软件产品生命周期,从开发态到运行态,再到监控和运维。在开发态重点是微服务开发框架和环境,各类各复用的开发技术组件积累,包括围绕微服务开发框架定制的基础低代码开发平台能力。运行态重点是基于容器云资源池的运行环境,同时通过DevOps过程支撑能力实现持续集成和持续交付。在运维态则实现从资源到服务到应用的完整链路监控能力。

纵向-资源-服务-应用分层解耦

在纵向上既构建资源-服务-应用的完整的分层框架,服务层不仅仅实现应用托管,还包括消息,缓存等各种技术服务能力的实现。同时基于API网关和能力开放平台实现服务能力的注册接入和对外开放,整体应用开发基于平台+应用的开发模式实现前后端解耦。同时又实现完整的去中心化微服务治理框架。

就云原生整体解决方案来说,优势主要体现在以下几点。

第一,不是简单卖一个产品或平台,而是提供从咨询规划到产品,到实施落地的完整解决方案。基于我们多年大型集团项目建设和实施经验,微服务转型规划和平台建设经验,帮助企业真正做好IT架构转型,梳理清楚平台+结构,规划和识别微服务和粒度控制,做好后期的治理和管控。如果没有架构规划咨询辅助,好的技术不仅仅无法提升你的效率和管控能力,反而是给你增加复杂度和运维成本。

第二,我不是转包或大集成,而是当前已经构建了完整的云原生平台能力,并在实际客户项目中做过实践和验证。确保里面谈到的微服务开发框架和环境,敏捷研发,DevOps,容器云资源池,API网关,ServiceMesh服务治理,资源和服务链路监控等各种能力高度的融合在一起完成协同。这往往才是企业构建云原生技术平台最欠缺的地方。

DevOps整体解决方案

云原生技术解决方案和DevOps支撑平台,为何选择我们?

对于远行提供的DevOps支撑平台,核心组件包括了敏捷研发过程管理,CI/CD支撑集成和流水线,资产管理,发布管理,自动化测试,资源管理,运维管理。可以基于该平台实现完整的研发过程管理,持续集成和交付能力。

对于该部分的详细功能介绍,可以参考我头条前面发布过的文章,在这里不再重复进行说明。还是想重点谈下我们DevOps平台优势究竟在哪里?

大规模集团型应用的支撑能力

在前面文章我也谈到,如果一个企业或一个开发团队,要基于以下主流的开源工具,类似Git库,Jekins等实现简单的CI/CD持续集成和持续部署很容易。这个已经没有太多的复杂度,但是如果你要构建一个面向大型集团企业使用的DevOps支撑平台就很复杂。

其一是该平台会变成一个需要具备多租户,多组织支撑能力的PaaS平台,底层需要有完整的租户,组织,系统,应用,项目,版本等数据模型构建。

其二是对于大型项目,一个DevOps平台外围需要对接多个开发商,每个开发商还可能承接多个项目,底层可能还需要对接多个数据中心或资源池,对外可能还需要对接能力开放平台作为统一出口,这些都导致整体集成复杂度剧增。

其三是高并发下的高可用性,大规模支撑能力。比如我们项目实践支撑到3000多个业务系统,近4万个容器运行节点,仅Git库源代码统计就5亿的规模。当达到这个规模后系统的高可靠性,性能,弹性扩展能力就相当重要。

支撑平台的高可靠,高性能和弹性扩展能力

虽然我们的DevOps平台也是基于类似GitLab, Jekins,Artifactory,Harbor等各种开源工具链进行的集成和整合。但是为了支撑高可用,我们做了大量的工作。

首先要做到的就是整个支撑平台没有任何的单点故障,全部进行冗余设计。冗余设计对于支撑负荷不大的采用HA方式,对于并发量大的全部采用集群模式架构。

其次是通过分布式集群设计来支撑大用户量和大并发访问需求,整个DevOps集群中首先进行垂直拆分,对于Git库,Harbor镜像库,Jekins的CI/CD等全部独立拆分进行部署。在垂直拆分基础上,我们还做了水平拆分和切片,类似将Jekins集群仅资源切片,分为多个集群域,可以将不同的租户请求分配到不同的资源切片上。

高效衔接企业私有云和公有云的多云管理

企业上云是一个循序渐进的过程,不可能一上云就把自己内部的数据中心和私有云全部替换掉,因此从企业角度需要一套云管理平台,实现对自己私有云和公有云环境的同时集中化管理能力。同时在集中化管理基础上,还能够更好地实现私有云和公有云之间资源的分配,应用的迁移能力。

因此我们的云原生平台一个关键差异点就是支持企业私有云和公有云间的混合云管理能力,同时适配当前主流的阿里云,华为云平台,实现多云交付能力。

在私有云环境,我们可以进行开发到SIT测试,SIT到UAT测试的持续交付和持续部署,在完成后,又可以直接对接到阿里云,或华为云,将应用快速的交付到公有云服务平台。这个交付部署对接资源层,而是直接对接到公有云的PaaS层服务接口,类似k8s集群API接口对接。同时实现从资源层到服务层的进一步抽象,即你如果开发测试阶段用的Mysql数据库服务,那优先选择迁移到公有云后也适配云服务厂商的Mysql数据库服务,而不是单独申请虚拟机再自己去安装数据库。

其次,我们可以实现跨公有云环境的快速迁移能力,比如你当前应用部署和托管在阿里云,通过DevOps支撑平台,你可以快速的将应用迁移和交付到华为云。当然这个能力不仅仅是对于资源托管,各个消息,技术服务的适配。更加重要的是还需要提供已有数据的集成和同步,对于数据集成和同步这块我们也还在进一步完善中,其目标就是提供一整套完整的跨云环境的迁移和部署能力。包括搭建跨云环境的多中心和双活应用。