Cách Tipico phổ cập quy trình chuyển đổi dữ liệu bằng Amazon Managed Workflows for Apache Airflow và AWS Batch

Tác giả: Jake J. Dalli, David Greenshtein, và Hugo Mineiro
Ngày phát hành: 28 JAN 2026
Chuyên mục: Advanced (300), Amazon Managed Workflows for Apache Airflow (Amazon MWAA), AWS Batch, Customer Solutions

Đây là bài viết của khách mời bởi Jake J. Dalli, Trưởng nhóm Nền tảng Dữ liệu tại Tipico, hợp tác với AWS.

Tipico là thương hiệu số một trong lĩnh vực cá cược thể thao tại Đức. Mỗi ngày, chúng tôi kết nối hàng triệu người hâm mộ với niềm đam mê thể thao, kết hợp công nghệ, nhiệt huyết và sự tin cậy để mang đến trải nghiệm cá cược nhanh chóng, an toàn và thú vị, cả trực tuyến và tại hơn một nghìn cửa hàng bán lẻ trên khắp nước Đức. Chúng tôi cũng mang trải nghiệm này đến Áo, nơi chúng tôi tự hào vận hành một doanh nghiệp cá cược thể thao vững mạnh.

Trong bài viết này, chúng tôi sẽ trình bày cách Tipico xây dựng một nền tảng chuyển đổi dữ liệu thống nhất bằng cách sử dụng Amazon Managed Workflows for Apache Airflow (Amazon MWAA) và AWS Batch.

Tổng quan giải pháp

Để hỗ trợ các nhu cầu quan trọng như giám sát sản phẩm, hiểu biết về khách hàng và đảm bảo doanh thu, chức năng dữ liệu trung tâm của chúng tôi cần cung cấp các công cụ cho một số nhóm phân tích và khoa học dữ liệu đa chức năng để chạy các khối lượng công việc hàng loạt có khả năng mở rộng trên kho dữ liệu hiện có, được hỗ trợ bởi Amazon Redshift. Các khối lượng công việc của cộng đồng dữ liệu Tipico bao gồm trích xuất, chuyển đổi và tải (ELT), mô hình hóa thống kê, đào tạo machine learning (ML) và báo cáo trên nhiều framework và ngôn ngữ khác nhau.

Trước đây, các nhóm phân tích hoạt động độc lập, tách biệt với nhau và với chức năng dữ liệu trung tâm. Các nhóm khác nhau duy trì bộ công cụ riêng của họ, thường thực hiện cùng một chức năng và tạo ra các silo dữ liệu. Thiếu khả năng hiển thị đồng nghĩa với việc thiếu tiêu chuẩn hóa. Cách tiếp cận cô lập này đã làm chậm việc cung cấp thông tin chi tiết và ngăn công ty đạt được một chiến lược dữ liệu thống nhất, đảm bảo tính khả dụng và khả năng mở rộng.

Nhu cầu giới thiệu một nền tảng thống nhất, duy nhất nhằm thúc đẩy khả năng hiển thị và cộng tác đã trở nên rõ ràng. Tuy nhiên, sự đa dạng của các khối lượng công việc đã mang lại một lớp phức tạp khác. Các nhóm cần giải quyết các loại vấn đề khác nhau và mang đến các bộ kỹ năng và sở thích công cụ riêng biệt. Các nhà phân tích có thể phụ thuộc nhiều vào SQL và các nền tảng business intelligence (BI), trong khi các nhà khoa học dữ liệu ưa thích Python hoặc R, và các kỹ sư lại nghiêng về các quy trình làm việc được container hóa hoặc các framework điều phối.

