6 Nguyên Tắc Vàng Khi Xây Dựng Các Luồng Thu Thập Và Xử Lý Dữ Liệu Của Google Cloud

 

Các doanh nghiệp trên khắp thế giới đều đang dần nhận ra lợi ích của việc thay thế các kho dữ liệu kiểu truyền thống bằng các kho dữ liệu trên nền tảng đám mây, bởi vì sự dễ dàng trong việc truy cập thông tin và giúp nhân viên tại các phòng ban khác nhau trong công ty dễ dàng trao đổi với nhau. Tuy nhiên, việc chuyển dữ liệu từ nhiều nguồn khác nhau vào một kho dữ liệu duy nhất đòi hỏi việc phát triển các pipeline (các luồng thu thập và xử lý dữ liệu). Điều này có nghĩa là đội ngũ kỹ thuật của công ty phải tìm kiếm và phát triển nhiều loại công cụ khác nhau. Tuy nhiên việc quản lý và duy trì các pipeline lại vô cùng phức tạp và như vậy sẽ khó để áp dụng với tất cả các phòng ban. Việc phát triển các pipeline trên nền tảng đám mây để chuyển dữ liệu vào kho dữ liệu của công ty sẽ giảm bớt những khó khăn kể trên. Nhưng nếu thực hiện không chính xác, những pipeline này có thể tạo ra nhiều khó khăn khác.

Phát triển các pipeline trên nền tảng đám mây để sao chép dữ liệu từ nhiều nguồn khác nhau rồi chuyển đến kho dữ liệu đám mây đòi hỏi mức đầu tư khổng lồ cho nhân sự. Khối lượng công việc dường như sẽ quá tải đối với một công ty và sẽ rất phức tạp, khiến cho đội ngũ thực hiện có thể không biết phải bắt đầu từ đâu. Google Cloud đã xác định được một số nguyên tắc để lập kế hoạch xây dựng các pipeline. Những nguyên tắc này sẽ giúp người thực hiện xác định rõ nhu cầu về mặt kinh doanh và kỹ thuật trước khi bắt tay vào xây dựng pipeline.

Nguyên tắc 1: Xác định rõ mục tiêu

Nguyên tắc đầu tiên trước khi phát triển các pipeline đó là phải xác định được mục tiêu, bao gồm nhiều khía cạnh như mục tiêu kinh doanh, mục tiêu kỹ thuật, yêu cầu về quy định hoặc chính sách, kết quả mong muốn, các cột mốc chính, nhân sự thực hiện và các kỹ năng cần có, người dùng của dữ liệu hạ nguồn (downstream data). Xác định rõ các mục tiêu sẽ giúp xác định được các yêu cầu của các bên liên quan khi bắt đầu quá trình xây dựng, đồng thời có thể liên tục theo dõi tiến trình nhằm đảm bảo các pipeline đáp ứng được những yêu cầu đề ra ban đầu.

Việc đầu tiên phải làm để xác định được các mục tiêu đó là xác định rõ trạng thái kết thúc sẽ phải đáp ứng được mục tiêu kinh doanh của người dùng downstream data. Hãy nhớ rằng các pipeline thường luôn là phương tiện để hoàn thành trạng thái kết thúc. Một ví dụ về trạng thái cuối được xác định hiệu quả là “cho phép các phòng ban hiểu rõ hơn về khách hàng của bằng cách cung cấp quyền truy cập vào dữ liệu CRM trong kho dữ liệu đám mây” thay vì “di chuyển dữ liệu từ CRM sang kho dữ liệu đám mây”. Điều này có vẻ như chỉ là một sự khác biệt về câu chữ, nhưng việc xác định vấn đề theo nhu cầu kinh doanh sẽ giúp đội kỹ thuật có thể đáp ứng tốt nhất các nhu cầu của người dùng.

Sau khi xác định được mục tiêu kinh doanh sẽ là bước thu thập ý kiến của các bên liên quan, và sử dụng các ý kiến này để hướng dẫn đội kỹ thuật và triển khai các pipeline để nhập dữ liệu. Những yêu cầu này sẽ bao gồm các mốc thời gian quan trọng, thời gian hoạt động, tần suất cập nhật dữ liệu, chuyển đổi dữ liệu, nhu cầu của DevOps và các yêu cầu về bảo mật, chính sách hoặc quy định dành cho pipeline.

