什么是移动云专属宿主机?

聚焦国内,无论是《云计算发展三年行动计划()》、《推动企业上云实施指南()》、“十四五”规划提出的“上云用数赋智”等政策层面的推动,还是疫情的催化,过去几年间中国企业“上云”进行得如火如荼。

尽管如此,中国企业的上云率相比全球市场仍有不小差距。以北京为例,北京市经信局发布的《2020北京工业互联网发展报告》数据显示:北京市规模以上企业上云、上平台率超过40%。由此可想全国其他地区的上云率。而同期,美国企业的上云率达到80%以上。

这意味着,在中国市场,IaaS仍是一门不错的生意。所以时至今日,中国IaaS市场的玩家,不止3A,也不止百度云、华为云、腾讯云、天翼云等。那么,不妨详细看下,后疫情时代,中国IaaS市场究竟还有哪些活跃者……

中国IaaS市场增速明显高于全球

众所周知,全球IaaS市场是3A的天下,Gartner今年发布的2020年全球基础设施即服务 (IaaS) 市场报告再次证明了这一点:AWS以262亿美元的营收占据40.8%的市场份额;Azure以127 亿美元营收排名第二,市场份额19.7%;阿里云以61亿美元营收排名第三,市场份额9.5%。

中国IaaS市场则与全球IaaS市场截然不同。IDC发布的《中国公有云服务市场(2020第四季度)跟踪》报告显示:阿里云以40.6%的市场份额排名第一;华为云与腾讯云并列第二,市场份额均为11.0%;其次是天翼云与AWS,市场份额分别为8.7%与6.0%。

同时,IDC该报告显示:2020年全球IaaS市场达到671.9亿美元,同比增长33.9%。中国IaaS市场规模为119.3亿美元,同比增长53.75%。IDC也认为,中国IaaS市场预计2022年仍有望保持40%以上的增速。

聚焦到云服务商,由于阿里云、AWS、Azure、华为云、腾讯云、天翼云、百度云、金山云等几家服务商耳熟能详,所以在此不过多涉及。接下来重点看几家在中国IaaS市场提供服务,但位列“Others”的云服务商。

不管在全球IaaS市场还是中国IaaS市场,如今的IBM都未进入前五。不过这丝毫影响不了IBM坚持混合云战略的决心。

聚焦到IaaS服务上,IBM Cloud提供裸机服务器和无服务器等计算服务;网关设备、负载均衡等网络服务;对象存储、块存储、文件存储等云存储服务;同时,IBM还提供安全产品。

IBM称,安全、速度和集成使其成为与众不同的IaaS服务商。如IBM Cloud借助FIPS认证的最高级别(即 140-2 4 级),支持"自行保管密钥 (KYOK) ";在主机上提供100 Gbps的网络性能。

Oracle Cloud存储服务提供一致的低成本云存储选项,包括按需本地、对象、文件、高 IOPS 块和标准块存储服务、归档存储以及安全数据传输服务。

其网络服务包括虚拟云网络、RDMA集群网络、Oracle FastConnect、VPN连接、负载均衡、DNS以及服务网关。

作为中国云计算第一股,坚持中立、不涉足客户业务是UCloud对外的标签,所以IaaS服务是其主要业务。其官网显示,UCloud的IaaS服务包括计算、存储、网络、云分发以及边缘计算。具体而言:

同时,Ucloud提供UCDN云分发服务、VPN网关 IPSecVPN私有网络服务以及UEC-VM边缘计算虚拟机。

时至今日,Ucloud已在包括中国、莫斯科、圣保罗、拉各斯、雅加达等地在内部署了31个绿色云计算中心,在全球已有3万余家云服务消费用户,业务已覆盖互联网、政府、运营商、工业互联网、教育、医疗、零售、金融等在内的诸多行业。

