如何听起来像云专家
已发表: 2022-03-10您的代码已编写,设计看起来很棒。 当客户询问“这应该在云中运行吗?”时,新项目几乎可以开始了。
你冒出一身冷汗。 问题很大。 区域和区域、高可用性、负载平衡——云有自己的语言。
别担心; 你有这个。 本文将教您如何对云做出明智的决策,并回答客户的云问题。
四大问题
在您和您的客户知道您想要什么样的云之前,您需要讨论四个问题:
- 您需要运行的软件有多复杂?
- 它需要扩展多少?
- 永不下降有多重要?
- 它需要为世界各地的用户运行多快?
本文为您提供了回答这些问题所需的背景和信息,听起来就像是云专家。
让我们开始。
- 什么是云?
- 为什么您的客户关心云
- 云与托管服务有何不同?
- 为什么虚拟机如此重要
- 让我们谈谈网络
- 不同类型的云
- 云的基本组成部分
- 您的客户可能会问的问题
什么是云?
当我们谈论云计算时,我们真正的意思是从别人那里租用一台计算机的能力。 这里的所有都是它的。
像亚马逊和谷歌这样的公司有很多电脑,他们愿意把其中的一部分租给你。 从他们那里租用计算机具有成本效益,因为您不必建立自己的数据中心或聘请自己的专家团队来运行它们。
当您租用计算机的一部分时,您需要它看起来像整台计算机,这样您就可以运行任何您想要的软件。 这就是为什么提供商会为您提供虚拟机 (VM) — 让您看起来像是在自己的独立计算机上运行的软件。
为什么您的客户关心云
在您了解有关云的更多信息之前,重要的是要了解您的客户关心的原因。 让我们不要忽视流行语的魅力。 云现在真的很流行。 您的客户可能只是问,因为所有酷孩子都在这样做,但酷孩子这样做是有原因的。
让我们从基础开始。 托管您自己的数据中心将是一件很痛苦的事情。 您必须担心功耗、保持硬件最新、聘请专家团队来运行它,以及与您的业务无关的一千个其他问题。 如果停电、发生洪水或屋顶塌陷,会发生什么? 这些都是不在客厅运行的服务器上托管您的网站的所有原因。
您不仅可以将所有的麻烦转嫁给其他人,而且让他们运行数据中心会给您带来三大优势:
- 云是全球性的。
它们存在于世界各地的数据中心,包括靠近您客户的数据中心。 这意味着速度。 您不希望中国的客户等待从美国加载数据。 当我访问 Google.com 时,我在波士顿的数据中心与在芝加哥或洛杉矶的数据中心不同,而这只是在美国。这在很大程度上使 Google 的速度成为可能。 - 云会变大变小。
如果我购买服务器,我有一台服务器; 即使我的应用程序不需要整台计算机,我仍然需要为该服务器付费。 当我的应用程序真正流行起来时,我需要快速购买更多服务器。 云不是这样工作的。 租用服务器份额意味着我可以改变我租用的数量:我可以在忙时扩大订单,在不需要的时候缩小订单。 - 云永不落。
永远不要说永远……但几乎永远不会。 云提供商谈论“五个九”——这意味着 99.999% 的时间都在运行(每年只有 5.26 分钟的停机时间)。 您可以使用负载平衡和故障转移等服务将其变得更小。
这些都是云很酷的原因,但是您可以从简单的托管服务中获得其中的一些。 如果您的客户询问云,您需要知道其中的区别。
云与托管服务有何不同?
我在名为 Media Temple 的托管服务上有一个个人网站。 我的网站运行 WordPress,所以它需要一些东西:
- 存放我的文件的目录
- HTTP 服务器
- 一个数据库
- PHP
我的目录在 Linux 上运行,我的 HTTP 服务器是 Apache,我的数据库是 MySQL,它都运行在 PHP 上; 这就是为什么他们称它为LAMP 堆栈(Linux-Apache-MySQL-PHP)。 这听起来可能有很多片段,但它们是有限的。 例如,我无法安装新软件。 如果我想在 PostgreSQL 上运行我的数据库,我就不走运了。 我无法运行 Python 或 Go 等其他语言; 我不能编写自己的单独程序。 我只能得到一组非常有限的、预先配置好的我被允许做的事情。
我的网站也只在一个地方的一台服务器上运行。 那台服务器在哪里? 我不知道。 我认为它在美国的某个地方,但除此之外我不知道,而且我真的不在乎。 托管服务提供商给了我一个服务器,我输入一个 URL,我的网站就会出现(大部分时间)。
托管服务提供商保持简单。 其中一些托管其他堆栈,一些允许更多配置,但它始终是一个集合包。
托管服务和云之间的根本区别在于虚拟机。 托管服务只是为我提供了现有操作系统的一部分。 虚拟机为我提供了一个完整的操作系统。
为什么虚拟机如此重要
虚拟机的行为就像一台真实的机器。 它可以运行 Linux 或 Windows,它可以做任何普通计算机可以做的事情。 Apple 不允许您在虚拟机上运行 OS X(尽管一些人已经让它工作,构建了一个“Hackintosh”)。
当您拥有虚拟机时,您可以完全控制。 你可以在那里运行任何你想要的东西——数据库、电子邮件服务器、加密,甚至搜索外星人。 虚拟机允许你做任何你想做的事情。
拥有一个完整的操作系统真的很强大,但在你做任何有用的事情之前,你需要访问虚拟机。
让我们谈谈网络
如果您无法访问虚拟机,它们将毫无用处。 您需要网络,尽管网络可能会变得有点复杂。

