• Home
  • All about Japan
  • DataOps Engineer là gì? Tại sao cần DataOps Engineer? Những kỹ năng cần có!

DataOps Engineer là gì? Tại sao cần DataOps Engineer? Những kỹ năng cần có!


DataOps Engineer (kỹ sư DataOps) là người nắm rất rõ quy trình xây dựng một sản phẩm dữ liêu và phân tích. Các hoạt động dữ liệu (data operation) hoặc sản xuất dữ liệu (data production) là một loạt các bước liên hoàn từ lấy dữ liệu thô, qua một loạt các bước xử lý và chuyển đổi, và xuất ra thành phẩm dưới dạng các bảng điều khiển, các dự đoán, kho dữ liệu hoặc bất cứ gì doanh nghiệp yêu cầu. Hãy coi các hoạt động dữ liệu giống như một nhà máy.





Hầu hết các tổ chức vận hành nhà máy dữ liệu này bằng phương pháp thủ công. Qua việc khảo sát, chúng tôi thấy các nhà khoa học dữ liệu và chuyên gia dữ liệu dành hơn 50% thời gian để thực hiện các thủ tục mang tính hỗ trợ cho các hoạt động dữ liệu.





Hình 1. Dây chuyền lắp ráp ô tô
Hình 1. Dây chuyền lắp ráp ô tô




Hình 1 là dây chuyền lắp ráp ô tô đầu thế kỷ 20. Trong hình, mọi người xếp thành một hàng để lắp ráp các linh kiện. Rất nhiều tổ chức dữ liệu điều hành các hoạt động dữ liệu giống như một nhà máy sản xuất ô tô hàng trăm năm tuổi. Cũng như các công ty ô tô giảm chi phí bằng cách sản xuất hàng loạt, các công ty ở năm 2021 cũng đưa kỹ sư dữ liệu (data engineer) và nhà khoa học dữ liệu (data scientist) vào “dây chuyền”. Hãy tưởng tượng nếu một công ty ô tô đi yêu cầu các kỹ sư thiết kế đi chế tạo chúng thử mà xem. Đó là tình trạng của phân tích dữ liệu ngày nay.





Hình 2. Nhà máy tự động
Hình 2. Nhà máy tự động




Kỹ sư DataOps giúp biến đổi những thứ trong Hình 1 thành nhà máy tự động (Hình 2). Các quy trình và luồng công việc được thiết kế và tự động hóa cao. Còn các kỹ sư, nhà khoa học và phân tích dữ liệu thì ở văn phòng, thực hiện việc lập trình rô-bốt và thiết kế các quy trình tự động để tạo ra các phiên bản sản phẩm được cải tiến liên tục, tức là các phân tích. 





Kỹ sư DataOps thiết kế dây chuyền dữ liệu để các kỹ sư dữ liệu và nhà khoa học dữ liệu có thể phân tích thông tin nhanh chóng và ít sai sót nhất có thể. Có thể nói rằng Kỹ sư DataOps là người nắm rõ quy trình và luồng công việc tổng thể, còn nhà khoa học dữ liệu và những người khác thì làm việc bên trong quy trình đó.





Vậy DataOps là gì?





DataOps là một tập hợp các phương pháp thực hành, chuẩn mực văn hóa và các mô thức kiến trúc giúp cho các chuyên gia dữ liệu phân phối giá trị một cách nhanh chóng. 





DataOps cho phép:





  • Thử nghiệm và đổi mới nhanh chóng để cung cấp thông tin phân tích cho khách hàng
  • Tỷ lệ lỗi thấp
  • Cộng tác với nhiều nhóm người, công nghệ và môi trường phức tạp
  • Đo lường và giám sát kết quả rõ ràng




DataOps thiết lập một cổng xử lý để tự động hóa các luồng sản xuất dữ liệu và phát triển phân tích để đội dữ liệu (data team) hoạt động hiệu quả, đổi mới và ít mắc lỗi. Trong bài này, chúng ta sẽ khám phá vai trò của Kỹ sư DataOps trong việc thúc đẩy tổ chức dữ liệu đạt được mức năng suất cao hơn.





Hình 3. Value Pipeline và Innovation Pipeline
Hình 3. Value Pipeline và Innovation Pipeline




