大赛介绍
Cloud Native
丰厚奖励等你来报名!
Cloud Native
-
瓜分¥510,000 元现金大奖 -
三大热门赛道任意选择 -
邀请小伙伴报名兑换精美礼品 -
完成 Serverless 场景体验领阿里云背包
赛题背景
在云的时代,IDE 越来越向着轻量化,分布式的方向演进, VSCode,IntelliJ Idea 等知名产品都推出了 Web IDE 版本。在小程序,Low code/No code,在线编程教育,前端一体化开发,大数据处理等领域,Web IDE 都体现了越来越重要的价值。比如:
-
能不能使用 IDE 的智能代码提示来分析 github 上的项目代码,而不是 clone 整个项目?试试将 Github 上的项目 url 中的 github.com 换成 github.dev,就可以在浏览器中使用 vscode web ide 浏览和修改代码,是不是很方便? -
参与项目开发,能不能不用花时间安装工具和依赖库,直接开始编码?试试在 github 项目 url 前加上 https://gitpod.io/# ,就可以为该项目创建一个已经配置好的 Web IDE 环境,立即开始开发,是不是很酷? -
在小程序,低代码等场景下,有没有一个高集成,一站式的开发环境,让开发、调试、查看效果的闭环最短? -
云原生应用,不可避免会依赖各种云服务。在本地开发机调试集成测试太困难。如果能在配置好的远端环境中使用各种云产品或者调用上下游服务,是不是很方便? -
在苹果基于 ARM 架构芯片的笔记本电脑下开发 X86 应用,交叉编译配置复杂,以模拟的方式运行 X86 应用性能低、耗电快,能不能在一个远端的 X86 IDE 环境中开发和调试程序? -
……
题目解析
Web IDE 本质上是一个 SaaS 服务,即使有了 Vscode 这样优秀的轻量 IDE 软件,要打造一个可靠,好用的 Web IDE 服务仍然面临诸多技术挑战:
-
多租安全隔离。Web IDE 要访问用户的核心资产-代码,因此必须做到不同租户间的安全隔离,确保数据安全。 -
资源配额。用户使用资源必须可控,不会拖垮整个系统,影响其他用户。 -
数据实时保存。用户可以随时关闭页面而不必担心数据丢失。 -
状态实时恢复。当用户想继续工作时,能在秒级恢复到上次的状态,继续工作。 -
资源利用率高,低成本。绝大多数 IDE 的使用是碎片化的,只在一天中的少部分时间被使用,因此 IDE 实例常驻是不明智的。 -
...
-
如何在秒级启动一个实例运行? -
如何针对长尾、低频的 IDE 使用优化资源利用率? -
如何保证多租户的安全隔离能达到虚拟机级别,真正做到数据安全?
解题思路
赛题组提供了一个 Serverless Vscode 示例,不改一行代码在函数计算平台上运行 openvscode server,并且实现了简单的数据保存和恢复能力。整个示例代码小于500行,但已经是一个功能相对完备的 Web IDE 服务。您可以在此基础上进行扩展,包括但不限于:
-
基于 Serverless 云服务的多租隔离能力,将示例扩展为多租的 IDE SaaS 服务。 -
优化数据保存和恢复策略,即使用户不小心关闭了 IDE 页面,或者运行 IDE 的实例发生故障,用户仍可以快速恢复到之前的状态。 -
优化 Web IDE 实例的启动性能,随时随地,秒开 IDE ! -
优化成本。尽可能提高资源利用率,降低成本。
-
针对小程序,低代码,数据处理等垂直场景,实现类似于 CodeSandbox 的一站式 IDE 服务,覆盖开发、测试、部署全流程 -
实现多用户协同开发 -
能安装多语言 vscode 插件, 编写示例代码有一定的智能提示
-
上传文件能够突破函数计算最大 payload 为 16M 的限制
-
……
参考文档
函数计算官网:
使用 Serverless-Devs 工具快速开发 FC cookbook:
官方参考 DEMO:
【体验有奖】大赛动手实验室
Cloud Native
文章评论