调整应用架构
在传统的Web应用设计中,我们在架构上一般采用基于多层架构的设计,在Web层中会大量使用负载均衡等技术。一般的处理方式都是在应用程序设计好之后,在应用部署的过程中事先把环境配置好,而应用程序在运行过程中配置都是不变的。但是,随着时代的到来,我们开始面对一些新的挑战,相应地应用程序设计方式方法也随着发生一些变化。
由于云计算平台能够提供高可扩展性的弹性资源分配,因此许多人会认为只要构建了一个云计算平台,自己的应用程序部署在上面就能够实现随着负载的变化自动分配计算资源了,而且也会变得更加可靠。这是我们经常会遇到的一个误解。如果应用程序在传统物理环境的运行过程中存在一些可靠性问题,那么最好不要把云计算平台当成是一个灵丹妙药。
如果需要构建一个可以灵活扩展的应用系统,那么我们不仅需要底层基础设施能够进行弹性扩展,上面部署的应用程序也需要能够支持水平扩展。需要指出的是并不是所有应用程序都是可以扩展的,比如云计算系统构建中一个常见的扩展瓶颈就是管系统型这类应用平台的性能,例如,更快的、更多的内存等,但是由于本身的特点,要水平方向进行扩展却是比较困难的。
因此,如果在基础设施层面实现了或将要实现动态资源扩展能力,那么需要在应用架构设计上来保证其上的应用也可以实现相应的水平扩展能力。只有当底层平台和应用程序都能够动态扩展时,整个应用系统才能够整个实现动态可扩展的能力。
无论是功能上还是性能上云计算对应用的灵活性都提出了更高的要求。这就要求应用程序在设计的时候要考虑松耦合的架构。耦合度与灵活性一般都是相反的,即耦合度越高灵活性越低,耦合度越低灵活性越高。因此,在做企业应用架构设计的时候,一般要追求松耦合的设计。
例如,在做Web应用设计的时候,对于用户状态的保持就需要尽量采用无状态的方式来设计,这样应用程序的水平扩展能力会比较好。企业对应用架构上的调整和准备可以帮助企业今后更为顺利地把应用程序迁移到云计算平台上去。
读过这篇文章的人还读过:
4006199527