除中国云计算第一股外,中国混合云第一股——青云科技同样值得关注。青云科技提供的基础IaaS服务包括云服务器、弹性裸金属服务器、GPU 云服务器、专属宿主机、镜像等计算服务;云硬盘、对象存储、共享存储、备份等存储服务;专属私有网络 VPC、SDN 网络直通服务、弹性公网 EIP、负载均衡、CDN 服务等网络服务。

此外,青云科技还提供光格网络 SD-WAN、一站式混合云接入等基础设施以及物联网平台、EdgeWize边缘计算等物联网体系服务。

能成为中国混合云第一股,意味着青云科技虽然在IaaS市场表现一般,但在整体云服务上发展还不错。如今,青云科技已打造了一个具有“全栈”、“全态”、“全域”能力的全维云平台:在服务层次上,纵向跨越 IaaS、PaaS 和应用平台的全栈云架构;在服务交付形态上,以统一架构实现公有云、私有云、混合云和托管云的一致化交付与管理;在服务场景纵深上,集结云、网、边、端一体化能力,实现全域智能数据互联。

无论在哪些领域,百度、阿里、腾讯、京东等几家大厂的比较始终是业界的关注点,云服务自然不例外。虽然几家提供IaaS服务的起始点相差不多,但如今发展得可截然不同:百度云、腾讯云比不了阿里云,但在业界多少还算有声量,但京东云似乎快被遗忘了。

在IaaS服务上,京东云提供的弹性计算服务包括云主机、GPU 云主机、裸金属云主机、原生容器、Kubernetes 集群、容器镜像仓库、云硬盘、高可用组、弹性伸缩;存储服务包括对象存储、存储网关以及云文件服务;网络服务提供私有网络、负载均衡、NAT 网关、弹性公网 IP、共享带宽包;CDN服务包括静态页面加速、视频点播加速、视频直播加速、下载加速以及CDN边缘计算;

同时,京东云还推出了性能测试服务。该服务通过对弹性资源的灵活调度,快速实施多种类型的性能测试,可通过模拟海量用户的真实业务场景来帮助用户迅速、准确的评估系统性能、容量和稳定性。

虽然在IaaS市场表现一般,但京东云实力不容小觑。其拥有全球最大规模的Docker集群、Kubernetes集群和国内规模最大的 GPU 计算集群之一。基于多年京东全场景业务验证的云原生技术中台,京东云支持了京东商城云上运营、京东物流全量上云,并历经618、11.11、春晚等万亿级流量洪峰考验,云服务最高可用性保证达99.995%。

此外,移动云还引入了数据复制服务、云迁移分析工具、主机云迁移服务、存储云迁移服务等云迁移服务,并提供专属对象存储、专属分布式存储、全栈专属服务、资源专属服务等专属服务。

相比移动云,沃云所提供的IaaS服务则简单得多。其官网显示,沃云所提供的计算服务包括弹性负载均衡以及弹性云主机;存储类服务提供高效块存储、对象存储以及全闪块存储;网络服务仅提供接入服务。

令人意想不到的是,另一家互联网大厂——新浪居然也提供云服务,不过提供的服务实在有限。新浪云官网显示,其IaaS服务包括多个型号的云主机和云存储,不过性能实在有限。

以其旗舰型云主机为例,主机容量20G、独享带宽5M、MySQL容量2G。阿里云单实例最高可选128vCPU,内存1TB,单实例性能最高可达2400万PPS网络首发包,80Gbps带宽。

以云CDN服务出名的又拍云是中国IaaS市场的又一玩家。其所提供的IaaS服务,也不仅仅是云CDN。

如其提供的云存储USS服务,面向非结构化数据的对象存储服务,具有使用简单、高稳定、高安全等特点,满足大数据、人工智能、物联网背景下的数据传输、处理、存储、分发与容灾需求。

其融合云存储解决方案则致力于打破云服务厂商之间的界限,实现云存储的相互融合,帮助用户轻松迁移第三方云存储内容到又拍云,也可快速同步又拍云的内容到第三方云存储。

