当在云端开发软件时,您的环境与您笔记本电脑上的环境从根本上不同。这对于开发过程来说是一个优势,因为您的代码会适应它运行的环境。本文将介绍五种不同的集成开发环境 (IDE),它们可以改善您的编程体验。
Che
虽然在本地 IDE 上开发,并与像 OKD 或 minikube 这样的本地平台进行最小程度的集成是完全可以接受的,但还有更好的选择。Che 是一款专为 Kubernetes 设计并在其上运行的 IDE。对于开发人员来说,一款了解云特性的 IDE 可能很有用。
一些开发人员不喜欢使用 IDE,因为他们觉得 IDE 可以为他们管理太多的代码,使他们感觉与代码库疏远。但是,当您的代码在云端开发时,让云保持抽象有很多好处。您无需了解您正在编码的平台,因为您正在为一个短暂但完全可预测的容器进行编码。如果您让 IDE 成为您的主要界面,您不必担心您正在使用的文件系统或系统的布局。您可以专注于您的代码,而 IDE 管理您的环境。
CodeReady Workspaces
在 Kubernetes 上运行 IDE 的自然延伸是在 Kubernetes 上运行您选择的多个 IDE 的能力。CodeReady Workspaces 是 OpenShift 的一项功能,可以在容器中启动流行的 IDE。
无论您选择的语言是 Python、Java、Go、Rust、C 或 C++、JavaScript、.Net 还是其他语言,您都可能从一个好的 IDE 中受益。CodeReady Workspaces 可以访问 VS Code、JetBrains、Che、Theia 等。有很多充分的理由让开发团队在同一个 IDE 上实现标准化,而这正是 CodeReady Workspaces 可以实现的。
CodeReady Workspaces 在 OpenShift 上运行,因此可以与多个不同的云服务提供商一起使用,包括 Red Hat OpenShift Service on AWS 平台,以及 Azure、Google Cloud,以及您自己的私有 OpenStack 云。
容器中心
在软件开发领域,您可以使用各种库,这样您就不必重新发明别人已经努力弄清楚的技术。同样,云也提供了容器,让开发人员和系统管理员也能享受到同样的便利。
当您开发云原生应用程序并意识到您需要一些标准化的组件(例如,数据库)时,您可以导入一个提供该组件的容器。您所要做的就是查看容器的输入和输出,就好像它是代码中的一个函数一样,并相应地编写您的软件。
市面上有很多流行且可靠的容器中心。
就像软件库一样,良好支持的容器化组件的优势在于它们由其他人维护。虽然您可以学习制作自己的容器并运行自己的自定义支持应用程序,但您的第一站应该是容器中心。
Buildah
当需要构建自己的容器时,无论是由于容器中心没有为您需要的容器提供良好的维护,还是因为您需要的容器是您自己的,都有一些工具可以简化该过程。
即使您在相对隔离的环境中开发应用程序,当您为云端开发时,您的应用程序迟早会被部署为容器。构建容器有几种不同的方法。您可以基于现有容器进行工作,或者如果您真的需要从头开始,您可以从头开始构建容器。
无论您使用哪种策略,您都希望您的解决方案最终实现自动化,以便您可以将其与您的 CI/CD 或构建过程集成。Buildah 是一款灵活、易于学习的工具,非常值得使用。
Kubectl
根据您使用的云服务提供商,kubectl
命令可能可用也可能不可用,但是使用命令和了解命令之间存在差异。
我发现学习 kubectl
对我理解云技术的底层组件非常重要。作为一名开发人员,您可能永远不需要知道集群中存在哪些节点,但了解它们的存在、原因以及它们的作用可能会很好。您可能也不需要担心您的容器在哪个命名空间中运行,或者它是哪个 pod 的成员,但了解命名空间或 pod 内部和外部可用的内容和不可用的内容可能很有用。
[ 立即下载:Kubectl 速查表 ]
无论您的云服务提供商是否允许您访问 kubectl
,或者您是否需要为项目运行它,如果您是那种想要了解整个技术栈的开发人员,那么您应该学习 kubectl
。
一个发展中的故事
云原生应用程序开发是一个不断发展的故事。新的工具不断涌现,云端开发的任务变得越来越容易和更易于访问。可以肯定的是:您绝对应该抓住机会熟悉在云中计算时使用不同的环境。有如此多的开源工具可以让您在云中的生活感觉像在您的本地环境一样,您有很多选择。
[ 参加免费在线课程:部署容器化应用程序 ]
2 条评论