微软宣布推出了在 Azure App Service 上支持 Windows 容器的公开预览版,该预览版对安装到 App Service 环境中的内容提供了更多的控制。这个声明扩展了容器服务的 web 应用程序的功能,不仅可以运行基于 Linux 的容器环境,现在还可以运行基于 windows 的容器环境。
Azure 应用服务提供了一个锁定的环境,用于在IIS 上运行应用程序栈,比如ASP.NET 或node.js。因此,AzureApp Service 不允许进入管理访问点,在全局程序集缓存中不允许自定义依赖项,也不允许安装自定义组件。有了在App Service 上的 Windows 容器,就可以使用这些功能,因为 Windows 容器包含隔离环境中运行每个应用程序的所有元素。
要在 AzureApp Service 上运行这些容器,它们必须通过 HTTP(S) 公开一个端点,例如,通过运行 IIS。因此,在 App Service 中提供了几个 Windows 容器功能使几种新的场景成为可能。Azure App Service 的项目经理 Andrew Westgarth 在声明中描述了其中的几种场景。
- 提升并转移到 PaaS——对于有兴趣将.NET 框架和.NET Core 应用程序迁移到 Azure 的客户来说,这是一个理想的选择。
- 具有依赖关系的应用程序——在 Windows 容器中部署应用程序允许客户安装自定义依赖。示例包括必须安装到全局程序集缓存 (GAC) 中的定制字体或组件库的安装程序。
- 放宽的安全限制——当部署容器应用程序时,Windows 容器是一个隔离和安全的边界。因此,通常会被 Azure App Service 阻止的对类库的调用,当在 Windows 容器中运行时将会成功调用。例如,许多 PDF 生成库调用图形设备接口 (GDI) api。使用 Windows 容器,这些将会成功调用。
- 第三方应用程序迁移——客户通常拥有由第三方开发的关键业务应用程序,而公司与第三方不再有关系。容器化这些类型的应用程序可以打开将应用程序迁移到 Azure App Service 的机会。
除了引入 Windows 容器支持,微软还宣布了三个新的 premium SKUs ,特别针对 App Service 计划托管 Windows 容器。SKUs 都基于 Dv3 能力,并且在 CPU 和内存能力上有所不同。
- 小型 - 2 CPU 虚拟核心和 8GB 内存
- 中等 - 4 CPU 虚拟核心和 16GB 内存
- 大型 - 8 CPU 虚拟核心和 32GB 内存
源自:https://azure.microsoft.com/en-us/blog/announcing-the-public-preview-of-windows-container-support-in-azure-app-service/
Windows 容器源自基础镜像,Azure App Service 使用基础镜像创建托管环境。在容器环境中运行的.NET 框架指定父镜像。具体来说,在.NET 框架上运行的应用程序使用基于 Windows Server Core 2016 LTSC 发行版的父镜像,而.NET Core 应用程序需要基于 Windows Server Nano 2016 LTSC 发行版的父镜像。此外,App Service 提供几个缓存的父镜像,这减少了启动时间,因为这些镜像在应用程序启动时可用,而不需下载它们。
入门包括为容器创建一个 web 应用程序,并选择要部署的容器,在博客《部署 Windows 容器》中详细描述了这一点。该文章的作者提到,这些新功能能让你更快地开始使用 Windows 容器。
我不得不说,我很高兴看到这个服务走进大众的视野,因为到目前为止部署 Windows 容器这个过程涉及了许多的步骤。
在 App Service 上支持 Windows 容器的公开预览期,以下功能是可用的:
- 使用 Docker Hub、Azure 容器注册中心或私有注册中心部署容器应用程序。
- 应用程序日志和 App Service 日志流特性的使用。
- 可以使用部署槽和槽交换来增量地部署应用程序。
- 通过 PowerShell 和 WinRM 直接连接到容器。
- Autoscale 提供了自动扩展功能。
查看英文原文: Microsoft Announces Public Preview of Windows Container Support in Azure App Service
评论