当前位置: 首页 > news >正文

应用上云指导

应用上云指导方法论。
应用上云指传统应用迁移到云上,云上应用采用K8S部署。

本文旨在提供一种方法、流程,指导应用上云,以求优化上云工作,提供应用上云效率。

主要包含以下内容:

  1. 应用上云工作角色、分工

  1. 应用上云标准流程及每一阶段交付物

  1. 迁移上云重点说明

上云工作有以下几点基本思想:

  1. 划分角色,明确分工。确认工作边界,清晰每一块工作的负责人

  1. 结合标准流程每个阶段,输出高质量交付物。以共享传递资源与信息

  1. 尽可能减少各阶段各角色交互。通过标准交付物、工具进行有序的协作。

  1. 实行DevOps:

  1. 建立持续集成与持续交付

  1. 建立资源自助服务平台

  1. 自动化几乎所有操作,尽可能减少手动操作

  1. 开发、测试、生产环境尽可能相同。

角色与分工

上云工作主要角色可分为开发、测试、运维。

具体分工职责如下:

  1. 开发:主要负责应用相关,应用架构、改造,应用数据同步等。

  1. 测试:主要负责测试相关,功能测试、性能测试。

  1. 运维:主要负责基础支撑平台与资源相关,CICD平台、服务治理平台、资源服务平台、容量规划、资源交付。

  1. 应用架构需要开发与运维沟通协作,设计云上的应用架构与部署架构,使用合适的云组件与云产品。

  1. 应用上线需要开发与运维沟通协作,前期设计上上线方案,包括数据同步,灰度上线,全量切换等。

标准流程

  1. 应用调研

应用调研主要工作是调研应用现状。开发与运维主要参与。

主要工作与交付物:

  • 应用架构

  • 技术组件

  • 服务依赖

  • 资源容量

  1. 上云设计

上云设计主要工作是设计应用上云相关内容包括设计云上应用架构,设计改造方案,设计上线方案,规划云上资源容量。

主要工作与交付物:

  • 云上应用架构、组件架构、部署架构

  • 应用改造内容

  • 应用上线方案

  • 数据同步方案

  • 应用灰度方案

  • 应用切换方案

  • 云资源容量

  1. 上云实施

上云实施包含以下几部分

  • 实施计划

  • 应用改造

  • 资源交付

  • 应用测试

实施计划

制定详细的实施计划,细化到每部分的每一重要阶段。

应用改造

按照上云设计步骤中应用改造方案,对应用进行改造。

资源交付

资源交付需要分阶段,快速进行资源交付,包括资源本身,网络权限、白名单权限、访问权限、管理权限。

资源交付的同时提供 服务治理平台、资源服务平台等访问入口与权限。方便开发人员自助使用。

  • 开发环境资源交付

  • 测试环境资源交付

  • 生产环境资源交付

除了以上环境还有压测环境、预发布环境环境。考虑到资源限制与环境过多配置复杂,建议:

  1. 初始化三套环境 开发、测试、生产

  1. 开发环境有开发使用

  1. 测试环境由测试使用,完成功能测试

  1. 生产环境前期做为压测环境,进行性能测试,后期转为生产环境,同时可预留实例,作为预发布环境使用。

应用测试

应用功能测试主要包括功能测试与性能测试。

应用改造完成后,在云上测试环境进行功能测试。同时在上线前,在准生产环境进行性能测试,了解其性能水准,以及确认资源容量是否足够。

  1. 应用上线

依照上云设计中应用上线设计:

  • 应用数据同步

  • 应用灰度发布

  • 应用全量切换

数据同步可由开发执行,执行后收回对应权限。

灰度发布与全量切换,需开发与运维相互配合,安全的进行应用上线操作。尽可能做到无损切换。同时需做好回滚方案。

重点说明

以下迁移上云过程中遇到的重点与难点:

  1. 网络访问权限开通与资源访问白名单开通

提前整理好网络访问权限、资源访问白名单需求,使用云服务提供商的工具或服务来自动化交付该需求。

  1. 性能压测与性能优化

结合场景需求、历史经验与性能压测,调优应用当前重要参数,以达到性能最优状态。

  1. 应用构建与配置

采用标准的方式管理应用依赖,对应用进行编译、构建,形成不可变基础设施。

区别不同环境的配置,统一集中管理,避免配置管理的复杂性。

  1. 应用发布管理与应用跨云平台管理

在持续集成的基础上,使用应用发布工具,标准化应用发布,提高应用交付效率与质量。

同时统一采用容器编排与容器标准,以实现应用跨云平台管理。

  1. 迁移过程中保证数据完整性与业务连续性

在上云设计中,详细设计应用数据同步方案与应用灰度发布、全量切换方案,以保证数据完整性与业务连续性。

灰度发布与全量切换方案应尽可能做到对服务无损。

以上说明仅为指导性说明,涉及工作、资源、平台较多,实践中通过不断建设与完善标准、流程、工具以达到高效率高质量迁移上云。

