云端研发新基建:Serverless 与持续架构服务落地实践

简介: 全面上云的时代,开发者应该如何转型才能跟上新基建发展的速度。阿里云云开发平台演示如何用iPad就能做开发,最快3分钟上线一个视频应用,让你提前感受未来开发新标准。立刻免费体验领百万代金券好礼。workbench.aliyun.com/camp

在《我心中的云时代原生开发环境》这篇文章中,我们探讨过云厂商的愿景,云计算的趋势与现状以及研发团队的架构服务诉求等背景。今天,我想结合我们打造的云开发平台(Cloud Workbench)跟大家进一步聊聊,如何打造全云端研发的新基建,去服务好研发团队和用户。

云时代创新核心要素

首先,让我们快速将视野放大到社会商业爆炸式增长的云时代,无论是创业公司还是发展中的公司,都希望能有一个低成本、可持续支撑的架构服务,帮助自己的业务持续发展,用户流量从小到大,无需变更架构,更不用中断业务。

这种架构服务诉求背后的核心痛点体现在业务快速试错与流量快速增长之间的矛盾。如果从传统的架构方式去思考,这个问题很难调和:如果要快速奔跑,就没有时间好好思考设计架构;如果架构设计不好,就无法支撑未来巨大的流量;而如果花时间把架构设计好再动手,就没办法快速奔跑,很可能错过一个商业创新的时间窗口。另外,还有一个未知的疑问,这个设计好的架构真的够好么?

结合我们之前的探索实践,我们知道,借助云原生 Serverless 的能力:实时弹性、按量付费,正好可以帮助我们把上述问题提升到一个新的维度去解决:业务完全可以放飞自我快速奔跑,架构服务由云原生Serverless矩阵来提供,保证流量再大也不怕。

中小研发生态现状


基于上述的一个判断,我们认为,现代商业社会的启动过程:从一个 idea 的诞生,到快速试错,再到上线服务用户的过程,有了一个很好的方案去支撑。但是,就像布道师们经常讲的一句话,人人都在谈云原生 Serverless,实际上并不是人人都知道怎么落地 Serverless。我们不妨来看几个真实的创业公司案例。

案例一,天猫精灵技能业务

天猫精灵的技能应用开发本身与天猫精灵开发者平台之前的连接较为松散,技能应用的开发对于一个中小开发者而言,启动成本较高。开发技能应用过程中的技术栈和方案也因人而异,因团队而异,也由于广大的开发者对技能应用背后的大流量没有一个一致的高水位保障,使得天猫精灵平台在做推广的时候也经常遇到阻力,担心在推广之后,很多技能无法承载大量涌入的活动流量,反而影响活动效果;

案例二,某直播互动健身创业公司

Y 公司是一家面对面直播互动健身的创业公司,研发团队的构成有 2 个前端、2 个后端、1 个架构师、1 个 iOS、1 个产品经理、1 个设计师,产品的构成有微信小程序、iOS APP、Android APP、PC 端 WEB 应用;

当前的核心痛点及诉求:

  1. 研发成本、架构人员的浪费;(这已经算是幸福的烦恼了,很多公司是找不到合格的架构师的)
  2. 新人落地的成本(每个新人都有 3 个月的熟悉环境、流程、业务的成本);
  3. 自研自建业务架构的成本,要等业务架构确定后才能动手;
  4. 业务线切换的沉默成本比较高,如新业务启动到上线:技术架构的选型、服务的复用等等都是损耗;
  5. 运维成本,如:承接推活动来的高峰流量以及平时流量的平均成本;

案例三,某软件外包服务商

O 公司是一家 base 杭州的软件外包服务商,他们的研发团队构成为:5 个 Java、4 个前端、1 个iOS、1 个Android、1 个产品经理、2 个测试、5 个商务、6 个品牌、2 个 UI 设计;

当前的核心痛点及诉求:

  1. 10人以下规模来什么做什么,没有沉淀,没有办法复用,没有高的盈利回报,人都铺在业务上,没时间学习架构,进入了一个恶性循环,需要一个很低的成本去采用一个先进的技术架构方案,确保不落伍,同时可以继续聚焦业务开发;有了可复用的空间(如架构、组件、服务)才有盈利的空间。10人以下的外包公司,CTO是不太可能去招的,40万一年的话,公司一半的利润就没了;
  2. 想依托于云,不过每家云厂商都产品众多,围绕自己的业务怎么知道有哪些产品适合,要一个个去挑选、学习,整体成本太高;

