使用 Python 进行商业云备份
使用 Python 进行商业云备份。我知道,可能乍一听不太合理,但事实确实如此。对我们而言,新的常态正在超越传统的 Python 实践,这意味着;我们 a) 进行商业活动而不是免费活动 b) 使用闭源而不是开源 c) Python 用于企业级后端而不是 Java 或 C#
我们的故事 进入 Smartsheet ( https://www.smartsheet.com/welcome-customers-home ),这是一个备受尊敬的企业平台,被 75% 的财富 100 强公司使用。它主要用于围绕项目或销售的协作工作管理,使用类似多用户电子表格的环境,或者如果您喜欢的话,可以称为“类固醇上的 Excel”
介绍我们 - AcuWorkflow (https://www.acuworkflow.com/smartbackup.html),一家提供围绕 Smartsheet 服务的利基公司。我们看到了保护 Smartsheet 数据的缺口,并使用 Python 构建了一个名为 SMARTBACKUP (https://www.acuworkflow.com/smartbackup.html) 的产品。我听到了,仿佛世界需要另一个备份解决方案。然而,答案在于它所解决的问题。Smartsheet 中的一个工作表是一个多方面的对象,一旦通过 Smartsheet 设施在 Smartsheet 外部备份,它会丢失大约 60% 以上的可恢复功能。原因是,大体上只备份数据,而将所有的格式、公式、单元格链接、自动化规则等遗漏。实际上,构成 Smartsheet 工作表的那些要素实际上并没有备份。
我们的解决方案 SMARTBACKUP 从 Smartsheet 中划分出一个称为 Vault 的部分,然后在其中进行备份。这样,恢复就变得非常容易,并且可以保证近乎相同的副本 - 当然,所有这些都在完整/增量备份控制之下。我们并没有止步于此,而是继续提供了一个互补的存档解决方案和创新的导出功能。
为什么选择 Python? 回到为什么选择 Python?最初,我们正在寻找利用 Smartsheet 提供的 REST API 层进行快速开发的方法。由于我们多年来一直深入研究 Java/C# 等语言,这是我们早期的选择。幸运的是,我们开始尝试使用 Python,因为我们需要 Pandas 数据框架带来的分箱智能。当我们看到我们可以多么快速和容易地使用 API 时,工作就完成了,我们继续使用纯 Python 后端。对于前端,我们不喜欢典型的 Python GUI,并且排除了 Django,因为我们的需求需要一个灵活的类应用程序 UI,而不是内容繁重的交互。在我们看来,如果我们有内容繁重的义务,Django 将会是一个不错的选择。我们最终选择了 Vue.js(一个响应式的 SPA 框架),并且线程感知的 Python 后端与 Flask 互操作的结合对我们来说非常有效。
关键在于 对我们来说的关键在于。我们从 3-4 个月前开始完全不熟悉 Python 和 Vue,更不用说一些外围支持了。现在,我们的一些使用 Smartsheet 的大型全球企业已经采用了我们的平台。未来看起来光明,我们对我们的技术选择及其性能感到非常满意。