据媒体报道,亚马逊公司的云平台在2019年遭到一系列DDoS攻击,该公司对此一直保持沉默。然而这些事情经常发生。
在全球互联网诞生以来,拒绝服务攻击(DDoS)就一直存在,而数据中心运营商或托管服务提供商遭遇网络攻击之后却很少坦率承认。而保护所有人免遭网络瘫痪的基础设施将再次提供保护:这就是由不同云计算供应商运行的多个数据中心,也就是“多云”。
企业采用多云战略首先是在多个供应商的云平台上运营业务。这竟味着企业将其软件和业务在AWS和Azure云平台上运行,或在谷歌云平台上运行。企业放弃使用任何可能妨碍其迁移的供应商服务,而追求的数据架构允许企业跨数据中心进行扩展。
单一云平台的优缺点
依靠单个云计算供应商的云平台,企业就可以获得其提供的云计算服务。添加这些服务通常是无缝的。也就是说,如果是AWS公共云客户,则可以使用Amazon Elasticsearch Service,而不用构建自己的搜索集群。如果是谷歌云客户,则可以使用他们的文档数据库Google Cloud Datastore。
但是,与所有云计算供应商的云平台策略一样,采用单一云平台的企业也将付出代价:供应商锁定。这听起来问题很严重,当然,云计算供应商提供的云计算服务现在价格可能很低,但会一直如此吗?此外,随着云计算供应商转变战略,其提供的服务是否有一天会被无理取消?他们甚至可能从未真正宣布过这一消息。如果企业所在地区的AWS数据中心长时间停机、变慢或变得不可靠怎么办?能够承受起这样的损失吗?
这些供应商提供的某些服务(尤其是AWS公司的服务)是一些开源替代产品的分支,这些服务应该维护API兼容性,但它们来自开源软件。对于缓慢升级的大型企业来说,这通常是可以接受的。但是,“通常”并不代表总是如此。
更大规模的企业必须在需要时迅速行动。如果在当前版本中有一个无法修补的重大安全缺陷,则可以进行迁移。如果某些是大规模扩展所必需的(而企业需要)或企业自己的下一个版本所需的某些其他功能,那么按照云计算供应商的日程安排,企业的业务将会处于落后状态。
企业在采用云计算供应商提供的云计算服务时,重要的是要问自己:“他们的动机是什么?”当然,云计算供应商可能希望在其IaaS产品之上获得30%的利润,但更有可能的是,供应商希望将企业的负载保留在自己的平台上。
但是,尽管每个云计算供应商已经变得越来越可靠,但并不是完全可靠。每个主要的云计算供应商每年有一个或多个云计算区域中断,虽然有些中断只是持续很短一段时间。如果企业不能将其业务迁移到其他云平台,那么在云平台中断时将会无计可施。
最后,到了协商定价的时候,如果云计算供应商知道企业不能离开,那么他们会有多大的灵活性?
多云的优缺点
多云策略既需要云计算供应商中立,又需要更灵活的架构选择。这意味着更多的前期复杂性。这意味着有时会与多家云计算供应商进行谈判。
但是,与使用单个供应商提供的云计算服务相比,多云策略为企业提供了更多的自由和安全性。尽管许多企业在大型机上实施标准化,然后在DEC、HP和Sun服务器上实现标准化,然后再尝试在Windows NT上实现标准化。
单一云计算供应商平台常常无法兑现其承诺。需要记住,从上世纪90年代到2000年,微软公司的技术通常集成良好但不成熟。然后迅速发生了变化。经验丰富的开发人员记得数据访问技术,DAO、RDO、OleDB和ADO,它们都已陆续发布并提倡使用。更不要说.NET过渡和发生的错误营销(即Windows.NET)。
尽管平台独立性会带来前期成本,但追求平台独立性的企业往往会产生更具弹性的架构。这些公司在应用程序之间采用标准接口。他们选择适合用例的最佳技术,而不是平台所推动的任何技术。最重要的是,当云计算供应商被证明不是一个可靠的合作伙伴(或抬高价格)时,很多企业有退出的自由。
多云策略的最低要求
多云的最大要求是依靠开放标准和行业标准作为关键接触点。以下是一些显而易见的内容:
- Kubernetes。开源容器管理平台现在是用于部署服务的行业标准。如果要创建在笔记本电脑上运行的标准Kubernetes部署,则它们应在多个云计算提供商上运行。
- 开源。为企业核心体系结构使用开源工具和技术。这样可以确保随着平台策略的变化,企业可以选择其他路径。
- 开放标准。这并不是说企业需要真正参与应用服务器集群本身的方式,但是与其他软件的所有接触点都应遵循开放且与供应商无关的行业标准(例如JSON)。
- 关注品牌服务。如果企业需要一个固定的IP和各种DNS服务,AWS公司会为这些常见的网络工具提供自己的版本。当然,企业不需要运行自己的分布式DNS,而且必须使用提供商提供固定IP的方法。它也不会真正锁定企业,在Azure和谷歌云平台上的工作方式通常也会相同。例如企业在使用机器学习服务时,应该更谨慎一些。
在两个或多个云平台上运行服务之外,也不一定确保企业能够快速迁移。即使企业主要是由于成本或财务等原因将数据流量引导到一个云平台,也应该在另一个云计算提供商拥有一些备用数据库和文本。而在不可避免的业务中断发生时,企业可以有效应对。