Back to Explore
Datadog đã sử dụng Claude và Cursor để thực hiện di chuyển hệ thống Production như thế nào?

Datadog đã sử dụng Claude và Cursor để thực hiện di chuyển hệ thống Production như thế nào?

Khám phá cách kỹ sư Datadog tận dụng AI để refactor hệ thống Stream Router, chuyển đổi từ FoundationDB sang PostgreSQL thông qua quy trình kiểm thử nghiêm ngặt và kiến trúc song song.

Website
Upvote this postSign in to upvote this article.

Bài viết được dịch và tổng hợp từ tin tức gốc. Bạn có thể đọc bài viết gốc bằng tiếng Anh tại đây.

Điểm tin nhanh:

  • Datadog đã thực hiện di chuyển hệ thống Stream Router từ FoundationDB sang PostgreSQL để vượt qua các giới hạn về kích thước giao dịch.
  • Quy trình refactoring được hỗ trợ bởi Claude và Cursor, tập trung vào việc viết lại mã dựa trên các bài kiểm thử (test-driven).
  • Chiến lược triển khai sử dụng mô hình blue/green kết hợp với dịch vụ xác thực song song để đảm bảo tính toàn vẹn của dữ liệu.

Việc refactor lại một hệ thống production đang vận hành ở quy mô hàng terabyte dữ liệu thường là cơn ác mộng đối với bất kỳ kỹ sư nào. Tuy nhiên, tại Datadog, đội ngũ kỹ thuật đã biến thử thách này thành một bài học về sự kết hợp giữa tư duy lập trình truyền thống và sức mạnh của AI hiện đại. Thay vì để AI tự động viết mã một cách mù quáng, họ đã sử dụng Claude và Cursor như những trợ lý đắc lực trong quy trình phát triển hướng kiểm thử (TDD), giúp giải quyết bài toán kỹ thuật phức tạp mà không làm gián đoạn dịch vụ.

Từ giới hạn của Key-Value đến sự linh hoạt của Relational Schema

Phiên bản gốc của Stream Router, một thành phần quan trọng trong pipeline xử lý metric của Datadog, được xây dựng dựa trên mô hình key-value (KV) với tính nhất quán cuối cùng (eventually consistent). Khi bảng định tuyến (routing table) phát triển, hệ thống bắt đầu chạm ngưỡng giới hạn về kích thước giao dịch. Các thao tác phức tạp đòi hỏi hàng ngàn lượt truy vấn tuần tự, khiến thời gian xử lý kéo dài lên tới 45 phút.

Để hiểu rõ hơn về cách tối ưu hóa các hệ thống tương tự, bạn có thể tham khảo bài viết về xây dựng hệ sinh thái công cụ lập trình với tư duy Zero-Backend. Việc chuyển đổi từ mô hình KV sang relational database giúp Datadog tận dụng các khóa ngoại (foreign keys) thay vì phải tự tái cấu trúc logic quan hệ trong ứng dụng.

Ảnh bìa bài viết

Quy trình refactoring với AI: Không phải là tự động hóa hoàn toàn

Kỹ sư Arnold Wakim nhấn mạnh rằng Claude và Cursor không được sử dụng để tạo mã một cách tự phát. Thay vào đó, quy trình được thực hiện theo các bước cụ thể:

Bước Hành động Vai trò của AI
1 Xác định ý định Claude mô tả logic của từng hàm cũ
2 Tạo mã mới AI tạo bản nháp dựa trên schema PostgreSQL mới
3 Kiểm thử Sử dụng test suite để xác thực kết quả

Mẹo hay: Khi sử dụng AI để refactor, hãy luôn cung cấp bối cảnh đầy đủ bao gồm schema cũ, schema mới và các bài kiểm thử bị lỗi. Điều này giúp AI hiểu rõ ràng về kỳ vọng thay vì đưa ra các giải pháp chung chung.

