WEB开发网
开发学院服务器云计算 Windows Azure: 将应用程序迁移到云的技巧 阅读

Windows Azure: 将应用程序迁移到云的技巧

 2010-10-10 07:17:38 来源:WEB开发网   
核心提示:我们在迁移实验中最常听到的问题和关注点就以这四个方面为中心, 因此,Windows Azure: 将应用程序迁移到云的技巧(2),我们将围绕这些主题进行讨论,我们常遇到一种误解,这远比您的预期简单得多, 您告诉诊断监视器要收集哪些类型的诊断信息(请参见图 1 中的示例),就是在使用 Windows Azure 迁移到云

我们在迁移实验中最常听到的问题和关注点就以这四个方面为中心。 因此,我们将围绕这些主题进行讨论。

我们常遇到一种误解,就是在使用 Windows Azure 迁移到云或在云中创建应用程序时,认为开发人员无需担心常见体系结构模式的一些值得关注的问题,如可用性、可伸缩性、可靠性和安全性。 事实上,构建的应用程序无论是进行内部部署还是 Windows Azure 部署,分布式计算上下文中的体系结构模式都同样有效。

应用程序管理

无论您的应用程序在内部部署还是在云中运行,操作管理团队都需要一些数据来做出有效的决策。 您将需要考虑一些问题,包括服务级别协议、容量计划、客户计费、审核、应用程序监视、流量分析和成本管理(知道何时升高或降低)。 这些问题需要在将应用程序部署到生产环境中之前得到解决,而且往往最好在创建应用程序之前解决。

这些只是需要在 Windows Azure 迁移实验中考虑的一部分问题。 通过利用 Windows Azure SDK 中提供的 Windows Azure 诊断 API (Microsoft.WindowsAzure.Diagnostics),客户可以公开应用程序故障转储、失败的请求跟踪、Windows 事件日志、IIS 日志、Windows Azure 日志以及性能计数器。

这远比您的预期简单得多。 您告诉诊断监视器要收集哪些类型的诊断信息(请参见图 1 中的示例),并将这些信息的数据传输计划设置为传输到中央 Windows Azure 存储位置。

图 1 设置诊断

public class WebRole : RoleEntryPoint { 
 public override bool OnStart() { 
  DiagnosticMonitorConfiguration config = 
   DiagnosticMonitor.GetDefaultInitialConfiguration(); 
 
  // To see which counters you can capture, type 
  // "typeperf.exe /q" in a command window. 
 
  // Capture CPU utilization. 
  PerformanceCounterConfiguration procUtilization = 
   new PerformanceCounterConfiguration(); 
  procUtilization.CounterSpecifier = 
   @"Processor(*)\% Processor Time"; 
  procUtilization.SampleRate = 
   System.TimeSpan.FromSeconds(30.0);  
  config.PerformanceCounters.DataSources.Add(procUtilization); 
 
  // Monitor available memory. 
  PerformanceCounterConfiguration procAvailMemory = 
   new PerformanceCounterConfiguration(); 
  procAvailMemory.CounterSpecifier = @"\Memory\Avail MBytes"; 
  procAvailMemory.SampleRate = 
   System.TimeSpan.FromSeconds(30.0);  
  config.PerformanceCounters.DataSources.Add(procAvailMemory); 
 
  // Add event collection from Windows Event Log 
  // (System and Application event logs). 
  config.WindowsEventLog.DataSources.Add("System!*"); 
  config.WindowsEventLog.DataSources.Add("Application!*"); 
 
  // All of the information monitored so far is being stored locally. 
  // Tell diagnostic monitor what schedule period should be used when 
  // transfering the events. 
  config.Directories.ScheduledTransferPeriod = 
   TimeSpan.FromMinutes(1); 
  config.Logs.ScheduledTransferPeriod = 
   TimeSpan.FromMinutes(1); 
 
  // Start the diagnostics monitor. 
  DiagnosticMonitor.Start("DiagnosticsConnectionString", config); 
 
  // True gives full crash dumps. False gives small crash dumps. 
  CrashDumps.EnableCollection(false); 
 
  System.Diagnostics.Trace.TraceInformation("OnStart Completed"); 
 
  RoleEnvironment.Changing += RoleEnvironmentChanging; 
 
  return base.OnStart(); 
 } 
...

上一页  1 2 3 4 5 6 7  下一页

Tags:Windows Azure 应用程序

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接