开发者社区> 阿里巴巴云原生小助手> 正文

从“预见”到“遇见” | SAE 引领应用步入 Serverless 全托管新时代

简介: SAE 是云原生先进技术的完美融合:容器化 + 微服务 + Serverless 最佳实践。主张 0 门槛+0 容器基础+0 代码改造即享 k8s+Serverless+微服务开箱即用的体验,能托管微服务应用/web 应用/开源定时任务,帮助企业快速进入云原生实践的快车道,欢迎大家了解!
+关注继续查看

作者:黛忻  阿里云 SAE 产品经理


1.png


近年来,企业的数字化随着互联网的普及发展越来越快,技术架构也是几经更迭,尤其是在线业务部分。从最初的单体应用到分布式应用再到云原生应用,出现了进阶式的变化。但带来便利的同时,也给企业带来了一定的复杂度:新技术上手门槛高,容器和微服务就是两个典型的拦路虎。即便微服务化和容器化后,企业依然需要关注服务器配置和运维、容量评估,还要面临高性能和稳定性的挑战,无法享受云带来的最大价值。


2.png


Serverless 的出现,带来了跨越式的变革。为企业数字化转型带来了更多机遇。在此模式下,服务器和操作系统的管理部署、运维、资源分配和扩缩容等全部由云厂商提供,计算能力真正像水电煤一样被提供。它能够将原先在传统应用环境中的通用能力转化成云服务,客户可以低成本、高效率地触达。


Serverless 最重要的价值可以归纳为三点:


  1. 通过基础设施解耦、极致弹性和故障自动处理等提供永远在线的服务,无须担心宕机。
  2. 通过高效的研发框架以及 DevOps 新形态,做到秒级市场响应。
  3. 抹平了头部互联网公司与传统企业之间技术竞争力的代差,让传统企业面临大量技术升级和重构时,能够从容不迫,不会出现人才缺口,甚至能够弯道超车。


3.png

image.gif

阿里云 Serverless 应用引擎(简称 SAE)初衷是让客户不改任何代码,不改变应用部署方式,就可以享受到微服务+K8s+Serverless 的完整体验,开箱即用免运维。作为业界首款面向应用的 Serverlss PaaS,自 2018 年推出以来,受到了广大用户的一致好评,各行各业企业客户的生产环境都在 SAE 上稳定运行。 


SAE 产品定位:全托管、免运维、高弹性的通用 PaaS 平台。支持开源微服务 / 开源定时任务框架 / Web 应用的全托管,提供开源增强 & 企业级特性。可以说 SAE 覆盖了应用上云的完整场景,是应用上云的最佳选择。


4.png


Serverless 微服务作为当今业界非常火热的名词,较为广泛的定义为:CI/CD 流水线,加上内置的高效能研发框架,再加上屏蔽基础 IaaS 层或 K8s 底座,并且提供了端到端的可观测能力,以及一些自动弹性和流量治理服务。


而阿里云的 SAE+MSE 可以称作 Serverless 服务的最佳实践。基于 SAE ,以应用为中心,在 SAE 的应用启动过程中内置 MSE 的 agent ,即提供了一整套微服务的能力。加之其底层天然屏蔽了 K8s 底座,提供了一套无服务器的架构,因此可以将 SAE+MSE 看作 Serverless 的最佳实践。同时能够做到 100%拥抱开源并回馈开源,因为 MSE 团队做了大量开源布道以及在开源基础上做了非常多增强。基于这套 Serverless 微服务的最佳实践,能够使开发效率提升 70%,成本降低 60%。 image.gif


5.png


SAE 的弹性能力相对于 ECS 或 K8s 来说,弹性指标更丰富,弹性策略更灵活,主要提供了三种弹性策略。


  1. 监控指标弹性:在开源K8s基础上增加了面向业务侧的弹性指标,如 QPS、RT、TCP的连接数等,基于这些业务指标来精准地实现弹性,整体弹性容量的预估会更加精确。一般适用于有突发流量或典型脉冲的场景。

  2. 定时弹性:定时设置扩/缩容时间,扩/缩容到多少个实例。同时,SAE 提供了白屏化的操作,相比于开源的 K8S 需自实现 HPA Controller 更简单。

  3. 混合弹性(业界首款):基于定时弹性和指标弹性混用的弹性策略。很多客户的业务都有潮汐特性,且会伴随流量突发,比如视频直播等场景。因此,基于监控指标弹性做兜底,再针对固定时间段的流量峰值叠加定时弹性作为增强的方案,仅一条策略就实现不同时间段内定时弹性或监控指标弹性的精细化弹性需求。


