【云享专刊】开源遇上华为云,OCP 架构变身“云原生框架”
本文分享自华为云社区《【云享专刊】开源遇上华为云,OCP架构变身“云原生框架”》,作者:华为云社区精选 。
OpenStack、Docker、K8S、Hadoop……这些都是开发者耳熟能详的开源技术。
开源技术的应用,正不断推动新兴技术和产业的发展。
作为国内知名开源托管平台 Gitee 上面的优秀开源项目,open-capacity-platform 微服务能力开放平台(简称 OCP)有着 8K+的开发者关注并 fork,人气颇高。
OCP 是基于 layui + springcloud 的企业级微服务框架,包括用户权限管理,配置中心管理,应用管理等功能。开发者通过 OCP 可以在本地搭建自己的开发环境,进行学习和二次开发。
当前,我们正处在云原生时代,云原生技术凭借降本增效、提高持续交付能力、易于开发等优势,正在不断激活应用构建范式,也将开发过程带入云端。开源与云原生如影随形、协同发展。云原生为开源带来了更优的商业化模型,用户能够得到最新、最可靠的服务,开源项目正加速上云。
如果将 open-capacity-platform 进行云原生改造,将用到的传统软件架构替换为高可用、高效的云上组件,不仅可以降低风险、减少维护负担、提高安全性,更能在不扩大团队规模的情况下增加开发效益。
基于此,华为云 DTSE 团队进行了 OCP 变身“云原生框架”的探索,一站式容器化交付,打通云上全生命周期管理,并将改造方案分享给广大的开发者。
文末下载,免费领取 OCP 云原生改造全流程参考指南。
浅析 OCP 架构基于华为云的改造方案
基于华为云云原生改造,改造完的 OCP 可实现一站式容器化交付,打通云上全生命周期管理。并且,OCP 基于代码源可以自动完成代码编译、镜像构建、灰度发布、容器化部署、运维流程。对接已有 CI/CD,利用云原生的优势服务,完成传统应用的容器化改造和上云部署。能够让开发者聚焦业务开发,提升整体开发效率。
无需关注运维服务,华为云加持下的 OCP 为开发者带来三大能力提升
华为云全容器化的架构设计,能够为开发者带来更灵活的任务调度,更高的执行效率。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 上云的好处,接下来为大家简单介绍上云改造思路:
将 open-capacity-platform 项目迁移至 CCE+CSE,需要进行将 OCP 用的注册中心从 Eureka 替换成 CSE;
使用 RDS+DCS 实现数据库上云;改用 OBS 实现原应用中文件上传;
使用 CodeHub+CloudBuild 进行编译构建+制作 docker 镜像;
使用 k8s+容器基础设施承载应用;
使用 APM+AOM+LTS 替换调原有的运维+日志。
OCP 基于华为云云原生改造架构图
OCP 中文件中心(file-center)模块涉及对文件上传、查询、删除等操作。以集成华为云 OBS 为例,OBS 的几个优势可以帮助开发者通过简单的操作创建稳定可靠的云上存储服务:
数据稳定,业务可靠。可保障数据持久性高达 99.9999999999%,业务连续性高达 99.995%,远高于传统架构;
多重防护,授权管理。通过可信云认证,让数据安全放心;
能够为各场景下用户的千亿对象提供千万级并发、超高带宽、稳定低时延的数据访问体验;
支持多种工具,让业务快速上云。华为云 OBS 支持在线升级、在线扩容,客户无感知。提供 POSIX 语言系统,应用接入更简便;
提供按量计费和包年包月两种支付方式,支持数据分层独立计量计费,降低存储成本。
以上方案,打通了开发–测试–部署–运维全生命周期管理,方便开发工程师和运维工程师快速体验上云。从而实现:
与其它产品预集成,开箱即用,简化应用上云、云上开发、云上部署、发布;
运维能力转到华为云侧,不需要开发者再去维护运维服务,只需要使用运维服务即可,云原生运维提供了自动化运维和告警降噪等能力;
全容器化的架构设计,任务调度更灵活,执行效率更高。基于云计算的灵活性、数据安全性、可扩展性,也可以帮助企业节省成本。
华为云 DTSE 出品云原生改造指南助力轻松实践
基于开源项目 open-capacity-platform 的云原生改造案例,华为云 DTSE 团队经过调研,体系化的梳理技术架构,沉淀出一套完整的开发指南。从开发构建到部署再到运维,覆盖了应用上云的大部分流程,可供需要上云的应用或想要开发云上应用做流程参考,帮助应用快速上云。
上手前你需要掌握的云服务知识
在进行 OCP 上元改造之前,小伙伴们首先需要了解华为云相关产品:CSE、CodeHub、CloudBuild、SWR、CCE、RDS、DCS、OBS、ELB、DNS、APM、AOM、LTS 等云服务的功能模块文档。我们还准备了相关的云服务学习课程和实验内容,如实验操作数据库服务实践 、云容器快速搭建网站 ,学习两小时玩转华为云日志服务 LTS 、CSE 等课程 ,详情可见文末 。
9 步带你了解上云操作流程
OCP 开源项目本地部署运行
OCP 接入 CSE
代码上传 CodeHub,进行代码托管
RDS+DCS 替换原项目中的 Mysql 和 Redis
CloudBuild 进行编译构建,构建 docker 镜像并推送到 SWR
CCE 中部署应用
CCE 接入 LTS 云日志
DNS 实现通过域名访问应用
OCP 业务成功访问使用
提供优化方案 Tips,助力更高效开发
为了完成更好的开发体验,华为云还提供了相关的优化方案,以及在迁移的过程中会遇到的问题,华为云专家为大家整理了贴心的 Tips,如项目启动数据库链接、workflow-center 启动、编译构建、打包镜像、验证码生成等,会遇到的各种问题以及解决方案。
多方位资源支持,广邀开发者构建开源 for Huawei Cloud
如今,越来越多的开发者选择加入开源 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
附件:开源项目open-capaciry-platform云原生改造操作指导.pdf 5.39MB
附件:开源项目open-capacity-platform集成华为云OBS(对象存储服务)SDK.pdf274.17KB
版权声明: 本文为 InfoQ 作者【华为云开发者联盟】的原创文章。
原文链接:【http://xie.infoq.cn/article/f499cb8d1c07b9402dee97310】。文章转载请联系作者。
评论