Michael Schwartz:大家好,欢迎来到开源失败者。我是你们的主持人迈克·施瓦茨,这是第48集,EV Kontsewoy,重力的首席执行官。这一集比大多数节目都要长一点,接近45分钟。这绝对是因为EV拥有如此广泛的技术和业务经验,我们可能还可以再走一小时。如果你想听到更多关于技术堆栈的信息,请看牙线周刊,第529集。我会在这一集的网站上加一个链接。引力有两个非常有趣的产品,它们在某种程度上是相关的,但也有一些不同。想出一个统一的信息肯定是一项艰巨的营销挑战,但显然他们做到了,因为无论从哪种标准来看,该公司都取得了超级成功。
所以,不要再胡言乱语了,让我们切入正题。在你听完这个播客之后,我相信你会想去引力的网站上了解更多的信息。
迈克尔·施瓦茨:在我们谈论引力之前,你能稍微谈谈你之前的创业公司Mailgan和你在Rackspace的经历吗,以及这是如何让你发现引力的商机的?
EV Kontsevoy:Mailgan很有趣,对于那些不知道的人来说,Mailgan是一个以编程方式发送和接收电子邮件的API平台,所以它是面向开发人员的电子邮件。如果您需要发送密码恢复电子邮件,或者如果您需要向客户发送时事通讯,您只需使用Mailgan API发送这些消息并收集响应即可。
我对那家公司感兴趣是因为两件事。首先,它是在金融崩溃的时候成立的。我大概在2009年搬到了纽约市,我猜当时经济正在自我崩溃。这也是AWS开始发生的时候,这总是很有趣,就像,这意味着当你周围的一切都被压垮的时候,总会有一些积极的东西。我想,好吧,如果杰夫·贝佐斯能把API卖给服务器,我大概也能把API卖给电子邮件。
原因是,如果你要转移到云端,你不能真的随身携带你的东西,所以无论你过去有什么电子邮件传送设备,比如你需要有一个虚拟的替代品,这才是Mailgan真正开始的方式。当时为这样的项目筹集资金真的很艰难,因为大多数投资者都不明白什么是API。我会做一个演示,然后投资者会拿出一部黑莓手机。他说,“好吧。所以,我把我的黑莓手机拿出来了,那我怎么使用你的API呢?“。在那一刻,你知道你输了,这是行不通的。
但是后来,一件有趣的事情发生了。一家叫Twilio的公司得到了资助。每个人都注意到了,因为Twilios说,“哦,我们是开发者可以做的API,比如短信。”他们开始说Mailgan只是一个Twilio,就像Twilio一样,只是用于电子邮件。它帮了大忙。
因此,我们在2011年被Y Combinator录取,并从那里开始。我经营这家公司几年,最终被Rackspace收购,被一家云提供商收购。所以,我从那次经历中学到了一件有趣的事情-嗯,这是我的第一家公司,所以如果你这么做,你显然会学到很多东西-但作为一名技术专家,我没有准备好接触这么多…。我们只能说是犯罪。事实就是如此。因为电子邮件是一个非常黑暗的世界,所以很多阴暗的事情都是通过电子邮件发生的。你知道,钓鱼、病毒和垃圾邮件,我想说我80%的注意力都花在了这些问题上,因为我们在经营那家公司,这是不幸的,因为你实际上想让你真正的用户、工程师、开发人员享受产品,你希望他们的体验很棒,你希望性能很好,你想要文档令人惊叹。而且你必须不断地与垃圾邮件发送者、钓鱼者以及糟糕的、糟糕的互联网的所有部分打交道。
这就是我的邮筒经验。我想,我们之所以决定把这家公司卖给Rackspace,是因为Rackspace当时有非常令人信服的愿景,使用开源和开放标准将世界从AWS的统治中解放出来。这引起了我的共鸣,因为我的职业生涯始于Windows统治时期的软件开发人员。我只记得一切都是多么乏味和黯淡,只是在微软认为你应该做的事情的约束下运作。是的,这就是“邮炮”的故事。
迈克尔·施瓦茨:我正在收听另一集,或者对你的另一次采访,你谈了一段时间,谈到了一些有趣的技术挑战,围绕着Mailgan有多复杂,你是如何考虑在不同的云上复制它的,以及它看起来有多完整,就像是一个巨大的挑战。我想知道这是否给了你一些技术上的想法,可能会导致重力,比如,技术堆栈的发展?
哦,那么,这是一个更有趣的问题-我是如何从一个电子邮件人到几乎最终几乎进入安全领域的。那么,你认为一家技术公司收购另一家技术公司之后会发生什么呢?这就发生在我们身上,也许,就像Facebook收购Instagram时,那里可能有类似的事情,他们要求你做的第一件事是,开始计划将你的所有东西迁移到他们自己的基础设施中。
尤其是对Rackspace来说。Rackspace是一家云提供商。如果他们的电子邮件服务不使用他们自己的云,那就真的很奇怪了。当时,我们正在使用SoftLayer,它现在是IBM老式裸机服务器的一部分,正在迁移到Rackspace上的公共云,Rackspace是虚拟化的,具有所有这些奇特的基础设施作为代码功能。我们花了很长时间,我记不清具体花了多长时间,但我只能说,如果我说是6个月,这不会被夸大。
我记得和我家里的某个人有过一次谈话,甚至可能是我的妻子,当时有人问我,“那么,你在做什么--就像,现在,收购后--你在建设什么?”我说,“我们没有建造任何东西,我们只是从SoftLayer数据中心迁移到Rackspace数据中心。”那个人不是技术人员,她说,“这不就像是在互联网上复制文件吗?”“为什么要花六个月的时间呢?”比如,“你有那么多文件??”
我笑了。但同时,它也颇具启发性。就像普通人认为将软件从一个数据中心复制到另一个数据中心,这是在几秒钟内发生的事情。你可能不会有同样的感觉,比如,什么是软件,是不是只是一些文件,你的笔记本电脑上有软件,我的笔记本电脑上有软件,就像,它只是在复制东西,但显然,当谈到数据中心软件时,到我们今天所说的云软件,一切都需要几个月的时间。
当时,我只是觉得这是理所当然的,就像你确定这是一个复杂的问题一样。我们这里有完全不同的安全性,我们将在那里使用这种负载平衡,在那里我们将使用不同类型的负载平衡,并且代码需要更新,等等。
但是,当我成为一名“Racker”时--Rackspace的员工是这么称呼自己的,顺便说一句,我是一名自豪的Racker,我喜欢这种文化--所以,一旦我成为Racker,我就接触到了大量的云用户,使用云计算的公司。我通常与他们交谈,试图了解我们如何改进,如何使我们的云产品更好。
我很惊讶他们会如此频繁地带来这个问题,就像我在邮件枪上遇到的那样。这就像是,“嘿,我们已经构建了这个应用程序,它在AWS上运行,现在我们正试图在Rackspace上运行它,这真的很有挑战性。你能帮帮我们吗?“。
或者他们会说,“我们想使用Rackspace,或AWS,或Azure,某种云提供商来构建应用程序和开发环境,但无论出于什么原因,我们都需要在卢森堡实际运行它,比如应该符合任何法规的数据中心。
那么,我们如何在一个地方有试生产环境,在完全不同的地方有相同的生产呢?他们不停地来找我们寻求建议。有时,我们可以向他们推销一些东西,比如DevOps即服务,或安全即服务。但总的来说,我看到的趋势是,人们感觉他们被束缚在他们的云环境中。那里的环境多么令人惊叹,这甚至都无关紧要。
但不能只拿着你的作品,然后让它在世界各地发行100份,我不知道,这是非常令人沮丧的。而且它仅限于很多用例。你知道,延迟很重要。因为物理定律并没有真正改变。因此,您必须能够在靠近数据集的位置运行代码。数据集是分布式的,这意味着需要分发代码。
总的来说,这就是我对SaaS模式深感不满的地方。我不认为软件即服务有什么问题,但在一个地方运行软件即服务肯定有问题。
当我与越来越多的公司交谈时,我意识到其中一些公司-看看这个-他们甚至不能在不同的亚马逊账户中重新创建他们的生产环境。顺便说一句,这些都是总部设在硅谷的公司。
那么,让我稍微放大一下这个使用案例:您有一个在您拥有的AWS帐户中运行的应用程序-您可以控制它。继续从头开始创建另一个AWS帐户,也是您的帐户,这样您就拥有了对这两个帐户的完全的,你知道的,上帝的权限。然后,在一个账户和另一个账户中都有一个完整的复制品。令人惊讶的是,数量惊人的公司不知道如何做到这一点。
他们只是加班加点,失去了机构知识,不知道需要什么才能从头开始重建一切。作为一名工程师,您可能理解为什么会发生这种情况,因为您知道,当您开始构建应用程序时,就像在早期一样,没有编写一行代码,但是您会知道您需要一些环境。
你要去点击AWS面板中的一些按钮,也许你会写一些地形,或者云形成,但不总是,也许使用Ansible,所以,你可以开始手动创建你未来环境的第一层。然后开始在上面添加内容,然后开始部署代码,可能是首先手动部署,也可能是SCP部署。然后,你搬到别的地方,我不知道,也许像安可普,或者厨师,或者木偶。
因此,随着时间的推移,事情会发生,并不是所有的事情都被记录在案。有些脚本,它们每天都运行,也许它们是您的CICD管道的一部分。你三年前运行的其他脚本,可能执行这些脚本的人已经不在公司工作了。所以,问题是,今天几乎所有的云环境,都是由不同的人随着时间的推移创建的许多层构建的。
这就是它们不可复制的原因。一家公司需要,你知道,我们需要在世界各地拥有七个地区,而不是一个地区。或者我们需要在别人的AWS账户中运行我们的软件。或者我们需要部署到GovCloud,因为政府想使用我们的软件。他们遇到了所有这些问题,他们被链接到一个特定的环境中。这就是万有引力诞生的原因。那是一群前邮筒枪手创办的公司。所以,这可能是对你最初问题的不同回答。
迈克尔·施瓦茨:那么,让我再深入一点,引力仓促的两个产品,远程传送和重力。第一个产品是什么?或者他们是同时来的?
EV Kontsevoy:这基本上是一个包装问题。我们最初构建了一个解决方案,所以如果您想要在许多不同的地方运行您的软件,您必须为此解决许多不同的问题。您需要将应用程序依赖项与基础设施分开。你需要解决远程访问问题,你需要解决合规性问题-因为许多这些公司,比如他们需要在不同的地方的原因是因为合规性要求。
我们有-我称之为代码库的东西,一堆GitHub存储库。我们内部有这样的文化,即我们为每个库创建GitHub存储库。所以,我们打碎了我们建在这些图书馆里的所有东西。每个库都有自己的库,然后我们编译软件,然后产生解决方案。
所以,最初,我们构建的所有东西都只是这些存储库的集合。我们开始销售名为“重力”的解决方案,而“重力”包含了我们所做的一切。重力是一个完整的平台。有了重力,你就可以使用你的AWS账户--从技术上讲,它是一个Kubernetes集群,但我们暂时把它放在一边--你可以把它全部保存到一个文件中。这就是你的形象,我们称之为“集群形象”。
想象一下制作快照-它不是快照,但我认为这是一个有用的类比-然后您可以将该文件移动到其他地方,然后您可以创建精确的副本。因此,您可以获取包含生产环境的完整副本的此映像,您可以将其复制/粘贴到世界各地,您可以从该映像创建数千个相同的环境。
因此,问题就变成了,如何使它们保持最新,如何推送软件更新,如何修复漏洞,如何对远程发生的问题进行故障排除。因此,您确实需要拥有对这些环境的某种远程访问权限。我喜欢的一个有趣的比喻是内置到操作系统中的软件更新。
如果你有一台Mac,它会以某种方式自我更新,从苹果下载东西,在重启时应用这些更新,所有这些都是自动工作的。因此,想想看,从苹果的角度来看,这与在世界各地不受信任的网络上运行的数亿台服务器进行大规模软件部署有什么不同,这些服务器的互联网连接不可靠。对于一个典型的数据中心人员来说,这是星球大战级别的技术。这就是重力试图对数据中心和您的云帐户所做的事情。
这个组件允许您安全地下载和应用更新,这就是Teleport。它基本上是重力的一部分,使这种世界级的安全性进入这个受限的、受监管的、远程的环境,而重力通常就是在这个环境中运行的。在某种程度上,我们想,为什么我们不开放源码,让人们可以在他们自己的应用程序中使用他们自己的软件更新机制。我们把它开源,我们把文档放在一个单独的地方。我们很快就发现,人们意识到做SSH通常比开放SSH好得多。这完全是无意的,但这对我们来说是一件好事,因为突然之间,人们开始发现Teleport,开始下载,并更多地使用它。基本上,这是目前访问基础设施的一种非常好的方式。
因此,无论您使用SSH进入您的服务器,还是访问您的Kubernetes集群,您使用的都可能是更糟糕的东西,所以我强烈建议每个人都检查Teleport。它是免费的,开源的,阿帕奇许可证。所以,事情就是这样发生的--所有的东西都是在同一时间建造的,但是Teleport,可以说,只是偶然地发展了自己的粉丝基础。
伊夫·康塞沃伊:很难说。我认为这两家公司都做得很好,而且Teleport绝对不像重力那样昂贵,因为它不是公司业务的基础。因为我们的重力客户基本上是大规模运行的,他们向这些偏远地区销售大量软件,并与重力一起交付。所以,远程端口,它通常是平台的一部分,而不是整个平台。因此,每笔交易都更便宜,但我们确实达成了更多的Teleport交易。
Michael Schwartz:在为这个平台寻找正确的营销信息方面有哪些挑战?伊夫·康塞沃伊:当然,当然。我确实认为我们仍在寻找正确的方式来描述我们对世界的所作所为。有些人相信,重力是一家帮助你开发SaaS应用程序并将其作为一种内部部署环境进行销售的公司。这没什么大不了的。是的,我们可以做到这一点,而且我们比任何人都能做得更好。
但对我来说,这并不是我决定花费大量的,你知道的,将我生命的一部分投资于这家公司的真正原因。我们希望启用一种完全不同的软件分发模式。把它想成是推还是拉。
我们认为,需要减少对DevOps团队的依赖。事实上,今天的大多数公司都必须建立和维护这些复杂的环境,有如此多的活动部件,并拥有这些庞大的DevOps团队,他们不断地与这种日益复杂的环境作斗争-对我来说,这只是暂时的。一定要简单一点。
一家公司的典型DevOps图片,就像今天的普通公司,让我想起了你在历史书中读到的关于早期计算的东西。
还记得那些故事吗?旧的机电计算机会占据整栋大楼的整个房间,有蟑螂和虫子爬进来,有称为调试员的特殊人员用扫帚把它们赶出去,更换真空管和继电器,计算就像是一项体力劳动,你必须让人四处走动,不断地做这些事情。
这让我想起了今天典型的云环境。我认为它应该是密封的,完全自动化的,没有人在场。所以,如果你今天走进一个数据中心,你实际上不会看到那么多人,可能根本不会看到任何人。入口处会有一些安全措施,但里面会很安静,没有人。
因此,我希望虚拟访问也是如此。即使该数据中心中没有实际人员,但您可以放心,即使不是数千名DevOps工程师,也可能有数百名工程师基本上手动维护这些机器。而喜欢引力目标的目的是让它不是这样的。我们希望这一切都完全自动化,就像数百万台苹果笔记本电脑从苹果下载软件、安装补丁并保持运行一样。我看不出一家典型公司的典型云环境为什么应该与MacBook有很大的不同。
迈克尔·施瓦茨:你如何将其转化为商业巅峰?你知道,因为这有点像,你所说的几乎就像是一种“卖给手握键盘的人”。有没有办法将这种实际价值主张转化为业务客户的实际价值主张?
伊夫·康采沃伊:嗯,首先,让我们诚实地面对自己--我们今天能做到这一点吗?我们随便找一家公司,比方说-。
EV Kontsevoy:易趣。他们能让所有的海湾像MacBook一样运行吗,今天没有DevOps团队或服务器?不,我不能。问题太多了。就像,这是一个复杂的挑战。因此,我们需要很多年才能真正解决所有这些挑战。但你可以做的是,你可以开始寻找今天DevOps团队超负荷的地方,并开始推动这一目标。
因此,例如,如果您尝试运行相同的应用程序,比方说在100个不同的地方,您很快就会意识到安全访问是一个巨大的问题。因为所有这些不同的云环境,他们都有自己的工具来访问基础设施。然后,你就有了这样的开源生态系统,所有这些组件都需要集成,所有东西过去都是安全的。它从SSH开始,以Kubernetes访问结束,然后你有内部的东西,比如Jenkins,也许你如何保护对Jenkins的访问-
..