当前位置: 首页 > 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…...

算法 - 剑指Offer 丑数

题目 我们把只包含质因子 2、3 和 5 的数称作丑数&#xff08;Ugly Number&#xff09;。求按从小到大的顺序的第 n 个丑数。 解题思路 这题我使用最简单方法去做&#xff0c; 首先我们可以获取所有2n,3n,5*n的丑数&#xff0c;只是我们这里暂时无法排序&#xff0c;并且可能…...

【ONE·C || 文件操作】

总言 C语言&#xff1a;文件操作。    文章目录总言1、文件是什么&#xff1f;为什么需要文件&#xff1f;1.1、为什么需要文件&#xff1f;1.2、文件是什么&#xff1f;2、文件的打开与关闭2.1、文件指针2.2、文件打开和关闭&#xff1a;fopen、fclose2.3、文件使用方式3、文…...

cmd窗口中java命令报错。错误:找不到或无法加载主类 java的jdk安装过程中踩过的坑

错误: 找不到或无法加载主类 HelloWorld 遇到这个问题时&#xff0c;我尝试过网上其他人的做法。有试过添加classpath&#xff0c;也有试过删除classpath。但是依然报错&#xff0c;这里javac可以编译通过&#xff0c;说明代码应该是没有问题的。只是在运行是出现了错误。我安装…...

Breathwork(呼吸练习)

查了下呼吸练习相关内容&#xff0c;做个记录。我又在油管学习啦。 喜欢在you. tube看一些self-help相关的内容。比如学习方法、拉伸、跑步、力量举、自重锻炼等等。 总是听Obi Vicent说起Breathwork&#xff0c;比如&#xff1a; My 6am Morning Routine | New Healthy Habit…...

taobao.itemprops.get( 获取标准商品类目属性 )

&#xffe5;开放平台基础API不需用户授权 通过设置必要的参数&#xff0c;来获取商品后台标准类目属性&#xff0c;以及这些属性里面详细的属性值prop_values。 公共参数 请求地址: HTTP地址 http://gw.api.taobao.com/router/rest 公共请求参数: 公共响应参数: 请求参数 点…...

QT配置安卓环境(保姆级教程)

目录 下载环境资源 JDK1.8 NDK SDK ​安装QT 配置环境 下载环境资源 JDK1.8 介绍JDK是Java开发的核心工具&#xff0c;为Java开发者提供了一套完整的开发环境&#xff0c;包括开发工具、类库和API等&#xff0c;使得开发者可以高效地编写、测试和运行Java应用程序。 下载…...

【uni-app教程】八、UniAPP Vuex 状态管理

八、UniAPP Vuex 状态管理 概念 Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态&#xff0c;并以相应的规则保证状态以一种可预测的方式发生变化。 应用场景 Vue多个组件之间需要共享数据或状态。 关键规则 State&#xff1a…...

同花顺测试面经(30min)

大概三十分钟&#xff0c;面试官人还挺好的 1.自我介绍 2.详细问你了自我介绍中的一个实习经历 3.对我们公司有什么了解 &#xff01;&#xff01;&#xff08;高频&#xff09; 4.对测试有什么看法&#xff0c;为什么选测试 5.黑盒白盒分别是什么 6.对测试左移有什么看法…...

C++-简述#ifdef、#else、#endif和#ifndef的作用

回答如下&#xff1a; #ifdef&#xff0c;#else&#xff0c;#endif和#ifndef都是预处理指令&#xff0c;用于条件编译。#ifdef&#xff1a;这个指令用来判断一个宏是否已经被定义过&#xff0c;如果已经定义过&#xff0c;则执行后面的代码块。#else&#xff1a;这个指令一般与…...

VictoriaMetrics 集群部署

官网 ## 官网 https://github.com/VictoriaMetrics/VictoriaMetrics 集群角色详解 VictoriaMetrics 集群模式。主要由 vmstorage ,vminsert,vmselect 三部分组成&#xff0c;这三个组件每个组件都可以单独进行扩展。其中: vmstorage 负责提供数据存储服务vminsert 是数据存…...