关于云原生-cloud-native:申通的云原生实践之路如何实现应用基于容器的微服务改造

106次阅读

共计 2647 个字符,预计需要花费 7 分钟才能阅读完成。

随着云计算的遍及与云原生的广泛应用,越来越多的从业者、决策者清晰地意识到「云原生化将成为 企业技术创新的要害因素,也是实现企业数字化转型的最短门路」

因而,具备前瞻思维的互联网企业从利用诞生之初就扎根于云端,审慎稳重的新批发、政府、金融、医疗等畛域的企业与机构也逐步将业务利用迁徙上云,深度应用云原生技术与云原生架构。面对架构设计、开发方式到部署运维等不同业务场景,基于云原生架构的利用通常针对云的技术个性进行技术生命周期设计,最大限度利用云平台的弹性、分布式、自助、按需等产品劣势。

作为倒退最为迅猛的物流企业之一,申通快递始终积极探索技术创新赋能商业增长之路,以期达到降本提效目标。目前,申通快递日订单处理量已达千万量级,亿级别物流轨迹处理量,每天产生数据已达到 TB 级别,应用 1300+ 个计算节点来实时处理业务。

当业务飞速发展遭逢运维瓶颈

过往申通快递的外围业务利用运行在 IDC 机房,原有 IDC 零碎帮忙申通安稳度过晚期业务疾速发展期。但随同着业务体量指数级增长,业务模式愈发多元化。原有零碎暴露出不少问题,传统 IOE 架构、各零碎架构的不标准、稳定性、研发效率都限度了业务高速倒退的可能。软件交付周期过长,大促保障对资源的特殊要求难实现、零碎稳定性难以保障等业务问题逐步裸露。

在与阿里云进行屡次需要沟通与技术验证后,申通最终确定阿里云为惟一合作伙伴,采纳云原生技术和架构实现外围业务搬迁上阿里云。2019 年开始将业务逐渐从 IDC 迁徙至阿里云。目前,外围业务零碎曾经在阿里云上实现流量承接,为申通提供稳固而高效的计算能力。

全面革新云原生降级,助力业务倒退

申通外围业务零碎原架构基于 Vmware+Oracle 数据库进行搭建。随着搬迁上阿里云,架构全面转型为基于 Kubernetes 的云原生架构体系。其中,引入云原生数据库并实现利用基于容器的微服务革新是整个应用服务架构重构的关键点。

  • 引入云原生数据库

通过引入 OLTP 跟 OLAP 型数据库,将在线数据与离线剖析逻辑拆分到两种数据库中,扭转此前齐全依赖 Oracle 数据库的现状。满足在解决历史数据查问场景下 Oracle 数据库所无奈反对的理论业务需要。

  • 利用容器化

随同着容器化技术的引进,通过利用容器化无效解决了环境不统一的问题,确保利用在开发、测试、生产环 境的一致性。与虚拟机相比,容器化提供了效率与速度的双重晋升,让利用更适宜微服务场景,无效晋升产研效率。

  • 微服务革新

因为过往很多业务是基于 Oracle 的存储过程及触发器实现的,零碎间的服务依赖也须要 Oracle 数据库 OGG 同步实现。这样带来的问题就是系统维护难度高且稳定性差。通过引入 Kubernetes 的服务发现,组建微服务解决方案,将业务按业务域进行拆分,让整个零碎更易于保护。

综合思考申通理论业务需要与技术特色,最终抉择了 「阿里云 ACK+ 神龙 + 云数据库」 的云原生解决方案,从而实现外围利用迁徙上阿里云。

1. 架构论述

基础设施,全副计算资源取自阿里云的神龙裸金属服务器。相较于个别云服务器(ECS),Kubernetes 搭配神龙服务器可能取得更优性能及更正当的资源利用率且云上资源按需取量,对于领有大促流动等短期大流量业务场景的申通而言极为重要。相较于线下自建机房、常备机器,云上资源随取随用。在大促流动完结后,云上资源应用结束后即可开释,治理与洽购老本更低,相应效率。

流量接入,阿里云提供两套流量接入,一套是面向公网申请,另外一套是服务外部调用。域名解析采纳云 DNS 及 PrivateZone。借助 Kubernetes 的 Ingress 能力实现对立的域名转发,以节俭公网 SLB 的数量,进步运维管理效率。

2. 平台层

基于 Kubernetes 打造的云原生 PaaS 平台劣势显著突出。

买通 DevOps 闭环,对立测试,集成,预发、生产环境; 天生资源隔离,机器资源利用率高; 流量接入可实现精细化治理; 集成了日志、链路诊断、Metrics 平台;

对立 ApiServer 接口和扩大,天生反对多云跟混合云部署。

3. 应用服务层

每个利用都在 Kubernetes 下面创立独自的一个 Namespace,利用跟利用之间实现资源隔离。通过定义各个 利用的配置 Yaml 模板,当利用在部署时间接编辑其中的镜像版本即可疾速实现版本升级,当须要回滚时间接在本地启动历史版本的镜像疾速回滚。

4. 运维治理

线上 Kubernetes 集群采纳阿里云托管版容器服务,免去了运维 Master 节点的工作,只须要制订 Worker 节点上线及下线流程即可。同时业务零碎均通过阿里云的 PaaS 平台实现业务日志搜寻,依照业务需要投交扩容工作,零碎主动实现扩容操作,升高了间接操作 Kubernetes 集群带来的业务危险。

全面开释云原生技术红利

老本方面:应用私有云作为计算平台,能够让企业不用因为业务突发增长需要,而一次性投入大量资金老本用于洽购服务器及裁减机柜。在公共云上能够做到随用随付,对于一些翻新业务想做技术调研非常便捷。用完即开释,按量付费。另外云产品都免运维自行托管在云端,无效节俭人工运维老本,让企业更专一于外围业务。

稳定性方面:首先,云上产品提供至多 5 个 9 以上的 SLA 服务确保零碎稳固,而自建零碎稳定性相去甚远。其次,局部开源软件可能存在性能 bug,造成故障隐患。最初,在数据安全方面云上数据能够轻松实现异地备份,阿里云数据存储体系下的归档存储产品具备高牢靠、低成本、安全性、存储有限等特点,让企业数据更平安。

效率方面:借助与云产品深度集成,研发人员能够实现一站式研发、运维工作。从业务需要立项到拉取分支开发,再到测试环境性能回归验证,最终部署到预发验证及上线,整个继续集成流程耗时可缩短至分钟级。排查问题方面,研发人员间接抉择所负责的利用,并通过集成的 SLS 日志控制台疾速检索程序的异样日志进行问题定位,免去了登录机器查日志的麻烦。

赋能业务:阿里云提供超过 300 余种的云上组件,组件涵盖计算、AI、大数据、IOT 等等诸多畛域。研发人员开箱即用,无效节俭业务翻新带来的技术老本。

想要理解更多阿里云云原生技术细节,以及更多企业实际案例?那么就快下载《云原生架构白皮书》吧!点击链接即可下载:https://developer.aliyun.com/topic/cn-architecture-paper

“阿里巴巴云原生关注微服务、Serverless、容器、Service Mesh 等技术畛域、聚焦云原生风行技术趋势、云原生大规模的落地实际,做最懂云原生开发者的公众号。”

正文完
 0