摘要:华为云DTSE团队出品云原生改造指南,助力轻松实践OCP上云。
本文分享自华为云社区《【云享专刊】开源遇上华为云,OCP架构变身“云原生框架”》,作者:华为云社区精选 。
OpenStack、Docker、K8S、Hadoop……这些都是开发者耳熟能详的开源技术。
开源技术的应用,正不断推动新兴技术和产业的发展。
作为国内知名开源托管平台Gitee上面的优秀开源项目,open-capacity-platform微服务能力开放平台(简称OCP)有着8K+的开发者关注并fork,人气颇高。
OCP是基于layui + springcloud的企业级微服务框架,包括用户权限管理,配置中心管理,应用管理等功能。开发者通过OCP可以在本地搭建自己的开发环境,进行学习和二次开发。
当前,我们正处在云原生时代,云原生技术凭借降本增效、提高持续交付能力、易于开发等优势,正在不断激活应用构建范式,也将开发过程带入云端。开源与云原生如影随形、协同发展。云原生为开源带来了更优的商业化模型,用户能够得到最新、最可靠的服务,开源项目正加速上云。
如果将open-capacity-platform进行云原生改造,将用到的传统软件架构替换为高可用、高效的云上组件,不仅可以降低风险、减少维护负担、提高安全性,更能在不扩大团队规模的情况下增加开发效益。
正是考虑到OCP进行上云改造后可以带来的好处,为此华为云DTSE团队进行了技术探索,将这个好的实践分享给广大的开发者。
基于华为云云原生改造,改造完的OCP可实现一站式容器化交付,打通云上全生命周期管理。并且,OCP基于代码源可以自动完成代码编译、镜像构建、灰度发布、容器化部署、运维流程。对接已有CI/CD,利用云原生的优势服务,完成传统应用的容器化改造和上云部署。能够让开发者聚焦业务开发,提升整体开发效率。
华为云全容器化的架构设计,能够为开发者带来更灵活的任务调度,更高的执行效率。OCP上云后,运维能力转到了华为云侧,不需要开发者再去维护运维服务,只需要使用运维服务即可。不仅如此,针对应用部署方面为开发者带来了编译构建能力、部署运行能力和运维能力的提升。
1、编译构建能力:
使用编译构服务CodeArts Build可以帮助企业利用云端构建海量构建资源,采用多样化的云端构建加速手段,实现本地构建无法企及的构建速度。CodeArts Build是按照实际占用的资源及时长支付相应费用,杜绝企业硬件资源及维护资金投入,且服务器是由CodeArts统一维护,大幅度降低成本。
2、部署运行能力:
部署选择云容器引擎CCE,CCE基于在计算、网络、存储、异构等方面多年的行业技术积累,提供业界领先的高性能云容器引擎,支撑企业业务的高并发、大规模场景。并且,CCE可以一键创建和升级Kubernetes容器集群,无需自行搭建Docker和Kubernetes集群。部署在CCE的应用可以使用流水线CodeArts Pipeline实现自动化部署,实现缩短交付周期和提升交付质量的效果。
3、运维能力:
使用应用性能管理APM、应用运维管理AOM和云日志服务LTS替换OCP原有的自建运维微服务,开发者不需要再去对运维微服务进行运维,只需要关注使用华为云的运维能力。同样可以使用华为云运维提供的高级运维能力,如APM的智能告警、调用链追踪;AOM的自动化运维和告警降噪;LTS的日志查询与实时分析、日志转储能力。
看了前文讲了这么多OCP上云的好处,接下来为大家简单介绍上云改造思路:
OCP基于华为云云原生改造架构图
OCP中文件中心(file-center)模块涉及对文件上传、查询、删除等操作。以集成华为云OBS为例,OBS的几个优势可以帮助开发者通过简单的操作创建稳定可靠的云上存储服务:
以上方案,打通了开发–测试–部署–运维全生命周期管理,方便开发工程师和运维工程师快速体验上云。从而实现:
基于开源项目open-capacity-platform的云原生改造案例,华为云DTSE团队经过调研,体系化的梳理技术架构,沉淀出一套完整的开发指南。从开发构建到部署再到运维,覆盖了应用上云的大部分流程,可供需要上云的应用或想要开发云上应用做流程参考,帮助应用快速上云。
在进行OCP上元改造之前,小伙伴们首先需要了解华为云相关产品:CSE、CodeHub、CloudBuild、SWR、CCE、RDS、DCS、OBS、ELB、DNS、APM、AOM、LTS等云服务的功能模块文档。我们还准备了相关的云服务学习课程和实验内容,如实验操作数据库服务实践 、云容器快速搭建网站 ,学习两小时玩转华为云日志服务LTS 、CSE等课程 ,详情可见文末 。
为了完成更好的开发体验,华为云还提供了相关的优化方案,以及在迁移的过程中会遇到的问题,华为云专家为大家整理了贴心的Tips,如项目启动数据库链接、workflow-center启动、编译构建、打包镜像、验证码生成等,会遇到的各种问题以及解决方案。
如今,越来越多的开发者选择加入开源for HuaweiCloud,华为云也将面向开源软件工具链与环境、开源应用构建和开源生态组件构建这三大重点场景,提供技术支持、奖金支持、活动支持,邀请更多的开发者,携手构建开源for HuaweiCloud。
共建开源生态,打开产业新增长空间
开发者将开源软件工具、开源应用和开源组件与华为云对象存储OBS、数仓DWS、云容器CCE等云服务对接,同时基于Terraform模板,上架到华为云云商店,支持其他开发者一键部署使用开源组件 ,我们称为“开源xxx for HuaweiCloud”。 下图为华为云开源项目仓库的示例,涵盖Dromara社区、Java、Go、Python、C&C++及其他开源类项目,数量超过100。感兴趣的开发者可以点击:华为云开源项目仓库 ,了解更多。
不仅如此,参与贡献的开发者将有计划会获得华为云沃土云创计划激励,领取云服务资源代金券,可用于开发部署。如果您有意愿参与,请在issues 留下您的邮箱或者主动发送到邮件到hwcdtse@huawei.com,我们会尽快联系您。
100+华为云开源技术项目示例
华为云开源项目仓库:https://gitee.com/HuaweiCloudDeveloper/huaweicloud-cloud-native-plugins-kits
点击关注,第一时间了解华为云新鲜技术~