写点什么

华为云 CloudIDE 的前世今生

  • 2020-04-17
  • 本文字数:3705 字

    阅读完需:约 12 分钟

华为云CloudIDE的前世今生

一声令下云起航

华为持续投入云计算及相关技术和产品研发已近 10 年,在虚拟化、存储、计算、云数据中心等领域不断进步。


2017 年,华为成立 Cloud BU,强力投入公有云,致力于为企业提供稳定可靠、安全可信、可持续创新的云服务。


展望未来,华为云将基于自身软硬件的技术优势,携手伙伴,持续为企业客户打造全球最佳体验的混合云,成为企业首选的云服务伙伴。


为了服务华为云开发者,2016 年推出软件开发服务 DevCloud,并逐步成为华为云软件开发平台。


华为云 DevCloud 是集华为研发实践、前沿研发理念、先进研发工具为一体的研发平台,面向开发者提供研发工具服务,让软件开发简单高效。



华为云 DevCloud 产品家族全集图


在落实云服务开发 DevOps 实践过程中,我们发现开发者可以把需求、代码、构建、测试、发布、部署、运维、运营等工作全部从本地转移到云端,享受云服务带来的移动性和便利性。


仅有 Coding 一直缺乏有效的上云方式,导致开发者手中没有“趁手的家伙事儿”,传统 IDE 和云资源之间相对低效的开发体验,一直是横在全云化开发面前的一个“坎儿”。


据此,我们决心打造一款云上 Coding 的开发工具 —— 华为云 CloudIDE。

十分挑剔觅玄铁(选定原型)

2015 年 资源方案,Kubernetes 避免了容器裸奔


为了给用户提供云端稳定的开发环境,起初 CloudIDE 研发团队考察了无数种资源方案,云桌面、虚拟机、沙箱、容器,但就资源易获取和编排管理能力而言,各种方案都没有完美的解决,但最终容器的易获取性和资源灵活性还是打动了我们。


Kubernetes(简称 K8s),是一个提供跨主机集群的自动部署、扩展以及运行应用容器的平台,从支持 OpenAPI 起,K8s 就成为了实际意义上的最主流的容器集群管理平台。


华为云随即上线了兼容 K8s 能力的 CCE 服务,为开发环境服务提供资源管理和适配能力,容器裸奔时代就正式结束了。


2016 年 Eclipse Che 牛刀小试


当时业界主流的 IDE 工具无非几种,Eclipse、Visual Studio、IntelliJ,直到今天这几款也依然是桌面开发者的首选。


基于提供多语言适配能力开发工具的初衷,以及考虑到商业许可及用户接受度,我们选择了基于 Eclipse Che 来构建第一代 CloudIDE 服务的方案。


这种新出现的 WebIDE 把本地开发工作搬到了云端,开发者可以在云端保存自己的开发环境,编写代码,运行和调试应用,甚至我们还可以对接云服务,提供类似代码检查这样的集成化场景能力。


2017 年 CloudIDE “公测”了,在磨砺中积累经验


自从 2017 年 CloudIDE 服务开始公测,就不断接到用户各种吐槽:


“启动这么慢,要 3 分钟,还会失败!”


“你们不是基于 Eclipse 吗,长得一个 Eclipse 模样,怎么用起来和 Eclipse 差距这么大呢,快捷键呢?”


“怎么调试和运行,连个缺省的调试能力都没有吗?没有调试功能还算 IDE 吗,这充其量只能算个玩具吧?”


“编码提示呢,那么多保留字全靠我自己记,我记不住啊”


“不是有个容器吗,容器让不让我访问啊”


从用户不断质疑的声音中,逐步找到了开发者对于一款云端 IDE 的关注点:


体验:


开发者已经掌握了一到两种桌面 IDE 的使用,再去学习新的 IDE 开发体验会给日常工作带来额外的负担,另辟蹊径的操作体验未必会被开发者接受。


Visual Studio Code 之所以能以轻量之身霸占热度之首,凭借的就是兼容各种开发语言的能力。不用再学习啦,节约多少时间!


成本:


没人不关心钱的问题,只是程度不同。如果位于云端的 IDE 管理服务和语言服务过于重载,要么服务商吃不住(运营成本太高),要么用户受不了(要求配置太高)。


原有的 IDE 框架还是过于重载,甚至需要两个容器才能支持一个用户实例。成本太高啦,劝退多少用户!


生态


“独行快,众行远”,任何平台都需要伙伴的聚合与共赢,不能指望自己可以搞定所有的事情,但是可以提供相关的方法。


插件,就是为了满足定制化需要而出现的机制,可以说在各种桌面系统上已经有了极好的效果,支持插件也是一个必要的选项。开放插件生态,聚合多少伙伴!


