in src/Assessment/Processor/ProcessDatasets.cs [2390:2536]
private void Process_Financial_Summary_Model(List<Financial_Summary> Financial_Summary_List, List<SQL_MI_PaaS> SQL_MI_PaaS_List, List<SQL_IaaS_Instance_Rehost_Perf> SQL_IaaS_Instance_Rehost_Perf_List, List<SQL_IaaS_Server_Rehost_Perf> SQL_IaaS_Server_Rehost_Perf_List,
List<WebApp_PaaS> WebApp_PaaS_List, List<WebApp_IaaS_Server_Rehost_Perf> WebApp_IaaS_Server_Rehost_Perf_List,
List<VM_IaaS_Server_Rehost_Perf> VM_IaaS_Server_Rehost_Perf_List)
{
UserInputObj.LoggerObj.LogInformation("Creating excel model for Financial_Summary");
if (!AzurePaaSCalculator.IsCalculationComplete())
{
AzurePaaSCalculator.SetParameters(SQL_MI_PaaS_List, WebApp_PaaS_List);
AzurePaaSCalculator.Calculate();
}
if (!AzureIaaSCalculator.IsCalculationComplete())
{
AzureIaaSCalculator.SetParameters(SQL_IaaS_Instance_Rehost_Perf_List, SQL_IaaS_Server_Rehost_Perf_List, WebApp_IaaS_Server_Rehost_Perf_List, VM_IaaS_Server_Rehost_Perf_List);
AzureIaaSCalculator.Calculate();
}
Dictionary<string, int> WebPaaSEnvironmentToPlanCountMap = GetEnvironmentToPlanCountMap(WebApp_PaaS_List);
Financial_Summary PaaSWebAppDev = new Financial_Summary();
PaaSWebAppDev.MigrationStrategy = "Modernize/Re-Platform(PaaS)";
PaaSWebAppDev.Workload = "ASP.NET WebApps on IIS - Dev/Test";
PaaSWebAppDev.SourceCount = AzurePaaSCalculator.GetWebAppDevRowCount();
if (WebPaaSEnvironmentToPlanCountMap.ContainsKey("Dev"))
PaaSWebAppDev.TargetCount = WebPaaSEnvironmentToPlanCountMap["Dev"];
else
PaaSWebAppDev.TargetCount = 0;
PaaSWebAppDev.StorageCost = AzurePaaSCalculator.GetWebAppPaaSDevStorageCost() * 12.0;
PaaSWebAppDev.ComputeCost = AzurePaaSCalculator.GetWebAppPaaSDevComputeCost() * 12.0;
PaaSWebAppDev.TotalAnnualCost = (AzurePaaSCalculator.GetWebAppPaaSDevStorageCost() + AzurePaaSCalculator.GetWebAppPaaSDevComputeCost()) * 12.0;
Financial_Summary_List.Add(PaaSWebAppDev);
Financial_Summary PaaSWebAppProd = new Financial_Summary();
PaaSWebAppProd.MigrationStrategy = "Modernize/Re-Platform(PaaS)";
PaaSWebAppProd.Workload = "ASP.NET WebApps on IIS - Prod";
PaaSWebAppProd.SourceCount = AzurePaaSCalculator.GetWebAppProdRowCount();
if (WebPaaSEnvironmentToPlanCountMap.ContainsKey("Prod"))
PaaSWebAppProd.TargetCount = WebPaaSEnvironmentToPlanCountMap["Prod"];
else
PaaSWebAppProd.TargetCount = 0;
PaaSWebAppProd.StorageCost = AzurePaaSCalculator.GetWebAppPaaSProdStorageCost() * 12.0;
PaaSWebAppProd.ComputeCost = AzurePaaSCalculator.GetWebAppPaaSProdComputeCost() * 12.0;
PaaSWebAppProd.TotalAnnualCost = (AzurePaaSCalculator.GetWebAppPaaSProdStorageCost() + AzurePaaSCalculator.GetWebAppPaaSProdComputeCost()) * 12.0;
Financial_Summary_List.Add(PaaSWebAppProd);
Financial_Summary PaaSSQLDev = new Financial_Summary();
PaaSSQLDev.MigrationStrategy = "Modernize/Re-Platform(PaaS)";
PaaSSQLDev.Workload = "SQL Server Database Engine - Dev/Test";
PaaSSQLDev.SourceCount = AzurePaaSCalculator.GetSqlPaaSDevMachinesCountTarget();
PaaSSQLDev.TargetCount = AzurePaaSCalculator.GetSqlPaaSDevMachinesCountTarget();
PaaSSQLDev.StorageCost = AzurePaaSCalculator.GetSqlPaaSDevStorageCost() * 12.0;
PaaSSQLDev.ComputeCost = AzurePaaSCalculator.GetSqlPaaSDevComputeCost() * 12.0;
PaaSSQLDev.TotalAnnualCost = (AzurePaaSCalculator.GetSqlPaaSDevStorageCost() + AzurePaaSCalculator.GetSqlPaaSDevComputeCost()) * 12.0;
Financial_Summary_List.Add(PaaSSQLDev);
Financial_Summary PaaSSQLProd = new Financial_Summary();
PaaSSQLProd.MigrationStrategy = "Modernize/Re-Platform(PaaS)";
PaaSSQLProd.Workload = "SQL Server Database Engine - Prod";
PaaSSQLProd.SourceCount = AzurePaaSCalculator.GetSqlPaaSProdMachinesCountTarget();
PaaSSQLProd.TargetCount = AzurePaaSCalculator.GetSqlPaaSProdMachinesCountTarget();
PaaSSQLProd.StorageCost = AzurePaaSCalculator.GetSqlPaaSProdStorageCost() * 12.0;
PaaSSQLProd.ComputeCost = AzurePaaSCalculator.GetSqlPaaSProdComputeCost() * 12.0;
PaaSSQLProd.TotalAnnualCost = (AzurePaaSCalculator.GetSqlPaaSProdStorageCost() + AzurePaaSCalculator.GetSqlPaaSProdComputeCost()) * 12.0;
Financial_Summary_List.Add(PaaSSQLProd);
Financial_Summary IaaSWebAppDev = new Financial_Summary();
IaaSWebAppDev.MigrationStrategy = "Migrate/Rehost to Azure (IaaS)";
IaaSWebAppDev.Workload = "ASP.NET WebApps on IIS - Dev/Test";
IaaSWebAppDev.SourceCount = AzureIaaSCalculator.GetwebappIaaSDevMachinesCount();
IaaSWebAppDev.TargetCount = AzureIaaSCalculator.GetwebappIaaSDevMachinesCount();
IaaSWebAppDev.StorageCost = AzureIaaSCalculator.GetWebAppIaaSDevStorageCost() * 12.0;
IaaSWebAppDev.ComputeCost = AzureIaaSCalculator.GetWebAppIaaSDevComputeCost() * 12.0;
IaaSWebAppDev.TotalAnnualCost = (AzureIaaSCalculator.GetWebAppIaaSDevStorageCost() + AzureIaaSCalculator.GetWebAppIaaSDevComputeCost()) * 12.0;
Financial_Summary_List.Add(IaaSWebAppDev);
Financial_Summary IaaSWebAppProd = new Financial_Summary();
IaaSWebAppProd.MigrationStrategy = "Migrate/Rehost to Azure (IaaS)";
IaaSWebAppProd.Workload = "ASP.NET WebApps on IIS - Prod";
IaaSWebAppProd.SourceCount = AzureIaaSCalculator.GetwebappIaaSProdMachinesCount();
IaaSWebAppProd.TargetCount = AzureIaaSCalculator.GetwebappIaaSProdMachinesCount();
IaaSWebAppProd.StorageCost = AzureIaaSCalculator.GetWebAppIaaSProdStorageCost() * 12.0;
IaaSWebAppProd.ComputeCost = AzureIaaSCalculator.GetWebAppIaaSProdComputeCost() * 12.0;
IaaSWebAppProd.TotalAnnualCost = (AzureIaaSCalculator.GetWebAppIaaSProdStorageCost() + AzureIaaSCalculator.GetWebAppIaaSProdComputeCost()) * 12.0;
Financial_Summary_List.Add(IaaSWebAppProd);
Financial_Summary IaaSServerDev = new Financial_Summary();
IaaSServerDev.MigrationStrategy = "Migrate/Rehost to Azure (IaaS)";
IaaSServerDev.Workload = "Servers - Dev/Test";
IaaSServerDev.SourceCount = AzureIaaSCalculator.GetvmserverIaaSDevMachinesCount();
IaaSServerDev.TargetCount = AzureIaaSCalculator.GetvmserverIaaSDevMachinesCount();
IaaSServerDev.StorageCost = AzureIaaSCalculator.GetVmIaaSDevStorageCost() * 12.0;
IaaSServerDev.ComputeCost = AzureIaaSCalculator.GetVmIaaSDevComputeCost() * 12.0;
IaaSServerDev.TotalAnnualCost = (AzureIaaSCalculator.GetVmIaaSDevStorageCost() + AzureIaaSCalculator.GetVmIaaSDevComputeCost()) * 12.0;
Financial_Summary_List.Add(IaaSServerDev);
Financial_Summary IaaSServerProd = new Financial_Summary();
IaaSServerProd.MigrationStrategy = "Migrate/Rehost to Azure (IaaS)";
IaaSServerProd.Workload = "Servers - Prod";
IaaSServerProd.SourceCount = AzureIaaSCalculator.GetvmserverIaaSProdMachinesCount();
IaaSServerProd.TargetCount = AzureIaaSCalculator.GetvmserverIaaSProdMachinesCount();
IaaSServerProd.StorageCost = AzureIaaSCalculator.GetVmIaaSProdStorageCost() * 12.0;
IaaSServerProd.ComputeCost = AzureIaaSCalculator.GetVmIaaSProdComputeCost() * 12.0;
IaaSServerProd.TotalAnnualCost = (AzureIaaSCalculator.GetVmIaaSProdStorageCost() + AzureIaaSCalculator.GetVmIaaSProdComputeCost()) * 12.0;
Financial_Summary_List.Add(IaaSServerProd);
Financial_Summary IaaSSQLDev = new Financial_Summary();
IaaSSQLDev.MigrationStrategy = "Migrate/Rehost to Azure (IaaS)";
IaaSSQLDev.Workload = "SQL Server Database Engine - Dev/Test";
IaaSSQLDev.SourceCount = AzureIaaSCalculator.GetsqlIaaSDevMachineIdCount();
IaaSSQLDev.TargetCount = AzureIaaSCalculator.GetsqlIaaSDevMachinesCountTarget();
IaaSSQLDev.StorageCost = AzureIaaSCalculator.GetSqlIaaSDevStorageCost() * 12.0;
IaaSSQLDev.ComputeCost = AzureIaaSCalculator.GetSqlIaaSDevComputeCost() * 12.0;
IaaSSQLDev.TotalAnnualCost = (AzureIaaSCalculator.GetSqlIaaSDevStorageCost() + AzureIaaSCalculator.GetSqlIaaSDevComputeCost()) * 12.0;
Financial_Summary_List.Add(IaaSSQLDev);
Financial_Summary IaaSSQLProd = new Financial_Summary();
IaaSSQLProd.MigrationStrategy = "Migrate/Rehost to Azure (IaaS)";
IaaSSQLProd.Workload = "SQL Server Database Engine - Prod";
IaaSSQLProd.SourceCount = AzureIaaSCalculator.GetsqlIaaSProdMachineIdCount();
IaaSSQLProd.TargetCount = AzureIaaSCalculator.GetsqlIaaSProdMachinesCountTarget();
IaaSSQLProd.StorageCost = AzureIaaSCalculator.GetSqlIaaSProdStorageCost() * 12.0;
IaaSSQLProd.ComputeCost = AzureIaaSCalculator.GetSqlIaaSProdComputeCost() * 12.0;
IaaSSQLProd.TotalAnnualCost = (AzureIaaSCalculator.GetSqlIaaSProdStorageCost() + AzureIaaSCalculator.GetSqlIaaSProdComputeCost()) * 12.0;
Financial_Summary_List.Add(IaaSSQLProd);
Financial_Summary ManagementBackup = new Financial_Summary();
ManagementBackup.MigrationStrategy = "Management";
ManagementBackup.Workload = "Backup Servers";
ManagementBackup.SourceCount = AzureIaaSCalculator.GetManagementSourceMachinesCount();
ManagementBackup.TargetCount = AzureIaaSCalculator.GetManagementTargetMachinesCount();
ManagementBackup.StorageCost = 0;
ManagementBackup.ComputeCost = AzureIaaSCalculator.GetTotalBackupComputeCost() * 12.0;
ManagementBackup.TotalAnnualCost = AzureIaaSCalculator.GetTotalBackupComputeCost() * 12.0;
Financial_Summary_List.Add(ManagementBackup);
Financial_Summary ManagementRecovery = new Financial_Summary();
ManagementRecovery.MigrationStrategy = "Management";
ManagementRecovery.Workload = "Disaster Recovery";
ManagementRecovery.SourceCount = AzureIaaSCalculator.GetManagementSourceMachinesCount();
ManagementRecovery.TargetCount = AzureIaaSCalculator.GetManagementTargetMachinesCount();
ManagementRecovery.StorageCost = 0;
ManagementRecovery.ComputeCost = AzureIaaSCalculator.GetTotalRecoveryComputeCost() * 12.0;
ManagementRecovery.TotalAnnualCost = AzureIaaSCalculator.GetTotalRecoveryComputeCost() * 12.0;
Financial_Summary_List.Add(ManagementRecovery);
UserInputObj.LoggerObj.LogInformation("Updated excel model for Financial Summary");
}