在CDN基础上,又拍云推出了PrismCDN。该服务融合 P2P 及流媒体技术,可整合利用零散闲置的上行带宽资源构建内容分发网络服务,平衡用户体验和运营成本,为用户提供稳定、低延时、低卡顿、低成本的视频直播服务。

主打PaaS服务的七牛云也向下提供了IaaS服务。具体而言,其云主机服务提供通用、计算、内存、大数据、GPU、本地SSD、高主频、FPGA等多种型号的实例配置;

七牛云的对象存储服务Kodo是其自主研发的非结构化数据存储管理平台,支持中心和边缘存储,提供标准存储、低频访问存储、归档存储等类型;

同时,七牛云也提供CDN服务。其PCDN产品将 P2P 协议融入传统 CDN 服务,通过挖掘海量闲置资源的上行带宽,将节点进一步下沉至边缘。七牛云表示,使用 PCDN可以极大降低热点内容的分发成本,同时消除来自服务器的性能瓶颈和单点故障问题,提升终端用户的使用体验。

没想到的是,提供安全服务的360也是IaaS玩家。其计算服务包括云主机、云物理机、镜像;存储服务则提供块存储与对象存储两种;网络服务则提供私有网络、负载均衡、公网IP以及路由器;同时,360云还提供边缘计算服务。

相比上述几家,字节跳动进军IaaS市场可谓众人皆知。今年6月10日火山引擎首次召开发布会,当天被爆出火山引擎将在今年9-10月正式推出IaaS服务。

据悉,在已建成的河北张家口数据中心外,字节跳动正计划在上海、深圳等城市或周边建设大型数据中心用于IaaS 服务。

IaaS服务一旦推出,再加上面向PaaS层面的火山引擎以及面向SaaS的飞书,字节跳动便在云计算市场推出了全栈服务。

作为中国电子信息产业集团云服务的对外输出品牌,中国电子云可谓IaaS市场最新玩家之一。

中国电子云提供的云计算基础服务包括云服务器 ECS、裸金属服务器 BMS、云容器引擎 CKS、云硬盘 EBS、对象存储 OSS、文件存储 NAS、专有网络 VPC、弹性公网 IP EIP、负载均衡 SLB、对等连接 PC、云专线 DC、NAT网关 NAT、微服务平台 CSP。

相比其他IaaS服务商,中国电子云的一大标签便是信创。由于集合了芯片、操作系统、数据库、存储、安全整机、云服务商等各方面的自主能力,中国电子云不仅在IaaS上能满足政府、公共服务机构、大型集团企业的信创需求,同时也能提供信创PaaS、SaaS服务。

加入海比研究院交流群 | 获取更多报告

}

随着MBaaS的发展,取代移动企业应用程序平台的趋势也越来越明显。MBaaS系统为了让企业能方便快捷的开发自己移动应用程序,提供了诸多移动客户端支持,有最通用的REST API,也有方便移动开发者的软件开发工具包,还有一定程度的监控和分析服务提供。而对于相对比较复杂的应用程序,开发者有时不想也不必在移动设备上运行很复杂或很费时或无法实现的业务逻辑,这种需求催生了云代码的产生。

想象一下,如果你想要少量结果信息,但却必须要向设备发送大量对象列表,或者调用大量REST API才能完成此项工作时(比如统计汇总操作),这种操作显然会消耗你大量的带宽和用户流量。

想象一下,如果你想要设备周期性定时完成某个任务或者想在后台一直运行某个任务(比如资源回收垃圾清理),这种操作显然很不可靠,一方面用户可能会随时关闭设备上的应用,另一方面在后台一直运行某个任务显然也会耗费用户设备电量等资源,得不偿失。

想象一下,当你需要调用第三方平台API时需要对方回调时比如完成某个支付操作,服务提供商在支付成功后执行回调,你需要根据回调结果完成后续操作比如同步记录到数据库中,这种操作在移动应用在没有自己的后端服务器时也很难完成。