价值:


每一个服务都有它的商业价值,IDE 服务除了完成编写代码和运行调试的基本能力,还要可以融入业务场景。


Eclipse 就是特别好的例子,当年 IBM Rational 基于 Eclipse 发布的 ClearCase 和 ClearQuest 客户端,结合日常编码,造就了良好的程序员工作闭环。基于场景集成,简化多少操作!


有了方向和目标,CloudIDE 团队对极致体验的追求、对服务价值的寻觅、对自身能力的进化,从未停下脚步!

2019 年 眼前一亮,Theia 的包容并蓄

在伴随 Eclipse Che 社区前行的路途上,团队步履蹒跚、心情沉重。本地化 IDE 产品的优秀体验不断激发着我们,VS Code 因生态繁荣而蝉联最受欢迎的 IDE 工具,IntelliJ 实现了极致的 Java 开发体验。


2019 年,Eclipse Che 7.0 预览版的出现让团队看到了曙光,其良好的前端体验让我们眼前一亮。通过研究,我们聚焦到了其前端核心服务 Eclipse Theia。


什么是 Theia?


Theia,好一款 Cloud & Desktop IDE!多么的神奇,出现了一款同时可以用于桌面和云端的 IDE 工具,它的界面一如熟悉的 VS Code,操作体验流畅自然,插件体系成熟稳定,服务内核精简高效,语言支持与框架分离,前沿的技术运用,友好的商业许可(License),积极开放的发展目标,Perfect!!!



由于 Theia 的操作界面与 VS Code 非常接近,操作体验基本一致,有不少人都会误认为这就是 VS Code 的线上版本。


其实对于开发者而言,不需要重新学习一个新的开发工具,难道不是一件好事?


Theia 从设计初期就充分考虑了桌面和云的不同特点,支持容器部署和虚拟机部署,浏览器访问。


Theia 内核非常精简,只需要很低配置就可以运行起来。对于 VS Code 插件扩展体系的直接支持尤其吸引人。


众所周知 VS Code 的插件市场是业界最大的生态系统,从语言支持、业务对接、平台支持等诸多方面都给最终用户带来定制化能力。


Theia 兼容 VS Code 插件扩展标准,好处不言自明。这也就说明了为什么诸多云厂商都采用 Theia 方案,来进行自己的云 IDE 研发。

百炼千锤铸利剑(技术完善)

当今时代,是拥抱开源开放、共享共赢的时代。不重复造轮子,站在巨人肩膀上做事情的考虑,我们积极拥抱 Theia 开源社区,结合华为自身技术、资源、服务能力, CloudIDE 进行深度优化和能力衍生。

服务鲲鹏生态,惠及开发者

众所周知的原因,华为加快了鲲鹏计算平面能力建设。为了服务鲲鹏开发者,CloudIDE 推出了鲲鹏基座的 IDE 实例,让鲲鹏开发者可以在最短时间内获取代码开发和调试的真实环境,免去了交叉编译和工具链缺陷的烦恼,实现服务应用对鲲鹏调优。


在鲲鹏计算平台,释放鲲鹏架构多核算力优势,CloudIDE 在 Theia 内核、语言服务、编译加速、资源调度等方面都做出了大量优化工作。未来,针对鲲鹏开发者的开发、调试、优化的更多能力会逐步上线。


在华为开发者大会 HDC.Cloud 上,为促进华为鲲鹏生态建设,普惠鲲鹏开发者,华为云与计算 BG 总裁侯金龙先生正式宣布“2020 年 CloudIDE 鲲鹏实例免费”。即日起,即可在华为云 CloudIDE 服务体验使用。

完善开发体验

Eclipse Theia 对语言支持采用松散框架,通过支持 Language Server Protocol(LSP)和 Debug Adapter Protocol(DAP)这种开放协议和相关插件实现多语言的编码和调试适配。


CloudIDE 在代码自动补全、Java 语言调试、Python 语言插件、文件编码等重要体验能力上修复了很多重大问题。针对超大型规模代码仓的打开效率,专门做了优化提速。基于云原生开发的和云基础设施的特点,CloudIDE 还提供了用户鉴权、示例模板创建、外部端口访问等实用功能。

增强插件能力

为了满足支持华为云和鲲鹏开发者快速实现插件的目标,CloudIDE 团队设计了全新的插件扩展框架,上手成本更低、交互机制更好、支持动态多视图和事件订阅,后续会开源出来方便开发者参与生态共建。


同时作为 IDE 中的“零号”插件,我们也提供了自有插件市场,支持用户安装插件实现定制化需求。未来还会逐步支持用户自己发布插件。

提升服务能力

