快速云原生化,从数据中心到云原生的迁移实践

简介:本文将介绍在帮助用户快速完成迁云中的解决方案、最佳实践以及迁云工具。

云原生的时代已经到来,云原生技术正在重塑整个软件生命周期,阿里巴巴是国内最早布局云原生技术的公司之一。

容器服务团队在过去的几年时间内帮助很多用户成功把业务云原生化并迁移上云,其中有现在已经是我们 TOP10 的大客户,也有需要在国内开展业务的海外用户,有些是从其他云厂商迁移过来的用户,有些是从 IDC 里迁移上云的用户,而且越来越多的用户开始咨询如何对自己的应用做云原生化改造、如何把业务平滑地迁移到云上。每个用户的业务场景都是不同的,有些差异化的业务场景对容器平台也有一些定制化的需求,我们在帮助这些用户落实迁云方案的同时也在不断思考如何把这些案例中共性的东西做一些沉淀,总结出一些优秀的解决方案、最佳实践以及开发一些工具来帮助用户快速完成迁云的这件事情。这些解决方案、最佳实践以及迁云工具就是今天这篇文章想要分享的内容。

在帮助用户落实迁云方案之前,我们首先必须要回答至少 3 个问题:

(1)ACK(阿里云容器服务 Kubernetes)如何能保证用户业务的可靠性、稳定性、安全性和灵活性;

(2)如何设计迁云方案把业务平滑地迁移到 ACK;

(3)应用如何做进一步改造来适配 ACK 提供的更强大的扩展能力。

ACK 如何保证用户业务的可靠性、稳定性、安全性和灵活拓展性

首先,ACK 是以阿里云可靠稳定的 IaaS 平台为底座的,有最大的弹性化与低廉成本和全球化接入的优势;其次,ACK 本身处于阿里云的安全体系架构之下并从基础设施到容器运行时环境对容器集群有全维度的安全加固;过去几年我们很好地支撑了成百上千家大小企业的业务运行,有海量用户经验总结并经过双 11 验证;除此之外。ACK 是在标准的 Kubernetes 基础上,对与用户息息相关的能力做了大幅提升,用户完全不需要担心会被某一家厂商绑定。

1.jpg

在我们过去帮助用户业务上云的案例中,绝大部分是自建 Kubernetes 集群迁移到 ACK 集群,与自建 Kubernetes 集群相比较,ACK 在成本、弹性、IaaS 高度融合、性能、安全加固以及实践经验等方面都有非常巨大的优势。

另外,ACK 与阿里云的所有 region 保持一致,除了国内多个区域开服外,在东南亚、中东、欧洲、美东美西等地域都有开服,完全可以满足用户开展全球业务的需求。

整体迁云方案设计

用户业务整体迁云的方案设计会涉及到集群规划、数据搬迁、监控切换、日志切换以及最终的生产流量切换或并网操作。

2.jpg

迁云到 ACK 需要做涉及到哪些组件、搬迁哪些数据、切换哪些服务等,都是需要需要在迁移上云之前设计好的。

首先需要做集群规划,用户需要根据自己业务场景的不同来选择不同的机器类型,比如 CPU 机器还是 GPU 机器,比如虚拟服务器ECS还是神龙裸金属服务器等等。

其次网络规划这部分会涉及到容器集群基础设施选择 vpc 内网网络还是经典网络,集群内 pod 之间进行通信模式是 flannel 模式还是 terway 模式等。

再次在容量规划这部分,用户可以根据自己的成本以及预算规划一个可满足初期业务正常运行的容量即可,随后可以配置动态扩缩容随时弹缩集群规模。

第四在安全防护提升这部分,有基础架构安全比如设置合理的安全组规则,有镜像安全比如使用私有镜像并定义镜像安全扫描,Kubernetes 应用安全管理比如设置不同服务间互相访问的网络安全策略等。

第五在监控切换这部分相对于用户自建 Kubernetes 会更加全维度和立体,从基础设施到容器运行时监控一应俱全,并可根据阈值设定触发报警通知;用户一般也会把自建的日志收集方案切换成阿里云上企业级的日志产品 SLS。

第六在数据迁移是非常重要的一部分,这些数据包括数据库数据、存储数据、容器镜像等,我们会对接阿里云上企业级的产品以及迁移工具来完成数据的迁移,目的是为了保证数据迁云的可靠性、安全性。目前备份中心支持云下数据到云上 ACK 的迁移,您可以使用备份中心来完成应用及数据到 ACK 的迁移。