Nguyên tắc 2: Xây dựng đội nhóm

Xây dựng đội nhóm có nghĩa là đảm bảo lựa chọn đúng người với các kỹ năng phù hợp và được đặt ở đúng vị trí để phát triển, triển khai và duy trì pipeline. Sau khi thu thập yêu cầu từ các bên liên quan về pipeline, công ty có thể phác họa cấu ​​trúc xây dựng và triển khai pipeline. Điều này giúp xác định việc lựa chọn nhân sự để xây dựng, triển khai và quản lý thành công các pipeline và lường trước những vấn đề sẽ cần hỗ trợ thêm từ đối tác bên thứ ba hoặc thành viên mới trong nhóm.

Tìm được người phù hợp là vẫn chưa đủ, mà còn phải sắp xếp đội nhóm để đảm bảo từng cá nhân được trao quyền tối đa và phát huy toàn bộ năng lực của mình, đồng nghĩa với việc đảm bảo mỗi cá nhân đều nhận đúng trách nhiệm của mình và có khả năng hỗ trợ các nhóm liên quan.

Để làm được đó, công ty cần xây dựng quy trình hạn chế mọi rào cản về mặt kỹ thuật, ví dụ như trao quyền cho tất cả các cá nhân có thể di chuyển dữ liệu từ nguồn lên kho dữ liệu trên mây mà không vi phạm quy định. Các lập trình viên cũng phải có quyền truy cập nguồn dữ liệu gốc.

Nguyên tắc 3: Tối giảm Time to Value

Nguyên tắc thứ ba khi phát triển pipeline là giảm Time to Value. Điều này có nghĩa là phải xem xét gánh nặng của việc bảo trì dài hạn các pipeline trước khi phát triển và triển khai. Google Cloud đề xuất phương pháp sau khi xây dựng pipeline để giảm thiểu gánh nặng bảo trì: Viết càng ít code càng tốt. Điều này có thể thực hiện bằng cách:

  1. Sử dụng các công cụ nhập dữ liệu dựa trên giao diện. Các công cụ này giúp giảm tải sô lượng code cần bảo trì liên tục và trao quyền cho những người không phải là lập trinh viên để xây dựng pipeline. Các công cụ này cũng giảm thời gian phát triển pipeline và đẩy nhanh tốc độ triển khai và cập nhật pipeline.

  2. Nếu công cụ hoặc trình kết nối dữ liệu không đủ, người dùng có thể sử dụng các mẫu có sẵn.

  3. Nếu cả hai phương án trên đều không phù hợp, hãy sử dụng các dịch vụ triển khai pipeline như Dataflow hoặc Dataproc, để tiết kiệm chi phí hoạt động.

Nguyên tắc 4: Tăng độ tin cậy và tính minh bạch của dữ liệu

Đây là quy trình giám sát và quản lý các pipeline trên tất cả các công cụ. Nếu mỗi pipeline sử dụng các công cụ khác nhau hoặc không được phát triển theo một kế hoạch chung thì có thể dẫn đến lỗi “tech sprawl” và làm tăng đáng kể chi phí quản lý khi số lượng pipeline tăng lên. Giải pháp là phát triển các quy trình quản lý pipeline để tự động hóa báo cáo.

Dịch vụ giám sát như Google Cloud Monitoring Service của Google hoặc Splunk tự động hóa các chỉ số, event và thu thập siêu dữ liệu từ các sản phẩm khác nhau, bao gồm cả những sản phẩm được lưu trữ on-premise và trên nền tảng đám mây. Công cụ quản lý siêu dữ liệu như Data Catalog của Google Cloud hoặc Enterprise Data Catalog của Informatica có thể truyền đạt sắc thái của dữ liệu tốt hơn để người dùng biết được tài nguyên dữ liệu nào phù hợp nhất cho một trường hợp sử dụng nhất định. Điều này làm giảm đáng kể gánh nặng quản trị pipeline bằng cách loại bỏ các báo cáo thủ công thường dẫn đến cập nhật không chính xác hoặc chậm trễ.

Nguyên tắc 5: Quản lý chi phí