6.png


电商类、新零售、互娱行业等往往会出现一些不可预期的突发流量。以往一般通过提前预估峰值,按照峰值保有固定的 ECS 资源来应对,但时常会出现容量预估不准,导致资源浪费或不足的情况,更重要的是会影响系统的 SLA 。


而采用压测工具加 SAE 的方案之后,可以根据压测结果精准地设置弹性阈值,与 ARMS 的实时监控指标做对比,系统会自动进行扩缩容操作,无须再做容量规划,极大节省了硬件成本,实现了秒级的弹性效率,可以轻松应对峰值大考。在紧急情况下,还能够通过限流降级的杀手锏来避免应用雪崩。


7.png


SAE 提供了高效闭环的 DevOps 体系,它完整地覆盖了从开发态到部署态到运维态整个闭环过程。它提供了三种企业级 CI/CD 持续集成解决方案:


  1. 无缝对接开源 CI/CD 工具 Jenkins:通过内置的 Maven 插件,可以完成从 source code 到构建到整个部署的完整过程。它能够支持war包、jar包和镜像部署等几种模式。


  1. 云上功能最全的 CI/CD 方案:它与 Jenkins 的区别在于,可以将代码直接托管到云上,由云效来完成代码托管。还能够做到代码侧的安全管理,可以定制流水线,提供完整一致的构建运行的环境。它的功能比较齐全,一般适用于中型规模的企业。


  1. 最轻量、最易用的 CI/CD 方案:通过容器镜像服务来完成 SAE 的部署。它的轻量在于通过 webhook 将代码仓库打通,在容器镜像服务上定制一些构建镜像和触发器的规则,在代码提交时能自动构建和部署。如果使用企业级的容器镜像服务,还能实现镜像的安全扫描、防漏洞、全球多域分发等能力。


8.png


SAE 和 ECS 混部方案主要适用于两种场景:


场景1:从 ECS 陆续迁移到 SAE 的中间过渡方案,能够提升迁移过程的稳定性。

场景2:将 SAE 完全作为弹性资源池作备用。


此方案需要保证同个应用的 ECS 实例和 SAE 实例都能挂载到同一 SLB 的后端,设置好权重比例。如果是微服务应用,还需注册到同一个注册中心。另外,客户侧也需要做一些适配:复用客户自建的发布系统,需要保证每次发版时 SAE 的实例和 ECS 的实例版本一致;复用客户自建的监控系统,需要将 SAE 的监控数据和 ECS 的监控数据整合在一起。流量高峰到达时,弹性模块会将弹性实例弹到 SAE 上,极大提升了弹性扩容效率,也降低了成本。


四个重磅新特性,延展 Serverless 新边界


支持 Terraform

image.gif

9.png


作为国内外大客户首选的云上工具,Terraform 的价值在于基础设施即代码,能够自动配置基础设施,帮助企业更高速、更低风险、更低成本实现云应用程序的开发、部署与扩展。极大提高自动化运维效率。SAE 接入 Terraform 之后,开发人员无需理解每个 API,提供声明式 IaC,操作 SAE 的资源更加安全,对接 CICD / GitOps 也更加简单。更重要的是提供了资源编排能力,能够一键式的部署 SAE 以及依赖的云资源,从 0 到 1 建站效率大幅提升。目前多个互联网客户已经在生产环境中使用。


提供了 PHP 的一站式应用托管

10.png


提到PHP运维,大家熟知的是各种商业版的服务器运维面板。但这些面板只支持单机运维、缺少监控和秒级自动弹性能力,不支持静态文件增量更新,对体量稍大一点的 PHP 应用并不友好。