华为云已经提供了非常成熟的集群管理服务(CCE)、云硬盘服务(EVS)、计算资源(ECS)、网络服务(ELB、EIP、NAT 等)、数据库(RDS),把华为云端众多基础服务整合成高度可用、支持用户按需获取资源、支持高并发访问、支持良好使用体验、保障用户数据安全的开发服务。


CloudIDE 在用户数据隔离保护,服务代码安全加固,节点智能选择调度,资源规模弹性伸缩,服务韧性可靠性提升等方面,我们都进行了技术攻关和专项研发,保证提供给用户的是可信软件服务。

扩展服务场景

云时代的 CloudIDE,不仅开发体验追求高效极致,应用场景也力图包罗万象。


  • 提供了针对云服务部署的 Developer Console 插件,可以把云原生应用一键式部署到华为云 CCI 形成容器服务实例,大大缩短闭环体验时间;

  • 提供 WECODE TOOLKIT 插件,支持用户云端开发端到端的 WeLink 轻应用(We 码小程序),实现移动应用移动开发;

  • 提供针对教育培训场景插件,满足高校师生教学和作业要求;

  • 提供权限控制和 OpenAPI,满足企业用户和集成商使用云开发能力;

  • 提供量子计算、区块链合约开发、代码托管对接、商业智能(EI)开发等相关云服务的原生对接能力,服务广大开发者使用。


本文转载自 华为云产品与解决方案 公众号。


原文链接:https://mp.weixin.qq.com/s/v5ZbXbtvvb9REg35aHFodQ


2020-04-17 16:121502

评论

发布
暂无评论
发现更多内容

软件测试学习笔记丨Spring Boot 自动生成数据库相关代码模版

测试人

软件测试

组播基本概念

天翼云开发者社区

IP 网络通信 组播

【iOS逆向与安全】iOS远程大师:通过H5后台远程查看和协助iPhone设备

小陈

移动端 逆向 iOS逆向 ios安全 逆向技术

Desktop Goose for Mac(抖音桌面宠物鹅),让你的苹果电脑桌面更加生动有趣!

Rose

NFTScan 升级 Bitcoin NFT 浏览器,全面优化 NFT 数据解析体系

NFT Research

NFT NFT\ NFTScan

京东API实时接口:京东商品评论数据接口

tbapi

京东API接口 京东商品评论接口 京东商品评价接口

揭秘接口测试:为何它是你软件质量的守门人?

测吧(北京)科技有限公司

测试

名企专家1v1私教服务,让你的职业生涯事半功倍 !

测吧(北京)科技有限公司

测试

B站千万级长连接实时消息系统的架构设计与实践

JackJiang

即时通讯;IM;网络编程

苹果mac好用的SSh终端工具:SecureCRT for mac附最新许可文件

Rose

云启芯篇!天翼云斩获一云多芯优秀案例奖!

天翼云开发者社区

云计算

云赋新能·数领未来,天翼云助力打造京津冀发展“新引擎”!

天翼云开发者社区

云计算 大模型

天翼云VPC支持专线健康检查介绍

天翼云开发者社区

云计算 天翼云

火山引擎与南开大学深化合作签约,联合树立“AI+教育”新典范

新消费日报

京东算法校招生的高效成长总结

京东零售技术

人工智能 自然语言处理 算法 企业号 5 月 PK 榜

如何申请 https证书

zhumingwu

油猴浏览器辅助插件 Tampermonkey for Mac安装教程

Rose

vm虚拟机 mac版下载 vm虚拟机 含VMware Fusion Pro 12永久许可密钥

Rose

京东API实时数据:京东商品详情数据接口

tbapi

京东商品详情数据接口 京东API接口

OPPO率先适配Android 15,首批机型名单公布

科技热闻

前端面试题 - Node与浏览器的事件循环的差异?

Geek_fed966

如何汇报自动化测试的成果

老张

研发效能 自动化测试

MES给制造业带来看得见的效益

万界星空科技

数字化 工业互联网 制造业 mes 万界星空科技

前端面试题 - Node JS与V8是什么关系?

Geek_fed966

一键部署,玩转AI!天翼云Llama 3大模型学习机来了!

天翼云开发者社区

云计算 AI 云主机

玩转云端| 数据库管理“大师”来了!

天翼云开发者社区

云计算 天翼云

基础带宽产品怎么选?手把手教学

天翼云开发者社区

云计算 带宽 网络通信

记一次被黑的经验教训

zhumingwu

AWS RDS & ElasticCache 监控可观测最佳实践

观测云

AWS

autocad2023破解版下载 含cad2023中文汉化包 Mac&Windows系统

Rose

华为云CloudIDE的前世今生_文化 & 方法_华为云产品与解决方案_InfoQ精选文章