37、云原生转型挑战与实践案例

云原生转型挑战与实践案例

1. 稳定遗留系统的处理策略

对于稳定且能满足需求的遗留系统,不要轻易尝试重建。旧系统可能有长达数百万行的代码,经过多年甚至数十年的开发,重建不仅成本高昂,而且没有必要。

1.1 可行的解决方案

与其从头开始重建,不如保留遗留代码库,并构建一个自定义的桥梁连接到云端。这样做成本更低、速度更快,也更容易实现。具体步骤如下:
1. 找出系统中变化最频繁、需要投入最多工程精力的部分。
2. 将这些部分打包部署在一个服务器上,确保其稳定运行。
3. 设计并创建与旧代码交互的新模块。
4. 逐步迁移,每次迁移一个部分,同时对平台进行重构和重建。

这是一个缓慢、迭代的长期过程,而不是将整个遗留系统直接迁移到云端,但最终可以实现目标。

1.2 迁移目标

迁移的目标是提高向客户交付价值的速度和频率,而不是将所有代码都转换为微服务。因此,应专注于系统中变化最大的部分,避免对稳定且功能正常的遗留代码进行大规模的重写。

2. 缺乏平台团队的问题

在大型公司中,常见的情况是在正式启动云原生计划之前,多个团队会自行进行实验。这种现象被称为“影子 IT”。虽然在初期,团队通过实践学习,且由于无需等待许可,实验成本大大降低,但如果没有公司层面的统一组织,会带来一系列问题。

2.1 问题表现

  • 多个团队各自开发了自己的云原生平台版本,难以维护多个不同的平台,成本高昂且不合理。
  • 团队之间缺乏协作和沟通,不了解彼此的工作,无法从彼此的经验中学习。
  • 各个团队的系统建设缺乏标准化,难以统一到一个标准化的生产平台上。

2.2 解决方案

为了解决这些问题,需要在灵活性和标准化之间找到平衡。具体措施如下:
1. 组建一个由 5 - 8 名工程师和架构师组成的官方平台团队,负责构建平台,并提供足够的资源进行研究、实验和技术实施。
2. 通过内部宣传,告知组织内其他人员正在开发统一的平台。
3. 邀请已经自行搭建平台的团队分享经验,并在可能的情况下,通过学习型组织和部落沟通模式为新平台做出贡献。

2.3 平台团队的重要性

在正确实施的云原生架构中,平台团队是永久性的。他们不仅要成功创建初始平台,还要在平台上线后继续进行改进和优化。只有专注且不断进步的团队才能持续深入解决技术挑战。

3. 缺乏教育和入职计划的问题

有时,组织在云迁移初期采取了正确的步骤,组建了一个小型转型团队进行实验和构建 PoC 及 MVP。但问题在于,当新的云原生系统准备就绪时,没有针对即将使用该系统的其他开发人员制定教育和入职计划。

3.1 问题后果

  • 开发人员在使用平台和工具时效率低下。
  • 开发人员对巨大的变化感到不满,认为被蒙在鼓里。
  • 无法充分发挥云迁移的价值,甚至可能重新引入单体架构、手动测试、交付延迟等问题。

3.2 解决方案

  • 制定培训计划 :从迁移策略开始就优先考虑培训计划。团队逐步入职,早期采用者可以帮助培训后期团队。培训时间很关键,既不能等到最后一刻才进行培训,也不能过早培训,因为新学的技能如果不及时应用会很快遗忘。
  • 持续教育 :教育不仅是为了入职,还需要在平台和应用投入生产后持续进行。这是一个持续的过程,需要有意的支持、组织和规划,以确保团队技能保持最新。

3.3 最佳实践示例

以 WealthGrid 的转型设计为例,培训在迁移的中期开始。首先,平台团队接受必要的培训以开始初始设计和构建。构建平台并使其完全投入运营需要 4 - 6 个月的时间。此时,开始逐步培训第一批团队成员,这不仅包括功能性的“如何操作”培训,还包括架构原则和文化的全面入职培训,如开发者入门包中的示例和教程。当第一批团队成员熟练掌握后,他们可以帮助后续团队。同时,持续教育确保团队即使在成功迁移到新系统后,也能保持技能的更新。

4. 案例分析:Starling Bank

Starling Bank 是一家英国的移动银行,在一年的时间内从零开始构建了一个完全云原生的银行系统。

4.1 背景和挑战

在开始之前,团队花了几年时间进行基础准备,包括申请银行牌照和建立业务框架。早期也经历了一些技术上的失败尝试,但这也让团队明确了哪些方法不可行。

在项目启动时,面临着监管方面的不确定性,需要与监管机构多次沟通,以确保银行完全部署在云端的可行性。此外,英国的监管规定要求在获得临时银行牌照后的一年内必须签约第一个客户,否则将失去牌照,这对项目的时间线产生了很大的压力。

4.2 技术选择

