大数跨境
0
0

SmartOps 应用现代化之路(痛点篇)

SmartOps 应用现代化之路(痛点篇) 安畅Anchnet
2023-03-14
0




IDC FutureScape 2022中国云计算市场预测中,应用现代化位列Top1,到2025年,数字经济将催生出超过5亿个新应用/服务,90%的应用程序将是云原生应用程序,大多数遗留应用将实现一定程度的现代化改造。


安畅SmartOps :SmartOps是一款SaaS模式的云管理平台,通过统一视角实现多云资源纳管,权限分配、通过监控、费用分析帮您更合理的管控费用支出,加上强大的审计、工单、运维自动化等功能帮助您更高效的管理云资源。


安畅应用现代化服务:利用云原生技术为企业应用现代化改造提供工具平台建设、落地实施&咨询服务,覆盖基础设施现代化、架构现代化、开发运维现代化、数据现代化、安全现代化五个维度,推动企业应用现代化改造,加速企业数字化转型。


1. 应用现代化 & 云原生


应用现代化是指将系统、流程、工具、方法等更新为最新或者最佳实践的做法,就好比对“老房子”进行全新装修升级,在云计算盛行的背景下,实现应用现代化最佳实践就是通过云原生技术对现有应用进行升级改造。


应用现代化 & 云原生的关系


2. 应用现代化的价值


应用现代化的价值可以从创新、效能、弹性、安全这四个维度来体现。


应用现代化的价值


3. SmartOps 遇到的痛点


SmartOps 整体架构


SmartOps 随着平台支撑客户的增长,在安全、性能、稳定性、产品迭代速度等方面都提出了更高的要求,应用现代化则为 SmartOps 提供了解决方案,SmartOps 在应用现代化过程中遇到的部分痛点如下:


服务拆分难:


微服务架构演进过程中经常会遇到两个常见的问题:1. 微服务框架,2. 微服务拆分。技术框架的选择基本理清楚当前技术、人员、组织结构现状,各类技术框架的优缺点、业务发展方向等一系列问题后就可以做出决定。然而微服务如何拆分这在业内也是老大难问题,虽然业内也有拆分方法论(如:康威定律、领域驱动设计DDD),但是实际落地过程中还是非常有挑战的。


以 SmartOps CMP服务为例,CMP服务原先包含了资源管理、费用管理、服务过程管理、用户权限管理、合同和客户管理等相关功能,拆分前存在的一些问题:


拆分前存在的问题


拆分之后每个服务只负责1个模块的核心业务,服务中的代码量减少很多,基本上通过查看项目中的类文件就能对服务有基本了解,同时阅读和修改代码所涉及的影响也容易把控,并且编译和部署速度也得到很快提升,基本上都是在10~20秒左右(提升10倍以上),同时由于不同服务提供不同功能,对于特定功能的发布也更容易控制,发布影响的业务范围也更小。


CMP 服务拆分前后对比


环境一致性差:


SmartOps 有 Dev/Test/Prod 环境,在最开始多个服务以 Jar 包部署在主机上,通过简单的 Jar 启动,或者Supervisor 监控维护单进程,但是在不同环境,系统表现出不同异常,混乱不一致的环境导致不同部门及开发和测试直接耗费非常大的精力排查测试,很大程度拖慢了产品迭代速度,通过应用容器化,将微服务及其所需的所有配置、依赖关系和环境变量打包成容器镜像,确保 Dev/Test/Prod 均采用容器部署,使得经过 Test 的镜像可以保障线上环境的一致性,从而极大的提升了产品迭代速度。


容器化部署


非业务组件维护成本高:


SmartOps 在进行微服务拆分前期架构使用 Spring Cloud Consul 服务注册发现方式,使用 Spring Cloud Config 配置中心方式,服务注册发现需要独立在不同环境维护多个 Consul,在生产环节维护 Consul Cluster 成本比较高,需要独立自建集群,且集群的安全、性能、监控等都带来了极大挑战,这些运维工作对业务的帮助不是很大,而且是整体系统服务注册发现的核心,如果该单点出现异常,整体系统将不可避免发生故障,由于已经使用到了 Kubernetes 进行容器编排,因此将一些非功能性需求进行基础设施下沉,利用 Kubernetes 原生的服务注册发现与配置中心,该方案避免厂商锁定,而且下沉基础设施后,无需额外投入维护其他组件,释放更多效能赋能业务系统开发。


k8s服务注册与发现


4. 常见问题


在应用现代化改造的路上会遇到各种各样的问题,比如:


  • 技术框架选型的角度:选SpringCloud 还是 ServiceMesh,又或者是Serverless?选开源OR商业,或者商业和开源集成(技术难度、成本)?


  • 工具平台落地的角度:用了微服务框架就是微服务了吗?用了DevOps 工具链就是DevOps了吗?用了 Scrum 就是敏捷了吗?


  • 服务拆分的角度:用什么服务拆分的方法(凭经验、按业务层级、领域驱动设计)、服务拆分的颗粒度、哪些服务应该在一起,哪些又应该拆分开?


  • 流程规范的角度:制定了一大堆的流程规范文档,但是一直都流于文档,各团队还是各干各的,怎么办?


  • 工程实践的角度:业内有很多最佳实践,我们也知道,但是就是执行不起来,我们不一样,怎么做?


  • 团队文化的角度:如何在团队内高效协同、职责共担、持续改进、工程师文化怎么落地?


如果您也遇到了类似问题或者有相关疑问,赶快扫码填写问卷来告诉我们吧,竭诚为您服务!



【声明】内容源于网络
0
0
安畅Anchnet
安畅Anchnet是中国市场领先的云与AI托管服务商(Cloud&AI MSP),致力于帮助客户利用云与AI实现数字化转型创新。 目前正服务于零售、制造、大健康等各行业的3000多家企业级客户。
内容 355
粉丝 0
安畅Anchnet 安畅Anchnet是中国市场领先的云与AI托管服务商(Cloud&AI MSP),致力于帮助客户利用云与AI实现数字化转型创新。 目前正服务于零售、制造、大健康等各行业的3000多家企业级客户。
总阅读8
粉丝0
内容355