如何选择合适的软件部署方式:本地部署、云端(SaaS)还是自带云(BYOC)?

2024/12/13 21:03:12

本文主要是介绍如何选择合适的软件部署方式:本地部署、云端(SaaS)还是自带云(BYOC)?,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

任何需要研究和获取技术B2B工具的人都很熟悉解读产品网站上关于定价的部分。这些页面充满了反复出现的术语,如SaaS、BYOC和本地部署。我个人经常感到困惑,试图理解这些术语是如何搭配在一起的,以及为什么一些公司在使用这些术语时有所不同,尤其是这些术语似乎并没有统一的使用标准,有些术语甚至可以相互替换。

例如,“本地部署”和“自管”听起来相似,但含义不同。随着软件供应商部署到监管日益严格和复杂的环境中,弄清楚这些术语的实际含义及其使用场景非常重要。让我们理清这些术语的混乱情况,并明确一些术语的区别,以确保软件采购和部署之间的清晰划分。

部署方法与目标​

我要坦白地说,这篇博客文章可能包含一些个人的观点。由于没有官方权威定义行业术语的使用方式,我将根据我的理解来谈。我的第一个看法是,我认为区分部署方法(或模型)和_部署目标环境_最有意义。下面就来解释一下原因,但在开始深入探讨之前,我们先来澄清一些关键术语。

在这篇文章里,我们会多次用到以下这些术语。先定义它们可以避免混淆。

  • 软件供应商: 创建并提供给客户在其内部运营中使用的软件产品的公司。
  • 软件客户: 与供应商签订合同购买和使用软件产品的公司。
  • 基础设施管理: 配置、维护、故障排除及配置软件运行所需基础设施的过程。
  • 基础设施所有权: 指拥有基础设施本身的实体。虽然所有权与管理是不同的概念,但即使客户拥有基础设施,供应商有时仍负责管理。
  • 部署方式/模型: 部署软件的过程,每种方法的选择基于基础设施管理和所有权方面的责任共享程度。合规性、安全顾虑和客户偏好等因素会影响所选的部署方式。
  • 部署目标: 描述供应商软件运行的物理环境,重点在于基础设施的特性,而不是强调供应商和客户之间的责任分配。
部署方式​

我通常发现的关键困惑是,人们常常把部署方法误认为是部署目标环境或平台。以下是三种主要的部署方法,如下所示。

全托管(云)或软件即服务(SaaS)​

此模型将所有的运营和安全责任全部转移到供应商,供应商不仅拥有软件,还管理运行该软件的基础设施。客户通常通过订阅服务来访问软件,由于供应商几乎处理了所有事情,因此,客户通常不会对角色感到困惑或复杂。

SaaS,特别吸引那些想要快速高效地使用软件的客户,而无需投入时间和资源进行持续维护。

SaaS产品是为谁设计的呢?

更注重便捷性和灵活性而非数据主权的公司,无论规模大小,可能没有严格的合规需求,他们对无法控制可用性、配置、版本控制和安全性的模式感到满意。

自带云(BYOC),即带自己的云服务

BYOC 过去四年里已成为部署软件的一种新方式,尤其吸引了那些对数据主权、访问和安全有着严格需求的公司,尤其是在高度监管的行业。在 BYOC 模型中,供应商被允许访问客户环境中的一个 VPC。在这里,供应商不仅管理软件,还管理基础设施,但权限通常仅限于特定工作负载的需求,以进一步增强安全性。通常会采用零信任安全模型与 BYOC 结合,以确保数据不会离开 VPC,并且软件客户可以在任何时候将供应商排除在外。

对于基础设施和支持的共同责任为供应商和客户带来了独特的挑战。然而,对于那些缺乏足够资源来完全自我托管的公司来说,BYOC(自带云端)为那些无法使用第三方SaaS服务的公司提供了一个替代方案。

你在成熟的BYOC(自带操作环境)服务中最看重哪些方面?

  • 细粒度的访问控制: 可以设置细粒度权限以控制谁可以访问和修改BYOC环境中的数据。
  • 监控和日志记录: 强大的监控和日志记录功能,用于跟踪使用情况和状态、性能和潜在的安全问题。
  • 明确的服务水平协议(SLA): 明确定义的SLA,概述了服务可用性保证、响应时间和问题解决过程。
  • 专属支持: 可以获得知识渊博且响应迅速的技术支持。

BYOC模型的目标用户是哪些人?

BYOC 通常由大型企业及运营在受严格监管行业的组织使用,例如金融、医疗保健和政府部门。这些组织可能缺乏高度专业化的基础设施管理团队。这些用户通常有严格的合规要求和数据主权限制,这使得他们无法采用传统的 SaaS 服务,但仍希望在自己的基础设施上获得供应商管理解决方案的便利性和专业性支持。

对于那些可能没有最严格合规要求但已经以折扣价购买了大量云资源的用户来说,这也是一个很好的理由。许多公司购买预留实例或承诺大量云资源使用以享受优惠价格,而BYOC使他们可以充分利用这些资源,最大化其云资源投资的价值。

注意:在 BYOC(自带云)房间里那只大象是,虽然一些公司可能会欣赏软件提供商为其基础设施提供的便利管理,但许多其他公司则永远不愿授权供应商管理其基础设施或允许供应商在其环境中部署软件。这使得 BYOC 对许多人来说变得不可行。

基于本地的

最后一个部署模式是 On-Premises(也就是我们常说的 Self-managed)。我个人觉得将部署方法与目标环境混为一谈有点让人困惑,因为 On-Premises 设置可能运行在私有云环境中,而不仅仅是在本地的数据中心。

尽管有困惑,对于追求自主权的组织而言,这仍是金标准。选择本地部署方法的公司通常是为了全面掌控自己的环境,无论是为了合规、安全还是运营效率。

