在本文中,我将首先介绍一系列技术,这些技术可以帮助组织应对上述挑战。接着,我将从三个关键维度对这些技术进行评估:它们对应用程序开发流程的支持程度、它们在安全性方面的专注以及它们对开发人员日常体验的影响。文末,我将提出一个审慎的结论:在特定情况下,选择单一技术解决方案可能并非最佳选择。相反,根据具体情况灵活地采用或组合这些技术,可能会带来更显著的益处。
2 保护开发工作流的策略2.1 虚拟桌面的定义与应用为了应对保护开发工作流的挑战,诸如虚拟桌面基础设施(Virtual Desktop Infrastructure,VDI)这样的技术应运而生。Citrix和VMware(Horizon)等领先供应商提供了这种技术。虚拟桌面允许开发人员在通用的桌面操作系统(如Windows或Linux)上安装集成开发环境(IDE)、DevOps工具(例如容器管理软件)等应用程序,并安全地访问支持其工作流程的Web应用程序。实际上,通过远程访问虚拟桌面,开发人员无需在本地设备上存储敏感数据,从而降低了数据泄露的风险。此外,它还提供了对替代计算资源的访问,以便于构建应用程序。远程桌面的典型接入方式是通过远程桌面协议(Remote Desktop Protocol,RDP),该协议能够将桌面环境实时传输至本地设备。
2.2 企业浏览器的作用企业浏览器(Enterprise Browser),如Island、Talon以及Citrix的产品,作为虚拟桌面的Web替代品,近年来开始受到关注。这些浏览器的主要功能是保护对Web应用程序(尤其是SaaS服务)的访问,而不仅仅是提供对桌面的访问。尽管如此,它们也支持如RDP等协议,以实现对远程桌面(或称虚拟机)的访问。与VDI解决方案相比,这些浏览器供应商通常不提供计算资源,因此,当需要额外的计算能力时,组织可能会选择结合桌面即服务(Desktop-as-a-Service,DaaS)等更广泛的基础设施解决方案。