最后在应用改造主要涉及的内容包括镜像地址的更新、服务暴露方式的优化以及存储盘挂载方式的更新适配。另外需要提供一个满足用户快速迭代上线产品的 CICD 方案。以上各个组件调试完毕后,我们就可以进行一部分生产流量的切换。

以上是从集群规划到生产流量切换便是用户业务迁移上云所需要涉及到的总体几个步骤。

3.jpg

我们提供了一个企业容器化生命周期模型,这个模型是根据时间阶段和用户侧各个业务角色来划分的,比如业务架构师角色需要关心的是业务上云能给公司带来什么价值,在 TCO 和场景上会带来哪些优化,云平台在安全性以及计算、存储、网络能力上是否能满足当前业务需求;IT 架构师负责规划当前业务需要的集群容量和规模以及网络选型等问题,剩下的就是系统管理员与应用管理员把迁云方案的各个细节落实下来。这个模型的主要核心关注点是让用户的业务上云后能更稳定、成本更低、效率更高。

全栈迁云架构思路分两种,一种是整体迁移,一种是平滑迁移。整体迁移是指用户应用全部迁移上云后,各个组件调试完毕、测试验收通过后,可以整体切换生产流量到线上集群,待线上集群上的业务稳定运行一段时间后再下线原有环境。平滑迁移是指用户可以使用线上 ACK 集群纳管线下节点,或者线上集群与线下集群混合组网对外提供服务,逐步改造业务组件上云后将原有环境下线。这两种方式相比,整体迁移更简单,平滑迁移响度复杂但对业务影响小,所以也需要根据用户的实际场景做选择。

4.jpg

容器化整体迁云这部分还有两个小场景,一个是用户从自建 Kubernetes 集群迁移到 ACK,此场景下用户的应用已经做了很大一部分的云原生化改造,迁移工作相对来说会简单些,还有一部分用户的应用是传统应用,直接运行在虚拟机或者裸金属服务器上,没有做过任何云原生化的改造,对于这部分场景,我们也提供了相关工具或方案帮助用户进行云原生化的迁云改造,比如使用 derrick 项目可以自动检测源码项目类型并生成 Dockerfile 和用于应用部署编排的 yaml 文件。

5.jpg

为了帮助用户提高迁云的效率,我们也在持续积累和开源一些迁云工具及产品。比 ack-image-builder 为用户提供创建 ACK 集群节点自定义镜像的模板并通过校验模块检查自定义镜像是否满足 ACK 集群要求;sync-repo 能够帮助用户快速完成容器镜像批量迁移至 ACR(容器镜像仓库服务); 备份中心为无状态或有状态应用的备份、恢复与迁移提供了一站式的解决方案,特别是对混合云,多集群的有状态应用提供了数据容灾和应用迁移能力,能够帮助用户快速把其他云厂商或者自建 Kubernetes 集群下的完整应用及 PV 数据迁移至 ACK 集群,并支持丰富的云下存储类型。

通过备份中心来实现已有 Kubernetes 集群迁移的主要步骤如下:

  1. 在线下 Kubernetes 创建集群(例如,Rancher 集群),将线下集群接入注册集群。具体操作,请参见创建注册集群并接入本地数据中心集群;
     
  2. 云上通过 ACK 创建托管版集群,部署备份服务组件;
     
  3. 云下纳管集群(即注册集群)安装备份组件,并通过备份中心备份线下集群的应用及 PV 数据,具体操作,请参见创建备份任务;
     
  4. 在云上 ACK 集群中,通过备份中心使云下应用和数据的备份,在云上进行恢复。

6.jpg

在数据搬迁部分,可靠迁移是关键。目前备份中心支持的云下存储类型为:

  • 数据中心本地块存储 SAN、Ceph OBD 及本地盘 LVM 等。
  • 数据中心文件系统 HostPath、NFS、NetApp、GlusterFS 及 CephFS 等。
  • 数据中心本地对象存储 Ceph S3 等。

通过备份中心,可以将云下 Kubernetes 应用及 PV 数据迁移到 ACK 集群,实现顺利云原生化改造。

7.jpg

数据、应用迁云完成后,需要进一步适配监控、日志等组件,待各个组件调试完毕通过验收后,可以使用智能 DNS 进行生产流量的切割。

应用改造和优化

8.jpg

9.jpg

对于应用改造和优化这部分,Kubernetes 到 Kubernetes 的场景下,需要优化的是去适配自动扩容等自建 Kubernetes 不具备的那些能力,在传统应用迁移到 ACK 的场景下,这部分的工作量会更大些,所以我们针对这个场景也输出了一些方案,比如类似于异地多活的方案,我们把用户传统应用环境,通常是虚拟机或者裸机环境集成到线上 ACK 部署的 Istio 网格中,逐步改造应用直至业务全部切换到线上 ACK 集群。

