Hầu hết các nền tảng được đánh giá dựa trên việc chúng có hoạt động hay không.
Vanar cảm thấy như nó đang nhắm đến việc được đánh giá dựa trên việc mọi thứ hoạt động theo cùng một cách mỗi lần.
Nghe có vẻ như một sự khác biệt nhỏ, nhưng nó thay đổi cách bạn nghĩ về độ tin cậy. Trong nhiều hệ thống, sự thành công được định nghĩa bởi một lộ trình thực thi duy nhất: giao dịch đã được thực hiện, công việc đã hoàn thành, người dùng đã nhận được kết quả. Điều gì xảy ra nếu bạn phải chạy lại nó? Hoặc phục hồi nó? Hoặc tái tạo những gì lẽ ra đã xảy ra từ thông tin không đầy đủ? Điều đó thường được coi là một trường hợp đặc biệt.
Vanar tạo ra ấn tượng rằng những "trường hợp biên" đó thực sự là sự kiện chính.
Trong cơ sở hạ tầng thực tế, mọi thứ được thử lại. Tin nhắn được phát lại. Các quy trình khởi động lại. Mạng bị trục trặc. Con người bấm nút hai lần. Câu hỏi không phải là liệu điều này có xảy ra hay không. Nó là liệu hệ thống có hành xử một cách dự đoán khi điều đó xảy ra hay không.
Nhiều nền tảng âm thầm giả định hành vi tốt nhất. Họ hy vọng các lần thử lại là hiếm. Họ thiết kế các lộ trình hạnh phúc và sau đó vá những phần còn lại. Theo thời gian, điều này tạo ra các hệ thống về mặt kỹ thuật hoạt động, nhưng chỉ khi bạn không nhìn quá kỹ vào cách họ khôi phục, lặp lại hoặc hòa giải.
Vanar dường như được xây dựng xung quanh một giả định khác: sự lặp lại là bình thường.
Không chỉ là các lần đọc lặp lại. Các lần ghi lặp lại. Các hành động phát lại. Trạng thái tái tạo. Những mẫu thực tế lộn xộn mà xuất hiện khi các hệ thống chạy trong nhiều năm thay vì các buổi trình diễn.
Khi khả năng lặp lại là một mối quan tâm hàng đầu, bạn bắt đầu thiết kế khác đi.
Bạn ít quan tâm đến việc liệu điều gì đó có thể chạy một lần.
Bạn quan tâm nhiều hơn đến việc liệu nó có thể chạy lại và vẫn có ý nghĩa.
Điều đó thể hiện trong cách bạn nghĩ về tính đúng đắn.
Trong các hệ thống dễ vỡ, tính đúng đắn là tạm thời. Nếu trạng thái trông đúng bây giờ, bạn tiến lên. Nếu có điều gì đó sai sau đó, bạn điều tra lịch sử như một hiện trường vụ án.
Trong các hệ thống tôn trọng việc phát lại và lặp lại, tính đúng đắn là cấu trúc. Hệ thống được hình thành sao cho việc làm lại công việc không tạo ra những vấn đề mới. Xử lý lại không làm lệch trạng thái. Khôi phục không phát minh ra những điều bất ngờ.
Điều đó không có nghĩa là không có gì xảy ra sai.
Nó có nghĩa là khi điều gì đó xảy ra sai, hệ thống có một cách rõ ràng, cơ học để quay lại hình dạng đã biết.
Có một sự khác biệt lớn trong hoạt động giữa hai thế giới đó.
Trong cái đầu tiên, các sự cố là những bí ẩn. Bạn ghép lại các nhật ký, đoán các chuỗi, và hy vọng bạn có thể tái tạo ý định. Trong cái thứ hai, các sự cố giống như những gián đoạn hơn. Bạn tiếp tục, chạy lại, hoặc áp dụng lại cho đến khi hệ thống hội tụ lại một lần nữa.
Hướng thiết kế của Vanar cảm thấy gần gũi hơn với mô hình thứ hai.
Không phải vì nó hứa hẹn sự hoàn hảo, mà vì nó dường như coi trọng sự quyết định và khả năng lặp lại như những mục tiêu thiết kế, không phải là sự tiện lợi.
Điều này rất quan trọng cho các ứng dụng kéo dài.
Các ứng dụng ngắn hạn có thể đủ khả năng trở nên lộn xộn. Nếu có điều gì đó hỏng, bạn triển khai lại. Bạn thiết lập lại trạng thái. Bạn tiến lên. Các hệ thống dài hạn không có được sự xa xỉ đó. Chúng tích lũy lịch sử. Chúng tích lũy nghĩa vụ. Chúng tích lũy người dùng mong đợi rằng các hành động của ngày hôm qua vẫn có ý nghĩa vào ngày mai.
Trong những môi trường đó, khả năng phát lại hoặc xử lý lại một cách an toàn không chỉ là một điều tốt.
Đó là sự khác biệt giữa một hệ thống có thể tự chữa lành và một hệ thống chỉ có thể được vá.
Cũng có một yếu tố con người ở đây.
Khi các kỹ sư không tin tưởng vào các lần phát lại, họ trở nên sợ hãi các lần thử lại. Họ thêm các bước thủ công. Họ xây dựng các kịch bản khôi phục một lần. Họ tạo ra các khu vực "đừng chạm vào" trong hệ thống vì không ai chắc chắn điều gì sẽ xảy ra nếu một cái gì đó chạy hai lần.
Đó là cách mà truyền thuyết vận hành được sinh ra.
Các hệ thống chấp nhận khả năng lặp lại làm giảm truyền thuyết đó. Mọi người ngừng coi việc khôi phục như một nghệ thuật đen tối và bắt đầu coi đó là một phần của hoạt động bình thường.
Điều đó không chỉ là khỏe mạnh hơn. Nó rẻ hơn. Nó bình tĩnh hơn. Nó khả thi hơn về mặt nhân văn.
Cách tiếp cận của Vanar cho thấy nó muốn sự bình tĩnh đó.
Không phải bằng cách giả vờ rằng các thất bại sẽ không xảy ra, mà bằng cách làm cho con đường trở lại nhàm chán và cơ học.
Một nơi khác điều này xuất hiện là trong cách bạn nghĩ về các cuộc kiểm toán và xác minh.
Trong các hệ thống không thể phát lại một cách sạch sẽ, các cuộc kiểm toán trở nên khảo cổ học. Bạn cố gắng suy ra những gì phải đã xảy ra từ các hiện vật chưa bao giờ được thiết kế để thực hiện lại. Sự không nhất quán trở thành các cuộc tranh luận thay vì chẩn đoán.
Trong các hệ thống được xây dựng cho khả năng lặp lại, các cuộc kiểm toán có thể trở nên quy trình hơn. Bạn chạy lại logic. Bạn áp dụng lại các quy tắc. Bạn kiểm tra xem các kết quả tương tự có xuất hiện không. Hệ thống tự giải thích bằng cách làm điều tương tự một lần nữa.
Đó là một mối quan hệ rất khác với lịch sử.
Nó biến các bản ghi từ bằng chứng tĩnh thành các quy trình chủ động, có thể xác minh.
Cũng có một ý nghĩa thiết kế sản phẩm.
Khi khả năng lặp lại yếu, các nhóm sản phẩm có xu hướng thiết kế quy trình giả định tiến trình tuyến tính. Bước một, sau đó là bước hai, rồi bước ba. Nếu có điều gì đó làm gián đoạn quy trình đó, mọi thứ cảm thấy bị phá vỡ.
Khi khả năng lặp lại mạnh, các quy trình trở nên có khả năng phục hồi hơn đối với sự gián đoạn. Các bước có thể được tiếp tục. Các hành động có thể được áp dụng lại. Hệ thống không trừng phạt người dùng vì là con người hoặc mạng vì không hoàn hảo.
Đó là cách bạn có được phần mềm cảm thấy dễ tha thứ thay vì giòn.
Vanar dường như có xu hướng hướng tới loại tha thứ đó.
Không theo nghĩa mơ hồ, cảm nhận người dùng, mà theo nghĩa cơ học, kiến trúc: ý tưởng rằng làm một cái gì đó hai lần không nên làm cho hệ thống trở nên tồi tệ hơn.
Từ bên ngoài, điều này không trông hấp dẫn.
Không có thông báo rực rỡ nào cho "bạn có thể thử lại một cách an toàn."
Không có trang tiếp thị nào cho "các lần phát lại sẽ không làm hỏng trạng thái."
Không có biểu đồ cho "khôi phục là nhàm chán."
Nhưng theo thời gian, đây là những thuộc tính tách biệt các hệ thống mà mọi người thử nghiệm với các hệ thống mà mọi người phụ thuộc vào.
Bởi vì sự phụ thuộc không chỉ được xây dựng dựa trên tốc độ hoặc tính năng.
Nó được xây dựng dựa trên sự tự tin im lặng rằng nếu có điều gì đó cần phải làm lại, hệ thống sẽ không trừng phạt bạn vì đã cố gắng.
Các lựa chọn thiết kế của Vanar cho thấy nó hiểu điều đó.
Nó dường như không bị ám ảnh với việc chứng minh rằng nó có thể làm được một lần.
Nó có vẻ quan tâm hơn đến việc chứng minh rằng nó có thể tiếp tục làm điều tương tự, theo cùng một cách, mà không tích lũy sự hỗn loạn.
Và trong cơ sở hạ tầng, đó thường là thước đo thực sự của sự trưởng thành.
Không phải cách mà lần chạy đầu tiên trông ấn tượng.
Nhưng cảm giác không có sự kiện của cái thứ một trăm.