想象一下,你的某个App应用有iOS,Android,JavaScript等多个设备平台版本,当你新增一项功能,同一套业务逻辑需要在所有平台做同步开发,当你修改一项功能,同样需要在所有设备平台做新版本发布更新操作,如果产品迭代很迅速那这种频繁的操作显然会大大增加移动开发的成本和效率,但效果却可能不见得很好。

想象一下,当某个用户注册了你的应用,你需要对该用户增加一些信息来用于统计,或者用户购买了应用里的某个商品,你需要收集除订单外额外的信息,这类在用户触发某些特定操作时会自动额外产生的逻辑(Hook操作),这些Hook操作并不适用在移动端编写。

伴随移动开发,类似上面的情况多有发生,此时MBaaS系统提供的云代码功能就是为移动应用量身定做的解决类似上面问题的方案,云代码的愿景就是方便移动开发者彻底摆脱服务器,随心所欲的开发各种移动应用程序。

MaxLeap作为一款优秀的MBaaS平台系统,其云代码的功能如何,是如何实现的,又有哪些加分项,接下来将为大家一一揭晓。

有了云代码的背景愿景,那云代码需要提供的基础功能就很显然了

  • 首先得提供基础服务和框架,方便用户开发云代码
  • 其次得提供代码托管,能很方便的让用户快速部署代码到云端运行
  • 最后提供日志和相关监控工具,能对线上代码的错误及性能特征有更多了解,以便优化自己的程序

1、让开发者如何开发云代码

如何提供基础服务和框架来方便用户开发?由于用户的开发环境和擅长的开发语言各种各样,比如使用Java,使用NodeJs,使用Python,使用JavaScript的等等,我们提供对应的各个开发语言的基础云代码SDK,丰富用户的选择,降低用户开发门槛和成本,这样云代码在CloudCode SDK基础上开发就会非常便捷,这些CloudCode SDK和MBaaS对外提供的移动SDK不同的地方在于它并不在移动设备上运行,而是在云端运行。也就是说开发者先要选择自己喜欢的云代码SDK,比如我很擅长JAVA,所以我会选择cloud-code-java-sdk来开发我的云代码,同时云代码SDK还要提供本地开发测试框架,总不能让用户线上开发调试吧,本地开发本地调试完成后再部署到云端。当然为了开发者更快的开始,MaxLeap同时提供了Demo和Quick-Start项目来让开发者更快接触云代码。

2、云代码如何为用户提供服务

开发者在使用云代码部署到云端后该如何访问云代码?MaxLeap的云代码是通过基础的REST API来访问,云代码SDK负责提供Http服务对外暴露REST API,因为基于Http可以很好的兼容不同开发语言,实现跨平台访问,当然这些API不会直接暴露在用户面前,用户只有通过调用MBaaS的云代码服务API才能间接访问。

3、云代码能为用户提供哪些服务

不同开发语言的基础云代码SDK其实都具有相同的功能,最重要的是数据存储服务,CloudCode SDK通过封装一系列REST API来让开发者很便捷的访问基础MBaaS服务。除此之外还要提供云函数、后台任务、Hook操作、消息推送、日志、安全访问、分布式计数器、分布式锁等功能。

通过SDK可以很方便的使用MaxLeap的存储服务,例如对象的CRUD操作,同时集成了手机行业主流的金币系统。

运行在MaxLeap云端的函数,定义好云函数后可以通过REST API方式来访问,这个API是同步的。同时云函数提供白名单功能(通过界面设置),方便被其他第三方网络服务调用。

同样是运行在MaxLeap云端的函数,对于长期运行的任务而言,后台任务非常有用,例如与响应时间较长的外部网站集成或分批发送推送通知。如果您在运行云函数时经常遇到超时错误,则可以考虑使用后台任务,同时当您部署云代码后,可通过后台界面进行计划任务,你可以计划一次性任务或者周期性任务,这不但可以方便管理你的后台任务,同时也能清楚的追踪你的任务状态。

