当前位置: 首页 > 网络应用技术

MaxCompute Public Cloud Multi -Consides设计技术要素详细说明和产品实施功能

时间:2023-03-05 17:54:14 网络应用技术

  简介:公共云大数据平台中多个租户的设计和实施存在差异。本文主要介绍公共云大数据平台的多租金实施方案中需要考虑的问题和挑战。它重点关注MaxCompute在计算和存储中的特征。可以预期,通过这些介绍,让每个人都了解大数据云平台需要注意的技术点以及MaxCompute在多租金实现中的产品特征。

  本文的作者:Dong Guoping Alibaba Cloud Smart Smart高级技术专家

  公共云大数据平台在多个租户的设计和实施中有所不同。本文主要介绍在公共云大数据平台的多范围实施方案中需要考虑的问题和挑战。它重点关注MaxCompute在计算和存储中的特征。可以预期,通过这些介绍,让每个人都了解大数据云平台需要注意的技术点以及MaxCompute在多租金实现中的产品特征。

  更多租金的概念可能有不同的理解。这是一个简单的分类,可以促进沟通。

  第一个是租户的独家数据库实例,该实例支持基于基本角色的访问控制。例如,云上的传统数据库通常是此模型。从云平台的角度来看,它从云平台的角度支持多个租户,但每个租户都购买一个独立的实例,以及在该范围内的角色划分实例。实例之间的数据是完全独立的。

  第二种形式是控制更多的平面租金。例如,元数据和权限控制更多的租金,但是计算资源相对独立。BIG数据方案需要支持复杂的计算,并且通常单独管理计算资源。

  第三个是更广泛的意义上的租金,分享所有内容。从管理,控制,计算到存储都是租用的资源,也可以称为强且更多的租金。

  从用户的角度来看,随着租金程度的提高,系统可扩展性越好,可以执行资源扩展的方便,但是云平台本身的系统复杂性本身就越高。我们知道系统越高复杂性,稳定性问题越高;由于不同用户的操作正在运行,因此安全要求越高,尤其是在公共云场景中。

  当今的共享更关注计算和存储的多范围实施。对管理和控制,基于RBAC或权限的权限管理和权限级别也是大数据平台多租赁实施的一部分,但是它是IT的一部分不是今天共享的重点。回到计算和存储的多个租金,实现中将有不同的组合。

  典型的形式是单范围的计算以及开放存储模型,例如AWS EMR和Databricks。

  以上是数据映的架构图。我们可以看到,控制平面是更多的租金,并且不同用户的计算资源是单范围的,并且存储使用式存储像S3.S3。管理使用数据括号,计算资源属于用户自己的VPC。该模型的优势是,由于计算资源是单范围的,因此它可以支持复杂的UDF,而无需考虑安全问题。云层。挑战是资源的粒径是租户级别的,需要提前购买。弹性扩展能力取决于云平台的弹性。读和写入多租用云存储的问题存在问题。计算和存储的物理位置相对较远。它也可能需要通过带宽转发瓶颈穿过网关,并且需要准备数据。在同一时间范围内,考虑因素不能完全取决于云存储,并且需要考虑其他方法,例如内存或本地存储。

  BigQuery和MaxCompute的实现是相似的,并且使用了多租金计算的模式以及内部存储。

  计算和存储资源的租金更多。计算和存储可以位于同一计算机室,物理位置更近。优势是极端弹性。用户可以在不持有物理资源的情况下运行大型任务,并且可以在实际使用用户操作时为资源充电。对于内部存储的实现,可以在计算和存储之间具有较大的容量带宽,可以充分使用该模型的挑战在于udf.udf的支持是大数据方案通常提供的函数,并使用自定义功能支持复杂计算。我们需要避免使用,我们需要恶意用户的安全性威胁了平台或其他租户的安全性。在这方面,BigQuery和MaxCompute具有不同的实现。BigQuery在UDF的实施中相对限制,并提供JS UDF,但它已经削减了一些功能。MaxCompute在安全容器的帮助下支持完整的UDF功能。稍后进行了简介。但是,在云平台上将有辅助虚拟化的限制,因此我们需要一种资源形式,例如裸金属或物理机器。

  出租的优点是它用于打开框,也无需创建独立的资源池。从购买资源到软件环境可能需要一分钟的水平,这可能只是多范围平台上的配置参数更改。可以根据实际计算和收费支付帐单上的租金成本根据资源池的规格收取单租金资源池的收费。当然,可以根据资源所使用的水位动态扩展云平台,但资源销售的粒径粒径仍然存在基本差异在成本方面,多租用资源池可以通过峰值来带来更高的资源利用率 - 在不同的租户运营之间切除山谷,而云平台为用户提供了这一部分ERS,可以带来成本优势。

  当然,其中还将面临一些技术挑战。首先,就存储而言,云存储需要解决远程读取和写入以及中间文件存储的问题;内部存储可以实现定制的优化,但是存储的开放性是一个问题。在资源调度级别,我们需要确保不同的租户和不同类型的家庭作业可以在平台上获得公平合理的调度,并支持大型计算节点。操作时,UDF或三个发动机的场景需要隔离。确保租户之间不会访问数据,或者单个租户的恶意代码将影响平台和其他租户的安全性;同时,对于用户的自定义网络需求,还必须在租户级别上度过。

  通过图片直观地查看单租金和多租金之间的差异,单租金池可确保通过隔离IaAS层的隔离,而多租金平台则需要大数据解决内部问题的平台。在这些挑战中,对资源调度层的主要关注点是大规模场景中的性能和可伸缩性,安全性的挑战是解决方案是否可行的关键。如果是可行的。IF。您不能保证更多租金的安全性,对于云服务来说是不可接受的。

  MaxCompute是Alibaba Cloud用于大数据分析方案的企业级云号仓库。它为完整的托管服务器提供了一项服务。我们的租金通过强大而更多的租金实现。我们支持SQL,Java和Python的UDF功能,并支持基于MaxCompute数据的MaxCompute数据的实现。基于PAI的PAI。同时,支持开源火花的类型。

  在存储方面,我们使用Feitian的自我开发的存储引擎Pangu来实现基于功能的权限模型。没有直接访问外界的访问,可以简化权威模型。由于它是内部存储,我们可以实现分布式访问权限以避免集中式节点带来的性能瓶颈。同时,对于操作操作中的临时数据,我们可以使用内部存储来实现更好的本地化和管理。

  多租用资源池不能与良好的资源调度引擎分开。在资源管理和控制的调度级别,我们实现了高效率可扩展的资源调度系统。在调度和资源管理的层面上,扩展水平扩展的能力可以支持大型计算节点。同时,可以保证不同租户的不同类型的任务。可以在平台上获得相对公平的时间表,并进行完整的故障转移处理。在资源的形式中,我们提供了预付费和后付费的资源形式。预付费资源可以获得更多的资源保证。以后付款的用户按照资源的要求规格和时间顺序进行安排。

  在资源管理和控制的主机级别上,我们通过CGROUP机制实现了操作级别的资源控制,以确保作业的异常不影响其他家庭作业。支持不同的启动 - UP方法,过程或容器方法,也可以同时管理CPU或GPU的资源形式。

  基于对灵活性和可扩展性的考虑,MaxCompute支持用户自定义功能的能力,即UDF,用SQL语言,这很方便用户扩展计算行为。这些平台不可信,这可能会触发该平台的可信度。非指望的系统损坏或要攻击的恶意用户。我们已经通过轻巧的安全容器(虚拟容器)实现了流程级别的隔离。换句话说,在安全容器内运行令人难以置信的代码。

  考虑到MaxCompute的群集量表和大数据计算任务时间的特征,我们将对安全容器的稳定性和性能有很高的要求,并且我们还进行了针对性的优化。首先就安全性而言,我们剪切了VM内核,删除了不必要的内核功能,减少攻击表面并提供必要的过程。默认的外部网络访问已在Internet上进行。尽管我们是一个离线数据计算平台,但用户对延迟不太敏感,而是对整个链接的优化,也是我们一直在努力工作的方向,因此我们对安全容器的起始速度进行了大量优化。虚拟化的实现将具有额外的资源职业。从技术上讲,有必要减少VM的资源使用量,增加单个机器的计算密度,然后运行更多任务。计算数据的读取和编写需要在安全内部和外部建立有效的数据渠道容器。

  在拥有一个孤立的安全容器之后,我们需要相互交流,以便类似于Spark的任务。例如,在Spark的驾驶员和工人之间需要任务来分发和监视状态。根据安全考虑,这些通信不能在主机网络上构建,因此我们已经基于安全容器构建了VXLAN的虚拟网络。同一任务在同一虚拟网络中运行。虚拟网络中的节点通过专用网络IP进行通信,无法访问主机网络。根据自定义的外部网络需求,例如访问公共网络上的接口或VPC中的其他数据服务,我们还制作了任务级别当用户启动时,用户声明需要访问的网络目标。在必要的权限检查后,在操作维度中打开网络。

  同样由于频繁的任务和规模问题,虚拟网络的构建和交流也将面临相对较大的压力。我们知道,VPC在云上的创建通常也基于VXLAN技术,但是VPC的创建相对较高固定的。用户通常只有一个VPC,并且将主机的购买添加到VPC中以操作相对较低的频率。我们需要面对一个任务来创建VPC,并在简短的任务中拉动数十万个节点时间,这将在性能方面面临很多挑战。

  通过上述技术,我们在单个资源库上实现了强劲的租金,使更多的业务形式成为可能。基于上述安全容器和虚拟网络的隔离,我们在更租用的集群中提供了强大的UDF实现。UDF由其他平台提供,我们的UDF容量较小。我们允许访问本地IO和网络功能,并可以从用户VPC访问数据。例如,在湖仓库的场景中,我们可以通过创建网络链接来打开对用户VPC的网络访问。创建外部数据源后,连接网络链接,我们可以通过MaxCompute内部的SQL访问外部数据。目前,这些位于平台上的MaxComputethe平台中。任务级别的隔离使我们能够在单个群集中提供混合的计算表格。除了实施SQL和UDF外,我们还支持内部PAI机器学习平台和开源Spark Engine。

  在多租用设计方面,不同的业务场景,产品表格和基础结构将有不同的实现。返回设计的原始意图,为什么我们应该在统一计算和存储的资源上实现强劲的租金?MaxCompute是内部孵化产品。目前,该组内部超过99%的离线数据在MaxCompute平台上运行。在业务表格中,我们希望UDF生态学并支持与Hive兼容的开源生态系统,这源于该小组对数据的内部要求安全性,因此我们在早上实现。当面对公共云服务时,我们还希望为客户提供粒度,弹性和资源成本的优势,这促使我们最终遵守强租金的形式。

  在进化的未来方向上,我们还讨论了我们使用的内部存储。我们希望存储层的计算现场将进一步增强我们的开放性。在更多租金的情况下,大型客户的大型资源消费对于大型客户来说是相对不友好的,这可能会导致运营其他用户。因此,当面对此类客户时,也是一种选择。开放存储和单范围计算将为后续的云表单提供支持,以便用户有更多选择,并使用不同的组合来满足用户的个性化需求。

  原始链接

  本文是阿里巴巴云的原始内容,未经许可就无法重印。

  原始:https://juejin.cn/post/7103718391084482591