一,引言

  容器技术正日益成为打包、部署应用程序的第一选择。Azure 提供了许多使用容器的选项。例如,我们可以使用 Azure 容器注册表来存储和管理 Docker Images。Azure Container Instance 或 Azure 应用服务可用于运行隔离容器。对于需要完整容器编排、自动缩放和服务发现的更复杂的场景,Azure Kubernetes 服务是一个很好的选择。问题是,Azure Kubernetes 虽然是托管的,但 用起来还是有些困难,开发人员必须得学习掌握一些运维知识。

2021年,Azure 提出了新服务 Azure Container App。该服务旨在减少构建 AKS 应用程序所需的知识和配置量,从而可能降低解决方案成本并加快上市时间。

-------------------- 我是分割线 --------------------

1,Azure Container App(一)应用介绍

二,正文

1,什么是 Azure Container App ??

Azure Container App 提供位于 AKS 服务之上的无服务器托管服务,允许您部署多个容器而无需处理底层基础结构。事实上,Azure Container App 甚至不向用户公开 Kubernetes API。

当我们在 Azure Container App中部署或更改容器时,该服务将自动创建应用程序的快照-----修订版,并在一个 pod 中运行它的容器。就像在 Azure Kubernetes 中一样,这些容器共享相同的应用程序生命周期、网络和磁盘。它们可以相互交流。此外,由于它与基于 Kubernetes 的事件驱动自动缩放的集成,该服务将根据 HTTP 并发请求数等指标自动增加/减少(不支持垂直缩放)与修订相关的 Pod 数量和内存使用。作为节省一些费用上开支,我们还可以将最小副本数设置为 0。如果应用程序没有请求,该服务会将活动 pod 的数量缩减为 0,我们无需支付任何费用。

同时多个 Azure Container App 也可以部署到单个环境中。通过这样做,它们将被置于同一个虚拟网络下并与外界隔离。为了提供监视功能,每个环境都有自己的 Log Analytics 工作区,该工作区与其中的 Azure Container App共享。对于熟悉 Kubernetes 的人来说,我们可以将 Azure Container App Environment 视为 Kubernetes Namespace,将 Azure Container App Revision 视为 Kubernetes Deployment。

最后就是,Azure Container App 将可用选项减少为一个简单的入口切换,一旦启用,它就会提供 HTTPS 入口和完全限定域名 (FQDN)。

2,修改

当我们在 Azure Container App 中部署或更改容器时,该服务会自动获取 Azure Container Instance 的不可变快照。然后它在一个单独的 pod 上部署一个新版本。但是,并非所有更改都会触发此行为。在 Azure Container App 中,我们可以区分两种类型的更改:

  1)修订范围更改。

  2)应用范围的变化。

当我们创建新版本时,旧版本的流量会完全转移到新版本。我们可以使用流量拆分规则来定义它们之间的流量平衡方式。这些包括将一定比例的流量引导到特定的修订版。

3,和 Dapr 集成

Azure Container App 提供与开源项目 Dapr(分布式应用程序运行时)的内置兼容性。启用后,Dapr 应用程序将与我们修订版一起部署,通过 HTTP 或 gRPC 提供对 Dapr API 提供的功能的访问。

三,结尾

  相对于操作有些复杂的 Azure Kubernetes 和昂贵的使用的定价,Azure Container App 这项服务变得越来越流行。目前,该服务作为公共预览版提供,因此我们已经可以开始使用它了。

参考链接:Azure 容器注册表Azure 容器实例Azure Kubernetes

作者:Allen

版权:转载请在文章明显位置注明作者及出处。如发现错误,欢迎批评指正。