尽管当时云银行还处于起步阶段,但公司选择直接使用一些基础设施即服务(IaaS)的基本构建块,如 Amazon Web Services(AWS)的 Elastic Compute Cloud(EC2)和 CloudFormation,因为 Kubernetes 和 Terraform 在当时还不够成熟。

4.3 成功因素

  • 资金充足 :作为一家资金充裕的初创公司,能够为开发人员提供所需的一切资源,而不必过于担心成本。
  • 架构优先 :将架构设计作为首要决策,目标是使系统能够快速适应变化,并在公司发展过程中保持弹性。
  • 核心业务规划 :云原生是 Starling 业务计划的核心部分。同时,任何组织要想项目成功,都需要高层的承诺和动态策略,以应对不断变化的业务条件。

4.4 成果

Starling Bank 在推出后不久就获得了消费者的认可,在 2018 年和 2019 年的调查中,被评为英国最佳银行,击败了拥有数百年历史的传统银行。这一案例展示了构建全新云原生系统的可能性,以及相同的模式如何应用于不同类型的转型设计。

5. 总结

在云原生转型过程中,会遇到各种常见的挑战,如遗留系统处理、平台团队建设、教育和入职计划等。虽然解决这些问题的模式可能会重复出现,但它们是有效的。

无论是在转型初期还是遇到困难时,都可以借鉴上述解决方案,找到适合自己的方法,确保公司的迁移能够取得成功。正如一句中国谚语所说:“种树的最佳时间是二十年前,其次是现在。”无论何时开始,都可以利用所学知识重新思考策略,找到回到正轨的方法。

5.1 常见问题及解决方案总结

问题 解决方案
稳定遗留系统重建 保留遗留代码库,构建连接云端的桥梁,逐步迁移
缺乏平台团队 组建官方平台团队,平衡灵活性和标准化,促进团队协作
缺乏教育和入职计划 从迁移开始就制定培训计划,持续教育,确保团队技能更新

5.2 流程图

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;

    A(云原生转型):::process --> B(遗留系统处理):::process
    A --> C(平台团队建设):::process
    A --> D(教育和入职计划):::process
    B --> B1(找出变化部分):::process
    B --> B2(打包部署):::process
    B --> B3(创建新模块):::process
    B --> B4(逐步迁移):::process
    C --> C1(组建平台团队):::process
    C --> C2(内部宣传):::process
    C --> C3(邀请团队贡献):::process
    D --> D1(制定培训计划):::process
    D --> D2(持续教育):::process

这个流程图展示了云原生转型过程中的主要方面和相应的解决步骤,包括遗留系统处理、平台团队建设和教育与入职计划。每个主要方面都有具体的操作步骤,帮助读者更清晰地理解整个转型过程。

6. 云原生转型挑战的深入分析

6.1 各挑战的关联关系

云原生转型中的几个挑战并非孤立存在,而是相互关联的。例如,缺乏平台团队可能导致系统建设缺乏标准化,进而影响教育和入职计划的实施。因为没有统一的平台标准,开发人员在学习和使用系统时会面临更多的混乱和困难。而遗留系统处理不当,如果强行进行大规模重建,可能会使平台团队的工作更加复杂,也会让教育和入职计划难以制定合适的内容。

6.2 挑战带来的潜在风险

  • 业务连续性风险 :如果遗留系统重建失败,可能会导致业务中断,影响客户服务和公司声誉。例如,银行系统出现故障,可能会导致客户无法进行正常的交易。
  • 技术债务积累 :多个团队自行开发平台,缺乏标准化,会产生大量的技术债务。这些技术债务在未来的系统维护和升级中会成为巨大的负担,增加开发成本和时间。
  • 人才流失风险 :缺乏教育和入职计划,开发人员在新系统中难以适应和发挥作用,可能会导致他们对工作不满,从而选择离开公司,造成人才流失。

6.3 应对挑战的关键要点

为了有效应对这些挑战,需要关注以下关键要点:
1. 战略规划 :在转型开始前,制定全面的战略规划,明确各个阶段的目标和任务,确保各个方面的工作协调一致。
2. 团队协作 :加强团队之间的沟通和协作,打破部门壁垒,促进知识共享和经验交流。
3. 持续学习 :建立持续学习的文化,鼓励团队成员不断提升技能,适应云原生技术的快速发展。

7. 实践案例的启示

7.1 Starling Bank 案例的借鉴意义

Starling Bank 的成功案例为其他企业提供了很多借鉴。首先,明确核心业务规划,将云原生作为核心战略,能够使企业在技术选型和架构设计上更加有针对性。其次,合理的技术选择,根据实际情况选择成熟的技术,避免盲目追求新技术。最后,资金的合理投入和对开发人员的支持,能够保障项目的顺利进行。