但是这些基础知识将为您提供入门所需的知识。 让我们从一个您熟悉的示例开始。 它现在可能正在你的房子里运行。

我家有康卡斯特。 Comcast 给了我一个电缆调制解调器,其 IP 地址类似于10.0.0.89
。 虽然它只给了我一个 IP,但我有两台笔记本电脑、一台 iPad 和一部手机; 我的妻子和女儿拥有更多设备。 为了实现这一点,我有一个连接到我的电缆调制解调器的无线路由器。 我的无线路由器为我的每台设备都提供了一个 IP 地址,例如192.168.0.100
、 192.168.0.101
等,但这些地址对我的网络来说是私有的。
这些私有地址的技术术语是不可路由的。 有一些地址是为私人使用而设置的; 大多数以10.
或192.168
开头,作为 Internet 路由器的标志,表明这些地址不允许在野外使用。 我使用这些特殊地址是因为它们是可重复使用的。
每个 IP 地址在给定网络中必须是唯一的; 否则,路由器将不知道我想连接哪台计算机。 有 4,294,967,296 个可能的 IP 地址。 尽管网络设计师认为这一切始于 1970 年代,但我们现在已经不多了。 还有一些其他协议,比如 IPv6,将来可能会解决这个问题,但今天我们通过网络地址转换 (NAT) 解决了这个问题。 让我告诉你它是如何工作的。
我家中的设备的地址在我家中是唯一的,但在整个世界中都不是。 当我想上网时,我需要无线路由器为我翻译它们。 每次我点击一个链接时,我的笔记本电脑都会与我的无线路由器对话以向我发出请求; 反过来,无线路由器代表我与世界对话,但使用它自己的地址。 然后,当我的电缆调制解调器与 Comcast 通信时,它会做同样的事情,而当 Comcast 将我的请求发送到一般互联网时,它会在更大范围内再次做同样的事情。 每台路由器都在转换前一个路由器的 IP 地址。 所有这一切意味着许多计算机可以重复使用像192.168.0.101
这样的 IP 地址,并且一切顺利,没有冲突。
那么我在真实互联网上的真实 IP 地址是什么? 现在我的真实 IP 地址是66.30.118.150
,我的私有 IP 地址是192.168.0.103
。
地址66.30.118.150
是从哪里来的? 这是 Comcast 拥有的 IP 地址。 这清楚地表明我在美国东北部的马萨诸塞州剑桥市。 我不需要细节; 我只需要知道这是康卡斯特为我管理的真实公共地址。 康卡斯特可能会为成百上千的其他人使用相同的地址。
所有这些地址转换都做了其他非常重要的事情。 它为我提供了一个单一的访问点,可以控制进入我家庭网络的所有内容。 外面没有人可以访问192.168.0.103
; 对他们来说,这是一个不同的地址。 通过控制可以进出的流量,我获得了很多安全性。 我的无线路由器是我可以控制发生的事情的关键点。
大多数云就像我的家庭网络一样工作。 计算机是虚拟的,网络称为子网,无线路由器称为网关,但都是一回事。 他们拥有带有私有地址的虚拟机和将它们转换为公共地址的网关。 他们还有一个地址空间,可以像我家的无线路由器一样使用。 像这样:

