11
简介:随着云原生 Serverless 的概念在国内悄然升起,许多技术人似乎从中看到了希望,许多 IT 架构师已经把它作为目标技术架构之一。

Serverless 的跨代优势对有技术敏感的架构师来说是技术发展的红利,一般都在持续关注它的发展。

但是在这两年间,随着整个研发生态接触到 Serverless 的内容也越来越多,尝试也越来越多。在许多的实践中,越来越多的公司、企业开始陷入迷思。

在9月18日的云栖大会上,阿里云向全球的开发者们传递一个信息,具备规模化落地的真正的云原生Serverless 应用研发时代已经到来,全面拥抱云原生应用研发的拐点已经到来!无论是大中小微公司,无论什么业务场景,无论什么开发语言,无论是既有的存量应用还是新应用,无论多大用户流量,无论全球服务有多少节点,都可以借助阿里云云开发平台提供的 Serverless 架构服务轻松落地。


研发的未来在哪里

互联网+ 发展到今天,大家对互联网业务的发展模型越来越熟悉,敏捷开发,流量运营,模式复制。在整个创新闭环当中,技术起着至关重要的作用:

  • 帮助商业创新从 Idea 变成真实的线上服务
  • 帮助保障线上服务流量极速增长仍能提供服务
  • 帮助成功的商业实现模式的复制

所有的技术人都在为此而努力,就像奥林匹克精神那样,以 “更高更快更强” 为目标,不断优化工程实践方法。然而,这条路一路走过来的艰辛也只有技术人才懂:

  • 组建研发体系何其困难,麻雀虽小,五脏要全,如何快速完成研发团队的建设,研发基础设施的建设,是挡住商业化创新的第一道坎;
  • 用户流量每增长一百万,对技术架构都是巨大的挑战,系统什么时候会崩溃是技术人每天都要思考的问题;
  • 业务在国内取得成功后,想要在全球范围同步推出,每增加一个服务节点,系统架构都得从头再搭建一次,不同的国家地区还不一定能够保障,严重制约商业化脚步;
    • *

云原生应用研发的最后一公里魔咒

随着云原生 Serverless 的概念在国内悄然升起,许多技术人似乎从中看到了希望,许多 IT 架构师已经把它作为目标技术架构之一。

Serverless 的跨代优势对有技术敏感的架构师来说是技术发展的红利,一般都在持续关注它的发展。

但是在这两年间,随着整个研发生态接触到 Serverless 的内容也越来越多,尝试也越来越多。在许多的实践中,越来越多的公司、企业开始陷入一种迷思:

  • Serverless是不是就是FaaS?
  • 是不是只能用在一些 “计算任务” 场景?
  • 是不是只能在小程序等一些很小众的研发场景才能用呢?
  • 公司原来那么多不同语言开发的存量应用是不是完全用不上?
  • 是不是只有像阿里巴巴这种体量的公司才能玩的转?

一切好像又回到了原点,在上述的问题没有解决之前,企业集成或应用 Serverless 架构的设想停在了业务落地的 “最后一公里”。说好的云原生是云计算的未来呢?说好的云原生可以改变开发者的世界呢?要知道,没有规模,就不是云计算!没有规模,就无法产生无法计算的价值!如果一个好的概念始终无法走进普罗大众,那它可能只能被大众束之高阁,敬而远之。


回顾初心,技术是为了更好的商业创新

如果有一种方法,能够让开发者专注在商业应用逻辑的开发本身;能够让商业化应用不用担心流量的增长而崩溃;能够让全球的服务保持一致;能够让每一个商业应用随着流量的变化而动态调整资源的用量。那它一定是最接近理想状态的:让每一个商业创新都变的简单,让每一个灵感都变成可能!

今天,我们通过云栖大会,非常兴奋的向全球的开发者们传递一个信息,具备规模化落地的真正的云原生Serverless 应用研发时代已经到来,全面拥抱云原生应用研发的拐点已经到来!无论是大中小微公司,无论什么业务场景,无论什么开发语言,无论是既有的存量应用还是新应用,无论多大用户流量,无论全球服务有多少节点,都可以借助阿里云云开发平台提供的 Serverless 架构服务轻松落地。

全面拥抱云原生应用研发的拐点已经到来

在阿里云云开发平台,您可以在无需重构的情况,将已有的NodeJS应用、Java应用、Python应用、PHP应用等,轻松平滑地迁移部署到云原生Serverless架构,从此告别资源浪费,告别不靠谱的人肉流量估算人肉扩容的日子!您也可以将资源最大化地利用在自己的业务创新上,从此不再需要为团队协同环境的搭建、团队研发测试环境的搭建、应用高并发架构的搭建费时费力费钱!

