云端研发新基建:Serverless 与持续架构服务落地实践
Posted 阿里云云栖号
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了云端研发新基建:Serverless 与持续架构服务落地实践相关的知识,希望对你有一定的参考价值。
云时代创新核心要素
首先,让我们快速将视野放大到社会商业爆炸式增长的云时代,无论是创业公司还是发展中的公司,都希望能有一个低成本、可持续支撑的架构服务,帮助自己的业务持续发展,用户流量从小到大,无需变更架构,更不用中断业务。
这种架构服务诉求背后的核心痛点体现在业务快速试错与流量快速增长之间的矛盾。如果从传统的架构方式去思考,这个问题很难调和:如果要快速奔跑,就没有时间好好思考设计架构;如果架构设计不好,就无法支撑未来巨大的流量;而如果花时间把架构设计好再动手,就没办法快速奔跑,很可能错过一个商业创新的时间窗口。另外,还有一个未知的疑问,这个设计好的架构真的够好么?
结合我们之前的探索实践,我们知道,借助云原生 Serverless 的能力:实时弹性、按量付费,正好可以帮助我们把上述问题提升到一个新的维度去解决:业务完全可以放飞自我快速奔跑,架构服务由云原生Serverless矩阵来提供,保证流量再大也不怕。
中小研发生态现状
基于上述的一个判断,我们认为,现代商业社会的启动过程:从一个 idea 的诞生,到快速试错,再到上线服务用户的过程,有了一个很好的方案去支撑。但是,就像布道师们经常讲的一句话,人人都在谈云原生 Serverless,实际上并不是人人都知道怎么落地 Serverless。我们不妨来看几个真实的创业公司案例。
案例一,天猫精灵技能业务
天猫精灵的技能应用开发本身与天猫精灵开发者平台之前的连接较为松散,技能应用的开发对于一个中小开发者而言,启动成本较高。开发技能应用过程中的技术栈和方案也因人而异,因团队而异,也由于广大的开发者对技能应用背后的大流量没有一个一致的高水位保障,使得天猫精灵平台在做推广的时候也经常遇到阻力,担心在推广之后,很多技能无法承载大量涌入的活动流量,反而影响活动效果;
案例二,某直播互动健身创业公司
Y 公司是一家面对面直播互动健身的创业公司,研发团队的构成有 2 个前端、2 个后端、1 个架构师、1 个 ios、1 个产品经理、1 个设计师,产品的构成有微信小程序、iOS APP、android APP、PC 端 WEB 应用;
当前的核心痛点及诉求:
研发成本、架构人员的浪费;(这已经算是幸福的烦恼了,很多公司是找不到合格的架构师的)
新人落地的成本(每个新人都有 3 个月的熟悉环境、流程、业务的成本);
自研自建业务架构的成本,要等业务架构确定后才能动手;
业务线切换的沉默成本比较高,如新业务启动到上线:技术架构的选型、服务的复用等等都是损耗;
运维成本,如:承接推活动来的高峰流量以及平时流量的平均成本;
案例三,某软件外包服务商
O 公司是一家 base 杭州的软件外包服务商,他们的研发团队构成为:5 个 Java、4 个前端、1 个iOS、1 个Android、1 个产品经理、2 个测试、5 个商务、6 个品牌、2 个 UI 设计;
当前的核心痛点及诉求:
10人以下规模来什么做什么,没有沉淀,没有办法复用,没有高的盈利回报,人都铺在业务上,没时间学习架构,进入了一个恶性循环,需要一个很低的成本去采用一个先进的技术架构方案,确保不落伍,同时可以继续聚焦业务开发;有了可复用的空间(如架构、组件、服务)才有盈利的空间。10人以下的外包公司,CTO是不太可能去招的,40万一年的话,公司一半的利润就没了;
想依托于云,不过每家云厂商都产品众多,围绕自己的业务怎么知道有哪些产品适合,要一个个去挑选、学习,整体成本太高;
核心要解决的问题以及产品化思考
我们将上述调研的客户反馈诉求进行梳理,可以归纳出以下几点诉求:人员、业务尽可能做到快速启动,低成本启动。开发人员能够快速进入业务开发,架构师能省就省,业务能够基于行业现有解决方案、基本业务架构、业务模块尽快启动;
开发人员的时间尽可能投入到业务开发中,但同时要保证业务所用技术架构的先进性:一个人的时间是恒定的,如何帮助中小企业把人员投入业务的时间从60%提高到99%,同时还能确保业务背后所用的技术栈及技术架构是行业内广受认可的;
线上业务能够做到按量付费:
业务的流量高峰不会成为业务增长的瓶颈;
类似于外包服务商/ISV,可以为他们的客户灵活制定弹性的服务体系;
基于以上三点,我们进一步抽象用户群体以及场景和服务策略:
主要用户群体
中小体量研发团队及创业公司研发团队;要做开发生态的业务或平台;行业软件/解决方案ISV/服务商;
场景和服务策略
在快速商业化试错的创新创业场景下,通过集成设计以阿里云 Serverless 产品线为矩阵的业务架构,帮助用户快速迭代业务,同时保证业务上线后无需变更架构就可以持续支撑不断增长的流量,确保业务不中断,提高试错效率,降低试错成本;
在研发人员需要支持多业务线切换调度的场景下,通过集成云效研发协同底座的能力构建在线研发团队,通过设计解决方案实例化的能力构建统一应用开发环境,降低开发者在业务切换中的沉默成本,让开发者可以快速且专注地进入业务逻辑的开发,提高研发效率;
在需要快速启动业务的场景下,通过构建三套业务环境,帮助用户实现环境在线,降低环境准备的时间成本与投入成本;
为研发团队提供一种将应用开发方法和结果抽象成标准的格式化的解决方案的能力,用该解决方案统一快速地教育开发者;
定义了用户群体、问题、场景以及服务策略之后,我们开始尝试去定义这个产品:
我们要去打造一个全云端研发工作的平台,以业务、研发任务为用户界面,用户对云产品的感知尽量保持并限制在必要的情况之下,但是平台要在背后为他们提供一系列先进的云原生Serverless架构服务,同时,具备让用户的团队、环境、代码、协同等等实现在线的能力,帮助目标用户群体省钱、省时、可持续发展。
核心技术方案
作为一个面向用户业务视角而非云产品或任何单项研发能力视角的设计,背后就必不可少的要跟非常多的系统、产品、能力进行集成;并且,要达成与用户业务视角的关联,又需要额外设计一套核心应用模型去支撑。这里,我们通过两个架构设计,向大家阐述我们的实现思路与方式。
系统集成架构
阿里云云开发平台正式上线服务
感受云开发平台的极致特性
打开浏览器就能开发
不管你用什么设备,电脑、手机、平板
不管是什么操作系统,Windows、MacOS、Linux、Android、iOS
统一的云上开发和业务环境(支持 NodeJS,Java,php,Python, C# 等主流语言)
登录即完成配置,无需等待,专注业务创新
远程协同开发、所测即所得、测完即上线
基于业界领先的 Serverless 架构
最快 1 秒钟部署
按量付费不浪费,自动扩容不宕机
解决方案模版化
最快 3 分钟上线一个行业应用(通用 WEB 应用,AIoT 应用,微服务应用等等)
99% 时间聚焦在业务,开发更专注
了解云开发平台的运作方式
云开发平台具体如何真实地帮到目标用户群体
回顾
以上是关于云端研发新基建:Serverless 与持续架构服务落地实践的主要内容,如果未能解决你的问题,请参考以下文章
直播 | 挑战不可能!闲鱼Serverless + Flutter研发效率提升30%
基于开放共享的自主研发—MaxCompute 持续增强生态与开放性建设