阿里、微众、PingCAP专家分享如何解决可观测性带来的埋点成本上升、观测数据割裂等挑战。戳 了解详情
写点什么

华为云 CloudIDE 的前世今生

  • 2020 年 4 月 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 年 4 月 17 日 16:121074

评论

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

5G掀起工业互联网浪潮,水泥厂智能管理模式收效颇丰

一只数据鲸鱼

数据可视化 工业互联网 智慧工厂 水泥厂 智能工厂

屏幕共享的实现与应用

anyRTC开发者

音视频 WebRTC RTC sdk

探索专有领域的端到端ASR解决之道

华为云开发者联盟

端到端 ASR 自动语音识别 语境偏移 专有领域

全新F1洞察精彩亮相,帮你理解赛道上的瞬间决定!

亚马逊云科技 (Amazon Web Services)

详解RS232、RS485、RS422、串口和握手

不脱发的程序猿

串口 通信总线 RS232、RS485、RS422 握手通信

从寻人到航天,科技与公益的下一个交汇点正在“星辰”中诞生

脑极体

通用连接池帮你解决资源管理难题

万俊峰Kevin

MySQL redis mongodb pool Go 语言

ThreadLocal内存溢出代码演示和原因分析!

王磊

Java 多线程

再不解决延迟不当,小心你的内存被打爆

华为云开发者联盟

线程 延迟 内存 并发 Sleep

GitHub开源的10个超棒后台管理面板

不脱发的程序猿

GitHub 开源 后台管理面板

k8s 集群下微服务 pod 的各种指标信息监控

Xiao8

微服务 5月日更

腾讯云实名认证流程

三掌柜

5月日更

☕【JVM 技术之旅】深入JVM原理分析synchronized

浩宇天尚

synchronized 重量级锁 5月日更 同步锁 ObjectMontior

掌握学习方法,成为技术大牛

实力程序员

☕【JVM 技术之旅】攻克技术盲点之“JVM常量池们“

浩宇天尚

JVM 5月日更 字符串常量池 静态常量池 运行时常量池

详解 WebRTC 高音质低延时的背后 — AGC(自动增益控制)

阿里云视频云

阿里云 WebRTC 3A算法 音频技术 视频云

选择排序&插入排序 - DAY 15

Qien Z.

排序算法 插入排序 5月日更

【Flutter 专题】120 Flutter & 腾讯移动通讯 TPNS~

阿策小和尚

5月日更 Flutter 小菜 0 基础学习 Flutter Android 小菜鸟

Nginx调试必备的几种技能

运维研习社

nginx 运维 实用技巧 5月日更

redis在微服务领域的贡献

捉虫大师

redis dubbo RPC 协议 注册中心

字节、美团等客户与华为联合创新DCI智能控制器,共筑互联网基础设施新生态

NUCLEO-L432KC实现ADC配置(STM32L432KC)

不脱发的程序猿

嵌入式 单片机 NUCLEO-L432KC STM32L432KC 光敏电阻传感器

驾云驭能,云科技点燃制造创新之旅!

亚马逊云科技 (Amazon Web Services)

Feed流系统重构-架构篇

勇哥java实战分享

架构 RocketMQ 分库分表 ShardingJDBC redisson

密码学系列之:memory-hard函数

程序那些事

加密解密 密码学 程序那些事

Cilium 1.10 重磅发布!】支持 Wireguard, BGP, Egress IP 网关, XDP 负载均衡, 阿里云集成

公众号:云原生Serverless

云原生 cilium cni

强化基于位置的4种营销策略

郑州埃文科技

IP 营销 ISP

手把手带你体验 Amazon Graviton2 的高性价比!文末有惊喜

亚马逊云科技 (Amazon Web Services)

记一次与写作朋友的线下沙龙

架构精进之路

技术交流 杂记 5月日更

小傅哥,一个有“副业”的码农!

小傅哥

Java 小傅哥 技术成长 码农副业

CG行业云渲染服务的演进之路

华为云开发者联盟

公有云 CG 渲染 云渲染 影视动画

“一键上链”技术大牛教你快速构建链上应用

“一键上链”技术大牛教你快速构建链上应用

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