应用上云指导
应用上云指导方法论。
应用上云指传统应用迁移到云上,云上应用采用K8S部署。
本文旨在提供一种方法、流程,指导应用上云,以求优化上云工作,提供应用上云效率。
主要包含以下内容:
应用上云工作角色、分工
应用上云标准流程及每一阶段交付物
迁移上云重点说明
上云工作有以下几点基本思想:
划分角色,明确分工。确认工作边界,清晰每一块工作的负责人
结合标准流程每个阶段,输出高质量交付物。以共享传递资源与信息
尽可能减少各阶段各角色交互。通过标准交付物、工具进行有序的协作。
实行DevOps:
建立持续集成与持续交付
建立资源自助服务平台
自动化几乎所有操作,尽可能减少手动操作
开发、测试、生产环境尽可能相同。
角色与分工
上云工作主要角色可分为开发、测试、运维。
具体分工职责如下:
开发:主要负责应用相关,应用架构、改造,应用数据同步等。
测试:主要负责测试相关,功能测试、性能测试。
运维:主要负责基础支撑平台与资源相关,CICD平台、服务治理平台、资源服务平台、容量规划、资源交付。
应用架构需要开发与运维沟通协作,设计云上的应用架构与部署架构,使用合适的云组件与云产品。
应用上线需要开发与运维沟通协作,前期设计上上线方案,包括数据同步,灰度上线,全量切换等。
标准流程
应用调研
应用调研主要工作是调研应用现状。开发与运维主要参与。
主要工作与交付物:
应用架构
技术组件
服务依赖
资源容量
上云设计
上云设计主要工作是设计应用上云相关内容包括设计云上应用架构,设计改造方案,设计上线方案,规划云上资源容量。
主要工作与交付物:
云上应用架构、组件架构、部署架构
应用改造内容
应用上线方案
数据同步方案
应用灰度方案
应用切换方案
云资源容量
上云实施
上云实施包含以下几部分
实施计划
应用改造
资源交付
应用测试
实施计划
制定详细的实施计划,细化到每部分的每一重要阶段。
应用改造
按照上云设计步骤中应用改造方案,对应用进行改造。
资源交付
资源交付需要分阶段,快速进行资源交付,包括资源本身,网络权限、白名单权限、访问权限、管理权限。
资源交付的同时提供 服务治理平台、资源服务平台等访问入口与权限。方便开发人员自助使用。
开发环境资源交付
测试环境资源交付
生产环境资源交付
除了以上环境还有压测环境、预发布环境环境。考虑到资源限制与环境过多配置复杂,建议:
初始化三套环境 开发、测试、生产
开发环境有开发使用
测试环境由测试使用,完成功能测试
生产环境前期做为压测环境,进行性能测试,后期转为生产环境,同时可预留实例,作为预发布环境使用。
应用测试
应用功能测试主要包括功能测试与性能测试。
应用改造完成后,在云上测试环境进行功能测试。同时在上线前,在准生产环境进行性能测试,了解其性能水准,以及确认资源容量是否足够。
应用上线
依照上云设计中应用上线设计:
应用数据同步
应用灰度发布
应用全量切换
数据同步可由开发执行,执行后收回对应权限。
灰度发布与全量切换,需开发与运维相互配合,安全的进行应用上线操作。尽可能做到无损切换。同时需做好回滚方案。
重点说明
以下迁移上云过程中遇到的重点与难点:
网络访问权限开通与资源访问白名单开通
提前整理好网络访问权限、资源访问白名单需求,使用云服务提供商的工具或服务来自动化交付该需求。
性能压测与性能优化
结合场景需求、历史经验与性能压测,调优应用当前重要参数,以达到性能最优状态。
应用构建与配置
采用标准的方式管理应用依赖,对应用进行编译、构建,形成不可变基础设施。
区别不同环境的配置,统一集中管理,避免配置管理的复杂性。
应用发布管理与应用跨云平台管理
在持续集成的基础上,使用应用发布工具,标准化应用发布,提高应用交付效率与质量。
同时统一采用容器编排与容器标准,以实现应用跨云平台管理。
迁移过程中保证数据完整性与业务连续性
在上云设计中,详细设计应用数据同步方案与应用灰度发布、全量切换方案,以保证数据完整性与业务连续性。
灰度发布与全量切换方案应尽可能做到对服务无损。
以上说明仅为指导性说明,涉及工作、资源、平台较多,实践中通过不断建设与完善标准、流程、工具以达到高效率高质量迁移上云。
总结
应用迁移上云围绕:
应用调研
上云设计
上云实施
应用上线
四个流程展开。
开发、运维与测试分别主要负责应用、资源、测试等工作。
在上云迁移过程中遇到很多难点重点问题,通过不断的实践,改进方法、流程和工具,从而提升迁移的效率与质量。
参考
云采用框架 CAF
相关文章:
应用上云指导
应用上云指导方法论。应用上云指传统应用迁移到云上,云上应用采用K8S部署。本文旨在提供一种方法、流程,指导应用上云,以求优化上云工作,提供应用上云效率。主要包含以下内容:应用上云工作角色、分工应用上云标准流程及…...
进程概念~
进程概念 (冯诺依曼体系结构,操作系统,进程概念,进程状态,环境变量,程序地址空间) 冯诺依曼体系结构:(计算机硬件体系结构) 输入设备,输出设备&a…...
三天吃透Java基础八股文
本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~ Github地址:https://github.com/…...
YOLOv8训练自己的数据集(超详细)
一、准备深度学习环境本人的笔记本电脑系统是:Windows10YOLO系列最新版本的YOLOv8已经发布了,详细介绍可以参考我前面写的博客,目前ultralytics已经发布了部分代码以及说明,可以在github上下载YOLOv8代码,代码文件夹中…...
【洛谷 P1088】[NOIP2004 普及组] 火星人 题解(全排列+向量)
[NOIP2004 普及组] 火星人 题目描述 人类终于登上了火星的土地并且见到了神秘的火星人。人类和火星人都无法理解对方的语言,但是我们的科学家发明了一种用数字交流的方法。这种交流方法是这样的,首先,火星人把一个非常大的数字告诉人类科学…...
基于混合蛙跳算法优化SVM的滚动轴承故障诊断python实现
1.混合蛙跳算法(SFLA)原理 混合蛙跳算法(SFLA)是一种受自然生物模仿启示而产生的基于群体的协同搜索方法,由局部搜索和全局信息交换两部分组成。 混合蛙跳算法中,每个青蛙的位置代表了一个可行解。青蛙在沼泽中跳跃,沼泽在离散的地方有很多石头,青蛙可以跳过这些石头来找…...
如何让AI帮你干活-娱乐(2)
背景:好容易完成朋友的任务,帮忙给小朋友绘画比赛生成一些创意参考图片。他给我个挑战更高的问题,是否可以帮他用AI生成一些视频。这个乍一听以现在AI技术根本不太可能完成。奈何他各种坚持,无奈被迫营业。苦脸接受了这个不可能完…...
文件异步多备常用方案
业务需求上经常存在需要对同一个文件进行双上传,上传到不同云存储桶,以防出现某一个云厂商因各种意外导致自身服务出现不可用的情况,当然,还有其他措施可以避免,现在只针对通过程序业务代码而双写存储的这个场景。 业务…...
java面试八股文之------Redis夺命连环25问
java面试八股文之------Redis夺命连环25问👨🎓1.为什么redis这么快👨🎓2.redis的应用场景,为什么要用👨🎓3.redis6.0之前为什么一直不使用多线程,6.0为甚么又使用多线程了&…...
【数据结构】AVL平衡二叉树底层原理以及二叉树的演进之多叉树
1.AVL平衡二叉树底层原理 背景 二叉查找树左右子树极度不平衡,退化成为链表时候,相当于全表扫描,时间复杂度就变为了O(n) 插入速度没影响,但是查询速度变慢,比单链表都慢,每次都要判断左右子树是否为空 需…...
K8S篇-安装nfs插件
前言 有关k8s的搭建可以参考:http://t.csdn.cn/H84Zu 有关过程中使用到的nfs相关的nas,可以参考: http://t.csdn.cn/ACfoT http://t.csdn.cn/tPotK http://t.csdn.cn/JIn27 安装nfs存储插件 NFS-Subdir-External-Provisioner是一个自动配置…...
xmu 离散数学 卢杨班作业详解【4-7章】
文章目录第四章 二元关系和函数4.6.2911121618.120.222.1232834第五章 代数系统的一般概念2判断二元运算是否封闭348111214第六章 几个典型的代数系统1.5.6.7.11.12151618第七章 图的基本概念12479111215第四章 二元关系和函数 4. A{1,2,3} 恒等关系 IA{<1,1>,<2,2…...
多重背包问题中的二进制状态压缩
1.多重背包问题 经典的多重背包问题和01背包问题的相似之处在于二者的一维遍历顺序都是从右侧往左侧遍历。 同时多重背包的一维写法不比二维写法降低时间复杂度。 2.多重背包标准写法:(平铺展开形式) class Solution {public int maxValue(int N, int C, int[] s…...
汇编语言程序设计(四)之汇编指令
系列文章 汇编语言程序设计(一) 汇编语言程序设计(二)之寄存器 汇编语言程序设计(三)之汇编程序 汇编指令 1. 数据传输指令 指令包括:MOV、XCHG、XLAT、LEA、LDS、LES、PUSH、POP、PUSHF、LA…...
Vant2 源码分析之 vant-sticky
前言 原打算借鉴 vant-sticky 源码,实现业务需求的某个功能,第一眼看以为看懂了,拿来用的时候,才发现一知半解。看第二遍时,对不起,是我肤浅了。这里侧重分析实现原理,其他部分不拓展开来&…...
【自然语言处理】【大模型】大语言模型BLOOM推理工具测试
相关博客 【自然语言处理】【大模型】大语言模型BLOOM推理工具测试 【自然语言处理】【大模型】GLM-130B:一个开源双语预训练语言模型 【自然语言处理】【大模型】用于大型Transformer的8-bit矩阵乘法介绍 【自然语言处理】【大模型】BLOOM:一个176B参数…...
云桌面技术初识:VDI,IDV,VOI,RDS
VDI(Virtual Desktop Infrastucture,虚拟桌面架构),俗称虚拟云桌面 VDI构架采用的“集中存储、集中运算”构架,所有的桌面以虚拟机的方式运行在服务器硬件虚拟化层上,桌面以图像传输的方式发送到客户端。 …...
基于本地centos构建gdal2.4.4镜像
1.前言 基于基础镜像构建gdal环境一般特别大,一般少则1.6G,多则2G甚至更大,这对于镜像的迁移造成了极大的不便。究其原因在于容器中有大量的源码文件以及编译中间过程文件,还要大量编译需要的yum库。本文主要通过在centos系统上先…...
生产环境线程问题排查
线程状态的解读RUNNABLE线程处于运行状态,不一定消耗CPU。例如,线程从网络读取数据,大多数时间是挂起的,只有数据到达时才会重新唤起进入执行状态。只有Java代码显式调用sleep或wait方法时,虚拟机才可以精准获取到线程…...
Day908.joinsnljdist和group问题和备库自增主键问题 -MySQL实战
join&snlj&dist和group问题和备库自增主键问题 Hi,我是阿昌,今天学习记录的是关于join&snlj&dist和group问题和备库自增主键问题的内容。 一、join 的写法 join 语句怎么优化?中,在介绍 join 执行顺序的时候&am…...
使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式
一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明:假设每台服务器已…...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...
使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...
QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
iview框架主题色的应用
1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题,无需引入,直接可…...
[大语言模型]在个人电脑上部署ollama 并进行管理,最后配置AI程序开发助手.
ollama官网: 下载 https://ollama.com/ 安装 查看可以使用的模型 https://ollama.com/search 例如 https://ollama.com/library/deepseek-r1/tags # deepseek-r1:7bollama pull deepseek-r1:7b改token数量为409622 16384 ollama命令说明 ollama serve #:…...
Unity VR/MR开发-VR开发与传统3D开发的差异
视频讲解链接:【XR马斯维】VR/MR开发与传统3D开发的差异【UnityVR/MR开发教程--入门】_哔哩哔哩_bilibili...
规则与人性的天平——由高考迟到事件引发的思考
当那位身着校服的考生在考场关闭1分钟后狂奔而至,他涨红的脸上写满绝望。铁门内秒针划过的弧度,成为改变人生的残酷抛物线。家长声嘶力竭的哀求与考务人员机械的"这是规定",构成当代中国教育最尖锐的隐喻。 一、刚性规则的必要性 …...