安全云开发环境(CDE,Cloud Development Environment)及其管理平台是保护应用程序开发过程的新兴技术。这些平台的核心功能是为开发人员提供对Web应用程序(如代码管理系统)的安全访问,并通过集成的IDE提供具有安全机制的在线开发环境。在提供远程开发环境访问方面,CDE采用了与企业浏览器相似的技术。
结合了通过IDE的远程访问和安全的Web浏览,CDE旨在保护开发人员的工作流程免受数据泄露的威胁。与虚拟桌面相似,本地开发数据在CDE中实际上是被“剥离”的,而计算资源则是通过云平台提供的。因此,安全CDE可以被视为融合了前述两种技术的解决方案。
下图展示了本文中讨论的三种技术:
图1:从左至右,瘦客户端访问远程桌面,企业浏览器通过RDP访问Web应用程序和远程桌面
3 三种技术的深度比较接下来,我将深入探讨虚拟桌面、企业浏览器和安全云开发环境这三种技术之间的主要差异,并强调它们在保护应用程序开发方面的特定作用和优势。请注意,尽管虚拟桌面和企业浏览器在业务流程中的应用广泛,本文将专注于它们在应用程序开发安全领域的应用。
3.1 代码开发的适用性对比虚拟桌面虚拟桌面技术在代码开发中被广泛应用,尤其适合涉及远程开发人员入职、实施自带设备(BYOD)策略,以及需要集中控制和增强安全性的场景。这些通常是以Windows为基础的解决方案,尽管Linux主机也被使用。
开发人员在通用桌面上执行所有代码开发活动,通常需要安装IDE等工具以开始编码工作。如下图(左)所示,远程桌面用于编码和访问代码管理应用程序,同时也是构建应用程序的主要计算资源。
企业浏览器企业浏览器在开发流程中的应用,主要是作为Web前端,通过RDP协议访问用于开发的远程桌面设置。与虚拟桌面相比,企业浏览器对基础架构的限制更少,因此更易于在内部和远程开发人员中部署。然而,企业浏览器本身不提供开发环境,它们仅作为现有开发计算机(无论是物理还是虚拟)的前端,通过浏览器客户端进行访问。 在需要计算资源的开发过程中,其设置与虚拟桌面类似。一个细微的差别在于,可以使用开发人员设备上的浏览器安全地访问代码管理应用程序,而不是在虚拟桌面上运行的浏览器。远程桌面依然是构建应用程序的主要计算资源,如下图(中)所示。
安全的云开发环境CDE平台旨在为内部和远程开发人员(包括BYOD场景)提供一个集中管理和标准化的加入环境。与依赖虚拟机的传统虚拟化不同,CDE平台利用容器(轻量级虚拟化进程)来运行环境,这使得设置和运维更加高效和可扩展,因为容器所需的资源更少。因此,为单个开发人员分配多个环境变得简单且成本效益高。每个容器都拥有独立的计算资源,易于设置或重新配置,而不会造成数据丢失。
图2:从左到右,在虚拟桌面和企业浏览器的情况下,虚拟机托管所有工具、计算能力并提供与DevOps服务的连接
如下图(右)所示,在虚拟桌面和企业浏览器的情况下,虚拟机托管所有工具、计算能力,并提供与DevOps服务的连接。而安全云开发通过IDE和安全浏览器提供对容器化环境和服务的访问。
与远程桌面的主要区别在于,开发人员无需桌面环境即可开发应用程序。CDE平台特别适合云原生开发,包括基于Web的(后端/前端)和移动开发。云环境可以通过IDE直接访问,开发人员通常在环境的端口上运行Web应用程序,并通过本地Web浏览器进行访问。如果需要,容器上也可以运行桌面环境,并通过端口和浏览器进行访问,如图(右侧部分)所示。
图3:基于云的安全开发不需要桌面来构建后端、Web 和移动应用程序
3.2 技术的安全焦点现在,让我们探讨这三种技术在安全方面的核心关注点。
虚拟桌面和企业浏览器虚拟桌面技术通过集中管理数据和桌面应用程序,减少了终端设备的脆弱性,从而提升了用户环境的安全性。Citrix和VMware等领先供应商的客户端都集成了数据泄露防护(Data Leak Prevention,DLP)功能,通过强化系统安全措施——包括限制用户访问权限和数据传输——来防止数据泄露。
企业浏览器则专注于保护组织免受网络钓鱼、恶意软件以及其他网络威胁的侵害,这些威胁可能通过用户操作导致数据泄露,包括内部威胁。企业浏览器的安全措施主要围绕客户端展开,因为用户通常无法接触到他们所使用的应用程序的后端系统。与虚拟桌面相比,企业浏览器在安全措施上更为复杂,可能需要结合网络策略来避免数据泄露,尤其是在远程应用程序通过互联网连接时。这暗示了企业浏览器作为VDI替代方案时可能存在的一个潜在局限:它可能无法提供充分的安全措施来防止在桌面环境中的操作导致的数据泄露。然而,这可能取决于具体的供应商实现。
安全云开发环境安全CDE平台专注于保护开发环境以及Web应用程序中的数据,防止数据泄露。这与客户端DLP有相似之处。
此外,CDE平台通过控制网络访问和为组织资源提供身份验证服务,实现了“后端DLP”,即对数据访问的保护。
尽管CDE的基础设施相对简单,但正是这种简洁性使其能够构建更为全面的数据丢失防护策略,同时最小化对本地设备的影响。
另一个重要的方面是,由于CDE平台专门设计用于支持应用程序开发,因此其安全机制可以与开发上下文相结合,使安全性成为提升生产力的助力而非障碍。
3.3 对开发人员体验的影响与优势在评估技术是否适合支持开发工作时,平台的可访问性及对开发人员体验的影响是至关重要的考量因素。
虚拟桌面虚拟桌面技术允许开发人员通过本地安装的客户端,将远程桌面的镜像流式传输至本地,实现与远程桌面的交互。然而,这种访问方式受网络条件限制,经常因延迟问题而影响用户体验。不幸的是,这不仅影响了开发人员的工作效率,也可能对开发流程产生负面影响。
企业浏览器企业浏览器允许开发人员无障碍地访问Web应用程序,但当需要通过远程桌面进行编码工作时,就必须依赖RDP等流式传输协议。这同样可能导致显示延迟,从而影响开发人员的体验和生产力。
图4:在安全的 CDE 平台中,用于编码的 IDE(右)不会流式传输到桌面并在本地呈现,从而保留了开发人员的体验
安全云开发环境安全的CDE平台为开发人员提供了通过Web的IDE访问在线开发环境的能力,同时通过安全的浏览器访问Web应用程序。由于基于Web的IDE本身就是一个Web应用程序,它能够在开发人员设备上的浏览器中以原生方式运行,无需流式传输,从而为开发人员提供了最佳的体验(见上图)。
然而,安全浏览器的具体实现可能会对用户体验造成影响。在实际操作中,开发人员大部分时间都在IDE中工作,而对Web应用程序的使用相对较少,例如进行代码拉取或提交等操作。
4 技术融合的机遇在企业业务流程中,虚拟桌面和企业浏览器通过为桌面和Web应用程序提供统一的安全性,扮演着至关重要的角色。每种技术都有其独特的基础设施要求和性能表现。历史上,虚拟桌面一直是企业环境中的主导技术,也是本文讨论的技术中最为成熟的。
与此相对,企业浏览器被设计为一种轻量级的替代方案,专门针对通过Web交付的SaaS应用程序进行了优化。它们通过RDP协议访问开发人员桌面的方式,可以视为对虚拟桌面的现代重新诠释。
为了保护应用程序开发过程,安全的云开发环境(CDE)平台将所有必要的资源——包括对客户端(IDE和Web应用程序)和开发环境的访问——集中管理。这种有针对性的使用方式允许平台在提供特定于上下文的安全性的同时,保持开发人员的体验。
在大型组织中,可能需要将安全的CDE平台与现有的虚拟桌面或企业浏览器设置相集成。这种集成提供了一个机会,可以最佳地平衡开发生产力、安全性和资产的高效利用。
安全CDE平台的一个关键特性是其使用专用浏览器来安全地访问Web应用程序。当与企业浏览器或应用虚拟化技术集成时,这一特性尤其得到增强。本质上,这种集成允许用一个更无缝的解决方案替代CDE平台的专用浏览器,并将CDE技术整合入现有的基础设施之中。
这样,组织可以在整个基础设施中标准化安全机制,确保对遗留应用程序的安全访问,同时推进应用程序开发的现代化。此外,它还为组织提供了提高资产利用率的机会,通过利用轻量级虚拟化技术,按需访问专门用于开发工作负载的、成本效益高的计算能力(见下图)。
在虚拟桌面基础设施的实施中,通过提供按需开发环境(连同相关的计算资源)和增强数据访问的安全性,整合安全的CDE平台可以显著提升开发人员的体验。
图5:安全CDE平台与其它技术的整合,以适应企业环境中的多样化需求和场景。
总结来说,安全CDE平台、企业浏览器和虚拟桌面的集成,为增强开发过程的安全性和生产力提供了丰富的机会。同时,这种集成改善了开发人员的体验和资源的利用效率。
尽管安全CDE平台本身就是一种现代方法,用以防止应用程序开发过程中的数据泄露,但它也为增强现代组织的现有基础设施生态系统提供了机遇。