听起来可能很复杂,但并不难。 云是我从其他人那里租用计算机并将它们设置为看起来像我的家庭网络的一种方式。
要记住的最重要的事情是:
- 专用 IP 仅在您的专用网络上可用;
- 公共 IP 在 Internet 上可用;
- NAT 允许私有 IP 看起来像公共 IP。
这并不是云网络所发生的一切,但对于启动、运行和访问您的云来说已经绰绰有余了。 现在你需要决定你想要什么样的云。
不同类型的云
云是一个无定形的术语——人们用它来表示很多不同的东西。 云实际上分为三种不同的类别。
基础设施云
虚拟机和网络是基础架构云的构建块,也称为基础架构即服务 ( IaaS )。 它们提供了您可以完全控制的虚拟化基础架构。 您决定操作系统以及在其之上运行的所有其他内容。
您可以获得灵活性和控制权,但您有责任管理和支持您安装的所有内容。
基础设施云要么是静态的,要么是弹性的。 静态云就像我的家庭网络一样工作:我有一组虚拟机运行我需要的任何东西。 他们生活在一个私有网络上,有一个公共网关允许他们访问互联网。 静态云非常适合处理数据、拥有一些额外的计算能力或托管比托管服务提供商所能处理的更复杂的站点。 您还可以将静态云复制到世界各地的其他数据中心。
弹性云就像静态云一样工作,但它们是动态的。 您拥有一组可以根据您的需要增长或缩小的虚拟服务器,而不是一组固定的虚拟服务器。 当您对站点或服务有高需求时,您的云会扩展,而当您不需要时,您的云会缩小到正常大小。 所有的扩展和收缩都可以为您节省金钱。 当你不需要它时,你会归还你不需要的计算能力。
Netflix 使用 IaaS。 Amazon Web Services 提供基础设施,Netflix 在其上实施其整个系统; 它编写了自己的软件,为流式传输高清内容提供高度定制化的支持。 Weather Company 是另一个例子——它运行在 IBM Cloud 之上。
平台云
平台云,也称为平台即服务 ( PaaS ),是一种专门的云,它为您的应用程序提供软件构建块,而云提供商为您管理基础设施和软件堆栈。
例如,如果您需要一个 Web 应用程序,PaaS 可以为您提供 vanilla WordPress 或 Drupal 供您使用。 如果你需要一个数据库,你可以选择 MySQL 或 PostgreSQL。 如果您需要开发工具,您可以选择 Node、Java 或 PHP。 您无需担心正在运行什么操作系统,或者是否需要应用 MySQL 安全补丁——云提供商会为您处理这些问题。
Heroku 是一个 PaaS 云。 它提供了下面的软件,你只需在上面写你想要的。 它为您提供了一些灵活性,但比 IaaS 云管理更多。