Mục tiêu của chúng tôi là kiến trúc một hệ thống mới hỗ trợ sự đa dạng trong khi vẫn duy trì kiểm soát hoạt động, cung cấp một nền tảng điều phối mở với khả năng cách ly bảo mật tích hợp, lập lịch, cơ chế thử lại, kiểm soát truy cập dựa trên vai trò (RBAC) chi tiết và các tính năng quản trị như phê duyệt hai người cho các quy trình làm việc sản xuất. Chúng tôi đã đạt được điều này bằng cách thiết kế một hệ thống với các nguyên tắc sau:

  1. Bring Your Own Container (BYOC) – Các nhóm được linh hoạt đóng gói khối lượng công việc của họ dưới dạng container và tự do lựa chọn các dependency, thư viện hoặc môi trường runtime. Đối với các nhóm có khối lượng công việc chuyên biệt cao, điều này có nghĩa là họ có thể làm việc trong một thiết lập phù hợp với nhu cầu của mình trong khi vẫn hoạt động trong một nền tảng hài hòa. Mặt khác, các nhóm không yêu cầu môi trường tùy chỉnh hoàn toàn có thể thiết kế lại khối lượng công việc của họ để phù hợp với các khối lượng công việc hiện có.
  2. Điều phối tập trung để có sự minh bạch hoàn toàn – Tất cả các nhóm có thể xem tất cả các quy trình làm việc và xây dựng các mối quan hệ phụ thuộc lẫn nhau giữa chúng.
  3. Điều phối chia sẻ, tính toán cô lập – Các khối lượng công việc chạy trong các container Docker dành riêng cho từng nhóm trong một môi trường tính toán thống nhất, cung cấp khả năng mở rộng trong khi vẫn giữ cho việc thực thi có thể truy vết được đến từng nhóm.
  4. Giao diện tiêu chuẩn hóa, thực thi linh hoạt – Các mẫu chung (operator, hook, logging hoặc monitoring) giảm độ phức tạp, và các nhóm vẫn giữ quyền tự do đổi mới trong các container của họ.
  5. Phê duyệt chéo nhóm cho các quy trình làm việc quan trọng được lưu trữ trong kiểm soát phiên bản – Các thay đổi tuân theo nguyên tắc bốn mắt, yêu cầu xem xét và phê duyệt từ một nhóm khác trước khi thực thi, cung cấp trách nhiệm giải trình và giảm rủi ro. Điều này cho phép chức năng dữ liệu cốt lõi của chúng tôi giám sát và đóng góp đề xuất cho công việc giữa các nhóm phân tích khác nhau.

Chúng tôi đã thiết kế một hệ thống trong đó việc điều phối và thực thi các tác vụ hoạt động trên cơ sở hạ tầng chia sẻ, mà các nhóm tương tác thông qua cơ sở hạ tầng dành riêng cho từng miền. Trong trường hợp của Tipico, mỗi nhóm đẩy các image đến các instance container thuộc sở hữu của nhóm. Các container như vậy cung cấp mã cho các quy trình làm việc, bao gồm thực thi các pipeline ELT hoặc chuyển đổi trên các data lake dành riêng cho từng miền.

Sơ đồ sau đây cho thấy kiến trúc giải pháp.

Kiến trúc giải pháp

Thách thức kỹ thuật là kiến trúc một lớp điều phối linh hoạt và hiệu suất cao, có thể mở rộng đáng tin cậy đồng thời vẫn độc lập với framework, tích hợp liền mạch với cơ sở hạ tầng hiện có.

Khi thiết kế hệ thống của mình, chúng tôi đã biết về một số giải pháp điều phối container được cung cấp bởi Amazon Web Services (AWS), bao gồm Amazon Elastic Kubernetes Service (Amazon EKS), Amazon Elastic Container Service (Amazon ECS) và AWS Batch, cùng nhiều dịch vụ khác. Cuối cùng, nhóm đã chọn AWS Batch vì nó trừu tượng hóa việc quản lý cluster, cung cấp khả năng mở rộng linh hoạt và vốn dĩ hỗ trợ các khối lượng công việc hàng loạt như một tính năng thiết kế.

Chi tiết giải pháp

Trước khi áp dụng giải pháp hiện tại, Tipico đã thử nghiệm vận hành một thiết lập Apache Airflow tự quản lý. Mặc dù nó hoạt động tốt, nhưng việc duy trì ngày càng trở nên nặng nề. Sự chuyển đổi sang một giải pháp được quản lý và có khả năng mở rộng được thúc đẩy bởi nhu cầu tập trung hơn vào việc trao quyền cho các nhóm để cung cấp giá trị thay vì duy trì cơ sở hạ tầng. Tipico đã tái nền tảng giải pháp điều phối trung tâm bằng cách sử dụng Amazon MWAA và AWS Batch.

Amazon MWAA là một dịch vụ được quản lý hoàn toàn giúp đơn giản hóa việc chạy Apache Airflow mã nguồn mở trên AWS. Người dùng có thể xây dựng và thực thi các quy trình xử lý dữ liệu trong khi tích hợp liền mạch với nhiều dịch vụ AWS khác nhau, điều này có nghĩa là các nhà phát triển và kỹ sư dữ liệu có thể tập trung vào việc xây dựng quy trình làm việc thay vì quản lý cơ sở hạ tầng.