Hành trình của dữ liệu





Quy trình dữ liệu (The Data Pipeline) là một chuỗi các bước chuyển hóa dữ liệu thô thành thông tin phân tích (insight) để tạo ra giá trị. Quy trình này đi băng qua nhiều vai trò và tổ chức. Các bước trong quy trình được biểu diễn thành vòng tròn trong Hình 3. Các kỹ sư dữ liệu, nhà khoa học, nhà phân tích, ban quản trị và các vai trò khác làm việc bên trong các vòng tròn này hoặc tạo các phân đoạn quy trình kết hợp được với những quy trình khác.





Quy trình giá trị (The Value Pipeline) đại diện cho các hoạt động dữ liệu mà ở đó dữ liệu được chuyển đổi thành các biểu đồ, đồ thị và các phân tích khác có giá trị cho tổ chức. 





Còn Quy trình đổi mới (The Innovation Pipeline) thì bao gồm việc phát triển phân tích, QA (quality assurance), triển khai và phần còn lại của quy trình quản lý thay đổi cho Quy trình giá trị. 





Các chuyên gia dữ liệu hoạt động tại nhiều điểm khác nhau trong những quy trình này. 





Nói chung, chúng ta muốn chắc chắn rằng Quy trình giá trị sẽ thực thi mà không phát sinh lỗi và chúng ta muốn triển khai mạch lạc các phân tích mới mà không vi phạm bất kỳ điều gì hoặc sinh ra phản ứng phụ. 





DataOps Engineer chính là người giúp cho toàn bộ hệ thống hoạt động tốt hơn. Nếu tổ chức dữ liệu muốn vận hành Quy trình giá trị mạnh mẽ như nhà máy 6 sigma (six sigma factory), nó phải có khả năng thực hiện và triển khai các cải tiến quy trình nhanh chóng như một startup ở Silicon Valley.





Kỹ sư dữ liệu thực hiện việc chuyển hóa dữ liệu. Sản phẩm của họ là dữ liệu. Sản phẩm của nhà khoa học dữ liệu là mô hình và phân khúc. Sản phẩm của nhà phân tích dữ liệu là biểu đồ, đồ thị và biểu diễn trực quan. Còn Kỹ sư DataOps vẽ ra một đường quanh các vai trò này và thúc đẩy sự cộng tác tốt hơn trong data team.





Khi nào được coi là “Hoàn thành”





Nhiều người làm dữ liệu có cách hiểu rất hạn hẹp về “hoàn thành”. Chẳng hạn một người đang xây dựng một loạt SQL hoặc một sổ Jupyter. Họ hoàn thành phần việc của mình và bàn giao cho một người khác thì họ đã “xong” nhiệm vụ rồi chăng?





Định nghĩa hạn hẹp về 2 chữ “hoàn thành” mà nhiều chuyên gia dữ liệu sử dụng chỉ đúng ở trong môi trường không cần biết hay không quan tâm đến trở ngại của những vai trò khác như triển khai, giám sát và duy trì thành phần đó. Một chuyên gia như vậy chỉ tập trung vào nhiệm vụ, chứ không phải vào giá trị. Khó khăn sẽ xảy ra nếu bạn thấy những điều này trong team data: 





  • Quăng nó qua production đi – để bọn họ tự mò
  • Định nghĩa “hoàn thành” là “Tôi xong rồi, không đụng vào nữa nhé”.
  • “Tôi chỉ lo đúng việc của mình”
  • Nếu có vấn đề thì đó là “Vấn đề của ai đó, không phải tôi”
  • Giả câm, giả điếc
  • Tập trung vào nhiệm vụ, không màng tới giá trị
  • Tập trung vào dự án, bỏ bê sản phẩm
  • “Hy vọng mọi thứ suôn sẻ”
  • Dựa dẫm vào kiểm thử thủ công
  • Không muốn nhận ca khó




DataOps có cái nhìn rộng hơn, tổng quan hơn. 





“Hoàn thành” nghĩa là chức năng đó chạy tốt trong môi trường production và làm cho khách hàng / người dùng hài lòng. Thay vì tập trung vào một nhiệm vụ, kiểm thử nhỏ lẻ và ít phản hồi thì DataOps tập trung vào việc tăng giá trị. Thông qua kiểm thử tự động, DataOps hợp thức hóa sự cộng tác nhuần nhuyễn giữa kiểm thử, giám sát, theo dõi, triển khai và phối hợp nhiệm vụ (Hình 4).