阿里云云开发平台所提供的全云端Serverless研发架构服务,帮助企业和合作伙伴进行更好的商业创新。


只有更公平的创新环境才能让创新者全力比拼创意

阿里云云开发平台(https://workbench.aliyun.com )给开发者和研发团队提供了完全基于「云+浏览器」就能完成日常应用开发工作的环境,它的设计理念是使每天的应用研发生命周期也成为企业团队大协同中的一环。云开发平台集成了阿里巴巴诸多自研自用的开发能力和开发工具,籍由强大的阿里研发生态,为开发者提供更大的协同研发可能。

全面拥抱云原生应用研发的拐点已经到来

通过以下阿里巴巴自研自用服务,阿里云云开发平台让所有的研发团队不论大小,不论初创小微团队还是行业龙头企业,都能够享受到阿里巴巴这种体量规模的在线应用研发协同能力,让团队不受时间、空间、和规模的限制,让所有的创新创业都能基于一个更公平和开放的技术环境轻松启动

  • 在线团队:与阿里云云效企业组织互通,创建后即可使用阿里云云效提供的所有在线协同能力;提供4种团队角色,完全映射本地研发团队权限设计,帮助您轻松实现团队上云;
  • 在线CloudIDE环境:基于阿里巴巴前端委员会共建的 CloudIDE,与阿里巴巴内部使用的是同一套,在此基础上,意味着您同时也可以享受到阿里巴巴内部的插件生态,比如图片智能生成代码插件服务 ImgCook;
  • 在线代码托管服务:阿里云自研代码托管服务 Codeup,企业级代码管理平台,提供代码托管、代码评审、代码扫描、质量检测等功能,全方位保护企业代码资产,帮助企业实现安全、稳定、高效的研发管理,支撑百万级代码库和数万工程师协作,支持标准 git 操作,帮助您更方便的实现本地与云端代码同步管理;
  • 在线部署流水线服务:阿里云自研部署流水线服务 Flow,从代码到交付上线仅需5分钟,企业级、自动化的研发交付流水线, 提供灵活易用的持续集成、持续验证、 持续发布功能,帮助企业高质量、高效率的交付业务;
  • 「项目」「任务」协作:「项目」是协作的基本单元,相当于钉钉或者微信的一个群。你的「项目」可以是一次大型会议,一个客户项目,或者一个活动;你也可以为所在项目创建一个项目,用于追踪日常工作;进入项目后,「任务」看板把左右事项公开透明的呈现出来,让大家看见「谁」、在「何时」、要「做什么」,随时都可以掌握工作进度。任务是驱动云效项目的最小操作单位。一个个任务,让进展公开透明,让沟通卓有成效;
  • 知识库:知识库是一个为企业提供知识管理的服务,通过独立的知识库空间,结构化地组织在线协作文档,实现企业知识的积累和沉淀,促进知识的高度复用和流通
    • *

只有更强大的 Serverless 架构服务才能让商业无忧成长

全面拥抱云原生应用研发的拐点已经到来

为了帮助用户提供一个无缝使用阿里云服务的环境,阿里云云开发平台会跟阿里云的诸多云产品进行集成,随时为用户的使用做好准备。您可以在云开发平台创建基于各种场景解决方案的应用,并为每个应用选用不同的云服务。

云开发平台将云原生 Serverless 领域实践最多的服务,如函数计算、应用引擎、容器服务,结合应用研发部署生命周期所需的能力,设计提供了三套标准 Serverless 架构服务,满足不同场景的应用研发部署需求,应用部署上线,流量高峰自动扩容,流量降低自动释放资源,再也不怕宕机

  • 函数计算型Serverless架构服务,这是一种羽量级Serverless应用架构服务,计算服务按请求量付费,对初创团队非常友好,这种 IT 架构适合短期快速实现的业务场景,比如促销活动,以及新业务试错场景;
  • Serverless应用引擎型架构服务,这是一种轻量级Serverless应用架构服务,计算服务按资源用量付费,对存量中小规模应用更加适合,这种架构模式,可以基于 MSE 微服务引擎,支持服务注册,服务发现机制,结合阿里云上各种中间件服务产品,能轻松构建一个复杂的系统架构。这种架构模式适合业务成熟定型,流量稳定的业务场景,也可以把业已成熟 IT 集成架构沉淀成云开发平台的公司级解决方案,让新业务在这个基础架构上敏捷迭代;
  • Serverless容器型架构服务,这是一种专业级Serverless应用架构服务,计算服务按资源用量付费,规模化复杂度高的巨型应用首选;
    • *

只有更少的约束才能让研发团队轻松实现业务升级

研发团队考虑的更多的问题是如何从现有 IT 架构演进到 Serverless 计算架构之中。云开发平台构建了这一演进路径,充分尊重用户当前研发体系,支持在现有体系中集成 Serverless 构建部署功能。演进包含两个层面,一个是存量应用的迁移,一个是新建 Serverless 应用和当前存量应用的互联互通能力。

对于存量应用的迁移,云开发平台已经上架了基于 FC,SAE,ASK 的各种架构形式的迁移解决方案,且还在不断丰富当中。比如,Java 语言的 Springboot 迁移方案,只需要把存量系统的 src 目录和 pom.xml 拖到 CloudIDE 工程目录,然后在 pom.xml 增加两处约定配置,即可完成 Springboot 应用到 Serverless 应用的迁移,让存量应用通过集成云开发 CICD 的特性,快速升级获得 Serverless 应用的所有优势。

对于采用 Serverless 架构的新建应用,云开发平台支持研发团队将公司原来已经在使用的阿里云产品编排进新建的应用架构当中,让新建的 Serverless 研发能够延续之前的研发模式。云开发平台提供的 Cloud-Native 集成研发环境支持本地研发和在线研发模式,支持云上测试环境,预发环境,正式环境三套环境的部署。

通过阿里云云开发平台提供的各种主流应用迁移方案,不论是等待开发的新应用还是已经服务于用户的在线业务,都可以通过阿里云云开发平台提供的Serverless架构服务以及Serverless框架实现平滑的架构升级。无需改变,一切已变!

全面拥抱云原生应用研发的拐点已经到来

  • 前端应用开发/迁移方案
  • VUE
  • React
  • 原生及更多框架支持
  • NodeJS 应用开发/迁移方案
  • Express应用
  • KOA应用
  • Egg应用
  • Next应用
  • Nuxt应用
  • Midway应用
  • NodeJS原生及更多类型的应用
  • Java 应用开发/迁移方案
  • 轻量级 SpringBoot 应用
  • 轻量级 SpringMVC 应用
  • 专业级 SpringBoot 应用
  • 专业级 SpringMVC 应用
  • Python 应用开发/迁移方案
  • Flask 应用
  • Django 应用
  • PHP 应用开发/迁移方案
  • PHP前后端一体化应用
  • 更多开发生态持续演进中
    • *

只有更低的侵入才能让本地研发链路全盘复用

对大多数企业的存量项目而言,将其直接迁移到云开发平台会遇到一些问题:线上开发不适应、工程仓库数量多迁移麻烦、代码托管平台的限制等等。因此对于企业级存量项目在保证不影响当前开发流程及开发者习惯的前提下集成阿里云开发平台就十分必要。在本地集成阿里云开发平台并不影响开发及测试,真正的变化在 CI/CD 阶段。

阿里云云开发平台根据大多数企业 CI/CD 的实践总结了一套适用于绝大多数场景的方法论,并提供了具体的解决方案 —— 阿里云云开发平台本地部署套件。它依托于企业的代码托管系统(常见的如Gitlab)及提供的 Hook 机制,并结合每个团队的分支提交规范(gitflow)实现线下的 CI/CD。阿里云开发平台本地部署套件支持各种形式的集成,包括常用的 Jenkins、Gitlab CI 以及 Hook,同时提供测试环境、预发环境和正式环境的部署。

全面拥抱云原生应用研发的拐点已经到来

使用阿里云开发平台本地 CI/CD 部署套件的成本极低:

  • 对于运维人员,仅需要在当前 CI/CD 逻辑中运行套件
  • 对于开发者,仅需要配置阿里云开发平台的相关认证信息

与阿里云云开发平台与本地 CI/CD 集成,您创建的应用,就是云原生Serverless应用!


只有更开放的生态才能让商业创新再次加速

没有规模,就不是云计算!没有规模,就无法产生无法计算的价值!当我们能够提供让云计算开箱即用的服务,这意味着云计算开始真正变得像这个社会的“水电煤”,人们的工作、生活,哪里需要,只需要打开开关即可获得服务,人们将更聚焦创新!

未来,阿里云云开发平台将与与行业生态一起,共建行业应用的云原生架构解决方案市场,让更多的商业创新能够实现二级加速!


总结

当我们再次回头看,如果我们真正做到了:您有一个Idea,就能快速让它从概念变成现实;您有一个服务,无论它的流量如何暴涨,都能轻松应对,无论它的流量如何变化,都能按量付费;您有一个研发团队,无论成员身处何时何地,都能高效协同;那么我们就真正做到了技术是为了更好的商业创新!

image.png


思否编辑部
4.3k 声望116.9k 粉丝

思否编辑部官方账号,欢迎私信投稿、提供线索、沟通反馈。