Hook用于在对 Cloud Data 进行任何操作时(包括新建,删除及修改)执行特定的操作。例如,我们在用户注册成功之前,可以通过beforeCreate Hook,来检查其是否重名。也可以在其注册成功之后,通过afterCreate Hook,向其发送一条欢迎信息。Hook能很好地实现与数据操作相关的业务逻辑,它的优势在于,所有的业务在云端实现,而且被不同的应用/平台共享。

在移动应用中,为每个客户端用户推送系统消息或定制消息必不可少,通过该功能开发者可以很便捷的将消息推送到所有或指定设备上。

云代码在云端是一个分布式应用,提供计数器、锁相关的功能以便多个实例之间可以共享同一份数据。

提供Logging功能,以便您能记录Function,Hook或者Job在运行过程中出现的信息。

可以方便用户云代码项目的上传,部署,停止及版本管理。

云代码作为在云端部署的代码,MaxLeap是如何管理它们的呢?在这项重中之重方面我们可能会遇到下面这些问题:

  • 每个开发者的环境不同,操作系统也不相同,如何降低搭建各种环境的成本以及降低对操作系统的依赖、降低硬件要求和应用环境之间耦合度同时降低虚拟化消耗?
  • 管理的应用可能成千上万,但是服务器资源就那么多,该如何对每个应用实现虚拟化来整合应用和服务器降低成本?
  • 每个应用的重要程度也不同,有重度用户需要高可用高性能的服务,有低度用户可能一天也不会有几个请求,资源该如何分配?
  • 用户的代码部署在云端,如何保证用户的应用代码安全?
  • 用户代码服务如何做到高可用,出现故障该如何转移,如何做到服务不间断,新发布的代码出现异常该如何回滚?

基于上面遇到的问题,我们把用户的云代码作为一个松耦合的单个服务,也就是现在流行的微服务架构,通过docker来实现对微服务容器化,因为docker本身就是源于Paas,在MBaaS系统也非常适用,我们不用为每个云代码应用开启一个虚拟机来降低硬件要求和应用环境之间的耦合度,这能大大降低虚拟化消耗,降低成本,而且docker还能为应用提供一个从开发到部署上线都一致的环境,非常便于管理代码的流水线,让我们可以对云代码从开发到发布部署简单可靠的控制。同时Docker隔离应用的能力非常适用于用户的云代码,能让我们比通过虚拟机更好的整合云代码应用和服务器,基于docker,我们能为每个不同的云代码应用创建隔离的环境,并为他们分配指定的服务端口、内存资源等来隔离应用。

在我们看来用户每次的代码发布都是一个构建镜像并推送镜像到私服上的过程,每次代码部署都是从私服上获取镜像并启动一个容器的过程,每次停止部署都是一个容器卸载的过程,每次升级代码都是一个重新生成不同标签的应用镜像的过程。用户每次上传发布云代码都需要为它指定一个版本,不同的版本会生成不同的镜像标签,可以同时部署多个版本,但我们做了限制,最多只能同时发布2个版本,我们称之为灰度发布,这是为了能让你的代码能平滑过渡升级,在灰度发布过程中用户需要设置版本负载均衡比重,以做到服务不间断,基于版本控制你可以回滚你的代码,你可以选择你发布过的任意版本进行部署,这真的非常方便。