AWS Batch là một dịch vụ được quản lý hoàn toàn giúp đơn giản hóa việc tính toán hàng loạt trên đám mây để người dùng có thể chạy các tác vụ hàng loạt mà không cần phải cấp phát, quản lý hoặc duy trì các cluster. Nó tự động hóa việc cấp phát tài nguyên và phân phối khối lượng công việc, với người dùng chỉ trả tiền cho các tài nguyên AWS cơ bản đã tiêu thụ.

Thiết kế mới cung cấp một framework thống nhất nơi các khối lượng công việc phân tích được container hóa, điều phối và thực thi trên nền tảng tính toán có khả năng mở rộng và tích hợp với bộ nhớ bền vững:

  1. Containerization – Các khối lượng công việc phân tích được đóng gói vào các Docker container, với các dependency được đóng gói để cung cấp khả năng tái tạo. Các image này được kiểm soát phiên bản và lưu trữ trong Amazon Elastic Container Registry (Amazon ECR). Cách tiếp cận này tách rời việc thực thi khỏi cơ sở hạ tầng và cho phép hành vi nhất quán trên các môi trường.
  2. Điều phối quy trình làm việc – Airflow Directed Acyclic Graphs (DAGs) được kiểm soát phiên bản trong Git và triển khai tới Amazon MWAA bằng cách sử dụng pipeline CI/CD (continuous integration and continuous delivery). Amazon MWAA lập lịch và điều phối các tác vụ, kích hoạt các tác vụ AWS Batch bằng cách sử dụng các operator tùy chỉnh. Nhật ký và số liệu được truyền đến Amazon CloudWatch, cho phép khả năng quan sát và cảnh báo theo thời gian thực.
  3. Lưu trữ dữ liệu bền vững – Các quy trình làm việc tương tác với Amazon Simple Storage Service (Amazon S3) để lưu trữ bền vững các đầu vào, đầu ra và các artifact trung gian. Amazon Elastic File System (Amazon EFS) được gắn vào Amazon MWAA để truy cập nhanh vào mã chia sẻ và các tệp cấu hình, được đồng bộ hóa liên tục từ kho lưu trữ Git.
  4. Tính toán có khả năng mở rộng – Amazon MWAA kích hoạt các tác vụ AWS Batch bằng cách sử dụng các định nghĩa tác vụ tiêu chuẩn hóa. Các tác vụ này chạy trong các môi trường tính toán linh hoạt như Amazon Elastic Compute Cloud (Amazon EC2) hoặc AWS Fargate, với các secret được inject an toàn bằng cách sử dụng AWS Secrets Manager. Các môi trường AWS Batch tự động mở rộng quy mô dựa trên nhu cầu khối lượng công việc, tối ưu hóa chi phí và hiệu suất.
  5. Bảo mật và quản trị – Các vai trò AWS Identity and Access Management (IAM) được giới hạn theo từng nhóm và khối lượng công việc, cung cấp quyền truy cập với đặc quyền tối thiểu. Việc thực thi tác vụ được ghi nhật ký và có thể kiểm tra, với kiểm soát truy cập chi tiết được thực thi trên Amazon S3, Amazon ECR và AWS Batch.

Các toán tử phổ biến

Để hợp lý hóa việc thực thi các tác vụ hàng loạt giữa các nhóm, chúng tôi đã phát triển một operator chia sẻ bao bọc operator AWS Batch tích hợp sẵn của Airflow. Sự trừu tượng hóa này đơn giản hóa việc thực thi các khối lượng công việc được container hóa bằng cách đóng gói logic chung như:

  1. Lựa chọn định nghĩa tác vụ
  2. Xác định hàng đợi tác vụ
  3. Inject biến môi trường
  4. Giải quyết secret
  5. Chính sách thử lại và cấu hình ghi nhật ký

Việc tham số hóa được xử lý bằng Airflow Variables và XComs, cho phép hành vi động trên các lần chạy DAG. Operator được duy trì trong một kho lưu trữ Git chia sẻ, được kiểm soát phiên bản và quản lý tập trung, nhưng có thể truy cập được bởi tất cả các nhóm.

Để tăng tốc hơn nữa quá trình phát triển, một số nhóm sử dụng mẫu DAG Factory, tự động tạo DAG từ các tệp cấu hình. Điều này giảm thiểu mã lặp lại và đảm bảo tính nhất quán để các nhóm có thể định nghĩa các quy trình làm việc mới một cách khai báo.

