我应该如何在Azure中部署我的微服务



我对如何在azure中部署微服务感到困惑?我通过为每个微服务创建几个应用程序服务来进行部署。我使用ARM模板进行部署。在不同的应用程序服务中部署每个微服务的成本越来越高,并且很难管理所有这些服务。我想的另一种方法是创建一个服务,并可以部署在一个应用程序服务下,但它将再次成为单一类型的web API。

最近,我通过一个博客了解到,要部署微服务,应该使用Azure服务结构。

我想知道我应该从以下选项中选择哪种方式-

  • 一个应用程序服务
  • 不同应用程序服务中的多个微服务
  • 与kubernetes(或其他协调人(的集装箱化
  • azure服务结构
  • 你建议的任何其他选择

我真的很困惑。请帮帮我。

提前感谢!!!

我强烈建议您从Azure架构指南开始,该指南将为您提供全面的概述。从那里,您可以查看特定于微服务的指导。

为了给您的问题提供一个非常简短、不完整的答案,应用程序服务是一个规模单位。如果你正在构建一个专注于一个域的小型服务,并且你的所有功能都可以扩展到一起,那么在一个应用程序服务上托管一个应用可能会更好。首先了解您的域名;不要为了拥有微服务而把事情分割开来。

要选择要使用的Azure计算服务,此决策树非常有用。

微服务不仅仅是技术问题的解决方案。它们也是组织可伸缩性问题的解决方案。另一方面,微服务确实很难管理,这就是为什么如果没有DevOps技术来帮助解决这个问题,它们通常无法实现。我之所以这么说,是因为你写道,它们变得越来越难以管理,可能问题不在于技术,而是你没有正确的组织结构和流程来处理微服务。

如果构建微服务的团队运行它,微服务就会很好地工作。这包括部署、支持等。你不应该让一个人/团队"处理"和部署其他团队的微服务,因为正如你所发现的,微服务真的很难管理

从纯粹的技术角度来看,你需要澄清一些东西:

  1. 有多少微服务
  2. 有多少团队/开发人员
  3. 您的微服务内置了哪些技术
  4. 这些微服务之间的聊天性如何

从这4个问题中,如果你有少量的微服务,并且每个微服务不需要超过10个实例,它们是在一种支持的技术中构建的,并且你的微服务彼此之间不是超级聊天,那么你可能会进入应用服务。如果你有很多微服务和很多团队,我会使用AKS,所以有一个小平台团队在kubernetes方面获得专家是值得的(不负责部署!(

我建议你通过这些链接

  1. 马丁·福勒:https://martinfowler.com/microservices/
  2. 微软的DevOps:https://www.youtube.com/watch?v=OwiT59e0kB4&t=349s
  3. 为什么不做微服务:https://segment.com/blog/goodbye-microservices/
  4. 百万微服务在youtube上的对话是这样的:https://www.youtube.com/watch?v=MrV0DqTqpFU

最新更新