与第三方云集成的最佳实践

对许多中小企业和初创企业来说,为大型公司提供服务是司空见惯的事情。这往往涉及各种数据的传输,从商业文件如采购订单和发票到联系人列表、报告和其他相关的服务数据。

处于技术前沿的公司认识到需要优化这些数据共享流程的真正需求。通过借助自动化,它们不仅仅是为了提高数据交换的准确性、速度和效率,还为了消除手动处理。这种主动的方法可以最小化人为错误,保证数据流的一致性,并引入强大的跟踪机制。然而,它也重新分配人力资源,让其专注于战略任务,在需要灵活和迅速响应的业务领域中,这是一个值得的转变。

API的崛起

软件公司通常选择为这种自动化构建API(应用程序编程接口),而这样做有一些很好的原因。

API的优势

  • 标准化: 现代API,特别是那些利用REST和GraphQL的API,已经简化了数据交换。
  • 实时响应:API在实时操作中运作,确保在客户请求时立即执行操作。
  • 数据验证:API在请求期间严格验证数据结构,及时通知客户任何差异。

然而,API的吸引力并非普遍存在。较大的公司通常会表现出谨慎,以下是原因。

API的缺点

  • 资源需求:基于API的集成需要专业团队以及对培训、基础设施和支持的持续投资。对于使用多个第三方API的大型企业,对更新和监控的持续需求加剧了这些压力。
  • 安全隐患:与外部API集成时存在泄露敏感信息的风险,可能导致安全漏洞。大型公司通常有严格的安全措施,而这些措施可能会因此类外部连接而受到威胁。
  • 法规挑战:与第三方API集成可能使遵守各种法规标准变得复杂,尤其是如果这些API跨越国际或跨行业边界。
  • 依赖风险:依赖另一家公司的API存在风险。如果第三方更改其API、遇到运营问题,或在极端情况下停止运营,可能会造成中断。

那么,还有什么替代方案呢?

随着企业在应用程序接口(API)集成方面遇到的复杂性和障碍,基于SFTP(安全文件传输协议)的文件交换很快成为了一种主要的替代方案。到目前为止,SFTP并不是一种新技术;它已经是一种可靠的安全数据传输方法已有二十多年了。

备受开发人员和IT专业人员的赞誉,SFTP对几个原因而言,提供了一个可靠(并且更为便捷)的API集成替代方案。

SFTP的优点

  • 经过验证的记录:使用超过20年,SFTP已经在各种行业和用例中证明了其稳定性、可靠性和有效性。
  • 安全性:利用加密和安全通道,SFTP确保数据安全传输,符合大多数企业级安全标准的严格参数。
  • 易于使用:SFTP的简单性使其对人工操作者和自动化流程都易于接触,可以在不写一行代码的情况下,使用CLI和GUI客户端无缝集成现有工作流程。
  • 灵活性:SFTP 可处理任何文件类型,支持单向和双向数据交换,实现多样化的应用。
  • 效率:与API集成不同,SFTP 实施和维护所需的专用资源较少,是一种经济高效的选择。
  • 互操作性:作为广泛接受的标准,SFTP 与各种系统具有高度兼容性,进一步简化了集成过程。

通过提供安全性、简单性和灵活性的组合,SFTP 为寻求在没有与基于API的解决方案一般相关的困难的情况下优化第三方集成的组织提供了引人注目的选择。

然而,使用SFTP而非API有一些缺点。

SFTP的缺点

  • 交互性较差:SFTP通常是批处理过程,因此可能无法通过实时请求和响应实现与API相同水平的即时性和互动性。
  • (缺乏) 数据结构约束:虽然SFTP允许交换任何文件类型,但它不强制执行任何特定的数据结构。这种标准化的缺失可能需要额外的数据转换和映射,可能会复杂化集成。
  • 潜在的安全风险:尽管SFTP在设计上是安全的,但不正确的配置或未及时更新协议可能会暴露漏洞。需要仔细管理和采用最佳实践以维护安全性。

引入SFTP To Go

