【Azure】微软 Azure 基础解析(六)计算服务中的虚拟机 VM、虚拟机规模集、Azure Functions 与 Azure 容器(ACI)

news2024/11/23 12:04:45

在这里插入图片描述
本系列博文还在更新中,收录在专栏:「Azure探秘:构建云计算世界」 专栏中。

本系列文章列表如下:

  • 【Azure】微软 Azure 基础解析(三)描述云计算运营中的 CapEx 与 OpEx,如何区分 CapEx 与 OpEx
  • 【Azure】微软 Azure 基础解析(四)Azure核心体系结构组件之数据中心、区域与区域对、可用区和地理区域
  • 【Azure】微软 Azure 基础解析(五)核心体系结构之管理组、订阅、资源和资源组以及层次关系
  • 【Azure】微软 Azure 基础解析(六)计算服务中的虚拟机 VM、虚拟机规模集、Azure Functions 与 Azure 容器(ACI)
  • 【Azure】微软 Azure 基础解析(七)Azure 网络服务中的虚拟网络 VNet、网关、负载均衡器 Load Balancer

文章目录

    • 前言
    • 一、Azure 虚拟机(VM)
      • 1.1 虚拟化简介
        • 1.1.1 虚拟化技术的关键特性
      • 1.2 Azure 中的虚拟机(Azure VM)
        • 1.2.1 Azure VM 关键特性知识点
    • 二、Azure 虚拟机规模集(VMSS)
      • 2.1 认识 Azure 虚拟机规模集
      • 2.2 Azure 虚拟机规模集关键特性知识点
    • 三、Azure 容器实例(ACI)
      • 3.1 容器简介
      • 3.2 认识 Azure 容器实例
      • 3.3 Azure 容器实例关键特性知识点
    • 四、Azure Kubernetes Service (AKS)
      • 4.1 AKS 简介
      • 4.2 AKS 关键特性知识点
    • 五、Azure App 服务
      • 5.1 Azure App 服务简介
      • 5.2 Azure App 服务关键特性知识点
    • 六、Azure Functions (Function Apps)
    • 总结

前言

首先你要清楚知道,一些常见的 Azure 计算服务,比如:

  • Azure Virtual Machines (Azure VM),Azure 虚拟机
  • Azure Virtual Machine Scale Sets (VMSS),Azure的虚拟机规模集
  • Azure Container Instances (ACI),Azure 的容器服务
  • Azure Kubernetes Service (AKS),Azure 的容器编排服务
  • Azure App Services,Azure 的 App 服务
  • Azure Functions,Azure 的函数服务,也是一种 Serverless 服务

本文内容会针对这些常见的计算服务进行讲解。

一、Azure 虚拟机(VM)

1.1 虚拟化简介

在介绍 Azure VM 之前,我们先简要介绍一下一般的虚拟化技术。假设你有一台物理服务器,那么第一步是安装操作系统,并对一些系统组件进行配置,比如文件系统、服务、端口以及其他设置。如果你想在这台物理机器上运行多个应用程序,你需要将这些应用程序安装在同一个操作系统上。然而,这种情况下这些应用程序会共享相同的文件系统、服务、端口或者其他配置,可能会发生冲突。因此,虚拟化技术应运而生,可以避免这些问题的发生。

在使用虚拟化技术时,你需要在物理机器上安装操作系统和虚拟化软件。虚拟化软件允许你创建虚拟机,这些虚拟机就像是模拟出来的物理机器,都需要自己的操作系统。在每个虚拟机的操作系统上,你可以单独地托管应用程序,这些应用程序在系统上所做的操作不会影响其他虚拟机中的应用程序,因为它们都运行在单独的虚拟环境中。这提供了完全的隔离性,允许你在单个物理机上虚拟出多个物理机,每个虚拟机都有自己的虚拟硬件配置和操作系统。

因此,虚拟化只是在物理机器上模拟多个物理机,使你能够为每个虚拟机创建不同的虚拟硬件配置和应用程序设置,并且为每个虚拟机安装不同的操作系统。现在我们接下来进一步讨论 Azure VM。

在这里插入图片描述

1.1.1 虚拟化技术的关键特性

这里总结几个虚拟化技术的关键特性(敲黑板):

  • 它是物理机器的一种仿真技术
  • 可以有不同的虚拟硬件配置
  • 可以有不同的操作系统
  • 环境是完全分离的
    • 文件系统
    • 服务
    • 端口
    • 中间件
    • 配置等

