您的一台服务器崩溃并且您必须从头开始重新配置它的日子已经一去不复返了。 这将包括从检查硬件故障到软件故障的繁琐手动过程。 现在,组织已经采用本地脚本工具来自动执行任务,并将 IT 基础设施的配置转移到云中。 但是,这仍然不能消除在配置资源时出现人为错误的风险,以及在云上配置每台所需机器的时间和成本。
为解决这些问题,基础架构即代码 (IaC) 可帮助您自动部署整个基础架构,只需运行一个脚本,您只需提供硬件和软件需求,其余部分由云处理。 您不必运行脚本或为每台正在供应的机器提供配置; 这种重复性任务由基础设施即代码本身处理。 这最大限度地降低了配置中每个服务器的配置偏差的风险。
更多来自Google的 NCache 用户选择使用和部署 NCache 在 Azure 上。 通常,您设置 VNet,部署要安装的虚拟机 NCache,创建缓存,并将您的应用程序连接到缓存集群。 NCache 使用基础架构即代码使 Azure 部署更加轻松 GitHub上的解决方案 以 ARM 模板的形式。
ARM(Azure 资源管理器)模板是一个 JSON 文件,其中包含参数、变量、资源或自动化 Azure 部署所需的任何内容。 在 NCache 托管 ARM 模板,您只需在这些文件中提供配置(稍后会详细介绍)并使用 Azure PowerShell 部署 ARM 模板:
- azuredeploy.parameters.json: azuredeploy.parameters.json 包含最终用户参数,如缓存配置、虚拟机/网络、许可信息等。
- 天蓝色部署.json: azuredeploy.json 包含有关要部署哪些资源的信息,例如 NCache 图片。 这是一个模板 。参数 文件中。
此外,您可以激活 NCache 通过 ARM 模板或使用它进行评估。
NCache 更多信息 NCache 基础设施即代码 GitHub 解决方案
快速部署示例 NCache
如果您正在评估 NCache 峰值负载下的性能或无缝扩展的程度,您可以部署 NCache 通过基础结构即代码在 Azure 中。 Azure 预配您的应用程序所需的资源,因此您只需准备好即可使用的资源 NCache 簇。 您需要做的就是将您的应用程序连接到此缓存集群。
一旦您在 NCache 托管 ARM 模板,您可以通过在 Azure PowerShell 中执行的简单脚本部署模板。 这将自动为您执行以下任务:
- 使用提供的参数创建缓存
- 创建一个集群 NCache 节点
- 在所有节点上启动缓存,为您提供服务缓存
使用默认值 NCache GitHub上的ARM模板,可以部署三个缓存的运行集群, 应用缓存, 塞西奥nCache, 数据缓存 通过在 Azure PowerShell 中执行以下命令:
1 |
New-AzResourceGroupDeployment -ResourceGroupName -TemplateFile "https://raw.githubusercontent.com/Alachisoft/NCache-Solutions/master/AzureInfrastructureAsCodeArmTemplate/NCacheArmTemplate/azuredeploy.json" -TemplateParameterFile "https://raw.githubusercontent.com/Alachisoft/NCache-Solutions/master/AzureInfrastructureAsCodeArmTemplate/NCacheArmTemplate/azuredeploy.parameters.json" |
运行此脚本后,部署更改和进度将显示在终端上。 您甚至可以记录此进度以供以后审核。 进度包括模板文件结构或参数输入有效性的验证。 这有助于及早诊断部署中的任何问题,因为通过 Azure 门户进行部署只会在整个过程发生后提示部署中的任何错误。
通过 ARM 模板快速设置 60 天免费试用
NCache 在 Azure 中的 BYOL 模型中提供 60 天的免费评估。 如果你想评价 NCache,您可以通过单击部署轻松完成 NCache 在 Azure 中使用基础结构即代码。 其余的由 NCache ARM 模板本身。 您只需将客户端计算机添加到已部署的缓存中,然后继续使用和评估 NCache. 是的,就是这么简单!
使用 ARM 模板轻松部署环境
无论您在什么环境下工作,部署 NCache 使用基础架构即代码,通过自动创建集群和虚拟机来消除重新配置环境时出现错误或偏差的风险。 您可以使用 ARM 模板部署任何环境,如下所示:
- 制作/分期: 在这些环境中,您绝对不能承受重新部署的任何错误和延迟。 这就是为什么确保每次都部署一个经过验证的参数文件而不必重写配置非常重要的原因。 此外,如果 NCache 在生产中部署在一个区域中,并且您希望在另一个区域中进行相同的部署,您可以使用相同的 ARM 模板轻松实现。 这减少了重新配置时出现人为错误的机会,因为您可以简单地重用模板。
- 质量保证/开发: 对于开发环境,如果你想测试你的应用程序 NCache 在 Azure 中,每次要验证代码时都需要重新部署集群。 同样,对于必须测试增量构建的 QA,重新部署是一件很麻烦的事,可以通过 ARM 模板自动化。
Azuredeploy.parameters.json 参数文件
azuredeploy.parameters.json 文件中 NCache GitHub 上的 ARM 模板 包含最终用户参数,这些参数为 Azure 部署提供了配置基础。 为了 NCache,这主要包括缓存设置、网络/虚拟机设置和许可(如果需要)。 这是您自定义部署的地方。 如果您不想使用此文件中提供的默认配置,您可以在部署前更改此文件。
缓存设置
您可以指定缓存设置,例如所有缓存名称、它们各自的拓扑和大小、每个节点的客户端数量、环境名称等。
1 2 3 4 5 6 |
"parameters": { . . . "cacheName": {"value": "AppCache,SessionCache,DataCache"}, "cacheTopology": {"value": "PartitionedOfReplica,PartitionedOfReplica,PartitionedOfReplica"}, "cacheSize": {"value": "1024,1024,1024"}, "NCacheVmCount": {"value": 2} } |
网络/虚拟机设置
在 azuredeploy.parameters.json 文件,您可以为您的资源(如虚拟网络和虚拟机)指定配置。 例如,如果您想要一个不同于此文件中的 VM 大小,您可以根据您的要求通过此文件进行更改。
1 2 3 4 5 |
"parameters": { . . . "virtualMachineNamePrefix": {"value": "NCacheVM"}, "virtualMachineSize": {"value": "Standard_DS2_v2"}, "virtualNetworkName": {"value": "MyVNET1"} } |
许可证激活
NCache 在 Azure 上提供 BYOL 许可。 如果你想激活 NCache,您可以通过提供从 NCache 支持和其他凭据,例如名字/姓氏、电子邮件等。 NCache 一旦您提供参数并部署文件,就会在内部处理激活过程。
1 2 3 4 5 |
"parameters": { . . . "firstName": {"value": "John"}, "emailAddress": {"value": "john_smith@alachisoft.com"}, "licenseKey": {"value": "XXXX-XXXX-XXXX-XXXX"}, } |
NCache 脚本文件
NCache 处理所有功能,如缓存创建、许可证激活等 NCache配置.ps1 文件。 此文件不需要用户干预,除了创建“NCacheConfiguration.ps1”文件并提供存储路径 before 部署模板。 此步骤是强制性的。
1 2 |
"parameters": { . . . "NCacheClusterCreationScriptFileUri": { "value": "https://yourstorageaccount.blob.core.windows.net/yourcontainer/NCacheConfiguration.ps1" }} |
NCache 更多信息 NCache 基础设施即代码 GitHub 解决方案
Azuredeploy.json 模板文件
azuredeploy.json 文件 NCache 管理 GitHub 上的 ARM 模板 包含您的部署和验证的资源信息 azuredeploy.parameters 文件。 基本上,这是您部署的核心。 通常,您不需要更改此文件,除非您想切换到新版本 NCache 图片。
资源信息
这包含有关所有资源的信息,例如 NCache 要获取的映像、虚拟机、网络接口卡 (NIC) 等相关资源、虚拟网络/安全组等。 以下是一个小片段,显示您的虚拟机信息 NCache 部署以及它如何依赖于网络接口资源。
1 2 3 4 5 6 7 8 9 |
"resources": [{... "name": "[concat(parameters('virtualMachineNamePrefix'), copyIndex(1))]", "type": "Microsoft.Compute/virtualMachines", "apiVersion": "2017-12-01", "location": "[parameters('location')]", "copy": { "name": "vmLoop", "mode": "serial", "count": "[parameters('NCacheVmCount')]"}, "dependsOn": ["[resourceId('Microsoft.Network/networkInterfaces/', concat(parameters('networkInterfaceName'), copyIndex(1)))]"], ... }] |
NCache 图片资讯
如前所述,您无需更改 azuredeploy.json 模板文件。 但是,如果您一直在使用旧版本的 NCache 并想使用最新的 NCache 为您的部署映像,您需要在“资源“ 部分:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
"resources": [{... "plan": { "name": "nc-ent-50-sp2", "publisher": "alachisoft", "product": "ncache_enterprise-50sp2" }, ... "storageProfile": { "imageReference": { "publisher": "alachisoft", "offer": "ncache_enterprise-50sp2", "sku": "nc-ent-50-sp2","version": "3.0.0" }, "osDisk": { "createOption": "FromImage" }} }] |
参数元数据
此外,此文件包含每个资源参数的元数据,例如输入类型、最小/最大值、默认值、允许值等。 这可作为您在 .parameters 文件中提供的参数的验证。
例如,对于下面的文件片段,如果您添加 NCache虚拟机计数 as “一” (字符串)而不是整数值,或者如果您将值提供为 0,则在执行 NCache PowerShell 中的部署脚本,因为它不符合此值的模板。
1 2 3 4 5 6 7 8 |
"parameters": { . . . "cacheName": { "type": "string", "defaultValue": "AppCache, SessionCache, DataCache", "metadata": {"description": "Name(s) for cache cluster"}}, "NCacheVmCount": { "type": "int", "minValue": 1, "defaultValue": 2, "metadata": {"description": "Number of NCache Nodes to be deployed"}} } |
通过 Azure 门户测试模板更改
您可以复制粘贴您的自定义参数文件(azuredeploy.parameters.json) 进入 Azure 门户以验证您的模板是否无错误并符合模板文件中的参数元数据 (azuredeploy.json)。 如果填充了所有字段而没有任何提示(例如无效参数),则表示您可以进行部署 NCache 在蔚蓝!
NCache 更多信息 NCache 基础设施即代码 GitHub 解决方案
总结一下
随着部署 NCache 通过基础结构即代码在 Azure 上,您不仅可以自动执行配置资源的关键任务,还可以大大减少人为错误并确保配置的一致性。 此外,使用 NCache 托管 ARM 模板,可以更轻松地记录和测试任何部署更改,就像使用代码一样。 所以一键部署 NCache 在 Azure 中,您只需要实现应用程序的极致性能和可扩展性!