针对以上痛点,SAE 提供了一个免运维、高弹性、无缝集成 APM 监控的 PHP 应用全托管服务。在框架上,支持 laravel,ThinkPHP,Swoole、wordpress 等流行框架。在运行环境方面,支持在线应用架构 LNMP,默认提供 PHP-FPM + Nginx。支持 Docker 镜像和 PHP zip 包部署,大大降低了用户使用门槛。PHP 应用托管的功能矩阵相当丰富,有开发调试类的上传下载、内置 Xdebug 等,也有运行时类的弹性伸缩,还能通过NAS和 OSS 独立管理静态文件和目录。基于这些能力,非常好的支撑了 PHP 的几个典型使用场景:如静态站点部署,远程调试,多站点部署,存量 ECS/服务器运维面板的应用迁移等。


SAE Job 正式邀测

11.png


SAE 新增支持了任务类型的负载,开源 XXL job 等任务框架能 0 改造迁移。根据业务数据处理需求,能够在短时间内快速创建大量计算任务,任务完成后快速释放计算资源。具备单机、广播、并行计算、分片运行的特性、定时、失败自动重试、监控报警特性,提供了全托管免运维的用户体验。


区别于传统任务框架,SAE job 使用起来更方便(对代码无侵入)、更节省(任务运行完立即释放资源)、更稳定(和在线业务独立、且任务失败能自动重试)、更透明(可视化监控报警)、更省心(无需关注底层资源)。更重要的是 SAE job 能深度融合微服务生态,兼容开源 K8s。


SAE job 可以广泛使用在定时任务、批量数据处理、离线计算、异步任务解耦、微服务生态集成等场景,欢迎大家第一时间体验试用。 


SAE 支持事件中心


12.png


SAE 提供了非常多的企业级增强能力:比如一键启停开发测试环境、权限隔离/管控,方便客户直接使用。近期还新增了事件中心能力:可通过钉钉、短信和邮件定向给订阅规则的用户发送应用运行时和变更的异常事件,为客户及时响应和自动化运维奠定坚实基础,也是我们区别于开源自建 K8s 的一些使用体验上的差异,真正做到了想客户之所想,急客户之所急。


SAE—云原生先进技术的完美融合


SAE 是云原生先进技术的完美融合:容器化 + 微服务 + Serverless 最佳实践。它的出现帮助 Serverless从专用到通用,打破了 Serverless 的落地实施边界,使得 Serverless 不再是前端全栈、小程序的专宠,后台微服务、批处理任务、SaaS 服务、物联网应用等一样也可以构建在 Serverless 之上,天然适合企业核心业务的大规模落地。真正做到了“来了就用,功能齐全、用完即停”的极致体验,帮助企业轻松进入云原生实践的快车道。


更多内容关注 Serverless 微信公众号(ID:serverlessdevs),汇集 Serverless 技术最全内容,定期举办 Serverless 活动、直播,用户最佳实践。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
如何设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云安全组设置详细图文教程(收藏起来) 阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程。阿里云会要求客户设置安全组,如果不设置,阿里云会指定默认的安全组。那么,这个安全组是什么呢?顾名思义,就是为了服务器安全设置的。安全组其实就是一个虚拟的防火墙,可以让用户从端口、IP的维度来筛选对应服务器的访问者,从而形成一个云上的安全域。
18573 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
27697 0
阿里云服务器安全组设置内网互通的方法
虽然0.0.0.0/0使用非常方便,但是发现很多同学使用它来做内网互通,这是有安全风险的,实例有可能会在经典网络被内网IP访问到。下面介绍一下四种安全的内网互联设置方法。 购买前请先:领取阿里云幸运券,有很多优惠,可到下文中领取。
21932 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
19976 0
阿里云服务器ECS登录用户名是什么?系统不同默认账号也不同
阿里云服务器Windows系统默认用户名administrator,Linux镜像服务器用户名root
15284 0
腾讯云服务器 设置ngxin + fastdfs +tomcat 开机自启动
在tomcat中新建一个可以启动的 .sh 脚本文件 /usr/local/tomcat7/bin/ export JAVA_HOME=/usr/local/java/jdk7 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.
14851 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
23523 0
1618
文章
0
问答
来源圈子
更多
专注 Serverless、微服务、函数计算、Serverless 应用引擎、云原生技术
+ 订阅
相关文档: Serverless应用引擎SAE 函数计算FC
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载