Bằng cách tiêu chuẩn hóa operator này và các mẫu hỗ trợ, Tipico giảm thiểu khó khăn khi onboarding, thúc đẩy tái sử dụng và cung cấp khả năng quan sát cũng như xử lý lỗi nhất quán trên toàn bộ hệ sinh thái phân tích.

Quản trị

Quản trị được thực thi thông qua sự kết hợp của các vai trò IAM chi tiết, AWS IAM Identity Center và ánh xạ vai trò tự động. Mỗi nhóm được gán một vai trò IAM chuyên dụng, quản lý quyền truy cập vào các dịch vụ AWS như Amazon S3, Amazon ECR, AWS Batch và Secrets Manager. Các vai trò này được giới hạn chặt chẽ để giảm thiểu mức độ thiệt hại và cung cấp khả năng truy vết.

Do môi trường Airflow chạy phiên bản 2.9.2, không hỗ trợ truy cập đa người thuê, Tipico đã phát triển một thành phần tùy chỉnh để ánh xạ động các vai trò AWS IAM sang các vai trò Airflow. Thành phần này, được thực thi định kỳ bằng chính Airflow, đồng bộ hóa động các gán vai trò IAM với mô hình RBAC nội bộ của Airflow. Các thẻ Airflow được sử dụng để quản lý quyền truy cập vào các DAG khác nhau, quy định nhóm nào có quyền thực thi hoặc sửa đổi cài đặt trên DAG. Điều này đảm bảo quyền truy cập phù hợp với cấu trúc tổ chức và trách nhiệm của nhóm.

Áp dụng

Sự chuyển đổi sang một giải pháp được quản lý, có khả năng mở rộng được thúc đẩy bởi nhu cầu về quyền tự chủ của nhóm lớn hơn, tiêu chuẩn hóa và khả năng mở rộng. Hành trình bắt đầu với một nhóm phân tích duy nhất xác thực cách tiếp cận mới. Khi thành công, nhóm nền tảng đã tổng quát hóa giải pháp và triển khai dần dần cho các nhóm khác, tinh chỉnh nó sau mỗi lần lặp. Một trong những thách thức lớn nhất là di chuyển mã cũ, thường bao gồm logic lỗi thời và các dependency không được ghi lại. Để hỗ trợ việc áp dụng, Tipico đã giới thiệu một quy trình onboarding có cấu trúc với đào tạo thực hành, các trường hợp sử dụng thực tế và các chuyên gia nội bộ. Trong một số trường hợp, các nhóm cũng phải áp dụng Git lần đầu tiên—đánh dấu một sự thay đổi rộng lớn hơn hướng tới các thực hành kỹ thuật hiện đại trong tổ chức phân tích.

Lợi ích chính

Một trong những kết quả có giá trị nhất của kiến trúc mới của chúng tôi, được xây dựng chủ yếu xung quanh Amazon MWAA và AWS Batch, là đẩy nhanh thời gian tạo ra giá trị của các nhóm phân tích. Các nhà phân tích giờ đây có thể tập trung vào việc xây dựng logic chuyển đổi và khối lượng công việc mà không phải lo lắng về cơ sở hạ tầng bên dưới. Với hệ thống này, các nhà phân tích có thể dựa vào các tích hợp và mẫu phân tích đã được chuẩn bị sẵn được sử dụng giữa các nhóm khác nhau, được hỗ trợ bởi các giao diện tiêu chuẩn do nhóm dữ liệu cốt lõi phát triển.

Ngoài việc xây dựng phân tích trên Amazon Redshift, giải pháp điều phối còn giao tiếp với một số dịch vụ phân tích khác như Amazon AthenaAWS Glue ETL, cung cấp sự linh hoạt tối đa về loại khối lượng công việc được phân phối. Các nhóm trong tổ chức cũng đã chia sẻ các thực hành trong việc sử dụng các framework khác nhau, chẳng hạn như dbt Labs, để tái sử dụng các phát triển tùy chỉnh nhằm thực hiện các quy trình tiêu chuẩn.

Một kết quả có giá trị khác là khả năng phân tách rõ ràng chi phí giữa các nhóm. Trong kiến trúc, Airflow ủy quyền các tác vụ nặng nhọc cho AWS Batch, cung cấp khả năng cách ly tác vụ vượt ra ngoài các worker tích hợp của Airflow. Thông qua đó, chúng tôi có được khả năng hiển thị chi tiết về việc sử dụng tài nguyên và phân bổ chi phí chính xác, thúc đẩy trách nhiệm tài chính trong toàn tổ chức.

