开发人员工具及其对互联网计算机的重要性
在互联网计算机上工作无疑增加了我们对拜占庭容错、正交持久性、链密钥密码学、阈值签名等事物的欣赏,没有它们就没有互联网计算机,我们都会忙于其他事情。
但这些元素加起来更基本,这是关于使开发人员能够专注于他们正在构建的东西,而不是它将运行的基础设施,这是一个似乎并不总是贯穿始终的基本概念:互联网计算机是去中心化的云。
肯定有人指出了这一点,而且看起来很明显。但对于许多人 —— 特别是区块链领域的相对新手来说 —— 这是敲钟声,对他们来说,这可能没有我们意识到的那么明显。
可以肯定的是,有学习曲线,新概念和词汇,根本不同的架构等。同样,现代开发团队已经习惯了一些东西,其中一些还没有出现,但信息是,这一切都是值得的,有兴趣。
今天,在互联网计算机上,我们可以构建真正的应用程序:大数据堆栈、社交平台、交易商务解决方案,应有尽有。我们可以构建任何东西,或多或少,而且数字是有效的,因为我们可以用比 Web 2.0 方式少得多的开销来完成它。
因此,拥有使开发人员能够将他们的创造力无缝地、最佳实践和工作流程基本完整的工具转移到这个新领域是至关重要的。我们天生就是早期采用者,他们建立了帮助他们成功和发展的团队和环境,因此,这种综合方法来弥合差距的思考过程已经彻底融入了我们的集体思维方式。
事实上,我们将我们的工具称为 Web 2.0 人员将用来挖掘(更确切地说,验证)Web3 黄金的桥梁、水桶和铁锹。
你所看到的就是你得到的
首先,云需要一个控制台,这需要做的不仅仅是提供一些快捷方式并从命令行中脱颖而出。控制台是我们找到所有工具的中心位置,可以在上下文中使用并单击一下。
AWS 的主流采用得益于其友好、易于使用的 UI,专门与互连、混合和从我们的本地 DC 过渡相关的工具被放置在我们不能错过的地方。当谈到使旅程尽可能无痛时,他们没有错过任何一个技巧。
他们同样创作、策划和交付了一个巨大的技术文档的语料库,从深入的白皮书到备忘单食谱。就 IC 未来的优先事项而言,这本身就是一个话题,我们也希望在这方面做出贡献。
另一个历史类比是 RedHat 的原始 Linux 桌面,它对于在企业领域向上游提供 Linux 至关重要。我们大多数人都知道它是如何从那里开始的,在这样一个 Microsoft Server 20XX 的据点中。
非线性的、菜单驱动的 UI 就像一扇通往陌生领域的大窗户,在上下文中呈现的信息有助于我们通过陡峭的学习曲线绘制心理地图。它还为新用户和现有用户提供了一个聚集他们甚至可能没有意识到的解决方案、方法和实现的地方,这个级别的交流需要一个地方去寻找以开发人员习惯的方式工作的答案和指导。
从这里到那里
Jack Dorsey 显然是个聪明人,他真的在思考前进的方向,但他的 Web5 概念听起来很像互联网计算机。这已经是,嗯,现存的,我们并不是唯一做出这种观察的人。
但是 Web5 标签的一个特殊方面对我们来说非常正确:它的想法是 2 + 3 = 5。我们一直认为,为了让 Web3 真正进入主流水平,它必须融入周围的世界。
通过使用 Web 2.0 工具、平台和解决方案,作为通往 Web3 空间的桥梁 —— 有效地让 Web 2.0 为 Web3 工作 —— 我们将构建比其部分总和更大的东西,就 Web5 的含义而言,我们只能同意。
我们认为桥梁而非墙壁的心态,无论它被称为什么或由谁命名,都应该推动我们的集体思考。因为有充分的理由期待,基于长远的眼光事情,通往区块链奇点的道路将通过集成来引导。我们认为这不仅仅是一种可能性,这是有必要的,首选,甚至。
是的,在此过程中,我们将看到比任何人都预测的更多的混合、插件、连接器和过渡状态。他们也不会都是漂亮的,但历史和经验告诉我们,这没关系。最近云计算是新事物,不需要成为 Nostradamus 就能看到那里的潜力。我们几乎倾向于忘记,在现实生活中,真正到达那里从来都不是一件容易的事。
建桥,不是跳过断崖
也许您一直在考虑生活会多么美好,只要我们可以从一块干净的白板开始,但这通常不是生活的运作方式。而当堆栈已经很大、多样化和蔓延时 —— 真正的业务面临风险,甚至短暂的事件都是高成本事件 —— 这是一个非常不同的故事。
每家商店都有自己的(哦,深深嵌入)原因,鉴于潜在挑战的相同性(它是数据,和数据,和......),我们一直在这些纠结中占有一席之地,并且每种情况都是奇怪的独特。
如前所述,商业云提供商玩得很聪明,向后弯腰为我们提供解决问题的工具。那里有学到的智慧,当我们在 Web3 的成熟和主流化曲线中导航时,它应该混合在一起。
深度集成到异构平台解决方案?是的。一次性的临时桥梁,一旦我们穿过就被烧毁?是的。我们认为,当 Web 2.0 资源让我们更接近目标时,我们应该抓住它们,这将有各种形式和大小。
亚马逊 - 或其他任何人 - 不能有效地成为互联网
需要明确的是,我们并不是建议我们应该放弃整个去中心化精神,我们绝对不是这样说的。过去几年一直是集中化、杠杆化大数据黑暗面的连续对象教训,虽然去中心化不会神奇地让一切变得更好(事实上,在某些层面上它会使事情进一步复杂化),但总的来说,我们认为这是一个更好的前进方式。
表现出我们集体本能和冲动的结果,无论多么不完美,都比将钥匙交给 Gordon Gecko 更好,我们只是在考虑如何从这里到达那里。
Web3 代表了好品种的变化,与第一代云不同,它提供了大量减少构建和部署数字产品所涉及的绝对足迹的方法。如果我们进行大规模部署,那将是三倍,这是虚拟化和容器化之后的水平。仅就数字而言,这就是一件大事,这是另一种情况,我们不确定它是否会在应有的程度上产生共鸣。
我们在这个社区中看到我们的伙伴们正在建造非常棒的东西,IC 生态系统充满了愿意分享和伸出援助之手的优秀聪明人。而且有这么多开放的问题空间,相对容易让彼此远离,但是,这种集体积压的庞大规模也是我们都应该努力推动、最大化和倍增彼此努力的原因。
我们希望帮助利用这种能量并将其付诸实践,作为从代码 linter 到测试框架到身份存储再到 HA/DR 的所有内容的分发和交付渠道解决方案。我们希望 ICPipeline 能够交付在整个社区中创建的工具,同时也在它们之间贡献编排逻辑。
那么 ICPipeline 的目的是什么?
我们专注于基础知识,帮助团队更好地合作的事情,我们专注于某些领域。
我们想让每个人都可以轻松地构建 IC 副本环境,我们的意思是非常简单,只需单击几下,您的 IC 项目就被克隆、构建和部署到一个专用的、完全联网的、持久的和高度可用的平台。我们通过 sudo 访问底层 Linux 虚拟机,最大限度地提高您的访问和控制级别。
另一个大目标是任何容器状态数据的按需归档和快照,用于灾难恢复,即时回滚,用于将 prod 数据生成到 dev/QA 环境中的能力,我们认为这将非常有价值,并且社区会喜欢它。
它与环境有关,并且能够按需启动它们,这说起来容易做起来难,我们发现在各种情况下都是如此。从新建的团队到有时甚至是已建立且资源充足的团队,就像,有质量保证环境,可以这么说,质量保证团队确实在那里测试东西。
但是,当怪癖逃逸到 prod 时,通常是因为 QA 出了什么问题,以及错误的人不再在这里工作了。说真的,这些系统几乎没有让事情变得更好,反而让事情变得更糟。
因此,我们喜欢利用 IC 的原生优点,让我们的用户可以通过实时数据控制来创建任何 IC 项目的任何 repo 的任何分支的克隆。它真的很吸引我们,我们认为其他团队会同意,我们很快就会拥有它。
CI/CD Pipeline 需要沙盒供团队参与
我们写的是环境,因为它们与互联网计算机有关,目前,没有互联网计算机测试网。因此,除了在笔记本电脑或台式机上本地部署之外,主网 IC 是唯一的选择。
因此,任何与安全或其他有关的意外问题都暴露在世人面前。ICPipeline 创建了自己的自治系统,本质上是一个集线器和辐条。集线器是 ICPipeline Manager 控制台或 ICPM,ICPM 通过其 React 前端在浏览器中作为 canister d'app 在链上运行。
通过 ICPM,我们管理我们称为复制器的环境,每个复制器都是一个功能齐全的互联网计算机开发副本,可以访问 Linux 命令行、Webpack 开发服务器前端和直接连接到本地 DFX 副本的 IC 代理。复制器可以配备一个副本互联网身份后端或它自己的分类账容器 —— 两者都准备好了,你只需要选中一个框。
当开发团队有一个可以部署的经过测试的构建时,从那时起的过程应该是一致的。我们需要进行回归测试,记录所有部署的人员/内容/时间,并且通常最大限度地减少人为错误的机会。随着团队的发展(以及项目足迹),我们需要能够分离职责,将部署从开发人员完全转移到部署经理和文档经理。
我们将这些拐点中的每一个都视为行动号召,我们希望 ICPipeline 能够回答所有这些问题。如何在我的 Pipeline 中实现蓝绿部署?如何将回归测试集成到我的 Pipeline 中?如何将数据迁移集成到我的 Pipeline 中?首先,我们需要有一个 Pipeline,进入 ICPipeline。
这是关于数据,数据,数据
如上所述,我们还在为任何 IC canister d'app 追求强大的容器状态快照功能,ICPipeline 可以轻松地将任何代码分支部署到复制器。很快,您将能够包含从您的生产容器中获取的数据快照,一直到当时的时间 - 只需单击一下即可启动它。这是一种非常强大的能力,即使是资源充足的商店也很难达到目标。
这是关于不会发生的灾难,不浪费时间,在生产中没有出现的错误,不受影响的士气,以及不因挫折而遗漏的才华。它们都是不附带储蓄券的非事件,但是当我们看到更大的图景并进行交流时结果,当它结合在一起时,它是美丽的。
因此,您可以设置一个复制器并部署您的项目,然后拍摄快照,进行更改,进行一些测试,恢复到该快照,进行更多更改,测试,重复直到满意,然后部署到生产,这是一个改变游戏规则的东西。
结论
ICPipeline 的团队几十年来一直在构建软件并运行企业应用平台和团队,互联网计算机为开发人员、团队和组织带来的内在优势让我们感到非常兴奋。
在企业层面,我们考虑投资在 DevOps、SecOps、CloudOps 等方面的财富,其中大部分可以用于 UX 和产品开发。我们对 IC 可能产生的影响感到兴奋,去中心化云是描述它的有用术语,但它的真正潜力实际上不止于此。
我们将继续在这些文章上进行合作,我们有很多作品在我们脑海中转来转去,并且正在进行中,其中一些需要比其他更多的解释。
我们相信 ICPipeline - 就像互联网计算机本身一样 - 代表了一个不费吹灰之力的价值主张。因此,我们将尽可能快地继续前进,同时尽最大努力让您知道原因。
作者:Matthew Beekman & Dan Ryan
(ICPipeline)
翻译:Catherine
- 往 期 推 荐 -
互联网计算机上的 GameFi:名为 Cubetopia 的多人 RPG 沙盒
长按关注 DFINITY 微信公众号
随时答疑解惑
*添加小助手微信 comiocn 进交流社群