Nếu bạn muốn tìm hiểu cách huấn luyện trợ lý AI để thấu hiểu mã nguồn thực thụ thay vì chỉ dựa vào các gợi ý bề mặt, hãy đọc thêm tại Thay thế Grep: Cách tôi huấn luyện trợ lý AI thấu hiểu mã nguồn thực thụ.

Triển khai Blue/Green và xác thực song song

Để đảm bảo an toàn tuyệt đối, Datadog đã triển khai một cơ chế xác thực thông minh. Một dịch vụ validator được chạy trong mỗi cụm (cluster), liên tục so sánh phản hồi từ cả hai phiên bản Stream Router (cũ và mới). Nếu có bất kỳ sự khác biệt nào, hệ thống sẽ cảnh báo ngay lập tức.

Sơ đồ quy trình xác thực song song:

[Request] ---> [Load Balancer] ---> [Old Router (FoundationDB)]
---> [New Router (PostgreSQL)]
---> [Validator Service] ---> [Alerting]

Việc kiểm soát chi phí trong quá trình triển khai AI cũng là một yếu tố quan trọng. Đừng quên theo dõi các tài nguyên của bạn như cách chúng tôi hướng dẫn tại Kiểm soát chi phí AI: Hướng dẫn theo dõi từng Token LLM trong ứng dụng Node.js.

Đánh giá & Lời khuyên Thực tiễn

Từ góc nhìn của một Tech Lead, giải pháp của Datadog mang lại những giá trị sau:

  • Ưu điểm: Tận dụng được sức mạnh của AI để xử lý các công việc lặp lại trong refactoring, giảm thiểu sai sót con người thông qua test-driven development.
  • Nhược điểm: AI có xu hướng tạo ra các truy vấn đúng về mặt logic nhưng không tối ưu về hiệu năng (suboptimal queries). Cần sự can thiệp của con người để tinh chỉnh.
  • Lưu ý: Không bao giờ triển khai mã do AI tạo ra mà không có bộ kiểm thử (test suite) bao phủ toàn diện. Hãy coi AI là một lập trình viên cấp dưới cần được review kỹ lưỡng.

Câu hỏi thường gặp (FAQ)

Tại sao Datadog lại chọn PostgreSQL thay vì FoundationDB?

PostgreSQL cho phép sử dụng các ràng buộc khóa ngoại (foreign keys) và các tính năng quan hệ, giúp loại bỏ logic phức tạp phải tái cấu trúc trong ứng dụng, vốn là nguyên nhân gây chậm trễ trong mô hình cũ.

AI có thay thế được kỹ sư trong quá trình di chuyển này không?

Hoàn toàn không. AI chỉ đóng vai trò tăng tốc độ viết mã. Việc thiết kế schema, quản lý chiến lược blue/green và kiểm soát chất lượng vẫn đòi hỏi tư duy kiến trúc của kỹ sư cấp cao.

Làm thế nào để đảm bảo tính nhất quán khi chạy song song hai hệ thống?

Datadog sử dụng một dịch vụ validator chuyên dụng để so sánh kết quả trả về từ cả hai phiên bản trên cùng một tập dữ liệu đầu vào, đảm bảo tính toàn vẹn trước khi chuyển đổi hoàn toàn.

Kết luận

Câu chuyện của Datadog là minh chứng cho việc AI không phải là công cụ thay thế con người, mà là đòn bẩy giúp chúng ta thực hiện những công việc kỹ thuật khó khăn một cách nhanh chóng và an toàn hơn. Nếu bạn đang cân nhắc việc áp dụng AI vào quy trình refactoring, hãy bắt đầu bằng việc xây dựng bộ kiểm thử vững chắc. Đừng quên theo dõi hi_dev để cập nhật thêm những kiến thức chuyên sâu về công nghệ và AI trong năm 2026.

Discussion (0)

You need to log in to post comments. Log In

No comments yet. Start the discussion!