谷歌发布 Cloud Code,可以帮助开发者完成将代码转换为云原生应用程序的所有工作。
在Google Cloud NEXT 2019的大会现场,谷歌正式发布Cloud Code,这是一组 IntelliJ 和 VS Code 编辑器上的新插件,可利用已有工具为软件开发生命周期的每个阶段实现自动化,目的是让开发者在 IDE 环境下也可以开发云原生 Kubernetes 应用程序,而不需要改变编码习惯和环境,几乎适用于所有主流编程语言,包括 .NET Core。
在系列重磅更新中,Cloud Code 的发布与开发者群体最为密切相关。对开发者而言,软件开发的核心工具是集成开发环境(IDE),IntelliJ 和 Visual Studio Code 等 IDE 可帮助开发人员在编辑、编译和调试代码时保持高效,但这些往往最适合本地应用程序开发。
VS Code 通过 Cloud Code 连接正在运行的 Kubernetes 集群
当开发云应用程序时,这可能会存在问题。因为,本地和云环境(生产环境)并不完全相同,构建容器本身又存在一些挑战,没有开发者真的喜欢手工编写 YAML 文件来测试代码,这可能就会导致开发后期出现问题。
IntelliJ 的 Cloud Code 通过运行配置将应用程序连续部署到 Kubernetes
因此,谷歌决定发布 Cloud Code。谷歌在官方博客上表示:
随着 Cloud Code 的首次发布,开发者可以专注开发在 Kubernetes 上运行的应用程序,当然这也包括 Google Kubernetes Engine(GKE)。Cloud Code 扩展了 VS Code 和 IntelliJ,为 IDE 开发云原生 Kubernetes 应用程序带来了所有功能和便利。
要在 Kubernetes 中启动并运行应用程序,开发者需要了解许多概念。Cloud Code 还可以在入门时提供帮助,包含一组更新的 Kubernetes 样例,这些示例已预先配置可用于调试、构建和部署,开发者只需专注开发应用程序即可,不需要关心初始配置。
此外,Cloud Code 为 Kubernetes yaml 文件提供模板、linting 和错误突出提示。当然,Cloud Code 还支持日志记录,开发者可以直接在 IDE 中查看来自任何环境的应用程序日志。
VS Code 的 Cloud Code 可充分利用 IDE 的全部功能
根据介绍,借助谷歌的命令行容器工具(如 Skaffold,Jib 和 Kubectl),Cloud Code 可在构建项目时提供持续项目反馈,并将本地编辑、编译、调试扩展到任何本地或远程 Kubernetes 环境。通过支持部署配置文件,可以定义不同的部署目标,例如本地开发、共享开发、测试或生产,这样就可以在工作站或云中轻松测试和调试应用程序。
Cloud Code 还可以轻松地将谷歌 API 集成到应用程序中。例如,在 IntelliJ 中,谷歌提供了一个集成的库管理器,可以为应用程序添加所需依赖项,为项目自启用 API 并管理所需信息。
此外,Cloud Code 可以与现有 DevOps 工具和服务轻松集成,包括 Cloud Build 和 Stackdriver。一旦代码部署就绪,只需拉取请求或提交,就会触发 Cloud Build 完成自动构建、测试和部署应用程序的整个过程。
IntelliJ 上的 Cloud Code 可让开发者轻松查找相关示例和文档并与现有代码库集成
DevOps 的核心原则是“基础架构即代码”,其中所有环境配置都作为 repo 中的源代码进行管理,这使环境可重现并有助于更快地发现问题。Cloud Code 和 Cloud Build 使编辑、审查、测试和应用 Kubernetes 配置的更改变得简单方便。
最后,Cloud Code 结合了许多现有开源工具,包括Kubectl,用于处理 Kubernetes API 的命令行工具; Jib,用于构建 Java 应用程序的容器; Skaffold,用于为 Kubernetes 应用程序设置连续部署管道的工具等。
Anevia 是国外的一家 OTT 和 IPTV 软件提供商,目前已经使用 Cloud Code 在其 IDE 中监控 Kubernetes 集群。Anevia 的软件工程师 Phillippe Martin 表示:
借助 Cloud Code 及其集成的集群资源管理器,我可以快速了解不同 Kubernetes 集群上运行的内容,哪些功能正常以及需要修复的内容,只需单击即可访问所有对象日志和状态,无需再访问终端。
通过 Cloud Code,谷歌希望开发者可以利用喜爱的开发工具轻松创建云原生应用程序,谷歌云产品和设计副总裁 Pali Bhat 在接受媒体采访时表示:
Cloud Code 将远程应用程序开发直接带入 IDE 环境,这解锁了所有开发人员的力量,让他们可以为 Kubernetes 和云构建应用程序,而不必担心需要学习不同的内容。
评论