软件云
软件云,也称为软件即服务 ( SaaS ),是一种非常专业的云,可为您提供定义明确的在线服务。 托管服务提供商是一种特殊类型的 SaaS 云。 他们以非常有限的方式工作。
Wix 是 SaaS 的另一个例子。 它为您提供完整的 Web 应用程序托管服务,具有出色的编辑器、对用户登录和支付的支持以及多种模板可供选择。 Wix 只专注于一项工作。 它的功能非常有限,但也更易于使用。
云的基本组成部分
我们已经讨论了不同类型的云以及您需要它们的原因。 在您真正听起来像云专家之前,您需要了解组成云的不同组件。
虚拟机
虚拟机是一种像硬件一样运行的软件,就像一台真实的机器一样运行,而无需在任何地方使用单独的服务器。 你可以用虚拟机做任何你想做的事,它会通过鸭子测试——它像真正的服务器一样走路和嘎嘎作响。 您的软件永远不会知道其中的区别。
这种灵活性是有代价的。 您负责维护您的虚拟机。 云提供商将确保硬件处于最佳状态,但您必须选择您的操作系统以及在其上运行的所有其他内容——安全补丁、软件更新、配置。 这一切都取决于你。
如果你不在弹性云上,最好记住释放任何不再需要的虚拟机。 无论 VM 是否在工作,提供商都会向您收费。
子网
我们已经涵盖了云网络。 子网是在云中运行的网络。
私有 IP 和公共 IP
云网络将为子网中的虚拟机分配一个不可路由的 IP 地址。 这些被称为私有 IP,因为它们对我的网络是私有的。 当虚拟机向 Internet 发送请求时,公共网关将转换这些请求。 这被云提供商称为出口流量。
就像我无法从咖啡店访问我的家用打印机一样,在云中我需要一个公共 IP 来访问虚拟机。
可以将公共 IP 分配给虚拟机以允许入口流量(来自 Internet 的流量路由到虚拟机)。 这很重要,因为云供应商会对入口和出口流量收取不同的费用。
SSH 密钥
SSH 密钥是一条允许您访问云的私有信息。 它由两个文件组成。 有一个如下所示的公钥:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC5b8xmtjUd1taP4svy9FM/WZc/n5gkqKVkhIsqW27hw2WuhfTVNLA6IBBOs9+br+HlqGYwgYB3DSh0Zm/3Bok1uQhinH77FmKsrPGDpvtJv16weIvGiTMVp+Mct8DVKl48KZxvQKa0Hp6MxEc7cQ9WPvzWn9BPLHERSkSNwXSUobqpFBgIPy9UBWr5DsI2Li5HeMgMgTcbuVVdO/8I/rhKoIyTqkhY4CZcyssmWhMvPmk6+9IcOr0O4SyW9TL+CZgDH1mW2dUypT+1j6HgFjr9H8NfJ4EKnWnFkQXo8HZ4oh6lSTaIfDQfnbrjVUO14N7FW9ZgXbL9cJVx5FLw3ny9 [email protected]
还有一个看起来像这样的私钥:
-----BEGIN RSA PRIVATE KEY----- MIIEogIBAAKCAQEAuW/MZrY1HdbWj+LL8vRTP1mXP5+YJKilZISLKltu4cNlroX0 1TSwOiAQTrPfm6/h5ahmMIGAdw0odGZv9waJNbkIYpx++xZirKzxg6b7Sb9esHiL xokzFafjHLfA1SpePCmcb0CmtB6ejMRHO3EPVj781p/QTyxxEUpEjcF0lKG6qRQY CD8vVAVq+Q7CNi4uR3jIDIE3G7lVXTv/CP64SqCMk6pIWOAmXMrLJloTLz5pOvvS HDq9DuEslvUy/gmYAx9ZltnVMqU/tY+h4BY6/R/DXyeBCp1pxZEF6PB2eKIepUk2 iHw0H52641VDteDexVvWYF2y/XCVceRS8N58vQIDAQABAoIBAHU7UKW+m2X55Dui zf0SqW5rXUtDwhOq6qTZhoGIvFjOBwKGfXosjRyyGJ0o6jyqvM1L4Q7ZUDXzg5fT CwXIhAYKrFprRXvHcypnS2hHsKW27k3yZ6tkIX+XW+VT5fzdhCXUyKks3jcRBHtJ ux7BI0kLGR02e6MSHYkowp47p1Auukx1saRkFTwvy+znABgqVETvtHBxAiElXndL JfQntaQacgWWDjl2qUj+06IB/Qzd9/Mo1Vtdb8SUZxv/Qc2raSi3LL0N4aSJGLGU pq395ggv9NdhUQf+DN9uGaOC4hYeGdO8gm27yysZ4rTT5iln5wOaCAcMTMrGL4+k GoU/nKECgYEA7AP/Mh9sUi9AX/17a3A/zxNAO1ZrvM+Caj/X/t/pt3HEOhqLz7o5 z3g8/Z+H0CJLZNiP9XbMak2wvOiqRj0y+FihX/ESll6XgIEPTBUcFSirWMe4f9og FltrnelUjHG9MTDW0P4jmmp1E5V8RgnCCv2VjN40ulP5zHPXXdU2FP8CgYEAySNs /qlFL7DTB/A851y6cUzQC5kiKlr/T8aUtOHeBo626jlnHDy/VY9vIJ0ttsYyHCdM OSdqZh5wRwvshr94tpOBQNnDTI4Xv7t2couHl7q2xTOYeWViwGyZaatNYlWWFh/u YSCTd2jn6cvBZOZP3BAiWoF9nzLcsjfpNLdzAkMCgYAx8TaTOKsHSRBqP41aUspt 2zkAVW0+6vpB2Xivalpegyhu0yc6scGB8YOWd6eZl2g00s7DtnvTEtWPY/yEGHcs rjSXxL+WKjYM70J5aw4iPBTmGH0mMNYRZQ8Ev1cw0PCj9B3A48ZM6rITjtJZT79L 7BU1Vd/6fcKiTPEJ3hAvqQKBgBKOQBnmR8m0iGNtGFFHzrNxIKhRQkOiDXewnDtr su3r8Jf/H7INMKGWD+x0U6lO84SBY5jKOBifqkADq5hqxZoiVYREEq5XVX2Mr8q1 cJbg1MewkNpyLgAOhMCo2wS9XJFB9N3lAXW8qdh5waerT6a/nku3Mn2jVZTjb5I7 clK9AoGAZLuvLAJpFOf/mweajULV+oFMGzIArvbk1c+cGySeI5uZwfQ9lv2MOb0N DuFTXZt6QpKV9Nix/8KgBIP2Vac6gSAeF6kIXk2+nV6gXm5tojYrf6gG1jY8ceRD IFSeGlnBhYVrFcQ79fYwJtSQgGde4PtNF1yq9ipluAyLuy1cLUc= -----END RSA PRIVATE KEY-----
您可以一起使用这两个文件而不是密码。
SSH 公钥身份验证是登录远程系统的可靠方式,比标准用户名和密码更安全。 (SSH 代表“安全外壳”。)您之前可能已经以 Github 密钥的形式看到过 SSH 密钥。
SSH 密钥依靠公钥加密和质询响应身份验证来防止暴力攻击和其他威胁。
这些密钥确保只有您可以访问您的虚拟机,并且它们非常适用于脚本和其他自动化任务。
数据中心
数据中心是一个装满计算机的大型建筑。 云提供商将其中的一部分租给您。