Azure Container App(一)应用介绍的更多相关文章

  1. 使用ML.NET + ASP.NET Core + Docker + Azure Container Instances部署.NET机器学习模型

    本文将使用ML.NET创建机器学习分类模型,通过ASP.NET Core Web API公开它,将其打包到Docker容器中,并通过Azure Container Instances将其部署到云中. ...

  2. Azure Web App (一)发布你的Net Core Web 项目

    一,引言 今天我们看一下Azure上的一个服务-----Web 应用,我们都知道云计算的三大模式:Iaas(基础设施即服务),Paas(平台即服务),Saas(软件即服务). Iass,其实就是虚拟主 ...

  3. 远程调试 Azure Web App

    当我们将 Web App 部署在 Azure 上时,如果能够实现远程调试,将会极大的提高我们修复 bug 的效率.Visual Studio 一贯以功能强大.易用著称,当然可以实现基于 Azure 应 ...

  4. 在Azure Container Service创建Kubernetes(k8s)群集运行ASP.NET Core跨平台应用程序

    引子 在此前的一篇文章中,我介绍了如何在本地docker环境中运行ASP.NET Core跨平台应用程序(http://www.cnblogs.com/chenxizhang/p/7148657.ht ...

  5. 使用ML.NET + Azure DevOps + Azure Container Instances打造机器学习生产化

    介绍 Azure DevOps,以前称为Visual Studio Team Services(VSTS),可帮助个人和组织更快地规划,协作和发布产品.其中一项值得注意的服务是Azure Pipeli ...

  6. Windows Azure Web Site (18) Azure Web App设置MIME

    <Windows Azure Platform 系列文章目录> 在笔者之前的文章中,介绍了我们在使用Azure Web App,可以把静态资源保存到Azure Storage中: Wind ...

  7. VS 远程调试 Azure Web App

    如果能够远程调试部署在 Azure 上的 Web App,将会极大的提高我们修复 bug 的效率.Visual Studio 一贯以功能强大.好用著称,当然可以通吃基于 Azure 应用的创建.发布和 ...

  8. Azure Web App (二)使用部署槽切换部署环境

    一,引言 前天我们将到使用Azure的 Pass 服务 “Web App” 去部署我们的.NET Core Web项目,也同时有介绍到如何在VS中配置登陆中国区的Azure账号,今天接着讲,我们部署完 ...

  9. 如何用Azure Web App Services接入微信公众号

    注:本文提到的代码示例下载地址>如何用Azure Web App Services接入微信公众号 如何用Azure Web App Services接入微信公众号 简介 此示例演示如何创建Azu ...

随机推荐

  1. NSMutableString练习

    从要求讲3个520it拼接在一起 会生成很多新的字符串 NSString *res = @""; NSString *subStr = @"520"; // 1 ...

  2. Jmeter平均响应时间和TPS的计算方法

    转自:https://www.cnblogs.com/xianlai-huang/p/7795215.html Jmeter的Throughput和平均RT的计算 1.TPS:每秒处理的事务数,jme ...

  3. Ubuntu20.04.3中telnet 127.0.0.1时Unable to connect to remote host: Connection refused

    本博客旨在自我学习使用,如有任何疑问请及时联系博主 今天遇到个稀奇古怪的问题: 调试emqx的时候一直econnrefused,检查服务时,突然发现在ubuntu上telnet localhost竟然 ...

  4. 小程序"errcode":41002错误问题如何解决?

    我的问题是:小程序在本地测试的时候是没有问题的,但是当我扫开发者中的项目中的二维码手机浏览测试的时候发现是没有数据的,然后调试工具中出现: {"errcode":41002,&qu ...

  5. MXNet学习:试用卷积-训练CIFAR-10数据集

    第一次用卷积,看的别人的模型跑的CIFAR-10,不过吐槽一下...我觉着我的965m加速之后比我的cpu算起来没快多少..正确率64%的样子,没达到模型里说的75%,不知道问题出在哪里 import ...

  6. 前端框架 bootstrap 的使用

    内容概要 前端框架 bootstrap 简介 引入方式 布局容器 栅格系统 图标 内容详细 简介 网址:https://v3.bootcss.com/ 版本: 2.X 3.X 4.X 推荐使用3.X版 ...

  7. Mapper代理方式

    MyBatis入门初体验时,使用mapper的方式: 很奇怪,为什么只有interface二没有实现,怎么就可以从数据库中查出准确的数据.其实Mybatis利用了JDK动态代理实现了相应功能,下面详细 ...

  8. Graph Based SLAM 基本原理

    作者 | Alex 01 引言 SLAM 基本框架大致分为两大类:基于概率的方法如 EKF, UKF, particle filters 和基于图的方法 .基于图的方法本质上是种优化方法,一个以最小化 ...

  9. JAVA8学习——Stream底层的实现一(学习过程)

    Stream底层的实现 Stream接口实现了 BaseStream 接口,我们先来看看BaseStream的定义 BaseStream BaseStream是所有流的父类接口. 对JavaDoc做一 ...

  10. python-利用xlrd模块读取excel数据,将excel数据转换成字典格式

    前言 excel测试案例数据 转换成这种格式 实现代码 import os import xlrd excel_path = '..\data\\test_case.xlsx' data_path = ...