Một hệ thống vận hành thực tế,
được xây dựng và vận hành công khai.
Một hệ thống do Nathaniel Jay Adams tự thiết kế, xây dựng và vận hành cho chính công việc giảng dạy của mình. Đây không phải một triển khai tại trường đại học và không được giới thiệu như vậy — mà là một ví dụ thực tế về kiến trúc dữ liệu, kỷ luật tích hợp và tiêu chuẩn vận hành nêu trên.
Xem phim về kiến trúc hệ thống
Sơ đồ động do WorldWise Learning thực hiện, dựa trên lược đồ dữ liệu và cấu hình lịch chạy của chính hệ thống. Người dẫn, Minh, là avatar AI với giọng nói AI, được tạo bằng Google Vids. Không hiển thị bản ghi thật, dữ liệu sinh viên hay số liệu nào. Hình nền trung tâm dữ liệu là hình ảnh do AI tạo ra.
Hệ thống được xây dựng như thế nào, qua từng giai đoạn
-
Vấn đề
Giảng dạy cho nhiều chương trình tạo ra cùng một khối lượng công việc mỗi tuần: hồ sơ nằm rải rác trong nhiều tài liệu, tiến bộ được theo dõi thủ công, và không có nơi nào để rà soát toàn bộ minh chứng của một học kỳ.
-
Kiến trúc hệ thống
Một ứng dụng kết xuất phía máy chủ, chạy trên dịch vụ lưu trữ đám mây được quản lý với cơ sở dữ liệu quan hệ, được triển khai liên tục từ hệ thống quản lý mã nguồn và chỉ truy cập được sau khi xác thực. Trung lập về nhà cung cấp ngay từ thiết kế: tài sản là mô hình dữ liệu, không phải nhà cung cấp.
- Ứng dụng
- Next.js 16 · React · TypeScript
- Dữ liệu
- PostgreSQL qua Prisma · ranh giới dữ liệu được kiểm tra bằng Zod
- Thư viện phụ thuộc khi chạy
- 12, có chủ ý
- Truy cập
- Có xác thực; không có giao diện công khai
-
Những gì đã được xây dựng
Một mô hình miền dữ liệu gồm mười bảng, bao quát toàn bộ hoạt động giảng dạy thay vì một tính năng riêng lẻ, với một trung tâm điều hành để lập kế hoạch hằng tuần ở lớp trên cùng.
- Học viên · Giáo viên · Buổi học · Học liệu
- Đánh giá · Thanh toán
- Tài liệu nguồn · Hàng đợi rà soát
- Tình trạng tích hợp · Lịch sử các lần chạy theo lịch
-
Tích hợp dữ liệu và mức độ sẵn sàng cho AI
Hai tác vụ theo lịch chạy hằng ngày: sự kiện trên lịch được đối chiếu thành buổi học, và hồ sơ giảng dạy được sao chép sang Notion. Một quy trình xử lý tệp nguồn cục bộ riêng theo dõi tệp bằng mã băm nội dung, nhờ đó các thay đổi, bản trùng lặp và tệp bị mất đều được phát hiện thay vì phỏng đoán.
Hệ thống không gọi đến mô hình ngôn ngữ, và đó là chủ ý. Việc theo dõi tài liệu nguồn và hàng đợi để con người rà soát chính là nền tảng đối chiếu nguồn và giám sát mà một trợ lý dựa trên truy xuất nguồn cần có. Kỷ luật dữ liệu đi trước; mô hình chỉ được bổ sung sau, nếu minh chứng cho thấy điều đó là xứng đáng.
-
Vận hành thực tế
Hệ thống tự chạy theo lịch mà không cần người trông coi, như một hạ tầng đang hoạt động thực tế chứ không phải bản trình diễn. Bộ lập lịch chỉ bảo đảm độ chính xác theo giờ và không chạy lại lần gọi bị lỗi, nên thiết kế chấp nhận cả hai điều này: hai tác vụ có khung giờ bắt đầu cách nhau một giờ (không phụ thuộc vào việc tác vụ kia hoàn tất), mọi lần chạy đều được ghi lại bền vững, và lần chạy bị bỏ lỡ được hiển thị rõ thay vì được mặc định là đã chạy. Các yêu cầu theo lịch đều được xác thực và bị từ chối theo nguyên tắc an toàn nếu thiếu khóa bí mật. Các sự cố do thông tin xác thực hết hạn, quyền truy cập trên máy chủ và thay đổi API của bên thứ ba đã được chẩn đoán và khắc phục trong môi trường vận hành thực tế — phần việc không bao giờ xuất hiện trong một nguyên mẫu.
-
Minh chứng
Các sơ đồ được tạo từ chính lược đồ dữ liệu và cấu hình lập lịch của hệ thống.
Kiến trúc trong thực tế
Không sơ đồ nào chứa dữ liệu của người học, nhân sự hay tổ chức.01 / Kiến trúc Hai tầng,
một hệ thống.Giảng dạy là điều diễn ra.
Vận hành lưu giữ minh chứng.Lõi giảng dạyStudentNgười họcInstructorGiáo viênLessonTrải nghiệm học tậpAssessmentTiến bộMaterialHọc liệuPaymentHọc phí của học viênTầng vận hànhSourceDocument Tệp nguồnReviewItem Hàng đợi rà soátIntegrationHealth Tình trạng kết nốiCronRun Lịch sử chạyXem minh chứng kiến trúc
Sáu mô hình giảng dạy, bốn mô hình vận hành. Mỗi Lesson thuộc về một Student và một Instructor; Material là tùy chọn. Assessment thuộc về Student và có thể tham chiếu đến Lesson. Payment thuộc về Student, không thuộc về Lesson.
ReviewItem có thể tham chiếu đến SourceDocument. IntegrationHealth và CronRun là các bảng độc lập. Hai tầng là cách nhóm theo khái niệm, không phải một quan hệ trong cơ sở dữ liệu.
02 / Tự động hóa Hai tác vụ hằng ngày.
Một trình tự có chủ ý.Đưa lịch vào trước.
Rồi sao chép hồ sơ giảng dạy ra ngoài.11:00 UTCLịch → Buổi học- Lịch
- Đối chiếu
- Buổi học
Cách nhau 1 giờ12:00 UTCHồ sơ giảng dạy → Notion- Cơ sở dữ liệu
- Đồng bộ
- Notion
Mỗi lần gọi tác vụ được ủy quyền
tạo một bản ghi CronRun.Xem minh chứng lập lịch
0 11 * * *→/api/cron/daily-sync0 12 * * *→/api/cron/notion-syncKhung giờ bắt đầu cách nhau một giờ; thứ tự hoàn tất không bị cố định. Tác vụ lúc giữa trưa sao chép dữ liệu học viên, giáo viên, buổi học, thanh toán và đánh giá sang Notion.
Việc băm và rà soát tệp nguồn là một quy trình xử lý cục bộ riêng, không thuộc tác vụ đám mây lúc giữa trưa. Các yêu cầu phải có khóa bí mật cron; yêu cầu không được ủy quyền bị từ chối trước khi tạo lần chạy.
03 / Khả năng giám sát Không lỗi nào
bị bỏ qua trong im lặng.Thấy được tác vụ nào đã chạy, điều gì hiệu quả,
và điều gì cần lưu ý.- ChạyBắt đầu thực hiện
- Đã ghi nhậnĐã lưu lịch sử
- Cập nhật tình trạngTrạng thái kết nối
- Lỗi được hiển thịViệc cần xử lý được hiển thị
Lịch sử chạyTác vụ · thời gian · kết quả · lỗiCronRunTình trạng kết nốiTình trạng · lần đồng bộ gần nhất · lỗi gần nhấtKết nối truy cập được không chứng minh rằng tác vụ định kỳ đã chạy thành công. Cả hai tín hiệu đều quan trọng.
Xem minh chứng giám sát
CronRun
job · startedAt · finishedAt · ok · error · triggerIntegrationHealth
healthy · lastSyncAt · lastErrorTrạng thái được suy ra, không phải trường dữ liệu sức khỏe được lưu sẵn: ok, failed, missed, blocked, none. “Missed” nghĩa là lần chạy thành công gần nhất đã quá cũ; đây không phải một số đếm được đo lường. Tình trạng kết nối do phần tích hợp Notion lưu riêng, tách biệt với việc hoàn tất lần chạy.
Đây là minh họa cho thiết kế ghi nhận, không phải công cụ giám sát trực tiếp hay sự bảo đảm trước mọi sự cố hạ tầng. Không hiển thị bản ghi mẫu hay số liệu bịa đặt nào.
Kiến trúc được trích xuất từ mã nguồn. Không có bản ghi thực.Hiểu hệ thống. Kiểm tra minh chứng.
-
Khả năng chuyển giao
Mô hình này chuyển sang công việc cấp tổ chức mà không thay đổi: một mô hình dữ liệu được xác định rõ, một quy trình đối chiếu chạy theo lịch, trợ giúp có căn cứ nguồn dưới sự rà soát của con người, và khả năng giám sát vẫn đứng vững trước sự cố thực tế. Điều thay đổi đối với một trường đại học là quản trị, quy mô và vị trí của khâu rà soát — chứ không phải kiến trúc.