大赛介绍

2022 第三届云原生编程挑战赛,是由阿里云、Intel 主办,云原生应用平台、天池联合承办的云原生顶级品牌赛事。

自 2015 年开始,大赛已经成功举办了七届,并从 2020 年开始升级为首届云原生编程挑战赛,共吸引了超过 36000 支队伍,覆盖 10 余个国家和地区。

本届大赛将继续深度探索服务网格、边缘容器、Serverless 三大热门技术领域,为热爱技术的年轻人提供一个挑战世界级技术问题的舞台,希望用技术为全社会创造更大价值。大家赶快报名参赛吧!

丰厚奖励等你来报名!

  • 瓜分¥510,000 元现金大奖
  • 三大热门赛道任意选择
  • 邀请小伙伴报名兑换精美礼品
  • 完成 Serverless 场景体验领阿里云背包

以下赛道可任选 1 个或全部扫码报名:赛道 1(服务网格)

 title=

赛道 2(边缘容器)

 title=

赛道 3(Serverless)

 title=

更多内容尽在大赛官网,欢迎扫码了解~

 title=

赛题背景

在云的时代,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/docum...

使用 Serverless-Devs 工具快速开发 FC cookbook:

https://docs.serverless-devs....

官方参考 DEMO:

https://github.com/devsapp/st...


【体验有奖】大赛动手实验室

大赛期间(6 月 30 日-9 月 6 日),只需完成 Serverless 场景体验并报名参加云原生编程挑战赛。完成任务即可获得阿里云定制版背包一个,快来体验吧!

扫码立即参加体验活动

 title=


阿里云云原生
1k 声望302 粉丝