简介云主机

云主机是,在经济实惠,可扩展和可靠的方式使用网络服务器的方法。在本指南中,我们将在通用组件在云托管环境,包括不同类型的虚拟化,以及如何与云服务器的工作时,他们可能会影响你的经验。

介绍

云托管是一种使用在线虚拟服务器的方法,可以根据需要创建,修改和销毁虚拟服务器。 云服务器由其托管的物理服务器分配资源,如CPU核心和内存,并且可以配置开发人员选择的操作系统和附带的软件。 云托管可用于托管网站,发送和存储电子邮件,以及分发基于Web的应用程序和其他服务。

在本指南中,我们将讨论云托管中涉及的一些基本概念,包括虚拟化如何工作,虚拟环境中的组件以及与其他常见托管方法的比较。

什么是“云”?

“云”是指通过付费租赁或作为软件或平台服务的一部分,连接到Internet的服务器可供公众使用的常见术语。 基于云的服务可以采取多种形式,包括网络托管,文件托管和共享以及软件分发。 “云”还可以用于指云计算,这是使用链接在一起的多个服务器来共享任务的工作量的做法。 云计算不是在单个强大的机器上运行复杂的过程,而是将任务分布在许多较小的计算机上。

其他托管方法

云托管只是今天客户和开发人员可以使用的许多不同类型托管中的一种,尽管它们之间存在一些关键差异。 传统上,具有低预算和低流量的网站和应用将使用共享托管,而更多要求的工作负载将托管在专用服务器上。

共享主机是让一个小而简单的网站启动和运行的最常见和最经济实惠的方式。 在这种情况下,数百或数千个站点共享一个公共的服务器资源池,如内存和CPU。 共享主机往往提供最基本和不灵活的功能和定价结构,因为访问网站的基础软件是非常有限的,由于服务器的共享性质。

专用主机是在一台物理服务器设备已售出或出租给一个客户端。 这比共享主机更灵活,因为开发人员完全控制服务器的硬件,操作系统和软件配置。 专用服务器在诸如企业软件和诸如社交媒体,在线游戏和开发平台的商业服务之类的要求较高的应用中是常见的。

虚拟化如何工作

云托管环境分为两个主要部分:应用和网站可以托管的虚拟服务器以及管理虚拟服务器的物理主机。 这种虚拟化是云托管的特征和优点背后的:主机和虚拟服务器之间的关系提供了通过其他托管方法不可用的灵活性和缩放。

虚拟服务器

今天最常见的云托管形式是使用虚拟专用服务器(VPS)。 VPS是一个虚拟服务器,其行为类似于具有自己的操作系统的真实计算机。 虽然虚拟服务器共享由主机分配给它们的资源,但它们的软件很好地隔离,因此在一个VPS上的操作不会影响其他虚拟服务器。

虚拟服务器由物理主机的管理程序部署和管理。 每个虚拟服务器具有由管理程序安装的操作系统,并且可供用户在其上添加软件。 为了许多实际目的,虚拟服务器在使用上与专用物理服务器相同,但是在某些情况下,由于虚拟服务器与同一主机上的其他服务器共享物理硬件资源,所以性能可能较低。

主机

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

主机负责在启动时分配内存,CPU核心和到虚拟服务器的网络连接。 管理程序的持续责任是调度虚拟CPU核心和物理核心之间的进程,因为多个虚拟服务器可以利用相同的物理核心。 进程调度的首选方法是不同管理程序之间的主要区别之一。

管理程序

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

KVM,是“基于内核的虚拟机”,是建在一个Linux内核的虚拟化基础架构。 当激活时,此内核模块将Linux机器转换为管理程序,从而允许其开始托管虚拟服务器。 这种方法与其他管理程序通常的工作方式形成对比,因为KVM不需要创建或模拟用于虚拟主机的内核组件。

Xen是目前使用最普遍的虚拟机管理程序之一。 与KVM不同,Xen使用微内核,它提供了支持虚拟服务器所需的工具,而无需修改主机的内核。 Xen支持两种不同的虚拟化方法:半虚拟化,其跳过模拟硬件的需要,但需要对虚拟服务器的操作系统进行特殊修改;以及硬件辅助虚拟化,其使用特殊的硬件特征来高效地模拟虚拟服务器,可以使用未修改的操作系统。

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

Hyper-V是虚拟化的Windows服务器的最常用的方法之一,可作为Windows Server的系统服务。 这使得Hyper-V成为在Windows软件环境中工作的开发人员的常见选择。 Hyper-V包含在Windows Server 2008和2012中,也可作为独立服务器使用,但不安装现有的Windows Server。

为什么选择云托管?

虚拟化提供的功能很好地适用于云托管环境。 虚拟服务器可以配置广泛的硬件资源分配,并且随着需要随时间而改变,通常可以添加或移除资源。 一些云主机可以将虚拟服务器从一个虚拟机管理程序移动到另一个虚拟机管理程序,几乎没有停机时间,或者在节点故障的情况下复制服务器以进行冗余。

定制

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

这种选择自由从操作系统开始。 大多数管理程序能够托管几乎任何客户操作系统,从开源软件如Linux和BSD到专有系统如Windows。 从那里,开发人员可以开始安装和配置所需的构建块,无论他们正在做什么。 云服务器的配置可能涉及Web服务器,数据库,电子邮件服务或已经开发并准备分发的应用程序。

可扩展性

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

水平缩放 ,通常被称为“横向扩展”,是添加更多的节点群集系统的过程。 这可能涉及添加更多Web服务器以更好地管理流量,向区域添加新服务器以减少延迟,或添加更多数据库工作者以提高数据传输速度。 许多较新的Web实用程序,如CoreOS,Docker和Couchbase,都是围绕高效的水平扩展构建的。

垂直缩放 ,或“扩大”,是当一台服务器与额外资源升级。 这可能是可用内存的扩展,更多CPU核心的分配或一些其他升级,以增加服务器的容量。 这些升级通常为其他软件实例(如数据库工作者)在该服务器上操作铺平了道路。 在水平扩展成为成本效益之前,垂直扩展是响应不断增长的需求的首选方法。

通过云托管,开发人员可以根据应用程序的需求进行扩展 - 可以通过部署其他VPS节点进行扩展,通过升级现有服务器进行扩展,或者在服务器需求显着增加时进行扩展。

结论

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