2012年,云基础架构服务提供商Iron.io副总裁Ken谈到了软件开发行业的未来,首先提出了该概念,描述了用于在云中运行的应用程序的全新系统体系结构。从那时起,由AWS代表的云服务制造商逐渐实施了该概念,并连续推出了FAA(功能作为服务)产品。经过数年的发展,该行业将建筑视为领导云土著人接下来的十年的发展趋势。
据报道,在2020年,全球20%的企业采用了技术部署,从基础层转换了计算资源的形式,并为企业的软件架构设计和应用程序服务部署引入了创新的技术设计思想。
尽管如此,一些国内公司和开发商仍在拭目以待。一方面,相关技术始于中国晚期,一些开发人员对新技术的接受程度很低。另一方面,国内生态结构相对落后,市场上相关的工具链并不完美,这使开发和部署变得困难和成本高昂。
最近,阿里巴巴云技术团队宣布了一个开源平台,为开发人员提供了一组工具链系统。据报道,通过此平台,开发人员可以单击一键体验多云产品并快速部署项目。
为了进一步了解开发技术生态学的特征以及诸如中国微服务之类的发展趋势,开源中国邀请Yang (不是愤怒),阿里巴巴云R&D的负责人,以及 的产品经理 Yu, 的产品经理,与Devs of Devs and Devs ,与US与US的详细信息共享该项目和国际委员会的详细信息。
以下是采访的原始文本:
1。请简要介绍阿里巴巴云开发项目的技术团队成员。
:该团队由负责阿里巴巴云智能云本地中间件的前端人员领导,并与来自阿里巴巴云智能云本地功能计算团队以及几位社区爱好者的几位技术专家联手。通过开源想法,项目构建花费了120天。
开发人员技术团队的核心研发人员主要包括:
2。目前使用阿里巴巴云平台服务的特定实施方案是什么?
:作为基本的研发基础,它已被越来越多的公司接受,并应用于业务实践。除了互联网公司最早的“品味”外,传统公司还探索大规模使用。
以 为例,2019年的 11。在 11, 完全转移到功能计算2.0上,抵抗去年超过230%的业务峰值,并且R&D效率的交付效率已提高了30%以上,弹性资源的成本已降低了40%以上。如今,阿里巴巴的整个经济正在实践,包括淘宝,,,,,,等,并将其应用程序场景扩展到前端完整堆栈,微型程序,微型程序,微型服务,微型服务,新零售,新零售,游戏娱乐,游戏娱乐和其他领域。具体方案如下:
在Mini程序,Web/,API服务等方案中,业务逻辑是复杂且可变的,并且需要迭代的在线速度。此外,此类在线应用程序的资源利用率通常少于30%,尤其是长尾应用程序(例如Mini计划),资源利用率甚至小于10%。自由操作和计算和付款方式付款的特征非常适合构建迷你程序/Web // API后端系统。通过保留计算资源 +实时自动扩展,开发人员可以快速构建具有稳定延迟和高频访问的在线应用程序。在阿里巴巴内部,使用后端服务是最实施的方案,包括在前端全栈字段,机器学习算法服务,微型程序平台实现等。
一个典型的离线任务批处理系统,例如大规模音频和视频文件转编码服务,包括一系列功能,例如计算资源管理,任务优先计划,任务编排,可靠的任务执行和任务数据可视化。如果您从机器或容器级别开始,则用户通常使用消息队列持续任务信息并分配计算资源,使用集装箱编排系统(例如K8S)来实现资源缩放和错误的容忍度,并自己构建或集成监视和警报系统。如果任务涉及多个步骤,则还必须集成工作流服务以实现可靠的步骤执行。通过计算平台,用户只需要专注于实施任务处理逻辑,而计算的最终弹性性能可以满足爆发任务的计算能力要求。
通过事件驱动的方法,典型的计算服务与云中的各种服务广泛集成。用户不需要管理诸如服务器之类的基础架构,也不需要编写集成多个服务的胶水代码,并且可以轻松地使用松散耦合的,分布式事件驱动的架构来构建应用程序。
以 函数计算为例,通过集成API网关和功能计算,用户可以快速实现API后端服务。通过集成对象存储和事件计算,功能可以实时响应对象创建,删除和其他事件,从而实现以对象存储为中心的大规模数据处理。通过按功能的消息中间软件和事件计算的集成,用户可以快速实现大量消息的处理。通过与阿里巴巴云集成,无论是 , SaaS服务还是用户构建的系统,所有事件都可以通过功能快速,方便地计算和处理。
使用定时触发器,用户可以在不管理执行任务的基础服务器的情况下快速实现使用功能的定时任务。通过云监视触发器,用户可以接收IaAS层服务的操作和维护事件,例如ECS重新启动/下载,OSS对象存储流控制以及自动触发功能处理。
对于特定案例,请参考:
3。开发项目的诞生的机会和愿景是什么?开发人员与阿里巴巴云以前开放的另一个项目有关吗?
:首先,当我们为小组内外的用户提供服务时,我们看到该工具链是被用户接受的最大障碍。这主要反映在以下方面:
其次,从云土著发展的趋势中,开发人员在构建云本机应用程序不断增加时需要解决的问题的范围和复杂性。例如,当构建应用程序时,开发人员仍然需要花费大量精力来处理与业务逻辑无关的详细问题,包括资源创建和删除,许可管理等;对于企业级客户,除了资源管理之外,他们还需要安全和合规,例如如何确保敏感数据不会错误地赋予外部访问权限,因此不禁止使用VMS访问公共网络等。我们相信,在工具级别上,会有巨大的创新空间。
因此,从实际的用户需求和未来趋势的角度来看,我们希望为开发人员创建一个工具链,该工具可以帮助用户解决应用程序开发,操作和维护中的问题,真正连接开发人员和操作,并提高R&D效率。我们希望该工具可以是一个好的”,并且在问题很简单时可以快速启动;当问题变得复杂时,相同的工具和流程仍然有能力。
:尽管它已经开发了很长时间,并且不是一个新概念,但该工具链仍然很少。我们不仅意识到了这个问题,而且与许多用户进行了深入的沟通,并非常关注用户使用时遇到的问题。最后,我们决定从开发人员的角度构建“工具链系统”。目的是允许开发人员像使用手机一样使用它,这可以为每个人提供简单,方便,快速的经验和实用的操作,并可以在项目的整个生命周期中发挥作用。至于两者之间的连接,我认为这是非常接近的,因为开发人员更多是工具级产品,而是框架级产品。两者得到补贴,不会相互冲突。
4。我们认为开发人员被定位为“支持主流服务/框架的第一个云本地全生命周期管理”。它的第一个创新反映了哪些方面?与行业中现有的服务平台相比,有哪些优势?
:比较和其他流行的工具,开发人员有几个明显的差异:
5。开发开发的哪些部分?选择开源的目的是什么?
:开发开源两个主要部分:命令行工具和应用中心。实际上,这是一个具有强大开发人员驱动力的领域。我们打开整个项目并打开整个想法。主要目的是从开发人员的角度为开发人员提供所需的工具,以便开发人员可以自己定义和构建工具链。我们还希望通过这种形式,我们可以与更多的开发人员互动,与更多的发烧友联系,并与所有人在一起。
6。如果开发人员在开发人员上部署自己的应用程序,他可以在以后将应用程序转移到其他平台上吗?例如,如果您转移到其他云服务平台或本地服务器,转移过程是否方便?
:多云应用迁移涉及许多因素。除了计算平台的迁移外,它还包括数据迁移,配置过程迁移等。DEVS的设计理念是帮助开发人员使用统一的方式,容器或应用程序。无论语言(/// Java)或平台(K8S/ALI /Run等)如何,研发和操作经验是一致的,因此开发人员可以简化将应用程序迁移到其他平台的困难。
7。有一种说法:“将阻碍开源服务的创新”,因为许多流行的开源软件不能大规模地部署在FAAS平台上。毕竟,当前的主要开源软件不是针对执行环境,尤其是数据系统。未来趋势会创建更多本机开源软件还是将现有的一些主要开源软件迁移到体系结构?
:“这将阻碍开源服务的创新”此视图来自加州大学的论文:一步,两个后背”。本文中提到的开源服务创新的障碍是指当前限制。半年后,他们发表了另一篇论文:“:A A Tiew on On on”,预测预测所面临的挑战可以解决,并将成为云计算的默认范式。它已成为学术界的研究热点。自2017年以来,相关论文的数量增加了每年的两倍。
当前的学术界/行业的主要研究趋势:
8。建筑与一些流行的微服务架构之间有什么关系?它会替换微服务体系结构吗?
:它与微服务架构不相反,而是一个具有不同维度的概念。微服务是一种体系结构模型,而FAA代表的计算平台是实现微服务的一种方式。可以使用FAAS或使用PAAS平台,K8S +容器或VM实现微服务。
为了确定如何实施微服务,我们应该从可靠性,成本,性能,工程效率,安全性和系统迁移难度的维度开始。不同的方案有不同的选择。在微服务方案中使用体系结构的最大挑战是它与现有的微服务框架兼容,并且可以平稳地迁移现有应用程序。为了解决这个问题,阿里巴巴云应用程序引擎与流行的微服务框架(例如传统应用程序)兼容,将阿里巴巴云服务(如武器)整合在一起,并在开箱即用的同时提供可观察到的功能,同时提供弹性功能,例如根据指示器进行定时扩展和缩放尺度,允许微服务场景享受。
9。一些网民担心云服务的出现将取代许多后端工程师。将来,中小型公司似乎只需要雇用前端业务开发人员即可。这种视图准确吗?一些年轻的后端开发人员可以提供一些开发建议吗?
:此视图是单方面的。对于任何技术,都必须考虑其起源,趋势,优势和缺点,尤其是自己练习以做出客观判断。这不是一项新技术。阿里巴巴云的第一个云服务对象存储OSS是存储服务。使用OSS不会压缩后端开发人员的技术开发空间。下图是建立灵活且高度可用的后端系统时需要考虑的因素。只有蓝色虚线框才是该平台的责任。仍然需要由后端开发人员设计和实施大量其他内容:
原始链接