Hình 4. DataOps Engineer thúc đẩy sự cộng tác trong data team
Hình 4. DataOps Engineer thúc đẩy sự cộng tác trong data team




Tự động hóa Nugget





Các nhà khoa học và phân tích dữ liệu tạo ra cái gọi là nugget of code (cụm mã). Các nugget có thể là mã ETL làm nhiệm vụ điều khiển Informatica (1 công cụ), chuyển đổi SQL, một chút Python hoặc XML. Bất kể tính nhất quán hay mục đích của nó là gì, thì các nugget phải được kiểm tra kỹ lưỡng trước khi được đưa vào các dây chuyền lớn hơn (quy trình). 





Dưới đây là các ví dụ về các cách mà Kỹ sư DataOps làm việc với “cụm mã” trong hệ thống DataOps:





  • Bổ sung vào quy trình
  • Tạo kiểm thử
  • Vận hành nhà máy
  • Tự động triển khai
  • Làm với nhiều người
  • Đo lường thành công
  • Bật chế độ DataOps tự phục vụ




Các kỹ sư DataOps thường không giải quyết các vấn đề dữ liệu bằng cách tạo ra các “nugget”. Mà họ giải quyết các vấn đề về quy trình bằng cách sử dụng tự động hóa vào kiểm thử, triển khai và duy trì các nugget này trong hệ thống. Bằng cách tự động hóa công việc quản lý liên quan đến các nugget này, Kỹ sư DataOps cho phép người tạo nugget làm việc nhanh và liên tục hơn.





DataOps áp dụng tự động hóa để làm mạch lạc luồng công việc. Theo nguyên tắc chung, bất kỳ hoạt động nào được thực hiện thủ công từ ba lần trở lên đều phải được tự động hóa. Kỹ sư DataOps tạo ra các lịch trình tự động và lịch trình điện toán đám mây.





Dưới đây là một số ví dụ phổ biến về tự động DataOps:





  • Tự động hóa production – thay thế các thủ tục thủ công để thực thi các hoạt động dữ liệu bằng tự động hóa
  • Theo dõi / kiểm thử dữ liệu production – tạo các bài kiểm thử để phát hiện lỗi trước khi đưa đến khách hàng, theo dõi các quy trình sản xuất và phát triển theo thời gian thực
  • Môi trường tự phục vụ – cung cấp cho/đội ngũ cách thức tạo dữ liệu và các công cụ phù hợp theo nhu cầu
  • Kiểm thử hàm và hồi quy – tự động hóa kiểm thử phát triển và triển khai
  • Tự động hóa dữ liệu kiểm thử – tạo dữ liệu kiểm thử theo yêu cầu
  • Tự động hóa triển khai – triển khai với thao thác thủ công tối thiểu
  • Các thành phần được chia sẻ – chuẩn hóa và thường xuyên tái sử dụng “các nugget”, các quy trình và hạ tầng
  • Đo lường quy trình – xây dựng bảng điều khiển cho mọi khía cạnh của vòng đời dữ liệu để có tính minh bạch. 




DataOps Engineering là về việc thực hiện các quy trình vô hình và làm cho chúng rõ ràng hơn. DataOps xác định hoặc dự đoán các lỗi trong tương lai để chúng có thể được giải quyết sớm và tránh những ảnh hưởng tiêu cực đến sự tổng quan và phân tích người dùng.





Những thách thức khi triển khai tự động hóa dữ liệu phản ánh một số khó khăn sau:





  • Không ai chịu trách nhiệm
  • Không đủ thời gian làm tự động hóa
  • Không ai quan tâm
  • Ai cũng lo làm tác vụ, thay vì xây dựng quy trình tốt hơn
  • Cho rằng tự động hóa không quan trọng bằng làm dữ liệu
  • Không như nhà phát triển phần mềm, dữ liệu không thể tự động hóa được
  • Làm thủ công là cách để hoàn thành công việc