10.jpg

在应用逐步改造的这个过程中,会涉及到应用如何容器化、网络环境如何迁移以及数据迁移的问题,应用容器化这个问题,我们可以使用SMC迁云中心来完成虚拟机转换为容器镜像的过程,网络这部分可以通过 iptables,External,CoreDNS PrivateZone 等方式对 IP 地址 DNS 域名做处理,保持原先的逻辑 IP 和域名不变,并通过 Istio 实现网络虚拟路由和可观测性的管理。

案例和总结

11.jpg

最后列举的是部分迁云案例,其中有对高性能网络有特殊需求的用户,有做深度学习相关业务对大规模 GPU 机器有需求的用户,也有要求裸金属机型服务器的用户等等。

以上这些不同用户的不同业务场景在云原生化迁云方案的设计和落实上都有各自的差异性,不尽相同,需要结合 ACK 团队沉淀下来的最佳实践来快速做出评估和计划,并借助已有的一系列迁云工具快速完成业务从线下迁移上云的过程。

其他

ack-image-builder 能够帮助用户制作符合 ACK 集群节点要求的自定义镜像

sync-repo 能够帮助用户快速完成容器镜像批量迁移至 ACR(容器镜像仓库服务)

跨集群恢复 Kunbernetes 应用备份中心能够帮助用户快速把其他云厂商或者自建 Kubernetes 集群下的完整应用迁移至 ACK 集群。

原文链接
本文为阿里云原创内容,未经允许不得转载。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/511880.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实力总结四类 Bean 注入 Spring 的方式

作者 | 阿Q来源 | 阿Q说代码一提到Spring,大家最先想到的是啥?是AOP和IOC的两大特性?是Spring中Bean的初始化流程?还是基于Spring的Spring Cloud全家桶呢?今天我们就从Spring的IOC特性入手,聊一聊Spring中把…

广州大学计算机网络期末考试2013,广州大学计算机网络技术试卷(A卷)

广州大学2006-2007 学年第 1 学期考试卷课程计算机网络技术考试形式(开/闭卷,考试/查)一、填空题(15分)1、现有一计算机要和另一设备进行通信,要实现此目标首先要考虑通过何种接口把计算机和相应设备连接起来;解决此问题属于层的任务。(2分)2…

阿里云全站加速DCDN升级

简介:相比传统CDN加速,全站加速DCDN具有更广阔的应用场景。在当下企业全面数字化的进程中,为了更全面地满足广大企业客户的个性化加速需求,全站加速DCDN从简单开通到个性化定制、从内容分发到安全防护,对客户侧的使用体…

Redis 内存满了怎么办?这样置才正确!

作者 | 码哥呀来源 | 码哥字节上回在《Redis 数据过期了会被立马删除么?》说到如果过期的数据太多,定时删除无法删除完全(每次删除完过期的 key 还是超过 25%),同时这些 key 再也不会被客户端请求,就无法走…

2000坐标系高程与85高程转换_【科普】测量人必须知道的几大坐标系

导读 不了解坐标系的测绘测量人员,不是好员工!无论科研的还是外业的,亦是如此。小编今天就为大家盘点出这几大传统坐标系,各位大大赶快收藏起来吧! 1 北京54坐标系 新中国成立以后,我国大地测量进入了全面发展时期,在全国范围内开展了正规的,全面的大地测量和测图工作,…

云原生数据仓库AnalyticDB支撑双11,大幅提升分析实时性和用户体验

简介:2021年双十一刚刚落幕,已连续多年稳定支持双十一大促的云原生数据仓库AnalyticDB,今年双十一期间仍然一如既往的稳定。除了稳定顺滑的基本盘之外,AnalyticDB还有什么亮点呢?下面我们来一一揭秘。 作者 | Analytic…

漫画:什么是IaaS、PaaS、SaaS?

‍‍作者 | 小灰来源 | 程序员小灰假如你想要一栋属于自己的房子,你有什么样的选择呢?第一种方式,我们可以自己上山砍树准备木材,然后自己去烧制砖瓦,还需要自己研磨油漆等其他材料.....材料准备齐全以后,我…

app获取个人信息是否合法_重拳出击!42款APP过度收集用户信息被点名

驱动中国2019年9月10日消息 近年来我国不断加强对互联网应用中个人信息的保护,但因相关监管机制尚不健全,实际上多数APP并未遵循最少够用原则,仍存在违规收集使用个人信息现象。日前,广东省公安厅持续加强对超范围收集用户信息行为…

