大赛介绍
2022 第三届云原生编程挑战赛,是由阿里云、Intel 主办,云原生应用平台、天池联合承办的云原生顶级品牌赛事。
自 2015 年开始,大赛已经成功举办了七届,并从 2020 年开始升级为首届云原生编程挑战赛,共吸引了超过 36000 支队伍,覆盖 10 余个国家和地区。
本届大赛将继续深度探索服务网格、边缘容器、Serverless 三大热门技术领域,为热爱技术的年轻人提供一个挑战世界级技术问题的舞台,希望用技术为全社会创造更大价值。大家赶快报名参赛吧!
丰厚奖励等你来报名!
- 瓜分¥510,000 元现金大奖
- 三大热门赛道任意选择
- 邀请小伙伴报名兑换精美礼品
- 完成 Serverless 场景体验领阿里云背包
以下赛道可任选 1 个或全部扫码报名:赛道 1(服务网格)
赛道 2(边缘容器)
赛道 3(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 实例常驻是不明智的。
- ...
Web IDE 服务的特点决定了它需要一个动态的,细粒度的,多租安全隔离的计算平台。想象一下:
- 如何在秒级启动一个实例运行?
- 如何针对长尾、低频的 IDE 使用优化资源利用率?
- 如何保证多租户的安全隔离能达到虚拟机级别,真正做到数据安全?
而这些需求却很好的契合了 Serverless 计算的特点。Serverless 架构看起来很适合构建即开即用,用完即走的轻量 Web IDE 服务,这似乎有些不可思议。毕竟,Serverless 计算的特点是“无状态”,而我们以往对 IDE 的认知,常常认为它是“有状态”的。比如,怎么安全、高效的存储和恢复用户数据?这就是你在本次挑战赛中要解决的技术难题之一。
解题思路
赛题组提供了一个 Serverless Vscode 示例,不改一行代码在函数计算平台上运行 openvscode server,并且实现了简单的数据保存和恢复能力。整个示例代码小于500行,但已经是一个功能相对完备的 Web IDE 服务。您可以在此基础上进行扩展,包括但不限于:
- 基于 Serverless 云服务的多租隔离能力,将示例扩展为多租的 IDE SaaS 服务。
- 优化数据保存和恢复策略,即使用户不小心关闭了 IDE 页面,或者运行 IDE 的实例发生故障,用户仍可以快速恢复到之前的状态。
- 优化 Web IDE 实例的启动性能,随时随地,秒开 IDE !
- 优化成本。尽可能提高资源利用率,降低成本。
您也可以发挥创意,增加更多有意思的功能。例如:
- 针对小程序,低代码,数据处理等垂直场景,实现类似于 CodeSandbox 的一站式 IDE 服务,覆盖开发、测试、部署全流程
- 实现多用户协同开发
- 能安装多语言 vscode 插件, 编写示例代码有一定的智能提示
- 上传文件能够突破函数计算最大 payload 为 16M 的限制
- ……
请尽情发挥您的聪明才智,解决上述一项或多项挑战,基于 Serverless 架构打造最具创新和产品潜力的 Web IDE 服务吧!Go Serverless!
当然, 如果您有更好的方案,可以不用基于这个默认的 Serverless Vscode 示例。
点击此处,立即报名!
参考文档
函数计算官网:
https://help.aliyun.com/document_detail/52895.html
使用 Serverless-Devs 工具快速开发 FC cookbook:
https://docs.serverless-devs.com/fc-faq/s_fc_cookbook/readme
官方参考 DEMO:
https://github.com/devsapp/start-serverless-webide
【体验有奖】大赛动手实验室
大赛期间(6 月 30 日-9 月 6 日),只需完成 Serverless 场景体验并报名参加云原生编程挑战赛。完成任务即可获得阿里云定制版背包一个,快来体验吧!
扫码立即参加体验活动