我想将我的 webapp 从 cloudfoundry 迁移到 heroku。但是我仍然对一件事感到困惑。
每次您想将应用程序部署到 heroku 时,您都必须将源代码推送到他们的 git 存储库。这个存储库有多安全?如果我不想把我的源代码交给别人怎么办?
你对此有何看法?
我想将我的 webapp 从 cloudfoundry 迁移到 heroku。但是我仍然对一件事感到困惑。
每次您想将应用程序部署到 heroku 时,您都必须将源代码推送到他们的 git 存储库。这个存储库有多安全?如果我不想把我的源代码交给别人怎么办?
你对此有何看法?
您不了解解释语言或托管服务提供商的工作方式。如果您使用 Ruby 之类的解释型语言,则需要在服务平台上提供源代码。即使您的代码被压缩、混淆或字节编译,它也必须在服务平台上才能提供服务,所以这对于任何语言或托管服务提供商来说都是一个问题。
您也不了解字节码的本质。字节码解释器可以读取您的文件。此外,还有 Java 反编译器可以将字节码转换回源代码。搜索 Stack Overflow 将显示讨论 Java 反编译器的帖子。除非你认为“通过默默无闻的安全”是有用的,否则你应该停止认为你的字节码以任何有意义的方式是安全的。
Herku 上的 Git 存储库不像您在 GitHub 上找到的公共存储库。它与通过任何其他方式传输文件一样“安全”,并且肯定比许多服务平台上通常的 FTP 上传更安全。
安全始终是一种权衡。这绝对很重要,但除非您定义了比一般不信任更好的威胁模型,否则您将无法开发足够的控制。
衡量“安全”的原因,您必须考虑可能的“风险”。从这样的平台窃取源代码的调查值得吗?那么,人们可以从您的源代码中获得多少价值?
我认为没有人通过简单地窃取源代码而真正成功。它更多的是关于窃取想法。维护和扩展您没有编写的代码是很困难的。您将需要时间来熟悉源代码(月/年,取决于代码库)。浪费了所有的时间和精力。学得快的高手也可以从零开始,说不定最终会得到更好的结果。
Facebook 发布战略、论文和技术见解。那里有很多 Facebook 模仿者,没人在意。
您的业务取得成功不仅与软件有关。重要的部分是对产品的品牌忠诚度/信任度、用户体验和可见的整体成功。
与在 Heroku 上运行的数千个应用程序相比,为什么您的源代码如此特别。甚至很难在所有这些好东西之间找到你的存储库。成功的事情和失败的事情,没有人知道。
但是,如果一些单一的技术算法是您的核心业务(加密软件、图形驱动程序算法......)并且它们很容易被采用,那么窃取它可能是值得的。
您可以担心的事情:在哪里存储敏感的客户信息?大多数人对出售有关您的业务和客户的电子邮件地址、电话号码、姓名、财务信息有更大的兴趣。但是,……如果你没有足够的敏感数据,你就没有兴趣。那么,您的应用程序是否包含 1 亿个 Sony Network 信用卡帐户?;)
好的,如果应用程序包含 iPhone 5 和 6 的所有蓝图、数据、秘密想法和设计,它可能也会很有趣。
您正在使用某人的服务来运行您的应用程序。无论您使用什么服务,如果不将您的代码提供给他们,就无法做到这一点。即使您忘记了云并托管自己的服务器,它仍将掌握在运行您的数据中心的人员手中。