总结

应用迁移上云围绕:

  1. 应用调研

  1. 上云设计

  1. 上云实施

  1. 应用上线

四个流程展开。

开发、运维与测试分别主要负责应用、资源、测试等工作。

在上云迁移过程中遇到很多难点重点问题,通过不断的实践,改进方法、流程和工具,从而提升迁移的效率与质量。

参考

云采用框架 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.多重背包标准写法:(平铺展开形式&#xff09; class Solution {public int maxValue(int N, int C, int[] s…...

汇编语言程序设计(四)之汇编指令

系列文章 汇编语言程序设计&#xff08;一&#xff09; 汇编语言程序设计&#xff08;二&#xff09;之寄存器 汇编语言程序设计&#xff08;三&#xff09;之汇编程序 汇编指令 1. 数据传输指令 指令包括&#xff1a;MOV、XCHG、XLAT、LEA、LDS、LES、PUSH、POP、PUSHF、LA…...

Vant2 源码分析之 vant-sticky

前言 原打算借鉴 vant-sticky 源码&#xff0c;实现业务需求的某个功能&#xff0c;第一眼看以为看懂了&#xff0c;拿来用的时候&#xff0c;才发现一知半解。看第二遍时&#xff0c;对不起&#xff0c;是我肤浅了。这里侧重分析实现原理&#xff0c;其他部分不拓展开来&…...

【自然语言处理】【大模型】大语言模型BLOOM推理工具测试

相关博客 【自然语言处理】【大模型】大语言模型BLOOM推理工具测试 【自然语言处理】【大模型】GLM-130B&#xff1a;一个开源双语预训练语言模型 【自然语言处理】【大模型】用于大型Transformer的8-bit矩阵乘法介绍 【自然语言处理】【大模型】BLOOM&#xff1a;一个176B参数…...

云桌面技术初识:VDI,IDV,VOI,RDS

VDI&#xff08;Virtual Desktop Infrastucture&#xff0c;虚拟桌面架构&#xff09;&#xff0c;俗称虚拟云桌面 VDI构架采用的“集中存储、集中运算”构架&#xff0c;所有的桌面以虚拟机的方式运行在服务器硬件虚拟化层上&#xff0c;桌面以图像传输的方式发送到客户端。 …...

基于本地centos构建gdal2.4.4镜像

1.前言 基于基础镜像构建gdal环境一般特别大&#xff0c;一般少则1.6G&#xff0c;多则2G甚至更大&#xff0c;这对于镜像的迁移造成了极大的不便。究其原因在于容器中有大量的源码文件以及编译中间过程文件&#xff0c;还要大量编译需要的yum库。本文主要通过在centos系统上先…...

生产环境线程问题排查

线程状态的解读RUNNABLE线程处于运行状态&#xff0c;不一定消耗CPU。例如&#xff0c;线程从网络读取数据&#xff0c;大多数时间是挂起的&#xff0c;只有数据到达时才会重新唤起进入执行状态。只有Java代码显式调用sleep或wait方法时&#xff0c;虚拟机才可以精准获取到线程…...

Day908.joinsnljdist和group问题和备库自增主键问题 -MySQL实战

join&snlj&dist和group问题和备库自增主键问题 Hi&#xff0c;我是阿昌&#xff0c;今天学习记录的是关于join&snlj&dist和group问题和备库自增主键问题的内容。 一、join 的写法 join 语句怎么优化&#xff1f;中&#xff0c;在介绍 join 执行顺序的时候&am…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

C++实现分布式网络通信框架RPC(3)--rpc调用端

目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中&#xff0c;我们已经大致实现了rpc服务端的各项功能代…...

synchronized 学习

学习源&#xff1a; https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖&#xff0c;也要考虑性能问题&#xff08;场景&#xff09; 2.常见面试问题&#xff1a; sync出…...

基于大模型的 UI 自动化系统

基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频

使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源&#xff1a; http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力

引言&#xff1a; 在人工智能快速发展的浪潮中&#xff0c;快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型&#xff08;LLM&#xff09;。该模型代表着该领域的重大突破&#xff0c;通过独特方式融合思考与非思考…...

《通信之道——从微积分到 5G》读书总结

第1章 绪 论 1.1 这是一本什么样的书 通信技术&#xff0c;说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号&#xff08;调制&#xff09; 把信息从信号中抽取出来&am…...

c#开发AI模型对话

AI模型 前面已经介绍了一般AI模型本地部署&#xff0c;直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型&#xff0c;但是目前国内可能使用不多&#xff0c;至少实践例子很少看见。开发训练模型就不介绍了&am…...

Java线上CPU飙高问题排查全指南

一、引言 在Java应用的线上运行环境中&#xff0c;CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时&#xff0c;通常会导致应用响应缓慢&#xff0c;甚至服务不可用&#xff0c;严重影响用户体验和业务运行。因此&#xff0c;掌握一套科学有效的CPU飙高问题排查方法&…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...