1 điểm bởi GN⁺ 2024-02-14 | 1 bình luận | Chia sẻ qua WhatsApp

Hành trình khác biệt của một startup qua lời CEO

  • Việc một startup vận hành âm thầm trong 5 năm là điều hiếm thấy.
  • Chúng tôi muốn tạo ra một sản phẩm đáng kinh ngạc trước khi ra mắt công chúng, và trong quá trình đó đã tuyển dụng những nhân tài xuất sắc, tìm kiếm khách hàng đầu tiên và hợp tác với các nhà đầu tư.
  • Đây không phải cách làm tự nhiên đối với một startup, nhưng nhờ vậy chúng tôi đã xây dựng được rất nhiều thứ.

Lý do chúng tôi tạo ra điều này

  • Antithesis là phần tiếp nối của câu chuyện bắt đầu từ công ty trước đây mang tên FoundationDB.
  • Chúng tôi muốn xây dựng một cơ sở dữ liệu phân tán có khả năng mở rộng và chịu lỗi tốt, nhưng phần khó nhất là kiểm thử nó và có thể tin chắc vào tính đúng đắn của nó.
  • Vấn đề cốt lõi của phát triển phần mềm là lập trình viên phải xử lý những tình huống mà họ không lường trước được.

Những gì chúng tôi đã tạo ra

  • Trước khi viết cơ sở dữ liệu, chúng tôi đã viết trước một mô phỏng mạng dựa trên sự kiện hoàn toàn có tính xác định.
  • Với hệ thống này, khi phát hiện lỗi, chúng tôi có thể chạy lặp lại với cùng một random seed để lần theo lỗi.
  • FoundationDB là một cơ sở dữ liệu gần như không có lỗi, với rất ít lỗi do khách hàng báo cáo.

Những gì chúng tôi đã tạo ra

  • Chúng tôi đã viết một hypervisor để biến phần mềm bất kỳ thành có tính xác định.
  • Nền tảng này có thể tìm ra lỗi trong phần mềm và tái hiện chúng một cách hoàn hảo.
  • Hiện tại chúng tôi đang tập trung vào việc kiểm thử độ tin cậy và khả năng chịu lỗi của các hệ thống phân tán.

Liên hệ?

  • Chúng tôi muốn trao đổi với các tổ chức coi trọng độ tin cậy của hệ thống phân tán và năng suất kỹ thuật.
  • Nếu có câu hỏi hoặc bình luận, bạn có thể liên hệ qua TwitterX hoặc contact@antithesis.com.

Ý kiến của GN⁺

  • Điểm quan trọng nhất của bài viết này là có thể tạo ra phần mềm gần như hoàn hảo thông qua phương pháp kiểm thử có tính xác định. Điều này giúp tối đa hóa năng suất của đội ngũ kỹ thuật và rút ngắn thời gian phát hiện lỗi.
  • Nền tảng mà Antithesis cung cấp có tiềm năng thay đổi mô hình phát triển phần mềm, và điều này có thể tạo ảnh hưởng lớn tới cộng đồng kỹ thuật.
  • Bài viết này đưa ra một cách tiếp cận đổi mới nhằm vượt qua những giới hạn của kiểm thử phần mềm, mang lại thông tin rất thú vị và hữu ích cho những người làm trong lĩnh vực công nghệ.

1 bình luận

 
GN⁺ 2024-02-14
Ý kiến trên Hacker News
  • Năng suất của đội ngũ kỹ thuật tăng 50 lần

    • Có cảm giác khái niệm "lập trình viên 10x" đã bị biến tướng thành người làm việc 6,5 ngày mỗi tuần, 15 giờ mỗi ngày.
    • Năng suất 10x thực sự (hoặc 50x) đến từ những người hiện thực hóa điều từng bị cho là bất khả thi và nhờ đó giao phần mềm nhanh hơn rất nhiều.
  • Đây là bài giới thiệu hay nhất mà tôi từng đọc

    • Giải thích rất tốt nền tảng về con người và những gì họ đã tạo ra.
    • Cho thấy thứ họ đang xây dựng hiện tại là kết quả của những gì họ đã làm trước đây.
    • Cũng nhắc đến các đội ngũ đã sử dụng nó rồi (những nơi có hệ thống nổi tiếng và phức tạp).
    • Được trình bày bằng lối viết tốt, hấp dẫn với lập trình viên/nhà sáng lập. Landing page cũng rất xuất sắc.
  • Đây là một đề xuất tuyệt vời, nhưng câu "đã tìm ra mọi lỗi" chỉ có thể đúng khi định nghĩa về lỗi là cực kỳ hẹp

    • Những lỗi khó nhằn nhất liên quan đến business logic của ứng dụng.
    • Vấn đề là phải xác định ngay từ đầu thế nào mới là "đúng".
    • Việc xây dựng phần mềm trong thế giới thực và việc tưởng tượng ra một trạng thái không có lỗi là hai chuyện khác nhau.
  • Một nền tảng tìm lỗi trong phần mềm

    • Thực ra nó giống một dịch vụ đám mây chạy integration test.
    • Cần tìm ra cách triển khai vào một môi trường đặc biệt, và phải viết integration test bằng một thư viện đặc biệt.
    • Tôi nghi ngờ không biết nó sẽ giúp ích thế nào trong việc tìm ra những lỗi mà ta vốn đã có thể tìm bằng môi trường và integration test riêng.
  • Suy nghĩ về cái tên

    • Tò mò không biết đây chỉ là một biến thể của từ 'Hypothesis', hay còn có một ý nghĩa thông minh nào đó mang nghĩa đối lập với property-based testing.
  • Quan tâm đến lĩnh vực này

    • Nhờ hướng dẫn mô phỏng sled mà biết được FoundationDB làm gì.
    • Dùng madsim để viết các dịch vụ theo phong cách async/await, rồi trong test thay mọi yếu tố phi quyết định bằng một executor có tính quyết định đã được vá lại.
    • Những kiểu test này là công cụ cực kỳ mạnh.
  • Việc viết code thật sự rất thú vị

    • Cảm giác lập trình như đang được bao quanh bởi một tấm khiên quyền năng ngăn chặn mọi tai họa.
    • Xóa hết dependency và tự viết một bản triển khai Paxos rất nhanh. Không có lỗi nào cả.
  • Chẳng phải đây đúng là chén thánh sao?

    • Dùng nguyên ứng dụng hiện có và chỉ kiểm tra các thuộc tính.
    • CPU và hệ điều hành phi quyết định luôn là rào cản.
    • Vì gần như không thể xây dựng lại toàn bộ stack tính toán theo chiều dọc, họ lách vấn đề này bằng cách dựng một trình mô phỏng quyết định có độ phân giải cao.
  • Gặp Antithesis ở Strangeloop

    • So với trạng thái hiện đại nhất của việc tiêm lỗi tự động mà tôi từng theo đuổi khi làm ở Amazon, sản phẩm này vượt xa đáng kể.
    • Theo dõi quá trình truy tìm lỗi mà họ phát hiện trong Apache Spark streaming.
    • Không thể hình dung được các công cụ như Antithesis quan trọng đến mức nào trong một công ty xây dựng hệ thống phân tán.
  • Ba suy nghĩ

    • Một ý tưởng tuyệt vời xuất hiện đúng thời điểm.
    • Nhắm tới một thị trường ngách.
    • Lời khen cho chất lượng viết lách và tài liệu hóa.