云迁移与应用现代化:全面指南
1. 云迁移前的数据安全考量
在迈向云端之前,安全检查是至关重要的预检查。对于任何外包服务而言,安全都是重中之重。若在应用程序层面进行了恰当的安全测试,那么无论应用是托管在云端还是内部,因编程不佳而被黑客攻击的可能性差异可忽略不计。在将服务部署到任何外包提供商的硬件(如云)上时,除了应用程序安全,还有三个关键领域需要关注:
-
通信加密与认证
:为避免数据在企业网络与外部应用之间传输时被窥探和拦截,唯一的方法是对其进行加密。有多种成熟且易于实施的技术可实现这一点,例如用于加密网站的 HTTPS 协议。同时,必须采取措施确保只有授权用户能够访问外部服务,因为默认情况下该服务可能会对整个互联网可见。同样,已有许多成熟技术可用于实现这一目标,如 OpenAM。
-
虚拟防火墙、虚拟隔离和静态数据加密
:必须采取措施确保虚拟服务器仅接受对目标应用程序的连接。允许访问无关软件会增加黑客通过非应用程序途径获取访问权限的机会,并增加确保这些其他访问点都应用了最新安全补丁的维护开销。在虚拟化环境中,必须保证物理服务器内虚拟机的真正隔离,以防止同一物理服务器上的两个虚拟机意外访问彼此的资源。在极不可能发生的成功黑客攻击事件中,务必对存储在磁盘上的任何敏感数据进行加密,使入侵者无法读取。
-
物理防火墙
:这也被称为门、锁、钥匙、墙和保安。接管任何机器最简单的方法是直接走到它面前并进行物理控制,因此,对于最顽固的入侵者,最有效的防御是数据中心拥有良好的物理安全系统。任何有信誉的数据中心至少应符合国际物理安全标准。
2. 数据传输问题
IaaS 云基于互联网,因此通常只有一种将数据导入其中的方法:通过互联网上传文件。许多小型企业使用的互联网连接上传速度远低于下载速度,即使上传 1GB 数据也可能需要很长时间。即使是最快的企业网络,也难以在合理的时间内上传几十 GB 的数据,例如 DNA 测序机器产生的数据集。如果需要将大型数据集迁移到已迁移的软件中或从其中迁移出来,则需要仔细考虑如何实现、减少或避免这种数据传输。一些 IaaS 提供商提供将数据硬盘邮寄给他们的选项,以避免这些上传瓶颈,但要注意,运输延迟和供应商数据中心的工作量可能意味着该过程远非即时完成。最佳方法是仔细审视数据传输需求,看是否可以将其最小化,例如通过在本地预处理大型数据集以生成较小的摘要数据集进行上传。相反,云可以是提高使用应用程序的客户下载速度的好方法。云供应商可以将应用程序部署在离客户位置最近的物理服务器上,这可以显著改善客户从应用程序获得的响应时间。
3. 数据存储与位置
云数据存储可能很昂贵,特别是对于大量数据而言。因此,应考虑数据保留策略。是否应将旧数据从云端存档到磁带库或其他外部资源?是否真的需要原始数据,还是摘要数据就足够了?虽然数据在云端内的移动成本并不高,但根据供应商的不同,内部带宽收费可能会产生费用,因此应用程序应避免不必要地移动数据。共享数据资源(如共享驱动器或中央关系数据库)可能比在虚拟机之间直接复制数据更有效,特别是对于通常随机或部分访问而非顺序或全部访问的数据源。
4. 可扩展性
云应用程序的可扩展性并非在部署时就能自动实现(至少在 IaaS 中不是这样,尽管单应用程序的 PaaS 部署可以从主机环境继承一定程度的可扩展性)。应用程序必须放置在云端的负载均衡器/自动扩展器之后,以便按需扩展。一些云供应商将这些作为服务的一部分提供,而另一些则需要安装第三方工具。然而,大多数扩展和平衡解决方案都会产生一些额外费用。一旦应用程序置于负载均衡器或自动扩展器之后,应用程序本身需要意识到它可能会被扩展。如果要迁移一个已经在内部负载均衡器后面运行的内部应用程序,那么为了支持在云端的扩展,可能只需进行很少的更改。对于尚未在内部进行负载均衡的应用程序,开发人员需要评估代码,以确保它能够适应不断变化的环境。例如,如何持久化用户会话?如何协调对任何中央数据资源的访问以避免冲突?
5. 服务级别保证
向任何云供应商询问的第一个问题是他们的可用性保证是什么,以及如果他们未能履行承诺会有什么补偿。云供应商未能提供约定的服务对于任何云应用程序来说都是最糟糕的情况。应特别关注供应商倒闭或被收购时的相关流程。一旦对供应商的服务保证有信心,下一步就是查看供应商的备份计划。他们是否进行现场或异地备份?在数据中心丢失的情况下,他们的灾难恢复计划是什么?他们是否保证恢复虚拟服务器的内容(即应用程序和数据),还是仅恢复基础操作系统?应根据这些答案制定独立的异地备份计划。
6. 升级和维护计划
云供应商需要不时更新他们的系统,以安装最新的安全补丁和新功能。基于云构建的应用程序需要意识到这些补丁的更新,并制定计划以确保升级后不会受到不利影响。供应商通常会提供选择升级时间的选项,但有一个固定的最终截止日期,无论如何升级都会进行,因此应用程序开发人员应提前进行充分测试,以确保服务的连续性。同样,如果供应商安排云服务的计划停机时间进行维护,应尽量安排应用程序的维护窗口与之重合,以防止使用该应用程序的客户出现过多的停机情况。
7. 软件架构
传统应用程序是为传统硬件配置设计的,而云应用程序是为云基础设施和功能设计的,两者不一定等同。虽然完全可以将传统应用程序直接复制到基于云的原始环境副本中,但这并不总是最有效地利用云功能的方式。在选择基础设施时,需要考虑以下问题:
|问题|考虑因素|
| ---- | ---- |
|是否需要网格/集群等效物|还是云替代方案(如 Hadoop 或自实例化实例)可以提供更好的服务?|
|是否需要集成负载均衡器|还是云的默认负载均衡器就足够了?|
|是否需要数据库复制来分发请求|还是单个更大的虚拟数据库服务器可以自行处理所有流量?|
8. 云在构建和维持下一代商业企业中的作用
8.1 云的角色概述
云主要代表着基础设施的变革。基础设施优化在实现企业/业务变革中起着非常重要的作用,因此,云技术被企业高管和基础设施架构师视为一种变革性和增强性的方法。除了大量的成本节约(特别是资本成本)外,云模式还带来了诸多好处:
-
更好地管理成本和风险
:外包使购买者能够通过服务提供商的全球交付模式,以最小的风险和最优化的成本完成工作。IT 服务组织和系统集成商凭借多年的服务交付经验,能够克服各种障碍,为客户带来预期的成功。
-
支持业务创新
:由于多年积累的可重复和可复用的专业知识,服务提供商可以准确理解客户的当前和未来需求。因此,可以迅速将正确的创新融入所提供的解决方案中。服务提供商可以通过应用程序合理化和基础设施整合简化 IT,从而处理各种架构、技术和基础设施的复杂性。这种转变带来的 IT 敏捷性将转化为业务敏捷性。
-
增加市场份额和品牌影响力
:服务提供商帮助客户增加与客户的接触点,缩短上市时间,并帮助他们为客户提供更高效、优质的服务。企业的品牌价值和竞争力将立即提升到更高水平。
-
提升终端用户体验
:业务服务的终端用户体验对于确定业务的成功和生存至关重要。有几个非功能性(服务质量 (QoS))属性,如性能、可扩展性、可用性、安全性、简单性、可访问性和易用性。在这个竞争激烈的环境中,业务用户完成业务交易的便捷性和速度最为重要。
8.2 其他改进和提升
实时和现实世界的分析提供了更深入的可见性、更严格的可控性和微观管理,进而带来以下好处:
- 加速和简化产品化、流程改进、更好的规划和执行活动。
- 降低总拥有成本 (TCO) 并提高投资回报率 (ROI)。
- 增强客户忠诚度和满意度,促进重复业务。
- 实现同步和单一的客户视图和声音。
- 可视化、规划和实施以人为本、即时集成且有洞察力的产品和服务。
- 实现智能、复杂且情境感知的应用程序。
- 促进个性化和首选服务的交付和消费。
- 实现随时随地、使用任何设备、任何网络、任何媒体、任何服务等的美好现实。
9. 云迁移的趋势与挑战
云计算具有深入渗透到每个行业领域的内在潜力和长期前景,在全球范围内得到了广泛的采用和适应。各种云基础设施、软件应用以及以云为中心的流程、平台、模式和实践不断涌现。云带来了一系列有前景的新型商业模式,包括下一代交付、定价、订阅、部署和消费模式,因此企业纷纷积极评估云选项。专业人员正在努力识别内部和外部的限制因素,并相互合作,以挖掘能够克服这些限制的技术解决方案。领先的市场观察家和分析师表明,未来每个公司都将在云端拥有重要的战略地位。云迁移策略是有效利用不断发展的云环境、推动企业未来发展的核心需求。
10. 软件供应商的云转型需求
互联网服务和应用交付方式的新发展为软件供应商带来了巨大机遇。互联网不仅速度越来越快,数据传输更加迅速,而且在客户与供应商之间的交易方面也变得更加可靠。这使得基本的 IT 设备(如存储服务器或计算集群)能够作为服务提供,即供应商提供硬件和基础设施,客户提供数据。责任的分离加速了新服务平台和软件产品的开发。
由于创新速度不断加快,互联网时代的软件产品也需要不断发展。例如,过去 5 年我们的工作方式发生了巨大变化,这得益于云计算、智能手机或社交网络等众多技术和新方法的突破。技术领域的创新影响着软件需要支持或适应的系统,商业领域的创新也影响着软件的许可使用和交付模式。软件产品必须在不影响现有客户业务连续性的前提下,针对这些新情况进行改进和调整。
越来越多的传统软件供应商意识到需要转变其当前的业务和技术模式,以保持竞争力并开拓新市场。软件即服务 (SaaS) 和云计算被视为实现这一转变最有前景的途径:
- 通过面向服务的实现方式提供遗留应用程序,可能为这些应用程序开辟新的服务渠道,使其能够通过互联网提供服务,并与第三方服务相结合,从而为最终客户增加更多价值。此外,通过多租户使用此类应用程序,可以降低成本、扩大客户群,并消除为每个客户单独实施的概念。
- 使用云平台(IaaS、PaaS 和 SaaS)可以降低软件生产和资源使用方面的成本。此外,由于可扩展性的提高,可以实现对需求的动态适应和收益最大化。
然而,从现成软件(通常是遗留应用程序)向 SaaS 的过渡涉及业务、应用程序和技术等诸多方面的巨大挑战。软件现代化被视为软件迁移的一种特殊情况,目标软件框架通常比源规范更加现代化。管理这样的软件现代化在当今软件生命周期中仍然是一项重大挑战,通常被认为是不可避免、不可预测、成本高昂、技术难度大、耗时耗资源,且缺乏工具、技术或形式化方法的支持。
11. 软件迁移与现代化的挑战分析
11.1 挑战概述
软件从传统模式向 SaaS 及云计算模式迁移和现代化面临着诸多挑战,这些挑战涉及多个维度,具体如下:
|挑战类型|具体描述|
| ---- | ---- |
|业务层面|需要重新规划商业模式、调整市场策略、考虑客户接受度等,以适应云服务的特点和市场需求。例如,从一次性销售软件转变为按使用量收费的订阅模式,需要重新制定定价策略和客户服务体系。|
|应用程序层面|传统应用程序可能存在架构不灵活、代码耦合度高、缺乏多租户支持等问题,需要进行重构和优化。比如,要实现多租户功能,就需要对应用程序的数据隔离、资源分配等方面进行重新设计。|
|技术层面|涉及到云平台的选择、集成,以及安全、性能、可扩展性等技术难题。例如,选择合适的 IaaS、PaaS 或 SaaS 平台,确保应用程序在云环境中的安全运行和高效性能。|
11.2 挑战应对思路
为了应对这些挑战,需要采取系统的方法。首先,要对现有软件进行全面评估,确定迁移和现代化的可行性和优先级。其次,制定详细的计划,包括技术方案、项目进度、资源分配等。最后,在实施过程中,要注重团队协作和沟通,及时解决出现的问题。
12. 评估工具的必要性与设计思路
12.1 必要性分析
由于软件迁移和现代化的复杂性,需要一个有效的评估工具来辅助决策。这个工具可以帮助企业提前评估迁移的技术难度、成本和收益,避免盲目迁移带来的风险。例如,通过评估工具可以预测迁移过程中可能遇到的技术障碍,以及对业务的影响程度。
12.2 设计思路
评估工具的设计应综合考虑技术和业务两个方面。在技术方面,要评估软件的架构、代码质量、与云平台的兼容性等;在业务方面,要考虑成本效益、市场需求、客户满意度等。以下是一个简单的评估流程 mermaid 流程图:
graph LR
A[开始评估] --> B[技术评估]
A --> C[业务评估]
B --> D[架构分析]
B --> E[代码质量检查]
B --> F[云兼容性测试]
C --> G[成本效益分析]
C --> H[市场需求调研]
C --> I[客户满意度评估]
D --> J[生成技术报告]
E --> J
F --> J
G --> K[生成业务报告]
H --> K
I --> K
J --> L[综合评估]
K --> L
L --> M[得出评估结论]
13. 云迁移与应用现代化的关键步骤
13.1 规划阶段
- 需求分析 :明确企业的业务需求和目标,确定云迁移和应用现代化的范围和目标。例如,是为了降低成本、提高性能,还是为了拓展市场。
- 技术选型 :根据需求分析的结果,选择合适的云平台、技术栈和工具。比如,选择适合企业规模和业务特点的 IaaS、PaaS 或 SaaS 平台。
- 项目计划制定 :制定详细的项目计划,包括项目进度、资源分配、风险管理等。例如,确定每个阶段的时间节点和责任人。
13.2 实施阶段
- 数据迁移 :将企业的现有数据迁移到云平台上,确保数据的完整性和安全性。例如,采用数据加密、备份等措施。
- 应用程序重构 :对传统应用程序进行重构和优化,使其适应云环境。比如,采用微服务架构、容器化技术等。
- 测试与验证 :对迁移后的应用程序进行全面测试,确保其功能和性能符合预期。例如,进行功能测试、性能测试、安全测试等。
13.3 运维阶段
- 监控与维护 :对云环境和应用程序进行实时监控,及时发现和解决问题。例如,监控服务器的性能指标、应用程序的响应时间等。
- 升级与优化 :根据业务需求和技术发展,及时对云环境和应用程序进行升级和优化。比如,安装最新的安全补丁、优化数据库性能等。
14. 总结与展望
14.1 总结
云迁移和应用现代化是企业适应数字化时代的必然选择。通过合理规划和实施,可以带来诸多好处,如成本节约、业务创新、市场竞争力提升等。然而,这一过程也面临着诸多挑战,需要企业充分认识并采取有效的应对措施。
14.2 展望
未来,随着云计算技术的不断发展和完善,云迁移和应用现代化将变得更加容易和高效。同时,新的商业模式和技术趋势也将不断涌现,为企业带来更多的机遇和挑战。企业应密切关注行业动态,积极探索和应用新的技术和方法,以实现可持续发展。
总之,云迁移和应用现代化是一个复杂而长期的过程,需要企业在技术、业务和管理等多个方面进行全面的规划和实施。只有这样,才能在数字化浪潮中取得成功。
超级会员免费看

被折叠的 条评论
为什么被折叠?