在此模型中,客户要么承担全部基础设施和软件维护的责任,要么已经预留了可能以折扣价购买的计算或云资源,目标是最大化这些资源的使用。供应商发放许可证后,客户负责处理其余所有事情。此模型适合希望将所有数据和操作保持在自己控制之下,同时优化长期资源使用的组织。

谁是本地部署的目标用户?

本地部署模型适合那些重视对软件和基础设施的全面控制的公司,无论出于合规性、安全性还是成本效益的考虑。这些组织通常拥有内部资源以进行维护,并倾向于将其环境保持完全私有,无论是云端还是本地环境。

这里有一个部署模型四象限,帮助理清客户控制和基础设施管理之间的关系,本质上,它是一种权衡,帮助确定最适合给定用例的部署方式。

部署环境:

与部署方法不同,当我们讨论目标环境时,我们关注的是软件运行的逻辑环境的物理属性。这些物理特性包括大小、容错性和弹性等,但从部署的角度来看,最关键的是谁拥有这些基础设施。

供供应商拥有的基础设施

这个环境很直接,如果软件供应商提供产品并通过订阅或付费提供访问权限,那就是SaaS。

这里几乎没有歧义,因为作为软件及其底层基础设施的创建者和管理者,供应商承担全部责任。SaaS 对用户和供应商来说都很有吸引力,用户享受便利,而供应商则能从规模经济、集中监控和全面管理基础设施中受益。

然而,对于那些有严格合规要求或数据主权需求的公司,或者对于那些已有硬件投资并希望充分利用这些投资的公司来说,这种模式并不理想。

客户自有的基础设施​ 注:Customer Owned Infrastructure 对应 BYOC。

客户可以利用像 AWS、Azure 和 GCP 这样的云超大规模服务商。这些服务商提供了托管型服务,通过长期承诺获得更优惠的价格,并拥有广泛的网络覆盖,这对于大多数公司来说自己搭建起来会非常昂贵。

超大规模云服务商

客户可能利用像 AWS、Azure、GCP 这样的云超大规模供应商,因为这些提供商可以访问许多管理服务,可以通过长期承诺获得优惠价格,并且可以利用那些自建成本高昂的大型网络,对于大多数公司来说,自己建立这样的网络是不划算的。

混合云环境

为了不被“锁定”在单一的云服务提供商,许多组织采用混合环境,结合来自多个提供商的云服务,。混合环境为客户提供了更大的自由可以选择最符合他们需求的服务、定价和条款。然而,最终总有一些所有权和责任仍然由云服务提供商承担。

物理环境或数据中心

一些软件客户选择将软件部署到自己拥有的数据中心。虽然这样做最麻烦、成本最高且劳动强度最大,但能提供最大的灵活性和隐私。

除了供应商所有的和控制的 SaaS 部署模式之外,其他两种模式则可以部署于任何部署环境。客户可以根据自身特定的限制或要求来决定合适的部署环境。

部署模型的详细对比
哪种部署方法最经济实惠?

SaaS 通常是成本效益最高的选择,适合寻求最少维护和可预测成本的企业,因为它将基础设施、安全性和更新整合进一个订阅服务。对于已经投入云资源的组织来说,BYOC 可以是一个经济的选择,使他们能够最大限度地利用预留实例的折扣,同时与供应商共享管理责任。在本地部署通常成本最高,因为需要专用的基础设施和持续的维护,不过对于那些有严格控制需求并具备内部管理资源的公司来说,它也可以带来成本节省。

哪种部署方式最安全?​

本地部署为企业提供了最高级别的安全性,这些企业需要对其数据和基础设施进行严格的控制,因为企业可以完全控制所有内部数据和基础设施,无需供应商介入。BYOC 提供了一种折中方案,允许客户通过将敏感数据留在自己的云环境中来维护数据主权,同时,供应商负责软件和部分基础设施管理。SaaS在大多数情况下是安全的,但对于高度监管的行业来说,由于客户对基础设施缺乏控制,SaaS可能不是理想的选择。

理解共享责任的滑动尺度

在 SaaS 中,供应商承担了几乎所有的责任,包括安全和基础设施管理在内,而客户只需要管理访问权限。BYOC(自带云资源)将其中一些责任重新转移到客户身上,客户掌控并保护他们的云环境。客户可以确保数据保留在自己的范围内,而供应商则管理软件和这些范围内的部分基础设施。

相比之下,本地部署将全部责任交给客户,赋予他们完全的控制权,但需要大量的内部资源支持。然而,软件供应商仍可在此过程中发挥重要作用。这包括设计适合本地部署的软件产品,确保其构建基础的安全,提供镜像服务注册表(例如通过代理或归档文件适用于空气隙环境),并确保简单清晰的升级流程。虽然部署和管理软件的最终责任在于客户,供应商可以通过消除不必要的复杂性并避免每一步都依赖供应商的参与,显著提高顺利和健康部署的机会。

从 SaaS 到本地部署的范围反映了控制与运营难度之间的权衡,客户在权衡供应商支持和自主权之间,也在寻求他们想要的自主权。

结论. ​

客户选择使用软件的方式与软件运行的平台之间有着明显的区别。虽然一些软件提供商更喜欢某些部署模式,但最终决定供应商应提供哪些选项的是客户的需求变化。供应商必须紧跟这些变化的需求,并认识到并非每个客户都能简单地输入信用卡信息订阅SaaS服务。

对于缺乏在SaaS之外的可靠部署模型专业知识的软件供应商而言,与第三方合作可能是明智的选择,确保他们能有效响应客户的不同需求,从而不必让任何潜在客户被忽视。



这篇关于如何选择合适的软件部署方式:本地部署、云端(SaaS)还是自带云(BYOC)?的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程