对于用户的云代码镜像、启动的容器、部署的策略以及容器所在的宿主机我们会有一个专门的CloudCode-Manager服务来进行管理,我们称这个服务为hydra(海德拉)。它希腊神话中的九头蛇,传说它拥有九颗头,其中一颗头要是被斩断,立刻又会生出两颗头来,在这里我们寓意用户的云代码可以达到高可用,如果用户部署的任何一个云代码实例出现故障达到服务不用,系统会自动在其他宿主机上重新启动一个相同实例。为了达到高可用、故障转移,云代码SDK需要提供心跳接口,在用户部署云代码后每隔一段时间hydra都会做心跳检查,检查失败重试一定次数后便认为该服务已经失效,我们会在另一台宿主机上重新部署一个和故障实例一模一样的实例,然后再卸载故障实例,如果卸载故障实例失败,比如故障实例所在的宿主机发生宕机,那么该故障实例会永久成为一个孤岛实例等待被强制回收。如果应用的云代码被重度使用超过负荷可以随时扩容,或者通过缩容来较少成本,通过任意扩容和缩容也就是通过部署容器任意实例数量来真正达到高可用,最常用的使用场景是商家在做活动时有访问高峰可以快速增加实例资源来减少压力,日常时则减少实例以低成本运行。

通过docker来整合应用和服务器,一台宿主机上可能部署了上百个容器应用,那应用是如何分发的呢,在云代码SDK中我们提供了REST服务,比如云函数、后台任务、心跳等API,所有应用的这些REST服务在启动后都是监听在容器的8080端口,容器需要允许外部访问就必须要映射容器端口到宿主机,所以在应用分发过程中,宿主机的端口管理非常必要,我们使用mysql来存储所有宿主机的信息,包括所有提供给云代码容器使用的可用端口,通过乐观锁来保证端口的并发分配,启动任意云代码容器时都会分配一个映射端口给容器,同时在zookeeper中同步应用的云代码服务地址提供给MBaaS云代码服务使用。这个过程使用事务来保证容器启动和数据库信息的一致性,同时使用zookeeper分布式锁来防止同一个应用被同时操作。云代码服务的REST层实时监控zookeeper中云容器访问地址信息变更,通过hosting形式提供路由功能,通过负载均衡算法选择可用地址来访问宿主机上的云代码达到分流效果,这样就能做到简单有效的应用分发。

上面我们说到云代码容器通过端口映射来允许外部访问,但考虑到用户的代码安全,并不是任何机器都可以访问云代码容器,这就需要一个网络安全体系来对用户的访问和网络进行限制。在网络隔离安全方面,我们在Docker的标准网络桥接接口docker0上启用内核防火墙iptables规则来限制Docker容器的源IP地址范围与外界通讯,所有的云代码宿主机只能由zcloud和hydra服务所在的机器访问,而云代码访问zcloud内部服务需要通过反向代理实现。

在宿主机和容器之间安全隔离方面,通过访问控制的安全策略,使用selinux配置Linux内核安全模块,从而实现强制性的访问控制(MAC)用以将进程约束在一套有限的系统资源或权限中。在容器与容器之间通过cgroups防止通过耗尽系统资源引发拒绝服务(DoS)攻击,比如限制容器的CPU使用、内存使用、存储使用。

使用微服务容器化云代码能为应用开发者省去部署和维护方面的负担,但代价是一定程度上减弱了线上环境的透明性,为了能对线上代码的错误和性能特征有更多了解以便优化自己的代码或者扩容、缩容来达到水平扩展,我们需要给很好的监控云代码。

1、首先是日志信息的收集,云代码的系统日志、用户的日志这些都需要收集起来提供给用户查看,MaxLeap的云代码使用主流的Logstash+elasticsearch来完成日志收集工作,我们会在每台宿主机上启动一个logstash-forwarder服务作为shipper来收集指定的云代码日志,Logstash汇聚日志后转发到ES存储。

2、其次是对容器资源的监控,Docker容器通过namespace做资源隔离,通过cgroup来做资源限制,我们有个专门的docker-monitor服务来监控所有宿主机上云代码容器的指标,它会周期性获取已注册的宿主机上所有云代码容器的cgroup stats,收集指标包括CPU MEM IO等,然后将数据PUSH到ES里。