无接触式智能服务 用“减法”重塑企业前台场景

简介:为了更好解决企业对前台工作效率、服务体验等诉求,阿里巴巴企业智能事业部联合阿里行政,推出的“非接触式服务”——云前台,集物品暂存、自助领取、物品临时借用、查询周边配套信息、一键呼叫视频客服、报销单收取等功能于一…

阿里园区的这个“格子间” 成为企业高效协同新利器

简介:第一期《数智进化论》带你走进阿里园区的“网红”格子间——视频会议吧,了解它是如何提升办公空间利用率,解决会议室资源供给不足的问题。 会议室是企业员工进行创意、讨论、决策的重要协作场所。传统会议室数量有限、大小相对固定&…

仅用一个 HTML 标签,实现带动画的抖音 Logo

作者 | 零一来源 | 前端印象今天给大家表演 仅用一个HTML标签实现带动画的抖音LOGO,涉及了很多知识点,欢迎交流讨论先上结果,最终实现效果如下:成品图还原度应该还可以吧?抖音Logo结构想要用CSS来画抖音的Logo&#xf…

vaex 处理海量数据_核心业务“瘦身”进行时!手把手带你搭建海量数据实时处理架构...

01 背景在线交易服务平台目的是减轻核心系统计算压力和核心性能负荷压力,通过该平台可以将核心系统的交易数据实时捕获、实时计算加工、计算结果保存于SequoiaDB中。并能实时的为用户提供在线交易查询服务。在线交易服务平台基于实时处理架构设计,通过将…

自己动手写符合自己业务需求的eslint规则

简介:eslint是构建在AST Parser基础上的规则扫描器,缺省情况下使用espree作为AST解析器。rules写好对于AST事件的回调,linter处理源代码之后会根据相应的事件来回调rules中的处理函数。另外,在进入细节之前,请思考一下…

双11特刊|一站式在线数据管理平台DMS技术再升级,高效护航双11

简介: 10万企业共同选择的数据库服务平台 阿里云数据库已连续多年稳定支撑天猫双11,历经极端流量场景淬炼。除了保障稳定顺滑的基本盘,今年大促期间数据库通过全面云原生化,大幅提升用户体验,让技术帮助业务产生更有价…

账户配置阻止使用计算机.怎样开机,开机自启动设置怎么操作 开机自启动设置如何禁止【图文介绍】...

我们都知道,如今的电脑被我们广泛地运用着, 因为它具有很多的功能,比如我们可以通过电脑实现我们平时工作的需要,还可以不出 门 便能够网上购物,非常方便快捷。电脑一般来说都是由硬件系统和软件系统组成的。有时候可能…

Gartner:2021年全球半导体收入增长26%

供稿 | Gartner 出品 | CSDN 云计算 根据Gartner公司的最终统计结果,2021年全球半导体收入同比增长26.3%,总计5950亿美元。 Gartner研究副总裁Andrew Norwood表示:“引起当前芯片短缺的各种事件继续影响全球原设备制造商(OEM&…

pandas 判断是否等于nan_Python之pandas笔记

一、创建1.创建 Series (一维,带标签的数组)t pd.Series(np.arange(10), index list(string.ascii_uppercase[:10]))2.创建 DataFrame (二维,Series的容器 )t pd.DataFrame(np.arange(6).reshape((2,3)), indexlist(ab),columnslist(csr) )3.DataFrame…

解密 Dubbo 三大中心的部署架构

简介:Dubbo作为一个微服务框架,Dubbo SDK与应用服务绑定在同一个进程内,它跟随着应用服务被部署在分布式集群各个位置,为了在分布式环境下实现各个应用服务间的协作, Dubbo 定义了一些中心化组件。 作者 | 华钟明 01…

历经7年双11实战,阿里巴巴是如何定义云原生混部调度优先级及服务质量的?

简介: 本文将聚焦在 K8s 层的容器优先级和服务质量模型上,希望给业界提供一些可借鉴的思路。 作者:南异 引言 阿里巴巴在离线混部技术从 2014 年开始,经历了七年的双十一检验,内部已经大规模落地推广,每…

python 判断是否有余数_判断多个坐标是否在同一条直线上|Python练习系列[13]

练习内容:判断多个坐标是否在同一条直线上判断多个坐标是否在同一条直线上|Python练习系列[13]_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.comprint(请输入几个点的横纵坐标,程序将会返回这几个点是否在同一条直线上) def coor_nums():#获得每个值的横纵坐标int_list…