更新部署在Azure中的生产环境 - Cloud Service & Java

当我们把一个应用部署到Windows Azure,投入生产以后,我们往往需要更新这个应用。例如:修改Bug, 增加新功能等等。这时,为了确保生产环境的服务可用性,我们不希望一次更新带来很长宕机时间。本文针对Java应用,利用Eclipse与Windows Azure平台交互,实现一种最小宕机时间(几乎为0)的系统更新方法。


阅读本文,读者需要事先了解:

1. Windows Azure SDK in Eclipse

2. Windows Azure Cloud Service基本概念

3. 最好有一个已经部署到Azure Cloud Service的应用


要具备以上三方面的知识,读者可以根据这个例子一步步做下来: http://blog.csdn.net/shaunfang/article/details/8585708 。


本文介绍的方法共分为三步:

1. 把最新版本的应用程序部署到“过渡环境” (Staging Environment)

2. 在“过渡环境”对应用程序进行上线前测试

3. 将“过渡环境”切换到“生产环境”。把最新版本的应用程序部署到“过渡环境”


把最新版本的应用程序部署到“过渡环境”

首先,在Eclipse中把最新版本的应用程序部署到相应的云服务。注意,这里一定要选择"Staging"环境。

更新部署在Azure中的生产环境 - Cloud Service & Java_第1张图片


部署成功后,我们登录到Windows Azure管理界面,会看到这个应用的访问地址,是一串随机产生的字符串,同时也有不同于生产环境的VIP。我们可以通过这个URL,对应用程序进行测试。

更新部署在Azure中的生产环境 - Cloud Service & Java_第2张图片


对比生产环境,我们可以看到他们的SITE URL和PUBLIC VIRTUAL IP (VIP) ADDRESS都不一样:

更新部署在Azure中的生产环境 - Cloud Service & Java_第3张图片


注意, 如果在Eclipse部署时得到HTTP 409错误。类似下面的错误信息:

Failed : HTTP error code : ResourceNotFound:The resource service name hostedservices is not supported.

您需要做的是,删除Azure存储帐号中的"eclipsedeploy"目录。在Windows Azure Eclipse Plugin 2.2.1版本中,这个问题得到了解决。


在“过渡环境”对应用程序进行上线前测试

将“过渡环境”切换到“生产环境“

更新部署在Azure中的生产环境 - Cloud Service & Java_第4张图片


这里需要注意的是:

1. "Staging"环境和"Production"环境的规模必须一致。例如,如果Production环境中有3个web role, 3个worker role,那么Staging环境也需要是相同的配置。

2. 由于建立了"Staing"环境,虚机的个数相当于加倍。为了节省开销,请注意及时删除Staging环境。




你可能感兴趣的:(java,云服务,azure)