核心要解决的问题以及产品化思考

我们将上述调研的客户反馈诉求进行梳理,可以归纳出以下几点诉求:
人员、业务尽可能做到快速启动,低成本启动。开发人员能够快速进入业务开发,架构师能省就省,业务能够基于行业现有解决方案、基本业务架构、业务模块尽快启动;

开发人员的时间尽可能投入到业务开发中,但同时要保证业务所用技术架构的先进性:一个人的时间是恒定的,如何帮助中小企业把人员投入业务的时间从60%提高到99%,同时还能确保业务背后所用的技术栈及技术架构是行业内广受认可的;

线上业务能够做到按量付费:1、业务的流量高峰不会成为业务增长的瓶颈;2、类似于外包服务商/ISV,可以为他们的客户灵活制定弹性的服务体系;

基于以上三点,我们进一步抽象用户群体以及场景和服务策略:

主要用户群体

中小体量研发团队及创业公司研发团队;
要做开发生态的业务或平台;
行业软件/解决方案ISV/服务商;

场景和服务策略

1、在快速商业化试错的创新创业场景下,通过集成设计以阿里云 Serverless 产品线为矩阵的业务架构,帮助用户快速迭代业务,同时保证业务上线后无需变更架构就可以持续支撑不断增长的流量,确保业务不中断,提高试错效率,降低试错成本;
2、在研发人员需要支持多业务线切换调度的场景下,通过集成云效研发协同底座的能力构建在线研发团队,通过设计解决方案实例化的能力构建统一应用开发环境,降低开发者在业务切换中的沉默成本,让开发者可以快速且专注地进入业务逻辑的开发,提高研发效率;
3、在需要快速启动业务的场景下,通过构建三套业务环境,帮助用户实现环境在线,降低环境准备的时间成本与投入成本;
4、为研发团队提供一种将应用开发方法和结果抽象成标准的格式化的解决方案的能力,用该解决方案统一快速地教育开发者;

定义了用户群体、问题、场景以及服务策略之后,我们开始尝试去定义这个产品:

我们要去打造一个全云端研发工作的平台,以业务、研发任务为用户界面,用户对云产品的感知尽量保持并限制在必要的情况之下,但是平台要在背后为他们提供一系列先进的云原生Serverless架构服务,同时,具备让用户的团队、环境、代码、协同等等实现在线的能力,帮助目标用户群体省钱、省时、可持续发展。

核心技术方案

作为一个面向用户业务视角而非云产品或任何单项研发能力视角的设计,背后就必不可少的要跟非常多的系统、产品、能力进行集成;并且,要达成与用户业务视角的关联,又需要额外设计一套核心应用模型去支撑。这里,我们通过两个架构设计,向大家阐述我们的实现思路与方式。

系统集成架构

image

认同在线协同是大趋势。我们把自己定义为大协同领域的一环,最好能够依托于一个更具全局性的团队在线协同底座去建设,我们与云效合作共建,基于一个共同的团队模型以及数据去设计实现不同的领域能力。

原子研发能力分布广泛,以代码为主线进行串联设计,在开发者用户路径中,我们与 Codeup、Flow 等产品进行集成,与经济体共建 IDE 集成,共同推出 CloudIDE,为开发者提供从云上代码托管到云上研发,再到云上 CICD 的一站式服务;

解决方案实例化架构

用技术语言来描述的话,可以把解决方案实例化架构核心要解决的问题理解成将一个行业应用的开发经验进行 “序列化” 与 “反序列化” 的过程。

我们与 OAM 团队合作,以 OAM 为规范,对构成一个行业应用的研发环境以及依赖资源进行格式化、规范化的描述,生成一个云开发平台所能理解和认识的解决方案,这是“序列化”的过程;

当云开发平台去解析一个解决方案,核心会做两件事情,一是分析和生成一个基于阿里云产品矩阵构成的云原生 Serverless 架构,另一件事情是将依赖的资源做打包上传等预处理;然后开始生成任务,逐一进行生产、创建、安装,直至一个行业应用被初始化完成,这是“反序列化”的过程;

通过这种设计,我们实现了云开发平台最为核心的能力:
帮助行业开发生态格式化、规范化地沉淀经验;
帮助行业开发生态快速分发、复制行业应用开发经验;
帮助行业开发生态无缝升级至先进的云原生Serverless架构;

