【Azure】比较适用于使用容器的Azure服务

首先

本次比较了Azure的容器服务特点,作为构建基于容器技术的应用程序时的决策要点。接下来将比较以下服务:

    • Azure Container Apps

 

    • Azure App Service

 

    • Azure Container Instances

 

    • Azure Kubernetes Service

 

    • Azure Functions

 

    • Azure Red Hat OpenShift

 

    Azure Spring Cloud

我会以我自己的方式,根据官方网站的文档进行总结和概括。
对比Container Apps和其他Azure容器选项。

每个服务的简介

蓝色容器应用

这项服务利用了Kubernetes的功能以及Dapr、KEDA和envoy等开源技术,适用于创建基于Kubernetes风格的应用程序和微服务。
该服务本身是基于Kubernetes平台构建的,但不提供直接访问Kubernetes API的功能。
适用于希望利用Kubernetes的功能,但在没有必要从头开始构建和缺乏相应经验的情况下,希望按照一定的最佳实践来开发的场景。
由于它是通用的,所以如果不确定,我认为这个就可以了。

    • 汎用コンテナ

 

    • 多くののマイクロサービスと関わるアプリケーション

 

    • イベント駆動型アプリケーションアーキテクチャ

 

    実行時間の長いプロセス

Azure 应用服务

这是一个为Web应用程序提供服务的服务。
当想要构建全托管的网站或Web API时,它非常适合使用。
您可以从Windows/Linux平台上的.NET、.NET Core、Java、Ruby、Node.js、PHP、Python中选择环境。
在同一实例中,您也可以免费执行后台任务。

    • Web サイト

 

    Web API

Azure容器实例

Azure Container Apps 是适用于独立运行的简单应用程序或批处理任务,不需要符合 Azure Container Apps 的条件或者不需要太多功能的服务。
根据官方文档中的 Azure Container Instances 描述,“它提供了按需提供的 Hyper-V 隔离容器的单个 Pod。”,同时不提供扩展、负载均衡和证书等功能。
由于 Azure Container Instances 仅支持单个 Pod,如果需要多个容器的协作、自动扩展等功能,最佳方法是使用 Azure Kubernetes Service,并间接使用 Azure Container Instances。如果不需要直接访问 Kubernetes API,则使用 Azure Container Apps 更为适合。

    • 他のコンテナと連携が必要ない

 

    • スケーリング・負荷分散(ロードバランシング)・証明書の機能が必要ない

 

    • 単一で動くシンプルなアプリケーション

 

    バッチ処理

Azure Kubernetes Service (AKS) 又称蓝色容器服务

如果您想充分利用Kubernetes在Azure上的话,这是一个最佳选择的服务。
其最大特点是支持直接访问Kubernetes API。您可以完全托管使用Kubernetes。
然而,需要注意的是,由于用户对集群的配置和运营有一定的控制和责任,因此可能会部分损失云服务的优势。

    • フルマネージドで Kubernetes を使用したい

 

    Kubernetes API への直接アクセスが必要

Azure Functions 蓝色函数

Serverless服务(FaaS)是以服务形式提供的函数。它是构建事件驱动型应用程序的最佳选择。
与Azure容器应用程序类似,它易于扩展和构建事件驱动型应用程序,但它专门针对临时函数执行进行了优化。
使用Azure Functions创建的代码基本上也可作为容器映像使用,因此在需要更改环境时可重复使用,具有这一优点。
该服务有两种计划,其中默认是按使用量计费计划,有诸如冷启动和最大执行时间为10分钟的限制。相比之下,高级计划可以通过设置将最大执行时间调整为无限制(保证最少60分钟),并且可以保持常热状态等,缓解限制。
由于这两种计划都基本用于临时函数用途,所以它是构建最大运行时间相对较短(不超过60分钟)的事件驱动型应用程序的良好选择。

    • サーバレスでコンテナアプリケーションを構築・運用

 

    • 一時的に使用する関数

 

    1 度の実行時間が短い(60 分未満)

蓝红帽开放Shift

如果想在Azure上使用OpenShift,這是最適合的服務。
可以通過OpenShift的功能自動進行代碼管理、構建、部署、擴展和故障處理。
還可以使用內置的功能或自己使用Registry、網絡、存儲和CI/CD。
如果已經使用OpenShift運營,或者是準備全面運營Kubernetes,需要CI/CD工具和長期支持以及其他必要的工具和維護服務時,這將非常方便。

    • システムを OpenShift で運用している

 

    • Kubernetes を中心とした本格的な開発・運用

 

    • CI/CD など他ツール一式を同時に導入したい

 

    Kubernetes を含めたツールの長期サポートがほしい

In Chinese, the phrase “番外編” can be paraphrased as “额外篇章” .

蓝色春天云

如果你想在不改动现有 Spring Boot 应用程序代码的情况下将其部署到 Azure,那么 Azure Spring Cloud 是最佳选择。
不需要从头开始构建 Spring Boot 执行环境,这是它的优点。此外,还提供监视、蓝/绿部署等功能。
在使用 Spring Boot 时,不需要修改代码或创建容器配置管理文件,因此不会有使用容器的感觉,但在内部似乎是在专用的 Kubernetes 集群上进行管理。
参考 | Azure Spring Cloud 如何托管应用程序?

    • コードを変更せずに Spring boot アプリケーションをデプロイしたい

 

    コンテナ技術のノウハウなしにコンテナのメリットを享受したい

最后

根据 Azure 的官方文档,我进行了每个服务的调研。
由于文档本身很容易理解,所以其中有许多相似的内容,但如果对概述有所帮助的话我会很高兴。
根据我的调研,Azure 容器应用程序似乎是一个很好的服务,所以我期待它的正式发布。
追加内容 2022/5/30 | Azure 容器应用程序于2022年5月24日正式发布!
Azure 容器应用程序正式提供。

广告
将在 10 秒后关闭
bannerAds