Các chi phí bao gồm chi phí tài nguyên đám mây và chi phí nhân sự để thiết kế, phát triển, triển khai và duy trì tài nguyên đám mây. Mục tiêu không phải luôn là giảm thiểu chi phí, mà còn phải là tối đa hóa giá trị đầu tư. Có nghĩa là tối đa hóa hiệu quả của mỗi đồng chi phí bằng cách giảm thiểu sự lãng phí trong việc sử dụng tài nguyên đám mây và thời gian của con người. Có một số yếu tố cần xem xét khi nói đến quản lý chi phí:

  • Sử dụng công cụ phù hợp cho công việc. Các pipeline khác nhau sẽ có các yêu cầu khác nhau về độ trễ, thời gian hoạt động, chuyển đổi, v.v. Tương tự, các công cụ khác nhau có điểm mạnh và điểm yếu khác nhau. Chọn công cụ phù hợp cho từng pipeline có thể giúp pipeline hoạt động hiệu quả hơn đáng kể. Điều này giúp giảm chi phí tổng, giúp nhân viên có thêm thời gian để tập trung vào các công việc quan trọng hơn và giúp pipeline hoạt động hiệu quả hơn.

  • Chuẩn hóa việc ghi nhãn cho nguồn. Triển khai và sử dụng một lược đồ ghi nhãn nhất quán trên tất cả các công cụ và nền tảng sẽ đem đến cái nhìn toàn diện nhất về chi tiêu của công ty.

  • Kiểm soát chi phí. Nếu có thể, hãy tận dụng các biện pháp kiểm soát chi phí để ngăn ngừa những sai sót dẫn đến các khoản phí phát sinh.

  • Theo dõi chi tiêu trên đám mây. Ghi chép lại chi tiêu khi sử dụng tài nguyên đám mây để phân tích nội bộ bằng cách sử dụng kho dữ liệu đám mây và công cụ trực quan hóa dữ liệu. Nếu không sẽ rất khó để hiểu bối cảnh của những thay đổi trong chi tiêu và tương quan với những thay đổi trong kinh doanh.

  • Quản lý chi phí là công việc của tất cả mọi người. Quản lý chi phí phải là một phần trách nhiệm của tất cả những người có thể tạo hoặc sử dụng tài nguyên đám mây. Để làm được điều này, công ty nên có báo cáo chi tiêu trên đám mây trong nội bộ.

Gợi ý: Chuyển từ báo cáo dựa trên chi phí (“Chúng tôi đã chi $ X cho bộ nhớ BigQuery vào tháng trước”) sang báo cáo dựa trên giá trị ( “Phải trả $ X để phục vụ những khách hàng mang lại doanh thu $ Y”).

Nguyên tắc 6: Liên tục cải tiến dịch vụ

Các dịch vụ đám mây liên tục cải thiện hiệu suất và độ ổn định, đôi khi là những cải tiến rất nhỏ đến mức người dùng không nhận ra. Những cải tiến này có thể giúp pipeline chạy nhanh hơn, rẻ hơn và ổn định hơn theo thời gian. Dưới đây là một số gợi ý để tận dụng các cải tiến này:

  • Tự động hóa pipeline và việc quản lý pipeline. Không chỉ các pipeline có thể tự động hóa, mà hầu như tất cả các khía cạnh của việc quản lý pipeline cũng có thể tự động hóa, bao gồm việc theo dõi pipeline, việc giám sát, quản lý chi phí, tạo lịch trình, quản lý truy cập và rất nhiều công việc khác.

  • Giảm thiểu sự phức tạp của pipeline. Các pipeline yêu cầu được bảo trì liên tục. Các pipeline dễ bảo trì nhất thường là những pipeline ít phức tạp nhất và được tối ưu hóa tự động. Bất kỳ chuyển đổi nào của pipeline thuộc quá trình tối ưu hóa theo cách thủ công đều có thể gặp khó khăn trong việc thích ứng hoặc mở rộng quy mô khi các dịch vụ cơ bản được cải tiến. Việc chuyển đổi này có thể được giảm thiểu bằng cách xây dựng ELT pipeline (ELT: Extract, Transform, Load) thay vì ETL pipeline (ETL: Extract, Transform, Load).