阿里云云开发平台正式上线服务

2020 年 4 月 23 日,阿里云云开发平台联合天猫精灵智能应用平台共同发布,上线云开发服务功能;2020 年 4 月 28 日,阿里云云开发平台联合阿里前端委员会 Serverless 小组,共同发布基于 Ali Midway FaaS 框架的前后端一体通用 NodeJS 解决方案。2020年5月28日,与阿里巴巴云原生团队合作推出基于 SpringCloud、MSE 的微服务应用开发解决方案,轻松将微服务开发并部署在 Serverless 平台之上,帮助开发者以 0 启动成本、基于云原生 Serverless 架构服务,3 分钟极致效率,完成一个标准技能应用的创建和部署。

在 Roadmap 中,还有小程序、大数据等场景解决方案将陆续上线。

感受云开发平台的极致特性

1 个开发界面

  • 打开浏览器就能开发
  • 不管你用什么设备,电脑、手机、平板
  • 不管是什么操作系统,Windows、MacOS、Linux、Android、iOS

1 套统一的业务环境

  • 统一的云上开发和业务环境(支持 NodeJS,Java,PhP,Python, C# 等主流语言)
  • 登录即完成配置,无需等待,专注业务创新
  • 远程协同开发、所测即所得、测完即上线

1 个领先的架构

  • 基于业界领先的 Serverless 架构
  • 最快 1 秒钟部署
  • 按量付费不浪费,自动扩容不宕机

N 个行业应用场景

  • 解决方案模版化
  • 最快 3 分钟上线一个行业应用(通用 WEB 应用,AIoT 应用,微服务应用等等)
  • 99% 时间聚焦在业务,开发更专注

了解云开发平台的运作方式

云开发平台是一个可以满足开发者、研发团队完全基于「云+浏览器」就能完成日常开发工作的环境。它的设计理念是使自己成为团队大协同中的一环,它会跟阿里云诸多研发能力和工具进行集成,比如:云效企业协同底座、CloudIDE、Codeup、Flow 等等,籍由强大的阿里研发生态,为用户提供更大的协同研发可能,用户可以在使用云开发平台的时候,根据业务的需要,主动选择去开通使用更多类似于项目管理、需求管理、文档管理等其他服务。

同时,为了帮助用户提供一个无缝应用阿里云服务的环境,云开发平台会跟阿里云的诸多云产品进行集成,随时为用户的使用而准备;用户可以在云开发平台创建基于各种场景解决方案的应用,并为每个应用选用不同的云服务,这些云服务会开通在用户的阿里云主账号之下,用户主动开通的各种云资源会按照用户的使用,正常地计量计费。

云开发平台鼓励所有的场景解决方案尽可能多的基于阿里云的 Serverless 类型产品去提供服务。Serverless 类型的产品都具有实时弹性以及按量付费的特征,这可以帮助到商业化研发团队,以尽可能低的成本去实现自己的商业价值。

云开发平台具体如何真实地帮到目标用户群体

1、云开发平台如何帮助用户实现线上轻量化团队协同?

我们联合云效,共同构建了一个在线研发团队的能力,团队规模从 1-10 人到 1000 人以上,全都免费提供,助力企业快速成长!
1 分钟完成研发团队的在线化:在云开发平台,团队管理者创建好自己的企业,然后创建一批子账号分配给每一个团队成员,团队即完成了在线化;
如果用户企业内已经有一套域账号系统,那么通过对接阿里云 SP 的 SAML 配置之后,能够方便实现用域账号的 SSO;
如果团队并非组织关系型怎么办呢?在云开发平台,团队管理者创建好自己的企业,然后复制邀请链接,发送给那些并非组织关系里的成员,收到邀请的成员确认加入团队即完成团队的在线化;

2、云开发平台如何帮助用户实现业务的快速启动呢?

团队在线之后就要开始启动业务。

新业务秒级启动:在云开发平台,团队管理员可以从应用场景中,选择一个成熟的行业应用解决方案,秒级完成应用的创建;
业务开发人员直接进入业务开发,100% focus 在业务的开发交付:在云工作台,我们优化了以往传统线下研发模式中人人需要配置开发环境的弊端,将人人要做的事情,交由应用管理员一人执行,业务开发者登录云开发平台即开始业务开发;

3、云开发平台如何帮助用户实现研发环境的升级呢?

团队在线了,应用在线了,还剩下的环节就是代码和研发过程。

安全可靠且免费的代码托管服务:云开发平台联合阿里云 Codeup,在云开发平台创建的每一个应用,都会自动分配一个免费的代码仓库,为用户提供安全可靠且免费的代码托管服务,帮助用户实现代码在线;

功能强大的云端开发环境:云开发平台联合阿里经济体共建团队推出自研 CloudIDE,为用户提供功能强大,兼容 VS Code 插件生态的云端开发环境,内置NodeJS,Java,PhP,Python, C# 等主流语言开发环境,开箱即用,体验媲美本地;当然,开发者也可以选择将代码克隆到本地,继续以个人偏好的开发习惯进行开发,之后随时将代码同步到云端,做到云端与本地的实时同步;

业界领先的Serverless架构:在每一个应用的背后,都有强大的阿里云Serverless产品矩阵构成的架构服务在支撑,API Gateway+Function Compute组合、VPC+ECI+EIP组合等等,保障每一个应用上线,都能稳稳地支撑,轻松助力用户不断攀登新的业绩高峰;

0成本启动:基于强大的云开发平台服务以及阿里云Serverless架构矩阵,我们帮用户把 Serverless 如丝般顺滑落地到他们的业务之中,大胆开发,放心试错,无需为云开发平台支付任何费用;

回顾

在这次突如其来的疫情期间,所有人都隔离在家,也许千人规模的企业能够有内部的强大 IT 系统做支撑,整个企业仍然可以进行远程异地运转,但是对于广大的初创及成长中的企业,这种能力无疑是稀缺的,而在线,可能是未来的一个趋势和常态。随着阿里云云开发平台服务的上线,我们可以真正帮助到这些企业,通过用户业务视角、用户研发界面、提供云计算的开箱即用,去释放云上研发,Serverless架构的技术红利,推动云计算的普惠价值。

云开发百万补贴活动

云开发平台补贴活动进行中,4大免费权益让你畅快体验全云端开发,无需配置环境0门槛上手,利用iPad都能够分分钟上线一款应用,个人博客、个人相册、视频应用、todos应用模版任你选。上线免费领取50元无门槛阿里云代金券!
image

相关实践学习
【玩转ComfyUI】基于函数计算一键部署AI生图平台ComfyUI
本次实验将带大家通过使用阿里云产品函数计算FC,快速使用ComfyUI实现更高质量的图像生成。
从 0 入门函数计算
在函数计算的架构中,开发者只需要编写业务代码,并监控业务运行情况就可以了。这将开发者从繁重的运维工作中解放出来,将精力投入到更有意义的开发任务上。
相关文章
|
6月前
|
SQL 前端开发 关系型数据库
如何开发一套研发项目管理系统?(附架构图+流程图+代码参考)
研发项目管理系统助力企业实现需求、缺陷与变更的全流程管理,支持看板可视化、数据化决策与成本优化。系统以MVP模式快速上线,核心功能包括需求看板、缺陷闭环、自动日报及关键指标分析,助力中小企业提升交付效率与协作质量。
|
7月前
|
存储 人工智能 前端开发
从需求到研发全自动:如何基于Multi-Agent架构打造AI前端工程师
本文深入阐述了蚂蚁消金前端团队打造的Multi-Agent智能体平台——“天工万象”的技术实践与核心思考。
1598 21
从需求到研发全自动:如何基于Multi-Agent架构打造AI前端工程师
|
7月前
|
人工智能 监控 前端开发
支付宝 AI 出行助手高效研发指南:4 人团队的架构迁移与提效实战
支付宝「AI 出行助手」是一款集成公交、地铁、火车票、机票、打车等多项功能的智能出行产品。
1176 21
支付宝 AI 出行助手高效研发指南:4 人团队的架构迁移与提效实战
|
8月前
|
消息中间件 负载均衡 中间件
⚡ 构建真正的高性能即时通讯服务:基于 Netty 集群的架构设计与实现
本文介绍了如何基于 Netty 构建分布式即时通讯集群。随着用户量增长,单体架构面临性能瓶颈,文章对比了三种集群方案:Nginx 负载均衡、注册中心服务发现与基于 ZooKeeper 的消息路由架构。最终选择第三种方案,通过 ZooKeeper 实现服务注册发现与消息路由,并结合 RabbitMQ 支持跨服务器消息广播。文中还详细讲解了 ZooKeeper 搭建、Netty 集群改造、动态端口分配、服务注册、负载均衡及消息广播的实现,构建了一个高可用、可水平扩展的即时通讯系统。
919 0
|
6月前
|
前端开发 NoSQL 关系型数据库
如何开发研发项目管理中的需求管理板块?(附架构图+流程图+代码参考)
本文探讨了中小企业在研发或产品工作中常见的需求管理问题,如需求记录混乱、交付靠口头约定、变更无追踪等。通过系统化的需求管理,可实现“谁在做什么、为什么做、何时完成、谁验收”的可视化与责任归属,减少沟通成本,提升效率。文章详细介绍了需求管理的核心功能模块(如需求看板、处理流程、研发日报)、系统架构设计、前后端实现参考、开发技巧与落地建议,以及上线后的运营指标与实施路线图。最终目标是将松散的流程规范化、可追踪、可复用,助力企业构建高效的研发项目管理体系。
|
6月前
|
监控 前端开发 BI
如何开发研发项目管理中的缺陷管理板块?(附架构图+流程图+代码参考)
本文介绍了如何构建一个系统化的缺陷管理模块,以解决中小企业在缺陷管理上的混乱现状。通过建立“发现—修复—验证—关闭”的闭环流程,实现缺陷的可视化、可追溯和可统计管理,从而降低退货率、客户投诉与运维成本。内容涵盖缺陷管理功能详解、业务流程、数据模型设计、后端与前端参考代码、开发技巧与落地建议、上线后的指标与运营建议,以及从 MVP 到生产的实施路线。目标是让每个缺陷都有归属、状态清晰,并能通过看板快速识别阻塞点与风险,提升团队协作效率与产品质量。
|
11月前
|
存储 运维 Serverless
千万级数据秒级响应!碧桂园基于 EMR Serverless StarRocks 升级存算分离架构实践
碧桂园服务通过引入 EMR Serverless StarRocks 存算分离架构,解决了海量数据处理中的资源利用率低、并发能力不足等问题,显著降低了硬件和运维成本。实时查询性能提升8倍,查询出错率减少30倍,集群数据 SLA 达99.99%。此次技术升级不仅优化了用户体验,还结合AI打造了“一看”和“—问”智能场景助力精准决策与风险预测。
1037 69
|
8月前
|
文字识别 运维 监控
架构解密|一步步打造高可用的 JOCR OCR 识别服务
本文深入解析了JOCR OCR识别服务的高可用架构设计,涵盖从用户上传、智能调度、核心识别到容错监控的完整链路,助力打造高性能、低成本的工业级OCR服务。
359 0
架构解密|一步步打造高可用的 JOCR OCR 识别服务
|
11月前
|
Serverless Python
借助 serverless 将 MCP 服务部署到云端
本文介绍了如何将 MCP 服务通过 SSE 协议部署到云端,避免本地下载和启动的麻烦。首先,使用 Python 实现了一个基于 FastMCP 的网络搜索工具,并通过设置 `transport='sse'` 启用 SSE 协议。接着,编写客户端代码测试服务功能,确保其正常运行。随后,利用阿里云函数计算服务(FC 3.0)以 Serverless 方式部署该服务,包括创建函数、配置环境变量、添加依赖层以及部署代码。最后,提供了客户端测试方法和日志排查技巧,并展示了如何在不同工具(如 Cherry-Studio、Cline 和 Cursor)中配置云端 MCP 服务。
1648 11
借助 serverless 将 MCP 服务部署到云端
|
10月前
|
数据采集 运维 监控
Serverless爬虫架构揭秘:动态IP、冷启动与成本优化
随着互联网数据采集需求的增长,传统爬虫架构因固定IP易封禁、资源浪费及扩展性差等问题逐渐显现。本文提出基于Serverless与代理IP技术的新一代爬虫方案,通过动态轮换IP、弹性调度任务等特性,显著提升启动效率、降低成本并增强并发能力。架构图与代码示例详细展示了其工作原理,性能对比数据显示采集成功率从71%提升至92%。行业案例表明,该方案在电商情报与价格对比平台中效果显著,未来有望成为主流趋势。
426 0
Serverless爬虫架构揭秘:动态IP、冷启动与成本优化

热门文章

最新文章

相关产品

  • 函数计算