3、最后是展示给用户,MaxLeap通过后台界面的方式展示出所有容器实例的性能和状态,还有部署的云代码版本所有的日志信息,用户可以很直观的了解到自己的云代码有什么错误的信息,在什么地方有瓶颈,该在哪方面优化代码。而我们内部会通过Kibana来展示,并通过Nagios来报警。

MaxLeap云代码的衍生-云容器

有客户看到这里说:你说了那么多,我就是不想用你的云代码SDK来写,熟悉你的SDK都要花费好长时间,用看官方文档头都大了,我就想用关系型数据库,我就是想用我自己写的后端服务或者之前公司已经写好的程序,咋办?嘿,MBaaS系统的愿景是让用户完全摆脱服务器,但遇到这种已经有自己服务器和数据库并大量线上使用的客户让他们选择MBaaS系统便得仔细考量是否值得了。考量到这类需求,MaxLeap在云代码的基础上衍生出了云容器的概念,它是可以帮助用户部署及运维其后端应用程序的代码托管服务,用户只需要提供服务端的业务逻辑,包括静态网站或者动态应用程序,而服务端的高可用、多实例、负载均衡、不中断服务的平滑升级等都由云容器提供支持。没错,云代码有的功能它都可以有,云代码没有的功能它也有,一个是数据源功能,很多企业客户内部使用的数据库都是mysql这种关系型数据库,让他们一下切换到MBaaS上的NoSql数据库会很不放心,特别对事务要求很严格的业务逻辑,人家可能一看到你的数据库是使用Nosql就放弃了,能很方便的迁移也不行,就是这么直接,云容器的数据源功能则会帮让他们放下很大一部分顾虑,它可以让用户使用并管理自己的关系型数据库,而另一个二级域名功能可以让用户在部署云容器后可以直接访问他的云服务。作为云代码的升级版,云容器的底层架构都是基于云代码的实现,这完全降低了用户Dev&Ops上的难度。由于篇幅原因,更多云容器相关的信息本篇文章不再赘述了。

看到这我们发现MaxLeap的云代码、云容器的架构基本都是围绕docker容器这个生态圈来实现的,那么如何更好的维护和优化这个生态圈将是我们将来的重中之重,在这里我们给出一些我们未来一段时间将要实现和优化的关键信息:

  • 所有容器资源通过Mesos申请
  • 所有容器生命周期通过Marathon管理
  • 更智能的资源分配机制,更智能的压力监控实现自动扩容/缩容
  • 用户云代码托管方式支持git等第三方仓库
  • 用户上传云代码、云容器支持增量上传来减少等待时间
  • 更多容器安全方面的优化
  • 更多云代码/容器操作的Dev&Ops自动化
  • 更多基建架构方面的调整优化

MaxLeap更强大更优秀的云代码/云容器服务敬请大家期待。

}

Deway,携程资深工程师,iOS客户端开发,热衷于大前端和动态化技术;

Frank,携程高级工程师,关注移动端热门技术,安卓客户端开发。

随着各种多端技术的蓬勃发展,如今的移动端和前端早已不再拘泥于自身的边界,而是不断延伸、扩展和融合,逐步向着真正的大前端技术迈进。跨端技术也从早期的Cordova/PhoneGap、纯H5页面发展到如今的ReactNative(以下简称RN)、Weex、小程序、Flutter群雄并存的局面。各种技术栈各有优劣和特点,技术选型需视团队自身情况而定,没有绝对好坏之分。然而在实际开发中,并不是只选用一种技术栈,那么研究多种技术栈融合和嵌套使用的就有了迫切的必要性。

本文我们从实际业务场景出发,初步实践了在RN里面嵌套flutter view、在native里面嵌套flutter view,探索其可行性,并回顾这个过程中遇到的一些问题和解决方案。

,邮件标题:【姓名】-【携程酒店前端】-【投递职位】。

 “携程技术”公众号

  分享,交流,成长

}

我要回帖

更多关于 宿主机与目标之间 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信