“云计算”不等于“托管2.0”

“云计算”不等于“托管2.0”

2010-04-28 14:38:26

云计算 我们要架构云应用程序,但不能让它变成空中楼阁。如果你采用“托管 2.0”的方式处理云计算,就会造成很严重的后果,不信请看:

我们要架构云应用程序,但不能让它变成空中楼阁。如果你采用“托管 2.0”的方式处理云计算,就会造成很严重的后果,不信请看下文分析。  

HyperStratus咨询公司最近处理了几个相似的案例:企业部署在亚马逊云计算基础上的应用出现了一些问题。

问题一:应用程序能够安装于各系统分类总列表中,并且运行良好,但是如果亚马逊的弹性云(Elastic Compute Cloud,EC2)实例崩溃或是需要中止程序,该应用程序就会停止运行,直到新版的实例投入运行后才恢复。

问题二:在EC2实例超载的情况下,不能通过添加更多资源来改善应用程序的性能。

问题三:目前只有在完全脱机的状态下才能够对应用程序进行升级。

问题四:性能会在数据库方面遇到瓶颈,但不能通过任何便于管理的方式进行数据库的复制。

云计算安装过程中可能遇到的问题

在与这些客户沟通的过程中,HyperStratus遇到了一个相同的问题:“云计算具有灵活性、可用性。可扩展性等优势,怎么就解决不了这个问题?为什么应用程序会出现这么多问题?”

问题的根源在于,他们把云计算当做了“托管2.0”,因此吃到了苦头。

简单的说,云计算的扩展性与应用程序的扩展性是不同的,除非你架构了云应用程序,否则不可能享有云计算所带来的好处。HyperStratus的观点是“要构建云应用程序,但不能让程序成为空中楼阁。”

那么“构建云应用程序”究竟是什么意思,云与托管2.0究竟有什么不同?从下面这些架构云应用的关键原则中获悉可以找到答案。

要知道到个人计算资源发生什么事情都是可能的。在亚马逊的云计算中,某一个EC2实例偶尔会出现性能不佳、停止响应甚至崩溃。资源也会出现一定规模的故障。所有云供应商都面临着这个问题。Google因为它们超低成本的服务器理论而出名,在主板上直接连硬盘驱动器,并且没有金属外壳(Google的机器可以称之为裸身机器);当一台机器当机了,Google将其迁移到另外一台机器上,并且再次做一个备份。因为有着成千上万台服务器在运行,失败是在所难免得,所以google的架构的解决方案时直面失败,在失败的时候以更强劲的资源应对。同样的,应当把个人应用程序运行在云环境中,因为个人的电脑资源更容易出现问题。所以应用程序必须能够实现在两个以上EC2实例中运行。

应用程序能够在两个以上EC2实例中运行,因此就存在一些潜在的危险。应用程序可能在多个虚拟机之间进行替换,或是设置在两台计算机都能够进入的共享区域。这不是说每个应用程序必须被分隔在它们自带的实例中,单一的EC2实例可以支持多个应用程序;比如说,在一个单一的实例下可以运行多个不同网站。这确实意味着每个应用程序必须经过编写才能跨越多个实例。

应用程序要根据云计算环境针对性编写。这既意味着类同性会话将通过应用程序之前的负载均衡器进行管理,也意味着该应用程序将其自身的会话信息保留在一个共享区域内。这一点可以通过将会话信息保留在由应用程序服务器共享的元数据服务器内来实现,尽管最终这种方法可能会在装载元数据服务器的过程中遭遇瓶颈。最普遍的解决方法就是将会话信息转移到性能更加完备的会话分层处理器中。无论如何,会话信息必须要以某种方式满足应用程序所需要的每个部分。

要确保计算资源具有可扩展性。用户选择使用云的一个主要原因是,它能够使应用程序动态获取他们想要的资源,根据装载情况改变资源数量。如果需要人为干扰来增加或减少资源,障碍物就会从计算资源转化至人类资源,这其实并不是理想状态。如果不编写应用程序,资源等级就不能进行动态变化,这时操作员就必须要指派一个固定的资源等级;最终又会回到原有状态,在实用性和投资之间反复权衡,也就是说,我应该牺牲掉经济利益还是失掉一部分客户群?

这些并不是想要阻止人们向“云应用程序”迈进的脚步。编写应用程序以实现其无需人类介入状态下的动态缩放并不是微不足道的小事。首先,大多数软件组件都会假定有人工操作,而不是自动的,你对它进行管理,随后出现一种“升级配置文件并重新启动服务器”的解决方案。这十分适合那些极端静态的应用程序拓扑结构,但却是动态转换应用程序拓扑结构的噩梦。

另一个问题就是需要决定如何处理一个应用程序中多版本复制所共享的文档和物体。它们可以放置在网页文件系统中,但是性能仍然是个大问题。对于在功能上支持SAN或是NAS的云环境而言,文件可以定位在中心区域,尽管这可能会强制增加一些潜在的危险。文档的复制版可以放在每个服务器内,尽管这可能会在分配和版本控制方面遇到一些挑战。最佳的方案就是将所有的文档全部放置在中心区域内(比如说,放在以Amazon为载体的应用程序S3中),并在所有虚拟计算机内下载“官方”文件,让它们在实例化的过程中自行完成安装。这也有点超出常规,一些非动态环境很少会用到这样的操作。在大多数环境下的常见方案就是将重点放在硬件(和虚拟计算机)的加固上,并没有针对动态应用程序拓扑结构制定什么计划。

目前还没有确切的数字可以表明到底会有百分之几的应用程序需要进行动态拓扑结构的装载。所以并不是每个应用程序都需要升级成“云应用程序”。从另一个角度来说,通常很难预测在一个应用程序的整个使用周期内会进行哪些负载。由于将来应用程序可能会遇到越来越多不可预测的负载和古怪的负载模式,最终设计模式与编写动态应用程序相结合很有可能会成为一种常规做法——换句话说,每一种应用程序都要经过编写,这样在高度动态负载的情况下才会保持稳定。对于那些包含这些负载形式的应用程序而言,它们已经准备投入到使用中去了;而对于那些不包含这些负载形式的应用程序来说,这种性能仍然会存储备用、保持在未开启状态,并在最终需要的时刻派上用场。

对于架构师和软件工程师们来说,学会当前的设计模式是非常重要的,因为当前经过设计和编写的应用程序会在几年内派上用场,而且最终很有可能会在云环境内运行。这就意味着应用程序编写时应该照顾到“云应用程序”,即使目前并不需要在云环境内进行操作。
 

【编辑推荐】

  1. 中小企业选择:数据中心托管还是云计算?
  2. 云计算和主机托管有哪几点不同?
  3. 看云计算如何解决高性能计算资源调度问题

 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/301520.html<

(0)
运维的头像运维
上一篇2025-05-24 09:09
下一篇 2025-05-24 09:11

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注