
云开发环境(CDEs)正在彻底改变软件开发。
CDEs 将编写代码、执行构建、运行测试和部署应用程序等关键开发流程转移到云中,为工程师提供了灵活性、效率和简便性。这让开发人员能够更好地协作,更快地发布更高质量的软件,而不会让环境成为障碍。
让我们来探讨一下 CDEs 到底是什么、有哪些优势、值得评估的选项、配置之一个云开发环境的简单步骤以及长期优化使用的技巧。
云开发环境是软件开发团队协作、构建、测试和部署应用程序的集中平台。
仅在 2020 年至 2022 年期间,就有相当一部分企业迁,因此我们认为您有必要了解所有细节,以防您也在考虑迁移。

CDE 将整个开发生命周期整合到一个集成的云工作区中,使开发人员不再拥有分散的工具链,也不再依赖于不同的个人和设备。集成开发环境(IDE)、运行时、基础架构配置、依赖关系、协作工具、测试框架和管道等核心组件被捆绑在一起,并可通过云浏览器访问。与传统开发环境相比,云环境托管在云上,可通过 *** 浏览器或应用程序访问。所有计算量大的过程,如编译代码、运行自动测试或构建容器,都在云中进行。开发人员只使用本地设备作为瘦客户机访问云工作区,从而降低了总体硬件成本。
云开发平台还提供预建模板,可快速为特定应用程序堆栈启动开发环境,或在需要时为高级自定义配置提供更多控制。有了这些,您就可以在各个团队中拥有一致的环境。
在许多方面,CDEs 代表了软件开发的下一个发展阶段–一个以云为中心的发展阶段。它利用了云计算的基本功能,同时允许本地环境的可控灵活性。
让我们进一步了解 CDEs 与本地环境的不同之处,以及这种设置的优势和局限性。
开发云应用程序不同于代码在开发人员设备上孤立存在的传统设置。
在高层次上,云环境允许工程师在远程托管的一致工具包上进行实时协作。
这种 *** 解决了团队在跨地点和跨设备配置、访问和同步开发环境时面临的许多难题。
| 本地开发 | 云开发 | |
| 开发环境的位置 | 开发人员必须在本地机器上手动安装编辑器和数据库等所需组件。这就导致跨设备的工具链变得复杂而分散。 | 云平台负责集中设置和托管开发环境,工程师可通过浏览器远程访问。 |
| 环境一致性 | 在开发人员的笔记本电脑上复制环境具有挑战性,会导致 “在我的机器上也能工作” 的错误。 | 标准化环境与集中式基础设施上的代码一起进行版本控制。 |
| 计算分布 | 构建和测试在本地运行,会降低机器的运行速度。 | 云按需分配计算能力,因此开发人员的设备不会成为生产力的瓶颈。 |
| 协作 | 在审核之前,代码会被保存在本地的独立分支中。 | 云集成开发环境可实现代码的实时多用户编辑、注释和可视化。 |
| 上岗培训和访问 | 配置新的本地机器既困难又耗时。限制开发人员访问。 | 开发人员可以通过任何设备即时登录预定义的环境。 |
既然您已经了解了云开发环境的基本原理以及它们与传统设置的区别,那么让我们来看看 CDEs 的主要优势。
通过将开发整合到 AWS 或 Azure 等受监管的云平台,您可以更大限度地减少攻击面。
与丢失或损坏的开发人员笔记本电脑相比,所有敏感凭证、公司 IP 和个人数据都将受到保护。
云基础设施还提供加密、访问控制和合规性框架等安全功能,这些功能对于单个工程师来说,单独实施的成本过高。
本地开发的代码在审查之前都处于孤立的分支和分叉中。云集成开发环境可以实现 Google 文档式的代码实时编辑和注释,因为现在的环境是共享的。
团队进度从一开始就可以可视化,根据环境配置的不同,任何有必要访问权限的人甚至可以在代码编写过程中看到代码。
在本地设备上进行分散式开发的传统设置中,新开发人员的入职可能既困难又耗时。在开发人员开始工作之前,你需要从头开始配置新机器。
开发人员还要浪费大量时间,排除与编写代码无关的环境、依赖性和配置问题。显示,50% 以上的开发人员时间用于维护、配置和操作任务。
然而,CDEs 可以集中处理这些复杂问题,让开发人员专注于构建产品,而不是与环境作斗争。它们通过在一个基于云的集成开发环境中分配工具来优化工作流程。与模板化的开发人员环境、自动化的基础架构管理和快速的测试执行相配合,它可以大大提高开发人员的工作效率。
在本地运行资源繁重的构建和测试流程会降低机器的运行速度,限制并行化的实现。
然而,使用 CDEs 的软件团队无需采购额外的硬件,就能更快地扩展。
启动新的云开发环境只需几分钟,因此可以更快地扩展团队。
例如,如果您临时需要高运算量来测试重负载下的应用程序性能,您可以增加云实例的资源,而无需超支。许多云开发环境会根据系统负载自动扩大或缩小。
在本地设置中,开发人员必须在本地机器上手动安装所有必需的组件,如编辑器、语言包、框架和数据库。配置这些本地化工具链既复杂又耗时。
随着时间的推移,这些组件还会在开发人员的设备上变得支离破碎。这就是所谓的配置漂移,通常会导致可怕的 “能在我的机器上运行” 的错误。
另一方面,云开发平台会在一个集中的位置进行设置和托管。工程师通过 *** 浏览器访问远程环境,无需配置本地工具。所有团队成员在云中使用相同的完全打包、最新的工具集。
虽然云开发环境有许多优点,但也有缺点。
采用任何新技术都会带来进步和危险。以下是利用 CDE 的几个潜在弊端:

如果您确信云开发环境适合您的组织,那么让我们快速了解一下如何建立自己的 CDE。
有多种云开发环境可供评估,比如:
花时间比较各种选项,如语言支持、协作、安全性、集成、定价和学习资源。注册试用账户,并在可用的地方建立开发环境。尽量寻找有开源社区支持的解决方案,以免出现问题时陷入困境。
选定平台后,如果还没有账户,请在相应的云提供商处创建一个账户。例如,Gitpod 依赖于 GitHub,而 AWS Cloud9 等解决方案则需要 AWS 账户。
在初始云账户设置过程中,浏览仪表板,找到可以访问平台提供的各种计算、存储、 *** 和其他服务的位置。在试用过程中,在这方面花点时间将有助于你了解在全公司范围内采用它的难易程度。
创建账户后,在所选 CDE 平台中设置初始开发环境或 “dev box”。大多数 CDE 提供预配置模板,可在几分钟内启动虚拟机或开发容器,并提供代码编辑器和终端等所有基本工具。
如果存在模板配置,可从 CDE 供应商为 Node.js、Python 或 Java 等流行语言提供的官方映像开始。这些准备好的环境虽然必不可少,但可以让初次使用的用户快速体验云开发。然后,您可以将其作为基础镜像来构建自定义环境。
在允许团队广泛使用之前,请考虑围绕新的 CDE 部署定义安全防护栏和 *** 规则。考虑:
在后期阶段,您可能需要在 CDE 管道中实施机密管理、基础架构安全扫描等,以提高共享环境的安全性。
现在,基本环境和环境变量已经设置完毕,并确保了团队使用的安全性,可以通过安装其他开发工具来进一步自定义环境和环境变量。对于建立开发环境,下一步显然是安装编码编辑器、编译器、数据库、 *** 服务器和其他软件,以创建一个编程工具箱。
所有 CDE 都允许你自定义服务器上的工具链。在 Linux 上使用本地软件包管理器安装所有工具。对于 Windows,可直接从互联网下载安装程序到云实例。
在整个过程中,切记记录所有步骤、运行的命令和配置的工具,以便将来轻松重现环境。您希望这些文档成为 CDE 的。
最后,开始测试云开发环境,利用云驱动的工作流来编码、构建、测试和部署应用程序。了解如何跨机器快照持久状态,以保持连续性或重现问题。
通过配置自动版本控制以及在代码提交时触发自动构建和测试,提高团队的工作效率。
随着云开发的成熟,应定期完善和优化环境,在标准化和定制化之间取得平衡。CDE 应成为开发人员的自然选择,而不是被迫使用的限制性环境。
除了初始设置外,以下是长期使用云开发环境获得额外优势的五个技巧。
CDE 平台可与同一供应商管理的互补云服务紧密集成。例如,AWS Cloud9 keypair 身份验证提高了亚马逊 EC2 基础设施的安全性。
探索无服务器数据库、存储、消息传递和 API 等云服务简化构建的方式。查看相关架构图,详细了解产品如何相互交叉,然后有选择性地将它们纳入其中。有疑问时,调查开发团队成员,询问他们希望添加或删除哪些工具链。
想方设法尽可能多地应用技术和 CDE 配置。使用 Dockerfiles、Terraform、Ansible 或其他 *** 将环境模板化,并简化开发人员的配置,以便他们在安全防护范围内工作。
越早实现环境配置自动化,就能越快地部署全新的开发环境并创建易于移植的环境。
云计算的可变成本模式可能会导致未优化开发带来的贴纸冲击。利用 AWS Cost Explorer 等工具持续监控环境使用情况,识别闲置资源、臃肿权限或区域配置错误造成的浪费。
将云成本可见性整合到现有仪表板中,重点关注环境扩展时的支出异常。此外,还要制定严格的预算,在不影响工作效率的情况下为每月的开发基础设施支出设定上限。
在将长期项目过渡到 CDE 时,要评估缓存、文件库或本地数据库是否需要云迁移。看看是否可以通过符号链接到原来的内部部署位置来满足开发需求。
数据传输的成本可能会很高,这往往也是企业向云提供商支付高昂月费的原因。因此,请确保您挑选的是最关键的数据。
所有主要云提供商都遵守 ““,该模式规定了客户和供应商之间的安全控制所有权。花点时间了解负责确保各环境层安全的实体的界限。
例如,亚马逊负责保护较低层次的云基础设施,但客户必须适当配置身份、权限、加密和 *** 安全层。分析并坚持自己的责任分担协议。
您已经使用新的 CDE 创造了下一个大事件。恭喜你!但现在您需要一个地方来托管您的 *** 应用程序,以便真实用户可以在开发环境之外访问它。设置和管理托管服务器是一件麻烦事,尤其是在大规模部署时。
宝塔面板中的网站管理是非常重要的一部分,也是站长经常需要使用到的功能模块。网站管理,主要用于管理和创建WEB站点。如果您是宝塔面板的使用用户,应该对此模块有充分的了解,以便于您更高效地管理网站。 宝塔面板网站管理模块包括:添加新网站、修改默认页、设置默认站点、站点列表、站点的运行与停止、备份站点、...
宝塔面板设置主要涉及的是宝塔控制后台自身的参数,包括诸如面板的开关、自动更新及SSL、面板端口设置等。虽然这部分不涉及服务器自身的管理,但对宝塔面板的设置也有其重要。 特别是面板端口、安全入口及面板密码等涉及安全的参数设置。 启动和关闭面板 如果你长时间无需使用到宝塔面板,可以考虑...
PHP开发:有些人认为它是,另一些人认为它是一种过时的技术,不值得花时间学习。但是这些数字说明了什么,尤其是当您查看PHP开发人员的薪水时? 虽然肯定有许多更新、更炫、更令人兴奋的语言,但PHP仍然是后端Web开发的可靠主食,也是许多雇主仍在寻找的技能。 有兴趣自己成为PHP开发人员吗?我们...
近年来,Web应用程序和网站的开发变得越来越简单。即使是我们当中最受技术挑战的人也已经相当熟练地使用WordPress和Wix等产品。 对于更高级的开发人员,有许多工具可以帮助简化开发过程。这些工具中最有用的工具之一是Laravel。 本文回答了“什么是Laravel?”这个问题。通过将其分...
您是否正在寻找成功的方法来加快Laravel的性能,同时在您的项目上工作?你来对地方了! Laravel是一个流行的开源PHP框架,以其强大的安全性和简单而复杂的编码架构而闻名。它是构建能够推动收入和推动业务发展的尖端Web应用程序的绝佳选择。 尽管如此,如果你不使用正确的优化技术,Lara...
薪水可能是某些人的禁忌话题,但如果您是WordPress开发人员,或者正在考虑从事WordPress开发工作,那么了解人们的收入对于最大化您自己的赚钱能力至关重要。 所以让我们谈谈这个秘密——让我们谈谈WordPress开发人员的平均工资。这样,您将确切地知道自己的价值(以及如何赚取更多)。...