Cuối cùng, nền tảng này cũng cung cấp khả năng quản trị và bảo mật nhúng, với RBAC và quản lý secret tiêu chuẩn hóa, cung cấp một mô hình vận hành để bảo mật và quản lý các quy trình làm việc giữa các nhóm khác nhau.

Các nhóm giờ đây có thể tập trung vào việc xây dựng và lặp lại nhanh chóng, biết rằng các cấu trúc xung quanh cung cấp sự minh bạch hoàn toàn và phù hợp với các mục tiêu quản trị, kiến trúc và FinOps của tổ chức. Đồng thời, điều phối tập trung thúc đẩy một môi trường cộng tác nơi các nhóm có thể khám phá, tái sử dụng và xây dựng dựa trên các quy trình làm việc của nhau, thúc đẩy đổi mới và giảm trùng lặp trên toàn bộ hệ sinh thái dữ liệu.

Kết luận

Bằng cách tái hình dung lớp điều phối của mình với Amazon MWAA và AWS Batch, Tipico đã mở khóa một cấp độ linh hoạt và minh bạch mới trên các quy trình làm việc dữ liệu của mình.

Trước đây, các nhóm phân tích phải đối mặt với thời gian chờ đợi dài, thường kéo dài hàng tuần, để triển khai các trường hợp sử dụng báo cáo mới. Phần lớn thời gian này được dành để xác định tập dữ liệu, điều chỉnh logic chuyển đổi, khám phá các tùy chọn tích hợp và điều hướng các quy trình đảm bảo chất lượng không nhất quán. Ngày nay, điều đó đã thay đổi. Các nhà phân tích giờ đây có thể phát triển và triển khai một trường hợp sử dụng trong một ngày làm việc, chuyển trọng tâm từ công việc chuẩn bị sang hành động.

Kiến trúc hiện đại trao quyền cho các nhóm di chuyển nhanh hơn và độc lập hơn trong một framework an toàn, được quản lý và có khả năng mở rộng. Kết quả là một hệ sinh thái dữ liệu cộng tác, nơi khuyến khích thử nghiệm, giảm chi phí vận hành và thông tin chi tiết được cung cấp nhanh chóng.

Để bắt đầu xây dựng nền tảng dữ liệu được điều phối của riêng bạn, hãy khám phá Hướng dẫn bắt đầu với Amazon Managed Workflows for Apache AirflowHướng dẫn sử dụng AWS Batch. Các dịch vụ này có thể giúp bạn đạt được kết quả tương tự trong việc dân chủ hóa các chuyển đổi dữ liệu trong toàn tổ chức của bạn. Để có trải nghiệm thực hành với các giải pháp này, hãy thử Workshop Amazon MWAA for Analytics của chúng tôi hoặc liên hệ với nhóm tài khoản AWS của bạn để tìm hiểu thêm.


Về tác giả


Jake J. Dalli
Jake là Trưởng nhóm Nền tảng Dữ liệu tại Tipico, nơi anh tham gia vào việc kiến trúc và mở rộng các nền tảng dữ liệu nhằm hỗ trợ phân tích đáng tin cậy và ra quyết định sáng suốt trong toàn tổ chức. Anh đam mê trao quyền cho các nhà phân tích để cung cấp thông tin chi tiết nhanh hơn bằng cách đơn giản hóa các hệ thống phức tạp và đẩy nhanh thời gian tạo ra giá trị.


David Greenshtein
David là Kiến trúc sư Giải pháp Chuyên gia Cấp cao về Phân tích tại AWS, với niềm đam mê xây dựng các nền tảng dữ liệu phân tán phù hợp với các yêu cầu quản trị. Anh làm việc với khách hàng để thiết kế và triển khai các giải pháp phân tích có khả năng mở rộng, được quản lý nhằm biến dữ liệu thành thông tin chi tiết có thể hành động và kết quả kinh doanh có thể đo lường được.


Hugo Mineiro
Hugo là Kiến trúc sư Giải pháp Chuyên gia Phân tích Cấp cao có trụ sở tại Geneva. Anh tập trung vào việc giúp khách hàng trong nhiều ngành khác nhau xây dựng các giải pháp phân tích có khả năng mở rộng và hiệu suất cao. Anh thích chơi bóng đá và dành thời gian cho bạn bè.

Leave a comment