开发者学堂课程【云原生中间件产品销售红宝书:云原生(中间件)热卖产品串讲】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/629/detail/9886
云原生(中间件)热卖产品串讲
内容介绍:
一、基于中间件构建企业级互联网架构
二、中间件产品家族
三、企业云上-业务上线现状
四、Serverless 上云跑业务理念:让用户只专注于业务
五、产品优势
六、消息队列 MQ 系列
七、Kafka 产品介绍
八、MQ 产品介绍
九、性能测试 PTS
十、ARMS 产品介绍
十一、轻量级应用上云
阿里云中间件改名叫云原生,和中间件不同的地方是原来中间件只有中间件一部分,现在把容器还有其他的一些产品都加进来,所以产品家族统一改名为云原生,技术迭代半年左右,很多新技术会出来,使用起来。
一、基于中间件构建企业级互联网架构
1、Aliware 互联网 PaaS 产品思想快速在各行业复制,帮助各行业客户进行业务创新。
2、业务创新快、数据标准化、数据实时化、服务线性扩展、业务能力沉淀、业务能力开放。
3、云原生产品在阿里云位置,阿里云产品比较多,有大几百款。整个云概念有三层,第一层是 iaas,第二层是技术 paas 平台,第三层是 saas 业务应用,云原生主要位于 paas 层,处于正中间一层,底层是iaas层,客户基本人手一份,ecs,存储,rds,oss,slb 等。paas 层相对而言比较统一,业界用的东西差不多,这层主要是两部分,一个是业务中间件,另一个是大数据中间件,其实处于中间层,比较常叫它中间件。saas 层是偏业务的产品,越来越多样化,没有太多标准,再往上不会做太多统一化的整理。中间件主要是围绕业务应用相关的,服务相关的,跟数据相关的,大数据,数据库有关系,它主要是来自于互联网的产品,更多是跟互联网的架构有关系,经常听到的业务中台,就是gts通过底层做的,还有数据中台,就是大数据一类产品做出来的。
二、中间件产品家族
“围绕客户应用一生”的云服务产品,覆盖99%互联网业务应用场景。
1、跟容器合并之后,产品比较全,大体上有个主脉络,主脉络相对而言比较清晰,就是客户上完云以后,他最终的目的是跑业务,跑业务可以理解为跑应用,跑自己的系统,跑erp,跑hr,crm,自己的生产系统,电商系统,网站,各种系统都会跑,不管在哪一类系统,统一归属为应用层,crm,erp都属于应用,应用分为五大步,第一步开发,软件开发好,环境部署,找个地方跑起来,类似于windows,给个包进行安装,得有个笔记本有地方装,第二个是应用管理,win7可能今天上的是7.0,明天上的就是win10,中间可能还有win8.0,版本和生命周期需要管理,系统装完后可能需要跟周边系统做一些交互,原来可能只装电商,公司业务规模大了,可能也需要做物流系统,可能做一个积分系统,积分系统一旦上线,可能多系统在跑时,实际上双方是有通信的,还是有数据传输的,所以需要有系统应用之间的交互,系统打通之后,系统之间要运维,一旦交互完之后就形成了一个网络架构或应用架构,应用在正式上线之前还要做测试,有功能测试和压力测试,有压力测试的工具,最后上运维。
2、应用开发有云效devops,teambition项目管理进度,共享项目进度盘,应用部署要部署一个地方,比较土的方式就是买个ecs,放在ecs里面就能跑起来,高级一点虚拟机,再高级一点买个容器,都是一种环境,再高级一点买个severless或者买edas,在部署过程中有个cloud toolkit部署工具是免费的,部署很费时间,环境,代码调色验证,选环境,还要配置很麻烦,所以里面有一键生成工具,很快。
3、部署完有很多应用上架,比如windows上架,win7,win8,win10,里面所有版本都是版本管理,应用迭代一个周期,两个周期,三个周期,v1.0,2.0,3.0都需要管理,管理的过程包括,系统上线以后批量发布,比如在生态系统里面同时发布windows10,里面也要统一的批发部,edas,severless,容器都具有的功能,所以围绕着应用的版本,周边的事情都可以管理,应用管理包括acm应用配置工具是免费的,第四步系统应用装好了,win10,win7也好,公司可能还有其他的系统,生产系统,人力hr系统都要部署联通,跑数据,所以mq产品消息队列主要用来传输消息传输数据,这是应用交互,系统之间打通,系统才有意义,整个公司的业务才能顺畅的跑起来,通过消息队列组成网以后,生产之前要做正式上线前的测试,压力测试,面对高低流量的压力,上线前三个月风险比较大,容易出bug,出问题,所以有arms业务实时监控服务全方位的把系统边边角角都监控起来,防止系统出现问题,这是应用运维,ahas应用高可用服务防控工具,偏安全保护工具和系统稳定性,x-trace链路追踪服务监控工具,所有的产品有百分之六七十都是阿里云研发的产品,因为本身是为电商产品服务,所以它覆盖目前百分之九十九的应用场景,因为电商场景已经属于互联网场景里面最复杂的场景,所以基本上不会有风险,所以可以把这鞋产品尽量的往客户边推,用起来不会有问题。
三、企业云上-业务上线现状
severless 在应用管理部分,帮助客户把应用跑起来。把跑业务比作吃火锅,最终要把火锅吃掉,业务目标是把业务跑起来,客户就是他自己想周末吃个火锅,比如五年前十年前在家吃火锅,有人准备一下午,一起吃火锅,完美的业务流程,吃的过程很开心,但是实际上花的时间比较多,非关联非核心的事情比较多,梦想中的样子,但是现实中,不知道有没有人会准备,客户最终要干一件事情就是吃火锅。
除了实现业务逻辑本身,还需要解决很多东西:
1、基础设施运维( ECS、集群)
2、部署环境多样化
3、应用运行时不一致
4、基础服务能力集成(日志、监控、SLB )
5、服务交互
6、分布式缓存、队列的申请和回收等
7、容呈预估、弹性伸缩
四、Serverless上云跑业务理念:让用户只专注于业务
上业务,最终是吃火锅,比较快捷的方式可以在网上点火锅送过来,省去准备的时间,菜的品质,菜的加工,菜的配送,锅底的,全都准备好,到家只有吃的一件事,serverless产品最终也是解决这个问题,帮客户聚焦于他的业务,只解决一个问题,其他事情都不干,serverless 产品目标专注于业务,serverless是一个新的上门方式,一站式上云,买了serverless 就把所有产品都集成了,一旦把产品开通,把业务点个加号就可以开通,就可以跑起来,付费引擎都搞定。
1、向上提供各种资源和通用能力
2、自动集成阿里云上的基础设施类产品
3、SLB、SLS、云监控
4、微服务生态周边产品: ACM、ARMS、AHAS
5、提供一站式的解决方案。
6、降低用户运维服务、运行服务、开发服务的成本。
五、产品优势
1、提供 IaaS+PaaS 一站式解决方案
基于Serverless架构,屏蔽底层IaaS运维和K8s细节,低门槛部署应用。
2、精益成本,不为闲置浪费
按需使用,按分钟计费,无需长期保有固定IaaS资源。
3、自动弹性
支持应用突发场景下秒级弹性伸缩,保障业务SLA。
4、支持多种微服务框架,多种部署方式
完美支持各种主流微服务框架、支持镜像/war/ jar三种部署方式。
5、高安全
底层基于安全容器运行应用,网络通过VPC隔离,双重保障应用运行时安全。
6、服务集成
它联合底层的东西,包括软件的上线运维生命周期,最关键它支持多种部署方式,有很多客户买过去是空的,白天跑三五个小时,晚上没人用,大量的时间是闲置的,闲置的还要给钱,因为按月收费,产品可以基于容器做,所以能做到秒结短信,ecs做不到秒结,十几分钟才可以,而且安全各方面比较好。
7、用户画像
(1)中小型企业业务发展很快,有云上应用托管需求,期望能快速交付。
(2)对上云成本非常敏感或者有优化计划的用户。
(3)期望低门槛使用K8s容器技术的用户。
(4)集成方(ISV,二方产品)。搞开发的公司省事。
8、核心优势1:免运维、省成本
(1)简化用户流程,免运维,节省等待时间
(2)节省闲置成本
ecs的步骤复杂,时间过去,精力没少,钱也没少,还可能出现闲置,用Serverless产品一二三搞定,只需要把Serverless开通,只用把S产品开通,应用编译打包、发布,部署应用到SAE,免运维。省时间,省资源,可以按照小时收费,不用把晚上的时间也用来付费,便宜,如果有客户比较敏感,觉得价钱难以接受,可以考虑Serverless产品。
9、到底比 ECS 便宜多少?
产品在一个月以后会上优惠包,按量算比较贵,但是它也比ecs便宜,ecs包月180到900的成本,优惠后是133-666,便宜30%,客户按量包月是756,优惠后是399,打六折后分别比它包年包月要低60%-110%,价格优势很明显。
10、客户案例-应用新上云
某SaaS类客户,初创公司
(1)对成本敏感。
(2)测试环境自建K8s集群,生产环境想用云上服务。
(3)计划使用Spring Cloud微服务框架。
(4)期望业务快速上线交付。
方案:应用托管至SAE。
客户价值
(1)提效:“白屏化"管理应用。
(2)免运维:免运维K8s集群和微服务注册中心等。
(3)省成本:免部署注册中心等组件;按实际使用资源量计费。
产品适合客户上云,尤其适合应用很多的上云方式,包括微服务,容器,上云很快,便捷。
11、客户案例-搬站客户
某物联网场景客户(从XX云迁移到阿里云)
(1)经历微服务云原生-物联网架构转化,对迭代交付效率要求高。
(2)已使用Spring Cloud ,希望能完全兼容。
(3)之前使用XX云的容器服务,需固定保有laaS主机,闲置成本较大。
(4)期望搬站过程中一并完成DevOps ,应用部署能和CICD打通。
方案
(1)使用SAE的注册中心, 0代码改造迁移Spring Cloud应用。
(2)支持云效部署SAE应用。
客户价值
(1)一站式体验:打通微服务生态, DevOps、其它阿里云产品。
(2)提效:免基础设施运维,让企业应用focus业务逻辑。
(3)省成本:按实际使用资源量计费,降低企业IaaS成本。
Serverless产品可以替代ecs产品,属于上云新云方式。
六、消息队列 MQ 系列
路径:阿里云官网-产品-企业应用-消息队列MQ
产品页面https://www.aliyun.com/product/ons
消息队列产品是有五种产品组合,多系统之间要打通要交互要传递消息,传递数据,mq是一个比较好的选择。
1、哪里可以用 MQ?
(1)但凡系统之间都需要通信,都能用上MQ消息队列、分布式系统、外部系统交互
(2)日常形态钉钉、微信、QQ、阿里邮箱、银行/支付宝消费信息、淘宝订单信.....
2、MQ 是?
(1)MQMessage Queue 就是指消息队列,基于高可用分布式技术,提供消息订阅和发布、消息轨迹查询、定时(延时)消息、资源统计、监控报警等一系列消息云服务。
(2)类别普通消息、顺序消息、定时消息、事务消息(阿里云消息特有,核心技术)
3、MQ 的特点
(1)应用解耦
无论发送方的出现问题,只会影响队列中消息的数量,接收方不受影响。
(2)消息堆积(异步化)
发送方的消息会存储在队列中,即使接收方接收不到,消息不会丢失。
(3)削峰填谷
通过监控消息数量,可更有效的控制发送方和接收方的实例数,弹性伸缩。
在系统还原下消息传递的路径,在传统的电商系统中,客户上电商网站逛买鞋买衣服,先逛网站,再加购物车,是否有优惠折扣,付款更新,最后产生积分,下订单到物流系统一二三四五,每一步都是按照这种顺序往下走的,所以每一步跟上一步都是有依赖关系,叫应用的依赖和耦合,好处是比较顺畅,不会导致数据的不一致性。一手交钱一手交货,问题是所有人如果都在这买,人多系统卡,往往被卡在第一个环节,浏览的的时候网页卡,或者是产生订单的时候,加入购物车时卡,导致后面所有的操作都为零,购物的过程不会成功,如果网站卡死,也就是意味着当前所有的交易失败,没有一个人能够成交,网站就等于是一个失败业务。在消息的里面中间加一个消息队列,它有一个特点,它类似两个东西,第一个是高速出口的收费闸口,所有车出来后有十几条收费闸口,好处是把所有的消息进行分发,分发以后彼此对消息不受影响,哪怕是购物车卡,但是积分和物流正常,所以它实现第一个功能解耦,所有的业务之间没有耦合,没有依赖关系,第二个消息可以堆积,高速口收费口,它堆积很多车在等,如果只有一个收费口,会影响业务,所以把业务进行分掉以后,它能回消息。
以前消息系统可能每天只承载1000个人访问,但是有消息队列以后,消息可以堆积,以前只能承载1000,现在可能有一万,让剩下九千堆着,先处理1000,剩下的9000条分为剩下九秒钟出,这样就能保持系统可用,它一堆以后,消息能堆,等有时间处理,所以能保证在十倍的流量二十倍流量下,依然保持系统的顺畅操作,消息堆积,也是异步化,带来的副作用是时间的延迟,九秒的延迟,十秒的延迟,还有一个功能是削峰填谷,消息的核心的功能,所以是它消息之所以好用的原因,好处是消息如果到更多的时候,一百倍一万倍的时候,消息自己可以扩,还会通知上下的设备进行再扩。家里以前买快递,快递员会送包裹到家,如果上班就会打电话催你回家拿,这就是消息传递的机制,点对点,不能有延时,现在楼下会有快递柜,一个邮箱变成一堆的快递柜,就像消息一样,可以选择晚上下班的时候再去拿,这样包裹就堆积在这,好处是快递员不用在这等,所以快递员能收获的包裹量成倍的增加,所以现在快递员工资高,快递柜起了很大的作用。
4、阿里 MQ 系列有哪几个产品?
产品 |
特性与典型场景 |
主要竞品 |
#消息AMQP (Rabbit MQ版) |
特性:可伸缩性(集群服务)、高稳定, 消息持久化存储。 典型客户:金融、银行 |
开源产品Rabbit MQ- 自建居多 |
消息队列 RocketMQ 电商产品 |
特性:高可用,高性能、低延时、消息 海量堆积。适用交易场景,通知场景 典型客户:金融、电商、直播、游戏 |
源自阿里巴巴开源产品Rocket MQ-自建 Amazon MQ ( ActiveMQ ) |
MQ for IOT ( MQTT ) |
特征:多终端接入,稳定不掉线,MQT T协议的场景 客户:物联网、APP类、车联网 |
腾讯/开源MQ for IoT 自建居多 |
消息队列Kafka |
特征:日志收集、数据流处理、大数据分析 典型客户:大数据客户, 100%必用 |
开源产品Kafka , Ckafka- 自建居多 |
消息服务MNS |
支持HTTP协议 |
Amazon SNS |
四个产品基本上除了第四个,第三个以外,互联网消息以外,剩下三个都是这个特性,所以它能把消息堆积在这,堆很多保持系统可用,唯一的区别是所有的产品跟数据库一样都有开源的产品,而且都是从开源改过来的,所以数据库怎么办,消息就怎么办,第一个产品和第二个产品很像,基本上可以作为一样的用途,AMQP是Rabbit MQ,产品是美国十几年的产品,所以早期金融华尔街用的比较多,股权交易所,银行。Rocket产品来源于阿里巴巴,电商场景,早期Rocket满足不了阿里巴巴电商场景,堆不了那么多,所以后来自己做了一个更改,更强,堆积能力是三峡大坝的堆积能力,上百米的洪水扩容,Rocket只能堆积几十米的扩容,这是本质上的差别,还有一个是物联网消息,比如海底捞,下订单,内部很多支付钱包,app,内部的排队的系统,还有餐储系统,外卖公司就是物联网,连很多外卖的设备,所以它天然就是mqtt应用场景,因为每一个设备接进的协议都不一样,所以没有哪一款产品能够满足多种协议,它是一个物联网网关mqtt或者微服务消息队列,它支持各种vpi协议,所以它是一个分发的网关。它能够接入千万级的设备,所以保持千万级设备不掉线,保证排队实时性,每天叫号,都能实时显示排位,两个特点导致对于很多特殊场景物联网以及手机app特别适合,保证用户能够实时在线,不掉线。