SFTP To Go是一种基于云的文件存储和共享解决方案,可作为DigitalOcean市场中的附加组件使用。它旨在解决SFTP的挑战,同时提供了许多附加优势:

  • 安全性:SFTP To Go是一个安全且受管理的服务。您无需担心服务器配置。它还充当一个独立的安全投递点,不在任何一方的私有网络中,因此不必将私有端口暴露给公共互联网。如果需要,您可以限制从特定IP地址或IP范围访问您的存储。
  • 隔离性:SFTP To Go是一个与您的Droplet分开的存储空间,您可以在其中共享或接收数据。此外,每个用户都有一个指定的、通过您的权限访问的隔离主目录,确保数据隐私。
  • 实时数据处理: Webhook通知允许您作为服务提供商充分发挥SFTP和API之间的优势。在您的客户上传文件(手动或自动)的同时,您可以触发自动流程,就好像数据是通过API发送给您的。
  • 简便性: 使用简单的基于Web的界面管理文件、用户、Webhooks和设置。
  • 自动化: 您还可以使用SFTP To Go的API将其与您的系统集成(例如,为在您的平台上新注册的用户自动创建SFTP用户)。

如何安装SFTP To Go

  1. 登录到您的DigitalOcean帐户并转到云仪表板。
  2. 在侧边栏的下,单击
  3. 在市场附加组件页面找到,然后单击按钮。
  4. 选择一个计划,输入您的公司名称,并选择存储文件的地区。
  5. 太棒了!插件已安装!

如何添加用户并访问您的文件

  1. 点击<查看SFTP To Go>(或新附加页面上的仪表板按钮)以访问管理员仪表板。
  2. 在<凭据>选项卡中,您应该找到根用户的访问凭据。
    • 打开您喜欢的FTP客户端(例如FileZilla、WinSCP、Cyberduck等,或与所有现代操作系统捆绑的sftp命令行)。
    • 复制主机、用户名和密码(或导入您的公钥到SFTP To Go以进行SSH密钥身份验证)。
  3. 要添加新用户,请单击<添加凭据>。
    • 现在,填写用户名、主目录和您想为该用户分配的权限。我们建议将用户名留空以获取一个长的随机用户名。
    • 请注意,每个用户都被禁锢(”chroot”)在其主目录中,因此当他们登录时,它会显示为根目录,并且他们无法看到父目录或同级目录中的内容。您可以完全在用户之间分隔文件访问,或者对文件进行完全或部分共享,使用共享或嵌套主目录。
  4. 您还可以导入公共SSH密钥,设置入站网络规则(以指定用户只能从某些IP地址连接),并轮换密码。

如何添加Webhook通知

  1. 切换到SFTP To Go的<webhooks>选项卡,然后点击<Add webhook>。
  2. 输入您的终点https终点。
    • 然后,选择通知主题(您希望收到通知的事件类型)。
    • 现在,可选择添加过滤器,仅在Webhook数据匹配特定条件时发送通知(例如,当上传的文件位于特定文件夹中,或当某个用户上传文件时)。
  3. 你可以通过点击菜单按钮然后选择<ping webhook>来发送ping webhook。

如何使用Rest API管理SFTP To Go

  1. 返回到您的DigitalOcean仪表板,展开附加配置以查看您的API密钥。
  2. 使用API文档作为创建、更新、修改和删除对象(如用户、webhooks、ec等)的参考。

SFTP to Go提供了一种全新的整合视角,将文件传输协议的可靠性与webhooks的即时性相结合。作为通过DigitalOcean Marketplace提供的基于云的解决方案,它为开发人员和IT专业人员铺平了在安全性、适应性和实时响应之间找到正确平衡的道路。


常见问题

与第三方云集成的最佳实践是什么?

最佳实践包括利用自动化来提高数据交换的准确性、速度和效率,消除手动处理,并使用强大的跟踪机制。

为什么API在数据共享的自动化中很受欢迎?

API提供标准化、实时响应和严格的数据验证。它们简化了数据交换,并确保在客户请求时立即采取行动。

基于API的集成有哪些挑战?

挑战包括资源需求、安全影响、监管挑战和依赖风险,特别是在与第三方API集成时。

SFTP与API集成有何不同?

SFTP具有成熟的记录,提供安全性、易用性、灵活性、效率和互操作性。它是一种可靠的安全数据传输方法,而无需API解决方案的复杂性。

SFTP To Go是什么?

SFTP To Go是一种基于云的文件存储和共享解决方案,可在DigitalOcean市场上获得。它解决了SFTP的挑战,并提供了诸如安全性、隔离性、实时数据处理、简单性和自动化等额外优势。

如何安装和使用SFTP To Go?

用户可以从DigitalOcean市场安装SFTP To Go,添加用户,访问文件,设置Webhook通知,并使用Rest API进行管理。

Source:
https://www.digitalocean.com/community/conceptual-articles/best-practices-cloud-integration-third-parties