Khi một nhiệm vụ như tự động hóa không được công nhận là quan trọng, không ai chịu trách nhiệm về nó. Trong nhiều tổ chức dữ liệu, có quan điểm cho rằng trở thành nhà khoa học dữ liệu là hình thức đóng góp cao nhất. Do tác động của tự động hóa lên năng suất của nhóm, không có gì ngạc nhiên khi các Kỹ sư DevOps hàng đầu là một trong những vị trí được trả cao nhất trong ngành phần mềm. 





Mục tiêu của kỹ sư DataOps là tự động hóa các quy trình của tổ chức:





  • Giảm lãng phí.
  • Tăng cường tái sử dụng. Bớt “sáng tạo lại bánh xe”
  • Giảm sai số và thời gian thất bại.
  • Tăng cường kiểm soát phiên bản.
  • Phát hiện chênh lệch và cải thiện việc kiểm thử.
  • Đảm bảo các tiêu chuẩn bảo mật dữ liệu được áp dụng vào quy trình.
  • Thực hiện báo cáo về mọi mặt của quy trình và vòng đời dữ liệu của data team




Kỹ sư DataOps cũng là bà con với Kỹ sư DevOps, nhưng quen thuộc với các công cụ và phương pháp của hệ sinh thái dữ liệu hơn. Điều tuyệt vời và đầy thách thức ở vai trò này là nó đòi hỏi một số kỹ năng khác nhau trong nhiều lĩnh vực. 





Bộ kỹ năng cho Kỹ sư DataOps như sau:





  • Một ngôn ngữ script: Python, Bash
  • Ngôn ngữ dữ liệu: SQL
  • Kiểm soát mã nguồn: git
  • Công cụ DataOps: DataKitchen
  • Công cụ cấu hình DevOps: Terraform, Puppet, Docker / K8s
  • Kỹ năng quy trình: Các phương pháp & công cụ Agile như JIRA
  • Làm quen với chuỗi công cụ mà các kỹ sư dữ liệu, nhà khoa học, nhà phân tích và ban quản trị sử dụng




Với tư cách là người quản lý hoặc trưởng nhóm, bạn có thể tự hỏi liệu mình có cần thuê Kỹ sư DataOps hay không và cần dành bao nhiêu tài nguyên của nhóm cho DataOps. Không có một câu trả lời đúng phù hợp với tất cả các tổ chức.





Các nhóm phát triển phần mềm tiên tiến dành khoảng 23% thời gian của họ cho DevOps. Các nhóm dữ liệu thì dành khoảng 3% thời gian của họ cho các nhiệm vụ DataOps. Chúng tôi khuyên bạn nên tăng mức này lên khoảng 15%. Điều đó có thể đạt được bằng cách kêu gọi sự tham gia của mọi người hoặc thuê một đội chuyên nghiệp từ bên ngoài. Vấn đề ở đây là đầu tư vào DataOps sẽ mang lại rất nhiều lợi ích.





Hình 5. Phân bổ thời gian trước và sau DataOps
Hình 5. Phân bổ thời gian trước và sau DataOps




Việc đầu tư vào DataOps tác động đến toàn bộ data team (hình 5). Với DataOps, các kỹ sư dữ liệu, nhà khoa học, nhà phân tích và người dùng dành nhiều thời gian hơn để tạo ra giá trị, giảm trục trặc kỹ thuật hoặc triển khai các thay đổi vào production và ít tốn thời gian đi sửa lỗi, họp hành và quản lý các phát sinh.





Hình 6. DataOps giảm thời gian triển khai và giảm lỗi
Hình 6. DataOps giảm thời gian triển khai và giảm lỗi




Các thang đo chân chính mà DataOps tác động là độ trễ và lỗi triển khai (hình 6). DataOps cắt giảm thời gian triển khai từ tuần / tháng xuống giờ / phút. Nó làm giảm đáng kể tỷ lệ lỗi dữ liệu trong hầu hết các tổ chức dữ liệu xuống gần như bằng không. Khi năng suất cao, ít sai sót và người dùng hài lòng, môi trường làm việc của nhóm dữ liệu sẽ thú vị hơn rất nhiều. Nghe có vẻ kì khôi, nhưng DataOps mang niềm vui vào phân tích dữ liệu và nụ cười tươi thắm cho data team.





Tham khảo: DataKitchen