【.com快译】面对基于云的分布式系统,IT团队可以实践持续交付,减少管理开销,更有效地构建和部署软件。然而,微服务方法需要一个清晰的策略并仔细考虑存储、网络、更新、API和容器。对于MicrosoftAzure用户,有多种本机服务和实施框架可帮助降低复杂性并使其更易于管理分布式资源。IT技术人员可以使用AzureServiceFabric访问各种工具,AzureServiceFabric是Microsoft基于云的中心,用于部署容器技术、调用功能即服务(FaaS)或创建API协议以公开微服务。在本文中,我们将介绍MicrosoftAzure如何支持微服务,包括它如何与容器和无服务器技术配合使用。我们主要介绍了用于构建分布式系统的八个主要Azure工具以及部署微服务时需要考虑的几个良好实践。用于在Azure上部署微服务的多种工具借助微服务,IT团队通常可以更快、更灵活地构建和部署软件。应用程序被分解成更小的基于服务的组件,使它们更容易自动扩展和调整。但是,管理员和开发人员需要准备好应对这些互连服务带来的复杂性。图1.单体架构和微服务架构的比较以下Azure工具和服务专为微服务部署而设计:AzureServiceFabricAzureServiceFabric是一个用于在本地或Azure中运行的微服务的应用程序平台。DevOps团队可以使用其声明式模型来部署应用程序和依赖项,而无需构建和管理基础架构。它在全球范围内工作,减少了瓶颈并提供了现代应用程序所需的高可用性。该框架提供从初始部署、持续维护和停用的完整应用程序生命周期管理。管理员可以使用它来检测和重启故障系统、发现服务位置、监控应用程序运行状况和管理状态。与Kubernetes类似,AzureServiceFabric简化了配置和部署由容器管理的微服务和Azure自己的平台服务组成的应用程序的工作。AzureServiceFabricMesh借助AzureServiceFabricMesh,IT团队可以指出所需的资源、服务可用性要求和任何资源限制,并处理底层工具和基础设施的所有细节。该平台为.NETCore微服务提供无服务器托管,使开发人员能够使用Docker容器支持的任何语言。ServiceFabricMesh自动处理升级,提供在部署新应用程序版本时更换容器的能力。除了针对云原生工作负载具有高度可扩展性之外,该平台还具有模块化和适应性强的特点。AzureFunctions通常,FaaS确保代码在特定服务事件触发时按需运行。使用AzureFunctions,您可以安装部分应用程序并仅在需要时加载函数。它们也可以按需并行执行。因此,管理员无需配置和构建应用程序基础架构,只需为运行显式代码片段所花费的时间付费。Azure事件网格开发人员和管理员使用基于事件的体系结构来接收有关应用程序状态更改的警报。Azure事件网格提供警报,以便开发人员和管理员可以立即响应这些更改。该工具实际上充当了构建事件驱动的微服务应用程序的粘合剂。AzureKubernetes服务AzureKubernetes服务有助于部署并简化容器实例的日常测试和管理。DevOps团队可以使用AzureCloudShell或远程Azure命令行界面(CLI)快速构建和启动容器化应用程序。Azure容器实例(ACI)容器包含微服务运行所需的所有元素,包括代码、运行时环境、工具集、系统库和设置。由于ACI本质上是容器即服务,因此最终用户不受编排工具和CLI的影响。唯一的要求是拥有要创建的容器的精确图像。ACI还处理集群初始化、更新和修补。AzureAPI管理AzureAPI管理确保服务功能的单一入口点。通过API管理集成,DevOps团队可以在不更改应用程序代码的情况下访问多种工具和服务。这包括导入服务定义、定义复杂的路由规则、在事件发生时记录事件以及缓存响应。ServiceFabricReliableVolume作为临时容器磁盘,ServiceFabricReliableVolume可帮助微服务应用程序保持持久状态,同时消除通常与访问容器化应用程序的存储相关的延迟问题。然而,虽然ServiceFabricReliableVolume确实提供通用文件存储并支持读/写功能,但管理员也可以访问Azure文件存储以确保数据可靠性。需要考虑的最佳实践开发人员和管理员需要部署统一的监控工具和实践,才能在Azure上成功部署微服务。例如,使用AzureMonitor的数据指标和LogAnalytics代理来分析性能和成本。DevOps团队可以分析不同的数据流以量化写入事务或关联服务分区以帮助监控成本。切勿使用传统的错误处理方法(例如依赖返回码),而是使用AzureServiceFabric健康策略。该平台为评估和报告提供了一个详细、灵活和可扩展的模型。通过主动监控服务部署的健康状况,IT团队可以防止问题增长并导致严重停机。此外,通过基于本地视图收集基于服务的报告,DevOps团队可以捕获集群级别的视图并预先诊断潜在问题。事实上,这种方法在Azure中可以得到更广泛的应用。因此,提高对工作负载的响应能力将使IT团队能够更多地关注应用程序开发,而不是基础设施管理。原标题:使用这8个工具在Azure上部署微服务,作者:KerryDoyle