7.2 不同规模企业的应用策略

  • 大型企业 :大型企业通常拥有复杂的遗留系统和多个团队。可以借鉴 Starling Bank 的架构设计理念,同时注重平台团队的建设和标准化工作。在迁移遗留系统时,采用逐步迁移的策略,降低风险。
  • 小型企业 :小型企业相对灵活,没有太多的遗留系统负担。可以像 Starling Bank 一样,从一开始就采用云原生架构,快速构建系统。同时,注重教育和入职计划,培养自己的技术团队。

7.3 案例应用的注意事项

在应用案例经验时,需要注意以下几点:
1. 结合自身实际 :每个企业的情况不同,不能完全照搬案例的做法。需要根据自身的业务需求、技术水平和资源状况进行调整。
2. 关注行业特点 :不同行业的监管要求和业务特点不同,需要在转型过程中充分考虑这些因素。例如,金融行业对安全性和合规性要求较高。

8. 云原生转型的未来趋势

8.1 技术发展趋势

  • 自动化程度提高 :未来,云原生技术的自动化程度将不断提高,如自动化部署、自动化监控和自动化修复等。这将减少人工干预,提高系统的可靠性和效率。
  • 人工智能和机器学习的融合 :人工智能和机器学习技术将与云原生技术深度融合,用于优化资源分配、预测系统故障等。
  • 多云和混合云的普及 :企业为了避免单一云服务提供商的风险,将更多地采用多云或混合云架构。

8.2 组织架构变化

  • 跨职能团队的兴起 :为了更好地应对云原生转型的挑战,企业将组建更多的跨职能团队,包括开发、运维、安全等不同专业的人员。
  • 敏捷和 DevOps 文化的深化 :敏捷和 DevOps 文化将进一步深化,强调快速响应和持续交付。

8.3 对企业的影响

  • 竞争力提升 :采用云原生技术的企业将能够更快地推出新产品和服务,提高客户满意度,从而提升竞争力。
  • 成本优化 :云原生技术的自动化和资源优化特性将帮助企业降低成本,提高资源利用率。

9. 总结与建议

9.1 总结

云原生转型是一个复杂的过程,会遇到遗留系统处理、平台团队建设、教育和入职计划等常见挑战。通过 Starling Bank 等案例可以看到,采用合适的策略和方法,能够成功实现云原生转型。同时,随着技术的发展和组织架构的变化,云原生转型也面临着新的机遇和挑战。

9.2 建议

  • 提前规划 :在转型开始前,制定详细的战略规划,明确目标和任务。
  • 培养人才 :注重人才培养,制定完善的教育和入职计划,提高团队的技术水平。
  • 持续改进 :建立持续改进的机制,不断优化系统和流程,适应技术和业务的变化。

9.3 总结表格

方面 要点
挑战 遗留系统处理、缺乏平台团队、缺乏教育和入职计划
解决方案 保留遗留代码库、组建平台团队、制定培训计划
案例启示 明确核心业务、合理选择技术、支持开发人员
未来趋势 技术自动化、AI 融合、多云架构

9.4 未来规划流程图

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;

    A(云原生转型规划):::process --> B(战略制定):::process
    B --> C(团队建设):::process
    B --> D(技术选型):::process
    C --> C1(招聘人才):::process
    C --> C2(培训提升):::process
    D --> D1(选择成熟技术):::process
    D --> D2(关注新技术):::process
    A --> E(持续改进):::process
    E --> E1(监控评估):::process
    E --> E2(优化调整):::process

这个流程图展示了云原生转型的未来规划,包括战略制定、团队建设、技术选型和持续改进等方面。通过合理的规划和持续的改进,企业能够更好地应对云原生转型的挑战,实现成功转型。

【四轴飞行器】非线性三自由度四轴飞行器模拟器研究(Matlab代码实现)内容概要:本文围绕非线性三自由度四轴飞行器的建模仿真展开,重点介绍了基于Matlab的飞行器动力学模型构建控制系统设计方法。通过对四轴飞行器非线性运动方程的推导,建立其在三维空间中的姿态位置动态模型,并采用数值仿真手段实现飞行器在复杂环境下的行为模拟。文中详细阐述了系统状态方程的构建、控制输入设计以及仿真参数设置,并结合具体代码实现展示了如何对飞行器进行稳定控制轨迹跟踪。此外,文章还提到了多种优化控制策略的应用背景,如模型预测控制、PID控制等,突出了Matlab工具在无人机系统仿真中的强大功能。; 适合人群:具备一定自动控制理论基础和Matlab编程能力的高校学生、科研人员及从事无人机系统开发的工程师;尤其适合从事飞行器建模、控制算法研究及相关领域研究的专业人士。; 使用场景及目标:①用于四轴飞行器非线性动力学建模的教学科研实践;②为无人机控制系统设计(如姿态控制、轨迹跟踪)提供仿真验证平台;③支持高级控制算法(如MPC、LQR、PID)的研究对比分析; 阅读建议:建议读者结合文中提到的Matlab代码仿真模型,动手实践飞行器建模控制流程,重点关注动力学方程的实现控制器参数调优,同时可拓展至多自由度或复杂环境下的飞行仿真研究。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值