功能空间组织在砖上
2022年3月10日 在最佳实践
介绍
这个博客是我们的一部分管理要点系列中,我们将关注话题,管理和维护数据砖环境是很重要的。留意其他博客数据治理、运维&自动化,用户管理和可访问性,和成本跟踪和管理在不久的将来!
2020年,砖开始释放私人预览统称为几个平台的特性bob体育客户端下载Enterprise 2.0(或E2);这些特性提供了下一个迭代的Lakehousebob体育客户端下载平台,创造了可伸缩性和安全性与力量和速度数据砖上已经可以使用了。当Enterprise 2.0是公开的,一个最值得期待的添加能够创建多个工作区从一个帐户。此功能打开新的可能性的合作,组织调整和简化。我们发现以来,然而,这也引发了一系列的问题。基于我们的经验在企业客户的每一个尺寸,形状和垂直,这个博客将最常见问题的答案和最佳实践在砖在工作区管理;在基本层面上,这可以归结为一个简单的问题:什么时候应该创建一个新的工作区吗?具体来说,我们将突出关键策略来组织你的工作区,和最佳实践。
工作空间的组织基础
虽然每一个云提供商(AWS,Azure和GCP)有不同的底层架构,组织跨云的砖工作区是相似的。逻辑顶级构造E2主账户(AWS)或订阅对象(Azure砖/ GCP)。在AWS,我们提供一个E2帐户/组织,提供了一个统一的窗格的可见性和控制所有的工作区。通过这种方式,你的管理活动是集中,能够启用SSO,审计日志,统一目录。Azure已经相对较少限制创建顶级订阅对象;然而,我们仍然建议顶级订阅的数量用于创建数据砖工作区尽可能多的控制。我们将称顶级构造为一个账户在这个博客,是否它是一个AWS E2 GCP / Azure帐户或订阅。
在一个顶级的帐户,可以创建多个工作区。推荐的最大工作空间每个账户在Azure在20到50之间,用一个硬限制在AWS上。这种限制来自管理开销源于越来越多的工作区:管理协作,访问,和安全在数以百计的工作空间可以成为一个极其困难的任务,甚至特殊的自动化流程。下面,我们就来展示一个高级对象模型的砖。
企业需要创建资源云账户以支持多租户的需求。创建单独的云账号和工作区为每个新用例有一些明显的优势:方便成本跟踪、数据和用户隔离,和一个更小的爆炸半径,以防安全事故。然而,账户扩散带来一套单独的复杂性——治理、元数据管理和协作的开销增长以及账户的数量。当然,关键是平衡。下面,我们首先通过一些一般考虑企业空间组织;然后,我们将通过两个常见的工作区隔离策略,我们看到我们的客户包括:LOB-based和产品为基础的。各有优势,劣势和复杂性,我们将讨论之前的最佳实践。
一般工作区组织条例
在设计工作空间策略,我们经常看到客户跳转到的第一件事是宏观层面的组织选择;然而,有许多低级的决定同样重要!下面我们编译其中最相关的。
一个简单的three-workspace方法
尽管我们把大部分的时间花在这个博客上谈论如何把你的工作区效力最大化,有全班砖的客户来说,一个单一的、统一的工作空间/环境不仅仅是够了!事实上,这已成为越来越多的实用的功能回购,统一目录persona-based着陆页等。在这种情况下,我们仍然建议开发的分离,登台和生产工作区用于验证和QA。这将创建一个环境适合小型企业或团队敏捷价值的复杂性。
创建一套的优缺点工作区:
+没有担心弄乱工作区内部混合资产,或稀释成本/使用跨多个项目/团队;一切都是在相同的环境中
+简单的组织意味着降低管理开销
- - - - - -对于更大的组织,一个dev / stg /珠三角工作区是站不住脚的,因为平台限制,混乱,无法分离数据和治理问题bob体育客户端下载
如果一套工作区看起来正确的方法,下面将有助于保持你的最佳实践Lakehouse操作顺利:
- 定义一个标准化过程推动代码之间的各种环境;因为只有一个的环境,这可能是比用其他方法简单。利用等特性回购和秘密和外部工具,培养好CI / CD过程来确保你的自动转换发生和顺利。
- 建立和定期审查身份提供商组映射到砖资产;因为这些组是主要的驱动程序的用户授权策略,这是至关重要的,他们是准确的,并映射到适当的基础数据和计算资源。例如,大多数用户可能不需要访问生产工作区;只有少数的工程师或管理员的权限。
- 留意你的使用和了解砖资源限制;如果您的工作空间中使用或用户计数开始成长,您可能需要考虑采用一个更涉及空间组织策略避免per-workspace限制。利用资源标签尽可能以跟踪成本和使用指标。
利用沙箱工作区
在本文中提到的任何策略,一个沙箱环境是一个很好的实践允许用户培育和发展不那么正式,但仍可能有价值的工作。至关重要的是,这些沙箱环境中需要平衡的自由探索与防止无意中实际数据(或故意)影响生产工作负载。一个常见的最佳实践等工作区是主机在一个完全独立的云账户;这大大限制了用户的爆炸半径在工作区中。同时,建立简单的护栏(比如集群政策,限制数据访问“玩”或洁净的数据集,和关闭出站连接在可能的情况下)意味着用户可以相对自由去做(几乎)无论他们想做什么不需要持续的管理监督。最后,内部沟通同样重要;如果用户无意中构建一个了不起的应用程序在沙箱,吸引了成千上万的用户,或期望生产级支持他们的工作在这样的环境下,这些行政储蓄将会很快蒸发。
对沙箱工作区最佳实践包括:
- 使用一个单独的云账户,不包含敏感或生产数据。
- 建立简单的护栏,这样用户可以相对自由的环境,无需管理监督。
- 沟通清楚,沙箱环境“自助服务”。
数据隔离和敏感性
日益突出的敏感数据在我们的客户在所有垂直;数据一旦有限的卫生保健提供者或信用卡处理器现在成为理解病人分析源或客户情绪,分析新兴市场,定位新产品,几乎任何你能想到的。这些财富的数据有很高的潜在风险,与不断增长的数据泄露的威胁;出于这个原因,保持敏感数据隔离和保护是很重要的无论你选择什么组织策略。砖提供了一些方法保护敏感数据(如acl和安全的共享),并结合云提供商工具,可以使Lakehouse构建尽可能低风险。周围的一些最佳实践数据隔离和敏感性包括:
- 理解你的独特的数据安全需求;这是最重要的一点。每个企业都有不同的数据和你的数据将推动您的治理。
- 适用的政策和控制存储水平和metastore。S3政策和ADLS acl应该总是使用least-access原则的应用。利用统一编目应用一个额外的控制数据访问层。
- 分开你的敏感数据在逻辑上和物理上的敏感数据;许多客户使用云完全独立帐户(和砖工作区)敏感和不敏感数据。
博士和区域备份
灾难恢复(DR)是一个广泛的话题,重要的是你是否使用AWS,Azure或GCP;我们不会覆盖所有在这个博客,但是将更加关注如何博士和地区因素发挥到工作空间的设计。在这种背景下,博士意味着工作空间的创建和维护一个单独的区域从标准生产工作区。
博士的策略可以根据业务的需要相差很大。例如,一些客户更愿意保持一个active - active配置,所有资产从一个工作空间不断复制到第二个工作空间;这提供了最大数量的冗余,但也意味着复杂性和成本(不断地传送数据区域和执行对象复制和重复数据删除技术是一个复杂的过程)。另一方面,一些客户喜欢做最低必要的,以确保业务连续性;第二个工作区可能包含很少,直到故障转移发生时,或只能备份在一个偶尔的基础上。确定正确的故障级别是至关重要的。
无论你选择实现什么博士的水平,我们建议如下:
- 您选择的代码存储在一个Git仓库,on-prem或在云中,并使用等特性回购同步尽可能砖。
- 只要有可能,在结合使用三角洲湖深克隆复制数据;这提供了一种简便的,开源的方式有效的备份数据。
- 使用你的云提供商提供的原生云工具来执行备份的数据不是存储在三角洲湖,外部数据库、配置等。
- 使用工具,如起程拓殖备份对象(如笔记本电脑、就业、秘密、集群和其他工作区对象。
记住:砖负责维护地区空间基础设施的控制平面,但你是负责workspace-specific资产,以及云基础设施依赖您的生产工作。
隔离的业务线(LOB)
现在我们深入实际的组织在一个企业环境的工作区。LOB-based项目隔离的传统enterprise-centric看待IT资源的方式,这也带来了许多的传统强项和弱点LOB-centric对齐。因此,对于很多大公司来说,这种方法工作区管理自然会来。
LOB-based工作区策略,每个功能单元的业务将得到一组工作区;传统上,这将包括开发、分期和生产工作区,尽管我们已经看到客户10中间阶段,每个潜在的与自己的工作区(不推荐)!在开发代码编写和测试,然后提升STG(通过CI / CD自动化),最后降落在珠江三角洲,它运行作为一个预定工作,直到被弃用。环境类型和独立LOB的主要原因是启动一个新的工作空间在这个模型;这样做对于每个用例或数据产品可能是过度的。
上面的图表显示了一个潜在的方式LOB-based工作区可以结构化;在这种情况下,每个LOB都有一个单独的云账户和一个工作区在每个环境中(dev / stg /珠三角),还有一个专门的管理。重要的是,所有这些工作区属于同一个数据砖账户,并利用统一目录相同。一些变化将包括共享云账户(和潜在的底层资源如vpc和云服务),使用一个单独的/ dev / stg prd云账户,或创建单独的外部metastores每个LOB。这些都是合理的方法,很大程度上取决于业务需求。
总的来说,有很多好处,以及一些缺点LOB的方法:
+每个LOB资产可以被孤立,从云的角度和从一个工作空间的角度来看;这使得简单的报告/成本分析,以及更少的凌乱的工作区。
+明确的用户和角色分工提高了Lakehouse的总体治理,并降低总体风险。
+自动化的推广环境之间创造了一个高效、低开销的过程。
- - - - - -前期规划需要确保跨lob的流程标准化,这整个砖账户不会打击平台限制。bob体育客户端下载
- - - - - -自动化和管理进程需要专家建立和维护。
作为最佳实践,我们建议以下这些构建LOB-based Lakehouses:
- 采用一种最小特权使用细粒度的访问控制用户访问模型和环境;一般来说,很少有用户应该生产访问,与这个环境的交互应该自动化和高度控制。捕捉这些用户和组身份提供者和他们Lakehouse同步。
- 理解和计划对云提供商和砖平台限制;bob体育客户端下载其中包括,例如,工作区,API ADLS率限制,在运动流节流等。
- 使用一个标准化的metastore /目录尽可能强烈的访问控制;这允许重用资产在不影响隔离。统一目录允许细粒度控制表和工作空间的资产,其中包括对象等MLflow实验。
- 利用数据共享lob之间尽可能安全地共享数据,而不需要重复的努力。
数据产品隔离
我们做什么当LOB需要协作的跨专业,或者当一个简单的/ dev / stg prd模型并不适合我们的LOB的用例?我们可以摆脱一些严格的礼仪LOB-based Lakehouse结构和拥抱一个稍微现代的方法;我们称之为空间隔离的数据产品。隔离的概念,而不是严格的LOB,我们分离而不是由顶级项目,给每一个生产环境。我们也混合在共享开发环境,以避免工作空间扩散,使资产简单的重用。
乍一看,这类似于LOB-based隔离,但有一些重要的区别:
- 共同开发工作区,单独为每个顶级项目工作区(这意味着每个LOB可能有不同的工作区总体的数量)
- 沙箱工作空间的存在,这是特定于一个LOB,比传统开发和提供更多的自由和更少的自动化工作区
- 共享资源和/或工作区;在LOB-based架构这也是可能的,但往往是复杂的严格分离
这种方法具有很多相同的长处和短处,LOB-based隔离,但是提供了更多的灵活性,强调项目的价值现代Lakehouse。越来越多,我们看到这成为空间组织的“黄金标准”,相应的运动技术主要是使其值生成器。一如既往,业务需求可能驱动轻微偏离这个示例架构,如专用dev / stg /珠三角尤其是大型项目,跨lob的项目,或多或少云资源的隔离,等。不管具体结构,我们建议以下最佳实践:
- 分享数据尽可能和资源;虽然种族隔离的治理和基础设施和工作区是有用的跟踪、资源增殖迅速变成了一种负担。提前仔细分析将有助于识别领域的重用。
- 即使没有分享项目之间广泛,使用共享metastore如统一目录,共享种代码基底(通过,即。回购)在可能的情况下。
- 使用起程拓殖(或类似工具)来自动化的过程创建、管理和删除工作区和云基础设施。
- 通过沙箱环境中为用户提供灵活性,但确保这些适当的护栏设置限制集群大小,数据访问等。
总结
充分利用所有的好处Lakehouse和支持未来的增长和可管理性,应该小心计划工作空间布局。其他相关的工件,需要考虑在这个设计包括一个集中模型注册、代码库和目录援助合作在不影响安全。总结的一些最佳实践突出在这篇文章中,我们主要外卖下面列出:
最佳实践# 1:减少的数量高级账户(云提供商和砖级别)在可能的情况下,和创建一个工作区只有当分离是必要的对于合规,隔离,或地理限制。有疑问时,保持简单!
最佳实践# 2:决定一个隔离策略,将提供您长期的灵活性,没有不必要的复杂性。有关你需要的实际问题和实施严格的指导方针之前你Lakehouse开始斜坡弯道工作量;换句话说,测量两次,一次!
最佳实践# 3:自动化云过程。这个范围基础设施的方方面面(其中许多将在以下博客!),包括SSO / SCIM, Infrastructure-as-Code起程拓殖等工具,管道和CI / CD回购、云备份和监控(使用原生云和第三方工具)。
最佳实践# 4:考虑建立企业级中央治理COE团队战略,重复的数据和模板化和自动化机器学习管道,这样不同的数据团队可以使用自助服务功能有足够的护栏。COE团队往往是一个轻量级但关键数据中心团队和应该视图本身作为一个推动者——维护文档,安抚、教程和常见问题解答其他用户教育。
最佳实践# 5:Lakehouse提供一定程度的数据湖并不治理;利用!评估你的合规和治理需要建立你的Lakehouse的第一步骤,并利用砖提供的功能,以确保风险最小化。这包括审计日志交付,HIPAA和PCI(如适用),适当的漏出控制,使用acl和用户控件,定期复习上面的所有。
我们会提供更多管理最佳实践在不久的将来,博客主题从用户管理数据治理。同时,接触你的砖账户在工作区管理团队问题,或者如果你想了解更多关于最佳实践的砖Lakehouse平台!BOB低频彩bob体育客户端下载