2012-02-03 86 views
3

假设我有一个应用程序,它分为各个层(Presentation,Business,Data Access)。如何独立将这些图层部署到Azure?问题在于Azure配置,而不是应用程序的体系结构。将单独的图层部署到Azure

+0

您是否打算在同一物理实例集上托管所有三个图层? – Igorek 2012-02-03 23:37:23

+0

我想先在一个实例中托管所有三层,但随后以这种方式缩放应用程序,即每层都有N个实例 – 2012-02-04 10:05:08

回答

1

应用程序通常被划分为各种角色,每个角色都是具有定义大小和实例数量的Windows Server 2008 R2。您通常会将您的应用分解为用于扩展和管理目的的角色。在单个部署中部署应用程序通常最简单。

关于您的场景:如果您想推出独立于应用程序生活的Web服务层(或者可能服务于您的多个应用程序),那么您会将该Web服务层(在Web角色,让我们说)在自己的部署。您需要管理身份验证/授权,因为Web服务随后将使用公共端点进行通信(或者您可以使用服务总线)。

在您的示例中:您可以将您的表示层(例如网站)与一组Web角色以及支持服务(如缓存)一起推送到一个部署。你可以在另一个部署中使用你的业务层,也可以像上面的例子那样使用web服务运行。然后,您的数据层可以是SQL Azure(数据库即服务),也可以是独立的数据库,如MongoDB,运行在自己的部署中。

每个部署都有自己的项目,并且您会分别部署和管理每个项目。没有跨越所有部署的配置。

+0

ok。可以说我为每个角色指定的实例数量等于1.如何指定我希望为每个角色单独实例或为所有角色实例化一个实例?原因是我想从一个实例开始,然后扩大规模。 – 2012-02-04 10:08:19

+1

部署中的每个角色至少有1个角色。它在每个角色的配置中指定。所以如果你有5个角色,你至少有5个实例。这对于一个近乎空闲的系统来说可能是昂贵的(比如在夜间)。如果需要,您可以将功能组合为单个角色。我[博客](http://www.davidmakogon.com/2011/02/azure-tip-overload-your-web-role-for.html)。如果您想实际关闭角色(例如,您有一个只需运行一个小时的工作任务,然后想要删除至0个实例),则需要将该角色放入单独的部署中,并在一小时后删除部署。 – 2012-02-04 12:05:41