亚马逊云科技已经将项目开发套件(PDK)蓝图引入其CodeCatalyst DevOps工具当中。开发人员现在可以根据常见模式构建应用程序,同时设置DevOps资源,借此提高这两大项目的市场吸引力。
作为2023年4月正式发布的亚马逊 DevOps服务,CodeCatalyst旨在提供一套完整的集成系统,涵盖源代码管理、构建与测试工具、持续集成与持续交付(CI/CD)、问题跟踪与合作等功能。亚马逊云科技同时提供其他DevOps工具选项,例如CodeBuild、CodePipeline以及CodeArtifact,但CodeCatalyst是独立服务的形式存在,并非其他工具的捆绑包。换句话说,我们可以将CodeCatalyst与各类外部服务结合起来,包括配合GitHub代码库使用。
PDK则是另一个在GitHub上开源的独立项目,旨在为常见用例提供构建块支持,但目前仅支持三种语言:TypeScript、Python以及Java。PDK基于Projen衍生而来,希望实现项目的自动化配置。
自CodeCatalyst发布以来,就一直将各类蓝图作为项目的重要组成部分。而此次添加的PDK蓝图将带来更强大的组合,也将内置蓝图从之前的20种增加到现在的25种。
在CodeCatalyst中添加PDF蓝图
在实际体验当中,我们按照教程引导掌握了类型安全API、使用亚马逊Cloudscape设计基于Raect的网站、Cognito身份验证以及将项目部署至亚马逊基础设施的整个工作流程。
整个实验项目由5个PDK蓝图组成,分别负责处理设置以支持Nx构建系统的代码库、添加API与Cloudscape React网站的框架代码、定义基于CDK(云开发工具包)的亚马逊基础设施,以及创建用于构建及部署项目的工作流程。每次应用蓝图时,它都会创建一条pull request,因此在合并该PR之前不会应用任何代码变更。
设置完成之后,项目还提供内置选项以创建基于代码库的远程开发环境。我们设置了一套Tabnine环境,但并非完全成功,因为终端无法运行并显示“tmux: need UTF-8 locale (LC_CTYPE) but have ANSI_X3.4-1968”错误。我们本可以避免这个错误,而且亚马逊官方也为接入运行Tabnine环境的虚拟机提供了明确记录的修复程序。
在Tabnine中编辑项目代码,但最终出现了终端报错
尽管出了点小问题,但该工具的表现仍然令人印象深刻:它不仅能够生成代码,还能生成完整的DevOps环境,这无疑将大大简化开发者的工作流程。
但其局限性也相当明显,包括当前可用的蓝图数量较少,而且所有蓝图的版本号仍然以0开头——代表其尚处于预览阶段。
此次CodeCatalyst与全新PDK功能的发布背景在于,尽管亚马逊云科技已经成为全球最大的云基础设施服务商,但在DevOps工具方面尚未得到大多数开发者的认可和关注。亚马逊方面似乎在这项服务上投入了大量资源,但目前还很难判断其是否有能力建立起庞大且活跃的技术生态。类似的问题也同样困扰着PDK,而将两者结合起来也许能同时拉高双方在目标受众当中的吸引力。
另一个关键问题则是CodeCatalyst定下的发展目标是否太高,即只需点击几下就能创建出相对复杂的项目。对于这类快速生成的项目,可能要求开发人员在维护和开发方面拥有更高水平的技能;而如果开发者真的具备如此高水平的业务能力,似乎又没必要使用蓝图、或者说蓝图反而限制了他们的开发空间。
官方倒是相当乐观,强调称“PDK蓝图能够消除为全栈应用程序设置不同项目所带来的繁重无差别工作,使您在更短的时间内解决多个项目的特定需求。”
好文章,需要你的鼓励
Meta 正研发一项通过姓名识别人脸并追踪用户日常活动的“超级感知”技术,计划应用于新款智能眼镜和 AI 耳机,同时重新评估隐私策略,助推 AI 技术在穿戴产品中的应用。
Google 在 Gemini API 中推出自动缓存功能,通过复用重复数据为开发者节省最多 75% 的调用成本,有望缓解高额 API 费用问题。
Korl 利用 OpenAI、Gemini 及 Anthropic 等模型,从 Salesforce、Jira、Google Docs 等多个平台整合数据,自动生成定制化客户沟通材料,如幻灯片、演讲稿及季度业务回顾,同时保证数据安全性,并提升运营效率。
文章探讨了代理型 AI 的崛起,重点介绍微软 Azure AI Foundry 与 NVIDIA 技术如何通过强大语言模型和智能代理,实现企业级应用创新,提升运营效率与服务质量。