AWS Thai Blog
Amazon DataZone พร้อมให้บริการแล้ว Generally Available – สามารถทำงาน Data Project ร่วมกันภายในองค์กร
Amazon DataZone บริการจัดการข้อมูลใหม่เพื่อจัดทำ catalog, ค้นหา, วิเคราะห์, แบ่งปัน และควบคุมข้อมูลระหว่าง data producer (ผู้ให้บริการข้อมูล) กับ data consumer (ผู้ใช้ข้อมูล) ภายในองค์กร ตอนนี้พร้อมให้บริการแล้วที่ Singapore region
บทความนี้แปลมาจาก Amazon DataZone Now Generally Available – Collaborate on Data Projects across Organizational Boundaries โดยคุณ Channy Yun, Principal Developer Advocate for AWS
ในงาน AWS re:Invent 2022, AWS ได้มีการประกาศ Amazon DataZone ล่วงหน้า และในเดือนมีนาคม 2023 ได้เปิดเป็น public preview
ใน keynote ของ re:Invent, คุณ Swami Sivasubramanian, vice president of Databases, Analytics, และ Machine Learning ของ AWS ได้กล่าวว่า “ผมมีลูกค้ากลุ่มแรกที่ได้รับประโยชน์จาก DataZone ที่ใช้งาน AWS weekly business review meeting เพื่อใช้ data จาก sales pipeline และ revenue projections บอกพัฒนารายละเอียดเกี่ยวกับกลยุทธ์ทางธุรกิจของเรา”
ในระหว่าง keynote มีการ demo โดยคุณ Shikha Verma, head of product for Amazon DataZone, ซึ่งสาธิตวิธีการจัดการใน Amazon DataZone ซึ่งจะช่วยเพิ่มประสิทธิภาพในการจัดการ campaign โฆษณา และได้รับประโยชน์จาก data มากที่สุด
“ทุกองค์กรประกอบด้วยหลายทีมที่เป็นเจ้าของข้อมูล และใช้ข้อมูลที่หลากหลาย, บุคลากรที่เกี่ยวข้องกับข้อมูลจำเป็นต้องดึงข้อมูลเหล่านี้มารวมกัน แต่ไม่มีวิธีง่ายๆในการ access หรือ แม้กระทั่งมี visibility เกี่ยวกับข้อมูลเหล่านั้น ดังนั้น Amazon DataZone จึงเข้ามาช่วยตรงส่วนนี้ จากข้อมูลที่มาจากผู้ให้บริการข้อมูล data producer ไปจนถึงผู้ใช้ข้อมูล data consumer, จะสามารถเข้าและแบ่งปันข้อมูลในรูปแบบที่มี data governance”
ด้วย Amazon DataZone, data producer สามารถ populate business data catalog ด้วยโครงสร้าง data ที่มาจาก AWS Glue Data Catalog และ Amazon Redshift table, data consumer ก็สามารถค้นหาและ subscribe data asset เหล่านั้นใน data catalog และ share กับ business use case อื่นๆได้ ซึ่ง Consumer สามารถวิเคราะห์ข้อมูลด้วยเครื่องมือต่างๆเช่น Amazon Redshift หรือ Amazon Athena query editor — ซึ่งสามารถ access ได้ผ่าน Amazon DataZone portal และสามารถ integrate กับ publishing-และ-subscription workflow ซึ่งมีความสามารถในการ audit การ access ใน project ได้
แนะนำ Amazon DataZone
ภาพด้านล่างคือ concept และความสามารถของ Amazon DataZone
Amazon DataZone Domain แสดงถึงขอบเขตที่ชัดเจนของ Line of Businesses (LOB) เป็นพื้นที่ business area ภายในองค์กร ซึ่งสามารถจัดการ data ของตัวเอง รวมทั้ง data asset อื่นๆ, business terminology และยังมีมาตรฐานการทำจัดการ, Domain จะประกอบไปด้วย core components เช่น data portal, business data catalog, project, environment และมี built-in workflow ในตัว
- Data portal (อยู่ภายนอก AWS Management Console) – คือเว็บแอปพลิเคชันที่สามารถให้ user ต่างๆ สามารถเข้ามาที่ catalog, discover, govern, share และ analyze ข้อมูลในรูปแบบของ self-service, data portal รองรับการ authenticate ด้วย AWS Identity and Access Manager (IAM) credential หรือ credential จาก identity provider ผ่านทาง AWS IAM Identity Center
- Business data catalog – ในส่วนนี้คุณสามารถเพิ่มรายละเอียดเกี่ยวกับ taxonomy หรือ business glossary ซึ่งเป็นคำอธิบาย data ในเชิง business, คุณสามารถใช้ data catalog นี้ในองค์กร และช่วยให้ทุกคนสามารถค้นหาและเข้าใจความหมายของ data ได้อย่างรวดเร็ว
- Data projects & environments – คุณสามารถใช้ project เพื่อช่วยให้การ access AWS analytics โดยสร้าง business use case–based จากกลุ่มคนทำงาน, data asset และ analytics tool, Amazon DataZone project จะให้พื้นที่สำหรับ project member เพื่อสามารถทำงานร่วมกัน แลกเปลี่ยนข้อมูล และแบ่งปัน data asset, ใน project คุณสามารถสร้าง environment เพื่อจัดเตรียม infrastructure ที่จำเป็นสำหรับ project member เช่น analytics tool และ storage เพื่อให้ project member สามารถ access data และใช้ data เหล่านั้นได้
- Governance and access control – คุณสามารถใช้ built-in workflow เพื่ออนุญาตให้ user ภายในองค์กรสามารถที่จะ request access data ภายใน catalog, owner สามารถ review และ approve subscription request ได้, เมื่อ subscription request ถูกอนุมัติ, Amazon DataZone ก็จะ grant access โดยจัดการ permission ภายใต้ data store เช่น AWS Lake Formation และ Amazon Redshift อย่างอัตโนมัติ
สามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Amazon DataZone Terminology และ Concept
เริ่มต้นใช้งาน Amazon DataZone
ตัวอย่างการใช้งาน เช่น มี product marketing team ที่ต้องการรัน campaign เพื่อ drive การใช้งาน product ซึ่งการที่จะทำแบบนี้ จำเป็นต้องมีการ analyze ยอดขาย product ที่มี sales team เป็นเจ้าของ ซึ่งใน walkthrough นี้ sales team จะทำหน้าที่เป็น data producer เป็นผู้ให้บริการ data และ publish sales data ใน Amazon DataZone, หลังจากนั้น marketing team ซึ่งจะทำหน้าที่เป็น data consumer ผู้ใช้ data จะ subscribes sales data และวิเคราะห์ข้อมูลเพื่อสร้างกลยุทธ์ของ campaign
เพื่อทำความเข้าใจว่า DataZone ทำงานอย่างไร สามารถศึกษาเพิ่มเติมได้ที่นี่ Getting started guide for Amazon DataZone
1. Create a Domain
เมื่อคุณใช้งาน Amazon DataZone ครั้งแรก จะต้องมีการสร้าง domain และ core component เช่น business data catalog, project, และ environment ใน data portal สามารถสร้าง domain โดยเข้าไปที่ Amazon DataZone console และ เลือก Create domain
ใส่ชื่อ Domain และรายละเอียด ในส่วนอื่นจะใช้ค่า default
ตามตัวอย่าง ใน Service access section ถ้าคุณเลือก Create และใช้ new role by default, Amazon DataZone จะสร้าง role ใหม่ให้อัตโนมัติ และให้ permission ตามที่จำเป็น เพื่อให้ DataZone สามารถสร้าง API calls on behalf of users ภายใน domain, คุณสามารถคลิก Quick setup ซึ่ง DataZone สามารถจัดการเรื่องการ setup ต่างๆได้
กด Create domain ซึ่ง Amazon DataZone จะสร้าง IAM role ที่จำเป็นและ enable domain ให้กับ resource ต่างๆ AWS account ของคุณ เช่น AWS Glue Data Catalog, Amazon Redshift, และ Amazon Athena โดยการสร้าง Domain จะใช้เวลาหลายนาทีกว่าจะ complete, รอจนกระทั่ง status เป็น Available
2. สร้าง Project and Environment ใน Data Portal
หลังจากที่สร้าง domain สำเร็จแล้ว, เลือกที่ domain นั้นเพื่อดู summary page และจะเห็น data portal URL ซึ่งคุณสามารถใช้ URL นี้ในการ access Amazon DataZone data portal, เลือก Open data portal
สร้าง data project ใหม่ สำหรับ sales team เช่น publish sales data, เลือก Create Project
ใส่ “Sales producer project” ใน Name, และใส่ Description สำหรับ project นี้ จากนั้นเลือก Create
เมื่อคุณมี project แล้วก็ต้องสร้าง environment เพื่อทำงานกับ data และ analytics tool เช่น Amazon Athena หรือ Amazon Redshift ใน project โดยเลือก Create environment ใน overview page หรือ หลังจากที่คลิก Environment tab
ใส่ “publish-environment” ใน Name, และใส่ Description สำหรับ environment นี้ และเลือก Environment profile, ซึ่งก็คือ pre-defined template ที่มีรายละเอียด technical ที่จำเป็นในการสร้าง environment เช่น AWS account, Region, รายละเอียด VPC, และ resource เครื่องมือต่างๆที่ใช้ใน project
คุณสามารถเลือก default environment profiles, โดยเลือก DataLakeProfile เพื่อ enable ให้ผู้ใช้งาน สามารถ publish data จาก Amazon S3 และ AWS Glue based data lakes ซึ่งจะสามารถ query ข้อมูลใน AWS Glue table ผ่านทาง Amazon Athena
ถัดไปให้ เราจะข้าม optional parameter ไปก่อน, เลือก Create environment ซึ่งจะใช้เวลาประมาณ 1-2 นาที สำหรับการสร้าง environment ที่มี resource ใน AWS account เช่น IAM role, Amazon S3 suffix, AWS Glue databases และ Athena workgroup ซึ่งจะทำให้ member ของ project ทำงานได้ง่ายในการ produce และ consume data ใน data lake
3. Publish Data ใน Data Portal
เมื่อคุณมี environment ที่ต้องการ publish data ซึ่งอยู่ใน AWS Glue table แล้ว ก็จะ create table นี้ใน Amazon Athena, เลือก Query data with the Athena link บนด้านขวามือของ Environments page
จะขึ้น Athena query editor ใน tab ใหม่, เลือก publishenvironment_pub_db
จาก database dropdown และ copy-paste code เหล่านี้ใน query editor ซึ่งจะเป็นการสร้าง table ชื่อว่า catalog_sales
ใน environment ของ AWS Glue database
CREATE TABLE catalog_sales AS
SELECT 146776932 AS order_number, 23 AS quantity, 23.4 AS wholesale_cost, 45.0 as list_price, 43.0 as sales_price, 2.0 as discount, 12 as ship_mode_sk,13 as warehouse_sk, 23 as item_sk, 34 as catalog_page_sk, 232 as ship_customer_sk, 4556 as bill_customer_sk
UNION ALL SELECT 46776931, 24, 24.4, 46, 44, 1, 14, 15, 24, 35, 222, 4551
UNION ALL SELECT 46777394, 42, 43.4, 60, 50, 10, 30, 20, 27, 43, 241, 4565
UNION ALL SELECT 46777831, 33, 40.4, 51, 46, 15, 16, 26, 33, 40, 234, 4563
UNION ALL SELECT 46779160, 29, 26.4, 50, 61, 8, 31, 15, 36, 40, 242, 4562
UNION ALL SELECT 46778595, 43, 28.4, 49, 47, 7, 28, 22, 27, 43, 224, 4555
UNION ALL SELECT 46779482, 34, 33.4, 64, 44, 10, 17, 27, 43, 52, 222, 4556
UNION ALL SELECT 46779650, 39, 37.4, 51, 62, 13, 31, 25, 31, 52, 224, 4551
UNION ALL SELECT 46780524, 33, 40.4, 60, 53, 18, 32, 31, 31, 39, 232, 4563
UNION ALL SELECT 46780634, 39, 35.4, 46, 44, 16, 33, 19, 31, 52, 242, 4557
UNION ALL SELECT 46781887, 24, 30.4, 54, 62, 13, 18, 29, 24, 52, 223, 4561
คุณสามารถเห็น database 2 database จาก dropdown menu, publishenvironment_pub_db
คือพื้นที่สำหรับ produce data ใหม่ และสามารถเลือก publish ใน DataZone catalog, อีก database คือ publishenvironment_sub_db
คือพื้นที่สำหรับ project member ที่ subscribe data หรือ access data ใน catalog ภายใน project
ตรวจสอบว่า catalog_sales
table สร้างสำเร็จ, ตอนนี้คุณจะมี data asset สำหรับ publish ใน Amazon DataZone catalog
ในฐานะของ data producer คุณสามารถกลับไปที่ data portal และ publish table นี้ใน DataZone catalog, เลือก Data tab ใน top menu และ Data sources ในด้านซ้าย
คุณสามารถเห็น default data source ที่สร้างอัตโนมัติใน environment ของคุณ และเมื่อคุณเปิด data source คุณก็จะเห็น publishing database ใน environment ที่เราสร้าง catalog_sales
table ไว้
data source นี้จะนำ table ต่างๆ ที่อยู่ใน publishing database ใน DataZone ซึ่งโดย default, automated metadata generation จะถูก enable ไว้ ซึ่ง asset ต่างๆของ data source จะถูกนำเข้ามาใน DataZone อย่างอัตโนมัติ และ DataZone จะสร้าง business name ของ table และ column สำหรับ asset, เลือก Run in this data source
เมื่อ data source ได้รันเรียบร้อยเเล้ว คุณจะเห็น catalog sales
table ใน Data Source Runs
คุณสามารถเปิด asset และเห็น publishing job ที่จะทำการ extract technical metadata ที่มีรายละเอียดของ schema ของ table, AWS account, Region และ physical location ของ data
ถ้าทุกอย่างถูกต้อง คุณจะสามารถ accept คำแนะนำต่างๆ โดยคลิก icon รูปสมอง แต่ละ recommended item หรือ จะคลิก Accept all เพื่อ accept ทุกๆ recommendation เมื่อคุณพร้อมจะ publish data แล้ว, เลือก Publish asset และ reconfirm ใน dialog box
4. Subscribe Data as a Data Consumer
เปลี่ยน role มาเป็น marketing team เพื่อเรียนรู้วิธีการ subscribe หรือ request access table, repeat step การสร้าง project ใหม่ ตั้งชื่อว่า “Marketing consumer project” และสร้าง environment ชื่อว่า “subscriber-environment” สำหรับ data consumer
ใน project ที่สร้างใหม่ ให้พิมพ์ “catalog sales” ในช่อง search bar, คุณก็จะเห็น published table ใน search result, เลือก Catalog Sales Data
ใน catalog, เลือก Subscribe
ใน Subscribe to Catalog Sales Data window, เลือก marketing consumer project ของคุณ, ใส่เหตุผลในการ request subscription, และเลือก Subscribe
จะมี notify แจ้งเตือนผ่าน task ใน sales producer project ไปที่ data producer, ซึ่งในตอนนี้คุณได้ทำหน้าที่เป็นทั้ง subscriber และ publisher คุณก็จะได้รับ notification
เมื่อคุณได้รับ notification, สามารถเปิด subscription request ซึ่งจะมีรายละเอียดเกี่ยงกับ project, คน request, เหตุผลที่ต้องการ access, เลือก Approve และใส่เหตุผลในการ approve
ตอนนี้ subscription ก็ได้รับการ approve แล้ว คุณจะเห็น catalog sales data ใน marketing consumer project, เลือก Data tab ด้านบน top menu และ เลือก Data source ใน navigation pane ด้านซ้าย
เพื่อที่จะวิเคราะห์ข้อมูล subscribe data, เลือก Environments tab ด้านบน top menu และ Subscribe-environment สำหรับ marketing consumer project จะมี Query Data link ใหม่ ทางด้านขวา
คุณสามารถเห็น catalog sales table ซึ่งจะเเสดงอยู่ใต้ subscription database, สามารถ preview หรือ query ข้อมูลได้สำเร็จ
จะมี Athena query editor ใน new tab เลือก subscribeenvironment_sub_db
จาก database dropdown และใส่ query ใน query editor
คุณสามารถรัน query ต่างๆบน sales data table ซึ่งคุณได้ subscribe data ไว้ในฐานะของ consumer (marketing team) และมีการ publish data เข้าไปใน business data catalog โดย producer (sales team)
สามารถเรียนรู้เพิ่มเติมเกี่ยวกับ demo เช่น การ publishing AWS Glue tables และ Amazon Redshift tables และ view, สามาถเรียนรู้เพิ่มเติมได้ที่ YouTube playlist นี้
มีอะไรใหม่บ้างหลัง GA
Enterprise-Ready Business Catalog – เพื่อ add business context และทำให้ทุกคนภายในองค์กร สามารถค้นหา data ได้, คุณสามารถ customize catalog และ automate generate metadata ซึ่งให้ machine learning ในการ generate business name ของ data asset และ column, ตอนนี้ AWS ได้พัฒนา metadata curation functionality ซึ่งหลังจาก GA คุณสามารถ attach multiple business glossary terms เข้าไปใน asset แต่ละ column ได้
Self-Service for Data Users – เพื่อทำให้ data ง่ายสำหรับ user ในการ publish และ consume data คุณสามารถ customize business term ผ่าน API ซึ่ง Data publisher สามารถ automate ค้นหา metadata ผ่านการทำ ingestion job หรือ manual publish files จาก Amazon Simple Storage Service (Amazon S3) นอกจากนี้ Data consumer สามารถค้าหา และเข้าใจ data ได้อย่างรวดเร็ว, user สามารถได้รับการอัปเดตจาก system หรือ take action บางอย่าง ซึ่ง event เหล่านี้สามารถทำงานร่วมกับ Amazon EventBridge ในการ customize action
Simplified Access to analysis – project สามารถรองรับการทำงานของ business use case-based คุณสามารถสร้าง project และทำงานร่วมกับกลุ่มคน, data, และ analytics tools, คุณสามารถสร้าง environment ภายใน Project ซึ่งเตรียมความพร้อมด้าน infrastructure ให้กับ project member เช่น analytics tools และ storage, project member สามารถเข้ามา produce data ใหม่ หรือ consume data ที่ต้องการ ซึ่งสามารถ allow user ให้เพิ่มความสามารถ และ analytics tools ตามความต้องการ
Governed Data Sharing – Data producers เป็นเจ้าของ data และสามารถ approve subscription ได้ใน workflow, data consumer สามารถ request access ซึ่งคุณสามารถ setup subscription term เพื่อ attached asset เมื่อ publish และ automate subscription grant fulfillment สำหรับ AWS managed data lakes และ Amazon Redshift ด้วยการใช้ EventBridge event
Now Available
Amazon DataZone ตอนนี้ generally available แล้วใน 11 AWS Regions: US East (Ohio), US East (N. Virginia), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Canada (Central), Europe (Frankfurt), Europe (Ireland), Europe (Stockholm), and South America (São Paulo)
คุณสามารถทดลองใช้ Amazon DataZone ซึ่งให้ 50 users โดยไม่มีค่าใช้จ่าย 3 calendar month, free trial จะเริ่มตอนที่คุณสร้าง Amazon DataZone domain ใน AWS account, ถ้าคุณมีจำนวน user ใช้เกิน ก็จะถูก charge ที่ standard pricing
สามารถเรียนรู้เพิ่มเติมที่ product page และ user guide, คุณสามารถส่ง feedback ได้ที่ AWS re:Post for Amazon DataZone หรือผ่านทาง AWS Support ใน account ของคุณ