行云洞见 | 为何都在将研发环境搬上云端?
原文作者:行云创新资深架构师 刘岩
背景故事
一个刚入职的开发同学,从 IT 部门领取了新笔记本等设备,这位新同学第一件事需要做什么呢?安装所需的基础软件,开发软件,环境配置等等。由于其他同事都很忙,公司入职指南又不详细,这位新同学每一步都很痛苦。例如,环境配置这一块,不知道是哪里出了问题,环境始终搭建不起来,一遍遍的出错,碍于面子,也不好意思向同事寻求帮助,自己一股脑搜这搜那,始终没有找到解决方法。
当同事问进度如何时,只能红着脸说环境还没搭建好……
双方尴尬的对视了两秒……
同事:“早说呀,我给你推荐一个好的平台——云 IDE,可以直接线上完成你的工作任务!”
为什么要使用云 IDE?
从刚才的故事中也可以窥见一般,比如:
1、开发环境配置问题:本地代码开发环境配置多而复杂,云环境能够通过容器等技术解决。
2、性能问题:本地的开发机器一般需要运行很多软件,如一些办公和通讯软件啥的,让本来就不高的性能捉襟见肘。
3、稳定性问题:本地的开发机器启动时间长了就需要重启,每次重启后需要花费很多时间去重新设置相关的配置,浪费了大量时间。
4、依赖问题:如果开发环境依赖一些特定的云基础设施,网络通信就会很麻烦。而在云主机上,天然与其他云基础设施在一个网络环境中,环境设置简单。
5、网络问题:现代软件开发都是站在巨人的肩膀上,很多软件都依赖大量的库、框架和运行时,这些依赖下载需要快的网络速度。一般云主机的网络性能要好于家庭或办公网络。
6、安全问题:代码或者密钥放在本地开发环境有泄漏的风险,比如开发人员的开发机器被盗后丢失了代码或者密钥。
7、存储问题:本地开发机器的磁盘存储有限,扩展性也不好。而云主机的磁盘很容易扩容。
而解决这些问题的办法就是,把研发环境搬到云端,而在云端开发最重要的就是需要一个好的 IDE 支持,这也导致了企业研发对云 IDE 强烈的需求。
云端 IDE
随着云计算技术的发展,远程开发的理念也应运而生,一个新的云 IDE 的概念也随之兴起。与本地 IDE 不同,云 IDE 指的是无需本地环境,通过浏览器访问即可实现云端开发环境获取、代码编写、编译调试、运行预览、访问代码仓库、命令行执行等能力的云端工具,将传统 IDE 的工具组合进一步升级成高效的工作流形式,并进一步提升了跨职能协同的开发效率,让团队协作开发成为一种新的开发形式。同时通过线上的云服务,让产品更加容易触达用户,帮助产品实现快速迭代。
TitanIDE 介绍
行云创新独家研发基于云原生环境的云 IDE,打开浏览器,随时随地均可编程。也就是 Web IDE 或是 Cloud IDE。TitanIDE 以私有云方式部署于您企业的数据中心或是云,以浏览器作为客户端,以集约化共享云计算资源为底层依托,在云端运行的云原生集成开发环境,包括各种不同风格 IDE 内核实现编码和调试、开发空间和项目管理、应用端口映射、多租户、代码安全和审计、权限管理等功能。
TitanIDE 的能力
· 一个优秀的云 IDE 当然要覆盖本地 IDE 的能力。TitanIDE 必不可少的支持以下能力:
· 优秀的文本编辑功能,支持自定义布局;
· 代码提示功能,如语法高亮,代码跳转,错误提示等;
· 调试功能;
· 多编程语言支持;
· 代码补全功能;
· 代码重构功能;
· 扩展能力,支持用户自定义或提供插件;
· 好的生态;
· ……
TitanIDE 除了这些基本能力外,还针对开发的需求,扩展了如下高级能力:
1、多核心支持,使用体验佳
无论是 IDEA、Eclipse 还是 VS Code,在 TitanIDE 上您可以继续使用它们并且体验更佳。
2、超海量模板,研发效率高
开发不仅依赖于 npm, jar 包,还有业务所需的中间件、数据库、API 接口。新成员加入后都需重复准备开发环境,TitianIDE 开发环境模板把开发从作文题变成填空题。
3、微服务时代,联调更便利
大量微服务同时开发已是常态,无需考虑环境问题,TitianIDE 在“云里”直接联调。企业已上云,而开发环境还停留在本地,本地开发于云端环境不互通,协同开发、链条难。
4、多开发空间,团队协作顺
本地开发,代码文档分散无法及时入库,在一个项目里单打独斗。TitianIDE 在"云里"为项目组创建共同的开发空间,代码、文档、数据一切皆在云上,随时共享、协同。
5、天然云原生,资源消耗低
以容器为代表的云原生技术早已席卷全球。相比于本地开发或是基于虚拟桌面 VDI 的开发模式,TitanIDE 通过容器技术共享算力,消耗资源更低,直接开发出容器原生的应用。
6、代码不落地,安全有保障
在本地开发,无论是笔记本丢失、黑客入侵,亦或是开发人员无意地操作,都可能导致代码泄露造成不可弥补的损失。TitanIDE 代码在"云里"不落地,并有多手段保护资产。
TitanIDE 案例
某大型汽车制造业客户开发涉及各角色如何使用 TitanIDE。
1、架构师
在云端 IDE 内置的架构图设计器上进行功能模块划分以及向相关开发测试人员的任务分派,此后项目组内各不同角色人员可以在云端 IDE 同一项目开发空间的各自工作区内开展即相对独立、又互相协同的开发工作。
2、前端开发人员
免去安装配置本地开发环境之烦恼,打开云端 IDE 的网页即可进入开发状态。代码天然存在服务器上,不落地,即规避了传统方式代码泄露的风险,又解决了开发人员不及时提交代码入库的老问题。
3、后端开发人员
继续在云端 IDE 中自己熟悉的 IDEA, Eclipse 等风格工作空间中编码,与本地体验完全一致。充分利用服务器端无限算力编译和调试更加快速,直接使用服务器 GPU 等资源让 AI 等场景开发游刃有余。
4、数据库开发人员
云端 IDE 集成多种数据库开发工具,在网页中直接设计数据库表结构以及做数据处理。避免了传统方式下不断申请办公室到数据库的防火墙策略,降低了敏感数据泄露的风险同时也大大缩小了数据中心的网络面。
5、测试人员
通过云端 IDE 所集成的 Postman 等各类测试工具,直接与同一开发空间的前端、后端、数据库连通测试接口和功能页面。测试用例存储于服务器,便于与不同测试人员、开发人员相互协同。
评论