更多关于虚拟化的介绍可以参看一下以前的博文: [ 云原生 | 容器 ] 虚拟化技术之容器与 Docker 概述

1.2 Azure 中的虚拟机(Azure VM)

Azure虚拟机(VM)是一种基于云计算的计算资源,它允许用户使用虚拟化技术在云端创建和管理虚拟机,而无需关心底层的操作系统和硬件。用户只需要选择所需的虚拟机配置,例如CPU、内存、存储和网络等,然后在虚拟机中安装自己的应用程序和操作系统,就可以轻松地运行自己的工作负载。Azure VM提供多种操作系统和应用程序的预配置映像,用户可以根据自己的需求选择最合适的映像来创建虚拟机,从而大大简化了虚拟机的管理和部署。因此,Azure VM极大地提升了用户的工作效率,并降低了管理和维护成本。

在 Azure VM 中微软会准备虚拟机镜像(Image),比如Ubuntu,Windows,Oracle等等的OS镜像,当然你也可以选择自己做的镜像,之后创建VM。

服务的拓扑图如下:

在这里插入图片描述

1.2.1 Azure VM 关键特性知识点

下面总结一下 Azure VM(虚拟机)关键知识点(敲黑板重要,考试会考

  • Azure VM(虚拟机)属于 IaaS(基础设施即服务)级别的服务模型
  • Azure VM(虚拟机)是物理计算机的软件模拟。
  • 它们包括虚拟处理器、内存、存储和网络资源。
  • 它们承载一个操作系统(OS),你可以像一台物理计算机一样安装和运行软件。
  • 你可以连接到 VM 并使用远程桌面客户端控制它。
  • 何时选择 Azure VM,有如下需求时:
    • 对操作系统的完全控制
    • 需要运行定制软件的能力
    • 使用自定义主机配置
  • Azure 负责物理硬件
    • 你负责配置、更新和维护在 VM 上运行的软件。
  • 镜像是用于创建虚拟机的模板。
    • 包括操作系统和其他软件,如开发工具或网络托管环境。

二、Azure 虚拟机规模集(VMSS)

2.1 认识 Azure 虚拟机规模集

Azure虚拟机规模集(Virtual Machine Scale Sets)是一种Azure服务,它允许用户快速创建和管理大规模的虚拟机集群。虚拟机规模集提供了一种便捷的方式,让用户可以轻松地扩展虚拟机的数量,以满足应用程序的高可用性和高性能需求。

虚拟机规模集是基于虚拟机模板的,用户可以根据自己的需求配置虚拟机模板,然后使用该模板创建多个虚拟机实例。虚拟机规模集还提供了自动缩放功能,可以根据实际的工作负载情况自动调整虚拟机数量,从而避免了资源浪费和性能瓶颈。

服务的拓扑图如下:

在这里插入图片描述

2.2 Azure 虚拟机规模集关键特性知识点

下面总结一下虚拟机规模集的关键知识点(敲黑板重要,考试会考

  1. 允许你创建和管理一组相同的、负载均衡的虚拟机。
  2. 集中管理、配置和更新大量虚拟机,提供高可用的应用。
  3. 虚拟机实例的数量可以根据需求或定义的调度自动增加或减少。
  4. 帮助你为计算、大数据和容器负载等领域构建大规模服务。
  5. 通过区域或多个可用分区部署选项提供高可用性。

三、Azure 容器实例(ACI)

3.1 容器简介

容器是一种虚拟化技术,它允许用户将应用程序及其所有依赖项打包到一个独立的运行环境中,从而实现应用程序在不同平台和环境中的快速部署和移植。容器将应用程序和其所有依赖项打包成一个软件包,并提供了一个隔离的运行环境,使得应用程序可以在其中运行,而不会受到底层操作系统和硬件的影响。

与传统的虚拟机不同,容器不需要完整的操作系统支持,因为它们共享操作系统内核。这使得容器更加轻量级和高效,可以更快地启动和停止。另外,容器提供了一种标准化的部署方式,使得应用程序可以在不同的环境中更加稳定和可靠地运行。

容器技术现已成为开发和运维领域中的一项重要技术。通过使用容器,开发人员可以更加快速地构建、测试和部署应用程序,运维人员可以更加轻松地管理和维护应用程序的运行环境,从而提高应用程序的可靠性、可伸缩性和灵活性。

更多关于虚拟机和容器对比相关知识请参看我以前的博文: [ 云原生 | 容器 ] 虚拟化技术之容器与 Docker 概述

服务的拓扑图如下:

在这里插入图片描述

3.2 认识 Azure 容器实例

Azure Container Instances(ACI)是一种 Azure 提供的面向容器的计算服务,它允许用户轻松地在云端运行 Docker 容器,而无需管理虚拟机或容器编排引擎等底层基础设施。ACI 提供了一种快速、轻量、简单的方式来运行容器,用户只需将自己的 Docker 镜像上传至 ACI,即可快速创建和启动容器实例。

ACI支持多种容器镜像,包括 Windows 和 Linux,用户可以根据自己的需求选择不同的容器镜像来运行应用程序和工作负载。ACI还提供了高度可定制化的容器实例选项,例如CPU、内存、存储和网络等,以满足不同的需求。此外,ACI 还支持自动缩放功能,可以根据实际的工作负载情况自动调整容器实例数量,从而避免了资源浪费和性能瓶颈。

服务的拓扑图如下:

在这里插入图片描述

3.3 Azure 容器实例关键特性知识点

下面总结一下 Azure 容器实例的关键知识点(敲黑板重要,考试会考

  • ACI 是 PaaS服务
  • ACI 是一种 Serverless 计算服务。
  • ACI 无需配置虚拟机或其他任何附加服务。
  • ACI 只需上传容器 + 运行自动扩展即可

四、Azure Kubernetes Service (AKS)

4.1 AKS 简介

Azure Kubernetes Service(AKS)是微软Azure提供的一种管理Kubernetes容器化应用的服务,可以在Azure上部署和管理Kubernetes集群,使用Azure安全管理、监控和跟踪服务。它提供了一种快速、可靠的方式来部署和管理Kubernetes容器化应用,使开发人员可以专注于应用程序,而不是管理基础架构。

简单说就是微软提供的类似 K8S 的服务。

AKS 的服务的拓扑图如下:
在这里插入图片描述

4.2 AKS 关键特性知识点

  • AKS 是 PaaS 服务。
  • AKS 可以将容器管理自动化与API结合起来
  • AKS 是一种云原生手段,可以在不同的云上运行
  • AKS 的 Pod 管理:
    • 管理 pod的存放位置
    • 1 pod = 节点上的1个或多个容器
    • 如果节点被移除= Kubernetes将受影响的工作负载移动到不同的节点。
    • 如果一个pod崩溃= Kubernetes创建新实例Pods可以手动或自动缩放(水平)
  • AKS 是一种分散部署,尽量减少停机时间,如果更新有问题,可以回滚
  • AKS 可以管理存储:
    • 持久卷表示数据存储到一个或多个容器
    • 数据可以持久化到多个pod实例中
    • 可以利用基于云的存储和数据系统,例如Azure存储+Cosmos DB。
  • AKS 可以管理网络:
    • 可以将容器暴露给互联网
    • 可以在多个容器副本之间平衡流量
    • 可以做网络隔离
    • 基于策略的网络安全
    • 管理 pod 之间的通信和名称解析
  • AKS 可以通过附加功能进行扩展,例如,在容器创建时发生云事件,自定义容器调度逻辑,按需获取托管云服务。

五、Azure App 服务

5.1 Azure App 服务简介

Azure App 服务是一项云服务,专为构建和部署云应用程序而设计。它可以让开发人员在任何语言和框架中快速开发 Web 应用程序、移动后端以及 API。可以将应用程序部署到 Azure,并且可以使用全球基础设施来管理和扩展应用程序。Azure App 服务还提供安全性、负载平衡和自动扩展功能,旨在帮助开发人员更快地将应用程序推向生产。

Azure App 服务的拓扑图如下:

在这里插入图片描述

5.2 Azure App 服务关键特性知识点

  • Azure App Service 是 PaaS 服务。
  • Azure App Service 是一个基于HTTP的服务。
  • 使你能够构建和托管许多类型的基于 Web 的解决方案,而无需管理基础架构。
  • 可以在多种支持的编程语言中托管 Web 应用程序、移动后端和 RESTful API。
  • 支持不同的框架,如 .NET、.NET Core、Java、Ruby、Node.js、PHP、Python 等。
  • 可以在基于 Windows 和 Linux 的环境中进行扩展。

六、Azure Functions (Function Apps)

Azure Functions (Function Apps) 是一种事件驱动的计算服务,它可以让用户轻松地将代码部署到云中,以便在收到特定事件时自动执行。它是服务器端代码,可以在事件发生时自动触发,并执行相关的任务。Azure Functions (Function Apps) 支持多种编程语言,如 C#、JavaScript、Python、PHP、PowerShell、Bash 等,可以帮助开发者快速实现功能。

Azure Functions 服务的拓扑图如下:

在这里插入图片描述

Azure Function 的知识点总结:

Azure Functions 可以执行几乎任何现代语言的代码。当需要响应事件执行工作时通常被使用。可以是无状态(默认)表现为每次响应事件时重新启动;有状态(称为Durable Functions)具有跟踪以前活动的上下文。

总结

我这里做了一个下面的汇总表格方便你理解:

服务服务级别汇总
虚拟机 VMIaaS可自定义软件,自定义需求,高专业化,高控制度
虚拟机规模集 VMSSIaaS为虚拟机自动伸缩工作负载
Azure 容器(ACI)PaaS简单的容器托管,易于启动管管理
Azure Kubernetes Service (AKS)PaaS高度可扩展和可定制的容器托管平台
Azure App ServicePaaSWeb应用服务,为企业提供Web托管功能,易于上手
Azure FunctionsPaaS是一种 Serverless 服务,基于消费的定价模式
[ 本文作者 ]   bluetata
[ 原文链接 ]   https://bluetata.blog.csdn.net/article/details/130541151
[ 最后更新 ]   05/08/2023 1:16
[ 版权声明 ]   如果您在非 CSDN 网站内看到这一行,
说明网络爬虫可能在本人还没有发布完成的时候就抓走了我的文章,可能导致内容不完整,请去上述的原文链接查看原文。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/601265.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

写了 7 年代码,第一次见这么狗血的小 Bug!

刚刚修我们鱼聪明 AI 助手平台的一个 Bug,结局很狗血!赶紧给大家分享一下,顺便也分享下标准的排查 Bug 思路。 事情是这样的,有小伙伴在鱼聪明平台(https://www.yucongming.com)创建了一个 AI 助手&#x…

ModStartCMS v6.5.0 菜单多级支持,框架结构优化

ModStart 是一个基于 Laravel 模块化极速开发框架。模块市场拥有丰富的功能应用,支持后台一键快速安装,让开发者能快的实现业务功能开发。 系统完全开源,基于 Apache 2.0 开源协议,免费且不限制商业使用。 功能特性 丰富的模块市…

InnoDB Cluster集群Mysql Router代理层最佳实践

InnoDB Cluster 集群 & Mysql-Router 代理层 前言 Mysql是现今最常用的关系型数据库之一,高可用一直是我们对软件服务的要求。常见的Mysql高可用是主从配置,在主节点挂掉后需要依赖监控脚本进行主从切换将从节点升级,后台服务代码层面也…

正在破坏您的协程(Coroutines)的无声杀手(Silent Killer)

正在破坏您的协程的无声杀手 处理 Kotlin 中的取消异常的唯一安全方法是不重新抛出它们。 今天生产服务器再次停止响应流量。 上个星期,你刚重新启动它们并将其视为故障。但是你总觉得有些奇怪,因为日志中没有任何错误的痕迹,甚至没有警告。…

vue cli配置代理解决跨域问题

跨域问题 是由于违背了同源策略,同源策略规定了协议名、主机名、端口号必须一致 我们目前所处的位置是http localhost 8080,我们想向一台服务器发送请求,它的位置是http localhost 5000,我们的ajax请求从浏览器发送到服务器&#…

界面组件DevExpress WPF中文指南 - 如何应用系统强调色及主题切换

在最新版本的Microsoft Office产品中,用户可以根据系统设置选择主题,当使用这个主题时,Office将采用Windows强调色和应用模式(亮/暗)设置,并将它们应用到Office本身。如果用户在操作系统中更改了强调色或应用模式,Offi…

【spring源码系列-02】通过refresh方法剖析IOC的整体流程

Spring源码系列整体栏目 内容链接地址【一】spring源码整体概述https://blog.csdn.net/zhenghuishengq/article/details/130940885【一】通过refresh方法剖析IOC的整体流程https://blog.csdn.net/zhenghuishengq/article/details/131003428 spring底层源码整体概述 一&#xff…

2个实际工作中的小技巧,先收再看(网工版)

大家好,我是老杨。 本来想发点关于快乐的文章,但我思来想去,对成年人最大的快乐,莫过于高效完成工作,早点下班回家。 关于提升工作效率这方面啊,我的文章其实零碎、分散的写过了很多次了。 你要知道&…

ChatGPT国内免费使用地址和开源公众号集成项目分享

ChatGPT国内免费使用地址和开源公众号集成项目分享 ChatGPT国内免费使用地址ChatGPT开源公众号集成项目ChatGPT国内免费调用API的地址总结免费体验地址 人工智能技术的快速发展,ChatGPT聊天机器人备受瞩目。然而,如何在国内免费使用ChatGPT却是许多人关注…

手绘echarts散点图

面对各种定制,echarts图表有时候不好处理,无论是数据处理还是样式处理,都会被echarts限制。 举例:echarts散点图如果数据较少,echarts会均匀分布,如图1 对于产品或者老板对页面的要求,认为中间…

ROS2中,从SolidWorks导出的urdf,联合moveit、gazebo进行控制及仿真

文章目录 1.前言2.从urdf到moveit3.从urdf到gazebo3.1.urdf文件的修改3.1.1.mesh路径3.1.2.零件起飞3.1.3.文件保存 3.2.xacro文件的修改3.3.launch 4.用moveit控制gazebo5.结语 1.前言 本文是对之前发的文章【在ROS2中,通过MoveIt2控制Gazebo中的自定义机械手】的…

C 语言详细教程

目录 第一章 C语言基础知识 第二章 数据类型、运算符和表达式 第三章 结构化程序设计 第四章 数组 第五章 函数 第六章 指针 第七章 结构体类型和自定义类型 第八章 编译预处理 第九章 文件 说明:本教程中的代码除一二三个之外,都在https://ligh…

尝试理解卷积神经和深度学习的关系,并且怎么使用

前言 最近想要了解卷积神经和深度学习,才发现并不是我想象中的简单,也不是我想象中的难.我想的难是指没有任何思路:不知道这是个什么玩意,里面的流程是不是很难,我想的简单就是:也就是用人家的包,全都是用来导包,我只需要知道这个包是怎么用的,从来没想过自己怎么开发出来一个依…

Python splitlines() 的使用

Python splitlines() 的作用 Python splitlines() 按照行(\r, \r\n, \n)分隔,返回一个包含各行作为元素的列表 Python splitlines()的注意事项 splitlines小括号里面的参数没有的时候,默认按照行(\r, \r\n, \n)分隔不带这些特殊的字符 如果这样splitlines(True)…

ISO21434 概述(一)

目录 一、ISO21434 1.1 目的 1.2 ISO21434文档组织结构 二、适用范围 三、引用标准 四、术语和缩写 4.1 术语 4.2 缩写 五、一般考虑 一、ISO21434 1.1 目的 本文件阐述了道路车辆内电气和电子(E/E)系统工程中的网络安全问题。通过确保对网络安…

Ansible的配置、主机清单、Ansible的脚本Playbook详解

文章目录 Ansible的配置配置文件 主机清单远程主机的分组变量 Ansible的脚本PlaybookPlaybook的文件格式YAMLansible-playbook的命令Playbook的基本语法变量 Ansible的配置 配置文件 Ansible是一款功能强大的自动化工具,可以实现对远程主机的管理和操作&#xff0…

华为认证 | HCIA-Datacom 考试大纲

今天给大家说点基础的,很多人对华为认证考试有了一定了解后,想要进一步了解具体的考试内容。 这篇先说HCIA-Datacom的具体考试大纲~ 01 华为HCIA-Datacom认证考试 02 华为HCIA-Datacom考试内容 HCIA-Datacom V1.0考试覆盖数通基础知识,包括&…

java 中的动态代理实现

1. 什么是代理模式 代理模式是常见的设计模式之一,顾名思义,代理模式就是代理对象具备真实对象的功能,并代替真实对象完成相应操作,并能够在操作执行的前后,对操作进行增强处理。(为真实对象提供代理&…

表格软件有哪些?热门表格软件推荐

作为报表开发人员,我们经常需要使用各种表格软件来处理数据并生成清晰、易读的报表。在市面上,有许多不同类型的表格软件可供选择。下面我将列举7款热门的表格软件,并详细介绍其中一款优秀的软件—VeryReport。 编辑搜图 请点击输入图片描述…

Qt6.5.1+WebRTC学习笔记(九)运行官方示例(win10+vs2019)

前言 webrtc源码目录下,有个examples目录,里面放置着官方的示例,其有peerconnection示例。 一、问题 peerconnection示例分客户端和服务端,以win系统为例,编译后会在输出目录生成两个可执行文件 服务端程序可以正常…