中国领先的IT技术网站
|
|

ACI是什么?微软Azure容器实例解析

作为Amazon Web Services的关键性竞争者之一,如今的Azure正凭借着快速部署型容器服务在服务平台与即服务基础设施之间建立桥梁,并顺利赢得超越Amazon的良好势头。

作者:核子可乐译来源:51CTO|2017-08-08 10:40

沙龙活动 | 去哪儿、陌陌、ThoughtWorks在自动化运维中的实践!10.28不见不散!


【51CTO.com快译】作为Amazon Web Services的关键性竞争者之一,如今的Azure正凭借着快速部署型容器服务在服务平台与即服务基础设施之间建立桥梁,并顺利赢得超越Amazon的良好势头。

微软Azure容器实例解析

容器即服务

作为一类新型云平台,Azure容器实例(简称ACI)是一项“容器即服务”方案,允许大家在无需承担日常开销且可运用脚本化命令集的前提下,快速创建并启动容器化应用程序。由于内置大量工具且可与Kubernetes等主流方案相结合,ACI带来一系列容器管理命令,将其与以秒为单位的计费模式加以对接,而且用户无需创建并部署(或支付)任何容器主机。

然而,其中的计费模式较为复杂,主要包含三大元素。首先,容器实例的创建为每条请求平均0.0025美元; 其二,在设置完成后,您需要以每秒每GB 0.0000125美元的价格支付内存容量成本以及每秒每核心0.0000125美元的价格支付计算核心成本。这意味着大家需要时刻关注自己的使用时长,特别是在利用ACI处理大规模应用程序的情况下。

利用ACI部署容器

设置首套ACI容器非常简单,因为ACI采用Azure命令行。目前的版本仅可运行Linux容器,不过Windows容器功能也即将开放。在使用Azure容器服务时,大家需要利用Azure Cloud Shell或者远程Azure命令行实例构建及管理容器,并首先为ACI容器创建资源组。

命令行容器命令易于使用,且可用于定义您希望在ACI中使用的各类容器。由于无需构建及启动底层主机虚拟机,因此部署容器速度很快。ACI能够直接将现有虚拟机分配给容器,并在数秒内完成启动及运行。也可根据需求定义容器的实际内核数量以及内存容量。

部分命令还可以JSON格式获取容器状态的详尽信息。在实践中,大家可编写脚本,在ACI上部署容器,立足数据中心操作系统加以驱动或者将其作为持续集成平台中的一部分。JSON状态数据可在公有与私有服务之间配置任何网络服务或者连接。

由于Azure CLI基于Bash,因此也可凭借脚本实现高度自动化。微软承诺发布Windows Shell的一套Cloud Shell版本,同时也关注PowerShell与ACI之间的协作效果。

部署完成后,您的容器即可利用公开或内部IP地址运行。公开地址可承载面向公众的服务,私有地址适用于专用应用或者支持公共接口的内部服务。微软提供说明文档以帮助用户将ACI作为Web服务主机,旨在为可扩展Web应用部署高密度Web服务器。当然,大家也可以借此完成对Node.js应用的部署。

配合Kubernetes以规模化方式使用ACI

除了测试与开发层面的快速部署方案之外,ACI也可以配合Kubernetes作为强大的生产工具。遗憾的是,目前将一组容器作为Kubernetes pod使用的功能仍处于测试阶段。ACI Coonector for Kubernetes为开源项目,托管于GitHub之上,允许Kubernetes在ACI之上部署容器。

匹配ACI Connector的实际方式类似于配合其它kubelet,包括利用命令行进行容器托管与管理。该连接器将ACI注册为一个拥有无限容量的节点,且注册后您只需要在ACI帐户中利用该节点名称启动pod,并利用同样的Kubernetes命令完成容器创建与销毁。事实上,大家无需在Azure中运行Kubernetes即可实现这种功能:您只需要为ACI Kubernetes API提供一个公开IP地址。这意味着ACI能够配合任何Kubernetes主节点以运行任何服务。

微软与Kubernetes社区间的合作值得关注,而且相信未来会有更多人在Azure当中将ACI与Kubernetes配合使用——而不仅仅局限于内部或者跨云环境。

在使用Kubernetes处理突发性应用与服务时,ACI采取的每秒计费机制将极具成本优势。开源ACI连接器也有助于未来Mesos与Docker Swarm连接器的开发。

Azure的容器发展前景

微软通过ACS与ACI承诺的容器技术将会很有发展前景。而且相较于成本更高且资源需求量更大的IaaS模式,容器很可能成为Azure未来的根本性平台。容器采取的PaaS运行模式属于一种逻辑步骤,大家可轻松利用Kubernetes或者其它方案完成容器管理。

凭借Azure带来的容器规模化与部署能力,大家无需投入大量时间即可构建并管理自己的复杂虚拟基础设施。因此,您的关注点将转向如何构建并管理资源组,并利用Azure Service Fabric将容器接入应用程序。尽管这一新环境下的代码构建复杂度可能更高,但以容器作为主要部署模式的作法却可简化更新及规模伸缩流程。

到目前为止,微软一直快步紧跟容器技术。随着收购Deis以及加入云原生计算基金会,软件巨头必将在容器使用乃至未来的开发当中持续发力。

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

【编辑推荐】

  1. 世纪互联蓝云是这样运营微软云服务的!
  2. 世纪互联蓝云是这样运营微软云服务的!_云计算半月刊第11期
  3. 受亚马逊、微软青睐 Bespin Global 获上亿A轮融资,君联资本领投
  4. Azure IoT试图让你快速上手新兴技术
  5. 微软Azure Stack将撼动私有云市场格局
【责任编辑:赵立京 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Java Web标签应用开发

Java Web程序员直接在JSP页面中书写Java代码的做法,使得页面中混杂有JavaScript、HTML、Java等多种语言的程序代码,可读性差,可复用性也...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
× Python最火的编程语言