云计算入门——云托管简介

前些天发现了一个人工智能学习网站,通俗易懂,风趣幽默,最重要的屌图甚多,忍不住分享一下给大家。点击跳转到网站。

云计算入门——云托管简介

介绍

云托管是一种使用在线虚拟服务器的方法,可以按需创建、修改和销毁虚拟服务器。云服务器根据其托管的物理设备分配 CPU 核心和内存等资源,并且可以使用任何操作系统和随附软件进行配置。云托管可用于托管网站、分发基于 Web 的应用程序或其他服务。

在文中,我们将介绍云托管涉及的一些基本概念,包括虚拟化的工作原理、虚拟环境中的组件以及与其他常见托管方法的比较。

什么是“云”?

“云”是一个常用术语,指通过付费租赁或作为软件或平台服务的一部分可供公众使用的可通过互联网访问的服务器。基于云的服务可以采取多种形式,包括网络托管、文件托管和共享以及软件分发。“云”也可以指云计算,即透明地跨多个服务器执行任务。云计算不是在一台功能强大的机器上运行复杂的流程,而是将任务分布在许多较小的节点上。

虚拟化的工作原理

云托管环境分为两个主要部分:可以托管应用程序和网站的虚拟服务器以及管理虚拟服务器的物理主机。虚拟化使云托管成为可能:主机和虚拟服务器之间的关系提供了其他托管方法无法提供的灵活性和可扩展性。

虚拟服务器

当今最常见的云托管形式是使用虚拟专用服务器(VPS)。VPS 是一种虚拟服务器,其作用类似于具有自己操作系统的真实计算机。虽然虚拟服务器共享主机分配给它们的资源,但实际上它们是完全隔离的,因此一台 VPS 上的操作不会影响其他 VPS。

虚拟服务器由物理主机的虚拟机管理程序部署和管理。每个虚拟服务器都有一个由虚拟机管理程序安装的操作系统,可供用户使用。出于实际目的,虚拟服务器在使用上与专用物理服务器相同,尽管虚拟服务器需要与同一主机上的其他服务器共享物理硬件资源。

Hosts

资源由托管虚拟服务器的物理服务器分配给虚拟服务器。该主机使用称为虚拟机管理程序的软件层来部署、管理并向其控制下的虚拟服务器授予资源。术语“虚拟机管理程序”也经常用于指安装虚拟机管理程序(及其虚拟服务器)的物理主机。

主机负责在虚拟服务器启动时为其分配内存、CPU 核心和网络连接。管理程序的持续职责是在虚拟 CPU 内核和物理 CPU 内核之间调度进程,因为多个虚拟服务器可能正在使用相同的物理内核。虚拟机管理程序在进程调度和资源共享的细微差别上各不相同。

管理程序

目前有一些适用于云主机的常见虚拟机管理程序。这些不同的虚拟化方法有一些关键差异,但它们都提供了主机根据需要部署、维护、移动和销毁虚拟服务器所需的工具。

KVM是“基于内核的虚拟机”的缩写,是内置于 Linux 内核中的虚拟化基础设施。激活后,该内核模块会将 Linux 计算机转变为虚拟机管理程序,使其能够开始托管虚拟服务器。此方法与其他管理程序通常的工作方式形成对比,因为 KVM 不需要创建或模拟用于虚拟托管的内核组件。

Xen是最常见的虚拟机管理程序之一。与KVM不同,Xen使用自己的微内核,它提供了支持虚拟服务器所需的工具,而无需修改主机的内核。Xen 支持两种不同的虚拟化方法:半虚拟化,它不需要模拟硬件,但需要对虚拟服务器的操作系统进行特殊修改;以及硬件辅助虚拟化(或 HVM),它使用特殊的硬件功能来有效地模拟虚拟服务器。服务器,以便他们可以使用未经修改的操作系统。HVM 于 2006 年左右在消费类 CPU 上广泛应用,使得大多数台式机和笔记本电脑在运行虚拟机或基于微内核的容器(例如通过 Docker)时能够实现相似的性能。

ESXi是 VMware 提供的企业级虚拟机管理程序。ESXi 的独特之处在于它不需要主机具有底层操作系统。这被称为“类型 1”管理程序,由于硬件和虚拟服务器之间缺乏“中间人”,因此非常高效。对于 ESXi 等类型 1 虚拟机管理程序,主机上不需要加载任何操作系统,因为虚拟机管理程序本身充当操作系统。

Hyper-V是最流行的 Windows 服务器虚拟化方法之一,可作为 Windows Server 中的系统服务使用。这使得 Hyper-V 成为在 Windows 软件环境中工作的开发人员的常见选择。Hyper-V 包含在现代版本的 Windows 中,也可以作为独立服务器使用,无需现有的 Windows Server 安装。WSL2(适用于 Linux 的 Windows 子系统)是通过 Hyper-V 实现的。

为什么选择云托管?

虚拟化提供的功能非常适合云托管环境。虚拟服务器可以配置多种硬件资源分配,并且通常可以根据需求随时间的变化添加或删除资源。一些云主机可以将虚拟服务器从一个虚拟机管理程序移动到另一个虚拟机管理程序,而几乎不需要停机时间,或者在节点发生故障时复制服务器以实现冗余。

定制化

开发人员通常更喜欢在 VPS 中工作,因为他们可以控制虚拟环境。大多数运行 Linux 的虚拟服务器默认提供根(管理员)帐户或权限的访问sudo权限,使开发人员能够安装和修改他们需要的任何软件。

这种选择的自由始于操作系统。大多数虚拟机管理程序能够托管几乎所有来宾操作系统,从 Linux 和 BSD 等开源软件到 Windows 等专有系统。从那里,开发人员可以开始安装和配置他们正在开发的任何内容所需的构建块。云服务器的配置可能包括 Web 服务器、数据库或已开发并准备好分发的应用程序。

可扩展性

云服务器的扩展能力非常灵活。缩放方法分为两大类:水平缩放和垂直缩放。大多数托管方法都可以以一种或另一种方式扩展,但云托管的独特之处在于它能够水平和垂直扩展。这是由于云服务器构建的虚拟环境所致:由于其资源是较大物理池的分配部分,因此可以调整这些资源或将其复制到其他虚拟机管理程序。

水平扩展,通常称为“横向扩展”,是向集群系统添加更多节点的过程。这可能涉及添加更多 Web 服务器以更好地管理流量、向某个区域添加新服务器以减少延迟,或添加更多数据库工作人员以提高数据传输速度。

垂直扩展或“纵向扩展”是指使用额外资源升级单个服务器。这可能是可用内存的扩展、更多 CPU 核心的分配,或增加服务器容量的其他升级。这些升级通常为其他软件实例(例如数据库工作人员)在该服务器上运行铺平道路。在水平扩展变得具有成本效益之前,垂直扩展是响应不断增长的需求的事实上的方式。

通过云托管,开发人员可以根据应用程序的需求进行扩展 - 他们可以通过部署额外的 VPS 节点进行扩展,通过升级现有服务器进行扩展,或者在服务器需求急剧增加时同时执行这两种操作。

结论

到目前为止,我们应该了解云托管的工作原理,包括虚拟机管理程序和它们负责的虚拟服务器之间的关系,以及云托管与其他常见托管方法的比较。考虑到这些信息,我们可以选择最适合需求的托管。

你可能感兴趣的:(Linux,云计算)