这些计算机是功能强大的服务器,每台服务器都可以同时托管许多虚拟机。 这些服务器消耗大量电力并产生大量热量,并且它们需要物理上靠得很近,因此网络速度很快。 因此,数据中心是云提供商存放运行其云的所有物理硬件的设施。 数据中心需要适当的冷却、冗余电源、巨大的网络带宽、受控访问和熟练的员工来保持所有机器的运行。
数据中心可以处理大量负载,但它只在一个地方。 全球云提供商需要将数据中心分布在世界各地,以确保世界各地的客户对其服务器的网络访问延迟都可接受。
区域和区域
云提供商需要组织其数据中心,以确保在停电、洪水、飓风和其他灾难期间能够继续满足请求。 供应商将此称为服务质量,这都是确保云永远不会中断的一部分。
区域是具有特定往返网络延迟(从哪里到哪里?)的地理区域。 地区有达拉斯、东京或法兰克福等名称。 您可以保证在该区域内获得您支付的网络延迟。
一个区域由一个或多个区域组成。 区域是一个区域中的隔离数据中心,具有独立的电气、机械和网络基础设施,旨在保证其他区域之间不会出现共享单点故障。 这使您能够通过部署到一个区域中的多个区域来构建高度可用的容错应用程序。 如果一个区域崩溃,该区域可以继续运行,但是当所有区域都崩溃时,它真的很糟糕。
数据中心托管一个区域。 多个数据中心聚集在一起以创建一个多区域区域。 区域的名称类似于 us-south-1、us-south-2 和 us-south-3。 一个小区域可以由一个强大的数据中心提供服务,而人口稠密的区域可能需要多个数据中心来应对网络和计算需求。
灾难恢复、高可用性和容错
即使是最有成就的 IT 架构师,这些概念也会让他们汗流浃背。 他们在晚上保持清醒,想知道如何确保云层永不落下。
但是你有这个! 云(几乎)永远不会消失,如果确实如此,很容易确保您被覆盖。 让我们一一回顾这些概念:
灾难恢复(DR) 是一组政策和程序,详细说明了重大事件期间和之后的操作。 设计你的系统,让它优雅地失败(这意味着你的用户会明白有些地方出了问题,但你已经解决了它),并且在发生事件后,你知道如何尽快将其恢复。 当整个区域出现故障时,您需要 DR,您的服务受到网络攻击,或者它易受攻击并且您需要将其关闭。
高可用性(HA) 只是一个目标——我们之前谈到的“五个九”。 您希望您的应用程序能够适应故障。 如果你在客厅里运行服务器,这几乎是不可能的,但在云中它是可行的。 您可以依靠云的容错基础架构来实现高可用性的目标——一切都为您处理好了。
容错基础架构是一种设计,可确保在出现故障时备份接管。 云是一个容错系统。 如果一个区域内的一个区域发生故障,其他区域将确保服务的连续性。 您需要通过使用负载平衡器等组件来利用这种容错能力。
负载均衡器
高可用性来自于同时运行应用程序的多个实例。 负载均衡器是一种设备,它将流量从您的用户路由到您的一个运行良好的实例; 它接受请求并将它们发送到下一个健康的服务器。
负载均衡器监控虚拟机的运行状况,它可以考虑不同的参数。 它可以检测您的虚拟机或应用程序是否崩溃,还可以检查网络延迟、请求标头中的特定数据等等。
您的客户可能会问的问题
因此,您的应用程序运行良好,但您的客户正在考虑采用云。 你准备好了吗? 以下是您应该能够像云专家一样回答的常见问题。
我什么时候需要的不仅仅是托管服务提供商?
您的客户可能会全速参与将所有服务迁移到云中。 凭借更大的灵活性、弹性和地理分布的存在,云很容易让人兴奋。
但即使云计算更快、更灵活、更可靠,它的成本也更高; 它甚至可能需要额外的 IT 支持来保持客户系统的运行。 云并不适合所有人。
如果您的客户系统当前在托管服务提供商上运行,您是否应该迁移到云?
考虑当前和未来的需求:如果您的客户正在寻找符合法规的高可用性,那么请迁移到云。 如果您的客户面向全球受众,请迁移到云端。 如果预计全年需求会急剧增加,请迁移到云端。
如果系统将主要由特定地理区域内的本地用户访问,或者如果它对您的客户不是关键任务,则不要迁移到云。
重要提示:如果您客户的系统在托管服务提供商上运行良好,您应该考虑现有的 SaaS 产品,这些产品将提供云的弹性和性能,同时将您的客户与不必要的 IT 费用隔离开来。 有像 Bluehost 这样的传统托管服务提供商提供基于云的服务,也有提供托管服务的云服务提供商。
我应该使用什么类型的云?
找到合适的云类型可能会让人不知所措,因为每个提供商都提供广泛的服务和选项。 首先要考虑的是客户端软件堆栈的复杂性和当前运行的硬件。
如果整个堆栈通过重新编译的开源库、定制的 Linux 内核或特殊的存储优化来高度定制,那么您应该首先查看 IaaS。 一些提供商将允许您的客户混合搭配,将 IaaS 用于高度定制的组件,同时选择 PaaS 用于其他部分。
但是,如果您的客户的需求主要建立在现成的库之上,那么 PaaS 很可能是一个更好的起点; 云提供商将确保您的客户的代码将始终在最新的依赖项之上运行。
一旦确定了正确的云模型,要求和评估标准对于您的客户来说将是独一无二的。 但非功能性需求始终值得关注:您的客户是否必须遵守特定领域的法规、认证或标准? 他们是否依赖于特定供应商或与特定供应商建立合作关系?
最后,想想云提供商的迁移支持和供应商锁定——一旦系统运行,您的客户迁移到竞争对手有多么困难。 即使您的客户不打算搬出,也要考虑退出计划。
我如何确保我的网站永远不会宕机?
假设您的客户在美国医疗保健行业工作。 HIPAA 要求每个组织都有某种灾难恢复计划,其中包括您的网站。 如果站点出现故障,您客户的业务将会失败,因此您需要云的弹性。
云为您提供了确保您的站点永远不会出现故障所需的工具。 您将需要同时运行应用程序的多个实例,以及一种控制流量的方法,这样您的用户将永远不会访问错误的实例。
如果您的客户在 IaaS 云上部署您的站点,您将需要应用程序的多个实例和一个负载均衡器来控制流量。 如果您的客户有一个 PaaS 云,只需确保您有多个实例在运行,因为云会自动提供路由部分。
如果您的站点使用数据库,请确保将客户端的云配置为支持会话亲和性(也称为粘性会话),这是一种确保所有用户流量都路由到同一虚拟机的方法。
如何让我的网站快速为世界上的每个人服务?
如果您的客户正在走向全球并需要您的应用程序为世界各地的最终用户提供快速服务,那么您需要云的灵活性和地理覆盖范围。
即使云是全球性的,您也需要应用程序的实例在靠近用户的地方运行。
与您的客户一起确定哪些云区域最适合您的用户群,以及您的客户在哪里托管支持您的站点的 API——您的实例应该靠近两者。 您还可以讨论设置一个全局代理,根据用户的位置将流量路由到不同的地理区域。
结论
通过 Internet 向不断增长的客户群提供可扩展且有弹性的服务非常复杂; 我们在这里几乎没有触及表面。 这就是为什么我们想把细节留给亚马逊、谷歌和其他云提供商。 您的工作是就如何使用他们的服务做出正确的决定。
请记住,当您的客户问您是否应该在云中运行某些东西时,您需要问四个问题:
- 您需要运行的软件有多复杂?
- 它需要扩展多少?
- 永不下降有多重要?
- 它需要为世界各地的用户运行多快?
从这四个简单的问题开始,你会听起来像个云专家。 与您的客户合作,了解这些问题的答案对他们意味着什么,考虑到不同类型的云,您将成为解决他们需求的重要组成部分。