互联网计算机是一个安全的计算平台,它使开发人员能够快速推出势不可挡的去中心化应用程序,不受云提供商寡头垄断的影响,将 ICP 视为 IP 计算协议 — 它之于计算,就如同互联网协议之于通信。
如今,互联网计算机协议(ICP)上部署了近 80 万个应用程序,而且这个数字每天都在增长,提供一流的开发人员体验,以及让开发人员能够获得帮助他们取得成功的工具和见解是 DFINITY 研发团队的重点。
随着 Beryllium 里程碑的推出,DFINITY 为 ICP 带来了更好、更有效的 DevOps 功能。
Beryllium - 高级别
Beryllium 里程碑囊括了 DevOps 领域的多项功能 - DevOps 旨在缩短开发周期、增加部署频率并以更可预测和可持续的方式交付高质量软件。
这一里程碑为容器的开发人员生命周期提供了实质性的简化和改进,特别是在其开发和操作方面,快照功能、强大的日志记录基础架构和改进的错误处理为开发人员提供了新的工具和范例来丰富他们的调试库。
容器快照
在需要快速开发和迭代周期的环境中,每次部署都是成功或失败的机会,那些精通持续集成和持续部署典范的人会告诉你,能够快速从故障中恢复是多么重要,每一秒的停机时间都相当于金钱损失。
部署在 ICP 上的应用程序需要访问安全、有弹性且快速的恢复机制,以便开发人员能够快速且更有信心地进行部署,通过将容器快照引入 Internet Computer,开发人员可以对其应用程序(包括其所有数据)进行快照,然后进行升级,而不必担心不可撤销或数据丢失,这对于具有高数据安全性或 SLA 要求的开发人员来说意义重大。
基本机制是可以对容器进行快照(例如,使用 dfx 之类的工具),并且该快照将安全地存储在链上,之后,如果通过升级部署了新的有缺陷的版本,该容器可以在几秒钟内回滚到所拍摄的快照。
结合 ICP 上用于监控应用程序的实用程序,此功能使开发人员能够更有信心地进行实验、运行 A/B 测试并为客户提供更严格的 SLA,DFINITY 的研发团队期待看到开发人员在应用程序开发生命周期中以各种富有创意的方式利用快照。
容器日志
在调试问题时,大多数开发人员都会告诉您,首先要从日志开始,任何软件系统(无论是操作系统、Web 应用程序、固件还是介于两者之间的任何东西)都会将日志作为其操作的标准部分发出,日志可以深入了解错误发生前后发生的事件,帮助开发人员诊断根本原因并提出解决方案。
日志捕获的最关键点可以说是在错误发生之后,借助 ICP 上的容器日志记录功能,开发人员现在可以访问系统在发生陷阱时生成的完整错误日志,这让开发人员能够更好地了解其容器的运行情况(如果您愿意的话,可以窥视幕后情况),从而能够快速排除故障并应对应用程序故障。
除了捕获陷阱之外,开发人员还可以利用容器日志记录来捕获生产环境中运行的应用程序代码发出的所有日志消息,开发人员可以将日志消息插入到他们希望的任何地方,以用于除调试之外的用例,并进入用户体验增强领域。
虽然 Beryllium 里程碑中引入的容器日志记录功能非常强大,但它们仍处于起步阶段,许多改进和扩展尚未到来,而 DFINITY 坚定不移地致力于为基于 ICP 的开发人员带来一流的日志记录体验。
回溯、错误和标准化响应代码
虽然日志是调试过程中的一个很好的起点,但它们只能提供系统出错的一瞥,对于开发人员来说,如果要确切了解系统在发生崩溃等事件时出了什么问题,他们需要更多信息。
在 ICP 上运行的容器现在可以显示崩溃前堆栈上调用的函数的踪迹,此信息与前面描述的错误日志记录机制无缝关联 - 在检索生产日志时,开发人员也会自动看到回溯信息。
调试并不是全部,开发人员还需要能够主动应对错误,通过在应用程序中构建特定逻辑来妥善处理潜在的错误情况,例如,显示信息性错误屏幕、尝试自动恢复或引导用户使用不同的输入重试,为了实现这一点,开发人员需要在网络返回的响应中包含更细粒度的错误信息。
DFINITY 花费了大量时间检查所有可能产生的错误,并努力尽可能标准化响应代码,这样,网络返回的错误可以更好地理解和预测,让开发人员可以更自信地在其应用程序工作流程的“悲伤路径”中构建优雅降级。
除了标准化响应代码之外,错误现在还附有有用的文档链接,在开发过程中遇到错误的开发人员可以快速了解错误发生的原因以及如何修复它。
结论
没有一个软件系统是完美的,最终肯定会出错,Beryllium 里程碑标志着 ICP 致力于帮助开发人员更快地恢复并继续前进,能够对正在运行的容器进行快照,使升级可以放心进行,因为我们知道如果事情没有按计划进行,系统可以回滚。
日志记录功能与回溯信息相结合,可以深入了解出错的原因,包括发生错误的确切源代码行号,标准化响应代码提供了一种一致的工具,用于处理容器在执行操作时可能返回的无数结果场景。
这些改进强化了 ICP 的使命,即为去中心化应用程序创建一个可靠、用户友好的平台,使开发人员能够更自信地进行创新。
你关心的 IC 内容
技术进展 | 项目信息 | 全球活动
收藏关注 IC 币安频道
掌握最新资讯