Chấp nhận dự án mới · đội ngũ chỉ gồm các chuyên gia cấp cao · ưu tiên làm việc từ xa PWN-ALL · Studio phần mềm tùy chỉnh

Phần mềm trong Rust và Python sẽ tồn tại lâu hơn đội ngũ đã phát hành nó.

Chúng tôi là một studio chỉ gồm các kỹ sư cấp cao, chuyên phát triển phần mềm tùy chỉnh bằng hai ngôn ngữ: Rust, nơi sai sót sẽ phải trả giá đắt, và Python, nơi việc chậm trễ trong việc phát hành sẽ phải trả giá đắt.

Cải thiện trung bình p99 0 trên 40 lần di chuyển
Giảm dung lượng bộ nhớ 0 so với các giá trị cơ sở của JVM / Node
Dịch vụ đang hoạt động 0 từ năm 2024
Số sự cố bảo mật đã được khắc phục 0 trong toàn bộ lịch sử hoạt động của chúng tôi
Các đội tin tưởng vào mã nguồn của chúng tôi
01 Hai ngôn ngữ. Không phải năm.

Một bộ công cụ, được lựa chọn có chủ đích.

Các công ty đa ngôn ngữ nghe có vẻ tuyệt vời trong bản trình bày. Nhưng trong thực tế, điều đó có nghĩa là ba hệ thống xây dựng, bốn biến thể của null và một bãi rác các dịch vụ được duy trì một nửa. Chúng tôi đã chọn hai ngôn ngữ bao phủ 95% khối lượng công việc thực tế — và chúng tôi đã trở nên rất, rất giỏi cả hai.

Đường dẫn nóng · hệ thống · an toàn

Rust

9,6 điểm phù hợp nội bộ

An toàn bộ nhớ mà không cần bộ thu gom rác. Không có xung đột dữ liệu tại thời điểm biên dịch. Người đánh giá mã khắt khe nhất mà bạn từng gặp — và một khi họ chấp thuận, dịch vụ của bạn sẽ không làm phiền bạn vào Chủ nhật.

Khi chúng ta tìm đến nó

  • Hệ thống thanh toán & bất kỳ thứ gì liên quan đến tiền hoặc PII
  • Cổng API nóng với SLA 99,999%
  • Các công cụ khớp lệnh có độ trễ thấp, giao dịch, thời gian thực
  • Các mô-đun WebAssembly được triển khai lên trình duyệt
  • Các công cụ CLI và daemon phải khởi động trong vài mili giây

Những sự đánh đổi mà chúng ta không thể phớt lờ

  • Quá trình đào tạo cho nhân viên mới: ~2–4 tuần để đạt năng suất
  • Thời gian biên dịch trên các không gian làm việc khổng lồ (chúng tôi khắc phục bằng sccache)
  • Hệ sinh thái còn non trẻ hơn Java — nhưng đã trưởng thành ở những điểm quan trọng
Kết nối · dữ liệu · ML · tốc độ

Python

9,3 điểm phù hợp nội bộ

Con đường nhanh nhất từ bảng trắng đến hệ thống hoạt động. Hệ sinh thái phong phú nhất trên Trái đất về dữ liệu, ML và tự động hóa. Python hiện đại — 3.12, uv, ruff, pydantic, FastAPI — là một ngôn ngữ chính xác, có kiểu và đủ nhanh cho hầu hết những gì bạn cần.

Khi chúng ta tìm đến nó

  • Các công cụ nội bộ, bảng điều khiển, bảng điều khiển quản trị
  • ETL, đường ống dữ liệu, Airflow / Dagster / Prefect
  • ML — đào tạo, triển khai, đánh giá
  • Tự động hóa và tích hợp với API của nhà cung cấp
  • Các sản phẩm MVP sẽ ra mắt trong quý này, không phải năm sau

Những sự đánh đổi mà chúng ta không thể phớt lờ

  • Tốc độ xử lý trên một lõi chậm hơn 20–50 lần so với Rust
  • Dung lượng bộ nhớ cao hơn cho mỗi yêu cầu — gây ra lỗi nghiêm trọng cho một số tác vụ
  • Kiểu dữ liệu động gây rắc rối nếu không có mypy / pydantic nghiêm ngặt
Rust, nơi sai lầm phải trả giá đắt. Python, nơi việc chậm trễ trong việc phát hành sẽ phải trả giá đắt. Một đội ngũ. Không có giáo điều.
02 Con số, không phải cảm tính

Rust & Python so với các ngôn ngữ thông thường.

Nhấn vào một chỉ số để xem vị trí của từng ngôn ngữ. Điểm số từ 0–10, được tổng hợp từ các bài kiểm tra hiệu năng của chúng tôi cùng các nguồn công khai (Techempower R22, CLBG, các dự án di chuyển thực tế chúng tôi đã triển khai).

Tiêu chí Rust Python Go C++ Java Node.js
Hiệu suất thô (p99, lõi đơn) 10 3 7 10 7 5
An toàn bộ nhớ & xung đột dữ liệu 10 9 8 2 8 7
Thời gian để có được nguyên mẫu hoạt động 5 10 7 3 6 8
Độ rộng hệ sinh thái 8 10 7 9 10 9
Đa nhiệm mà không gặp rắc rối 10 6 9 4 6 7
Chi phí vận hành trên mỗi yêu cầu 10 5 8 9 5 6
Sự sẵn có của nhân tài cấp cao 6 10 7 8 10 9
Khả năng bảo trì trong 10 năm 10 8 8 5 8 5
03 Từ → Đến

Những thay đổi khi bạn chuyển đổi.

Chọn một ngôn ngữ ban đầu. Xem tác động của việc chuyển sang Rust hoặc Python. Các con số là giá trị trung vị từ 40 dự án chuyển đổi gần đây nhất của chúng tôi, không phải là những lời quảng cáo hoa mỹ.

Hiện tại trên

C / C++

Nhanh, đúng vậy. Nhưng mỗi con trỏ null là một lỗ hổng bảo mật tiềm ẩn, mỗi luồng là một cuộc đua dữ liệu tiềm ẩn, và hệ thống xây dựng của bạn là công việc toàn thời gian của ai đó.

Vấn đề thường gặp
  • CVE liên quan đến an toàn bộ nhớ
  • Hành vi không xác định
  • Hệ thống xây dựng mở rộng
Chuyển sang

Rust

Thông lượng ×6,4
Dung lượng bộ nhớ −78%
Sự cố thời gian chạy −99%
Hóa đơn tính toán hàng tháng −65%

Tốt nhất khi bạn đang phải đối mặt với lỗi trỏ null, xung đột dữ liệu hoặc bộ nhớ tăng không giới hạn. Rust giữ nguyên tốc độ và loại bỏ các "vũ khí tự sát".

Chuyển sang

Python

Tốc độ phát triển ×3,1
Số dòng mã −55%
Thời gian phát hành −60%
Chi phí thời gian chạy +40%

Tốt nhất khi chi phí thực sự là thời gian phát triển, không phải CPU. Đổi lấy thông lượng thô để có vòng phản hồi ngắn hơn, thư viện phong phú hơn và mã nguồn mà con người thực sự có thể đọc được.

Cách chúng tôi đo lường các con số này

Giá trị trung vị trên 40 lần di chuyển đã hoàn thành từ năm 2023 đến 2026. Thông lượng được đo tại lớp ứng dụng (p50 đầu cuối dưới tải thực tế, không phải các bài kiểm tra hiệu năng nhỏ). Bộ nhớ là RSS ở trạng thái ổn định. Chi phí là chi phí tính toán theo yêu cầu hàng tháng trên AWS/GCP, tất cả các yếu tố khác giữ nguyên. Kết quả riêng lẻ có thể khác nhau — chúng tôi cũng công bố những kết quả không diễn ra theo kế hoạch, theo yêu cầu.

04 Các con số không có dấu sao

Số yêu cầu mỗi giây dưới tải thực tế.

Tải công việc giống hệt nhau — xác thực JSON → truy vấn Postgres → hiển thị — được đo trên một máy AMD Ryzen 7 duy nhất. Đây không phải là các bài kiểm tra hiệu năng vi mô. Nguồn & phương pháp ↓

  1. 1 Rust · Axum
    21.030 yêu cầu/giây
  2. 2 C# .NET · ASP.NET Core
    14.707 yêu cầu/giây
  3. 3 Node.js · Fastify
    9.340 yêu cầu/giây
  4. 4 C++ · Drogon
    7.200 yêu cầu/giây
  5. 5 Go · Gin
    3.546 yêu cầu/giây
  6. 6 Python · FastAPI (Uvicorn)
    1.185 yêu cầu/giây
  7. 7 PHP · Laravel
    299 yêu cầu/giây

Hãy hiểu điều này một cách đúng đắn: Python nằm gần cuối bảng xếp hạng này, và điều đó hoàn toàn ổn. Chúng tôi không chạy FastAPI trên đường dẫn nóng. Chúng tôi chạy nó ở nơi mà 1.185 yêu cầu/giây đã gấp khoảng 10 lần so với nhu cầu công việc, và giờ làm việc của kỹ sư có giá trị hơn chu kỳ CPU. Phương pháp: AMD Ryzen 7, Linux, Docker, một phiên bản duy nhất, một khung công tác phổ biến cho mỗi ngôn ngữ. Các con số là trung bình của nhiều lần chạy.

05 Chi phí thực sự của mã bị lỗi

Chi phí thực sự mà sự cố ngừng hoạt động gây ra cho bạn.

"Năm chín" không phải là chiêu trò tiếp thị. Dưới đây là chi phí của một giờ ngừng hoạt động không dự kiến, theo ngành — kèm nguồn tham khảo. Chúng tôi phát triển Rust dựa trên những con số này.

Chi phí tích lũy kể từ khi bạn mở phần này
Tài chính / y tế $0 ~83.000 USD/phút · 5 triệu USD/giờ
Ô tô $0 ~38.000 USD/phút · 2,3 triệu USD/giờ
Doanh nghiệp lớn $0 23.750 USD/phút · 1,4 triệu USD/giờ
Doanh nghiệp vừa $0 ~5.000 USD/phút · 300.000 USD/giờ
Tài chính & y tế $5 triệu trở lên /giờ

Các ngành có rủi ro cao nhất. Các nền tảng giao dịch, hệ thống thanh toán và hệ thống y tế có thể vượt quá $5 triệu mỗi giờ trong trường hợp sự cố nghiêm trọng — trước khi tính đến bất kỳ chi phí pháp lý hoặc khiếu nại nào.

Nguồn: Nghiên cứu Fortune 500 năm 2024 của Gartner; Chi phí ngừng hoạt động theo giờ năm 2024 của ITIC.
Sản xuất ô tô 2,3 triệu USD/giờ

Một dây chuyền sản xuất ngừng hoạt động gây thiệt hại khoảng 640 USD mỗi giây. Sự cố ngừng hoạt động của CrowdStrike vào tháng 7 năm 2024 đã khiến riêng Delta Air Lines thiệt hại 380 triệu USD trong năm ngày.

Nguồn: Phân tích ngành của Erwood Group năm 2025; Báo cáo sau sự cố của Antithesis CrowdStrike.
Doanh nghiệp lớn (trung bình) 1,4 triệu USD/giờ

Con số của BigPanda năm 2024 đối với các doanh nghiệp lớn: 23.750 USD mỗi phút. ITIC báo cáo rằng 41% các doanh nghiệp lớn mất từ 1 triệu đến 5 triệu USD mỗi giờ khi ngừng hoạt động.

Nguồn: Nghiên cứu năm 2024 của BigPanda; Chi phí hàng giờ cho thời gian ngừng hoạt động lần thứ 11 hàng năm của ITIC.
Global 2000 (Oxford Economics) 400 tỷ USD /năm

Tổng chi phí ẩn do thời gian ngừng hoạt động không dự kiến tại 2.000 công ty lớn nhất thế giới, theo nghiên cứu năm 2024 của Oxford Economics — trung bình mỗi công tychịu tác động $200 triệu khi tính tổng doanh thu, năng suất và chi phí khắc phục.

Nguồn: Oxford Economics 2024, “Chi phí ẩn của thời gian ngừng hoạt động”.
Doanh nghiệp vừa và lớn (giờ tiêu biểu) 300.000 USD+ / giờ

Khảo sát năm 2024 của ITIC: hơn 90% doanh nghiệp vừa và lớn hiện nay đánh giá một giờ ngừng hoạt động ngoài kế hoạch cao hơn mức này — chưa tính đến các khoản phạt pháp lý, dân sự hoặc theo quy định.

Nguồn: Báo cáo Chi phí Thời gian Ngừng hoạt động theo Giờ năm 2024 của ITIC.
Doanh nghiệp vừa và nhỏ (SMB) 25.000–150.000 USD/giờ

Nghiên cứu chung của ITIC / Calyptix năm 2025 cho thấy nhiều doanh nghiệp vừa và nhỏ (SMB) mất số tiền này mỗi giờ; Siemens báo cáo rằng các doanh nghiệp vừa và nhỏ (SME) bị ảnh hưởng bởi sự cố ngừng hoạt động có thể mất tới 150.000 USD/giờ. Thời gian trung bình của một sự cố ngừng hoạt động là 87 phút.

Nguồn: ITIC + Calyptix 2025; Chi phí thực sự của thời gian ngừng hoạt động 2024 của Siemens.
06 Các dự án tiêu biểu

Ba dự án. Ba thách thức khác nhau.

Được ẩn danh theo yêu cầu của thỏa thuận bảo mật (NDA), cụ thể khi kết quả yêu cầu. Đây là những dự án chúng tôi sẽ giới thiệu đầu tiên cho người mua kỹ thuật.

  1. Trường hợp 01 Python Cơ sở dữ liệu Tiền điện tử GDPR

    Kho dữ liệu Fintech: nhỏ hơn 4 lần, nhanh hơn 5,5 lần, tuân thủ các tiêu chuẩn toàn cầu.

    Khách hàng đang vận hành một cụm Postgres 1,8 TB bị phình to bởi các cột cũ, chỉ mục không còn sử dụng và các BLOB được mã hóa trực tiếp đã tích lũy trong bảy năm. Hệ thống tiền điện tử chạy trên một thư viện đã bị loại bỏ, được cảnh báo trong ba cuộc kiểm toán riêng biệt. Rủi ro tuân thủ là thực tế; các kiểm toán viên đang theo dõi sát sao.

    Những gì chúng tôi đã làm

    • Kiểm tra toàn bộ lược đồ và cách sử dụng, loại bỏ các cột và chỉ mục không sử dụng, áp dụng phân vùng phù hợp.
    • Di chuyển đường ống mã hóa từ thư viện cũ sang ngăn xếp AEAD hiện đại, được kiểm toán với các khóa luân phiên.
    • Chuyển đổi mã hóa BLOB-inline sang mã hóa envelope tham chiếu + KMS chuyên dụng.
    • Điều chỉnh quy trình lưu trữ dữ liệu và quyền truy cập của chủ thể theo GDPR, CCPA và APPI.
    Kết quả

    Cùng một dữ liệu, chi phí lưu trữ giảm một phần tư, thông lượng tăng 5,5 lần và một báo cáo tình trạng hệ thống hoàn hảo cho cơ quan quản lý tiếp theo đến kiểm tra.

  2. Trường hợp 02 Rust C++ → Rust Bảo mật Lưu trữ

    Dịch vụ C++ được viết lại bằng Rust: Hơn 100 lỗi thuộc loại CVE đã được khắc phục trong 9 tuần.

    Dịch vụ xử lý tệp dành cho người dùng bằng C++, bị treo mỗi 4–5 ngày và được vá tại chỗ mỗi lần. Cuộc kiểm toán của chúng tôi đã phát hiện ra hơn 100 lỗi thực sự: các đường dẫn từ chối dịch vụ , tràn bộ đệm, xử lý yêu cầu không giới hạn. Các lỗi 503 vào giờ cao điểm là một thói quen hàng tuần. Về phía lưu trữ, các tệp do người dùng tải lên đã tích tụ thành một đống tệp trùng lặp chiếm dụng dung lượng lưu trữ.

    Những gì chúng tôi đã làm

    • Viết lại hoàn toàn bằng Rust (axum + tokio) với xác thực đầu vào nghiêm ngặt và giới hạn tài nguyên có giới hạn.
    • Kiểm thử dựa trên thuộc tính + cargo-fuzz trên mọi ranh giới của trình phân tích cú pháp và định dạng truyền tải.
    • Lớp lưu trữ theo nội dung với tính năng loại bỏ trùng lặp tại thời điểm ghi.
    • Triển khai theo mô hình Blue-Green trong khung thời gian tích hợp 4 giờ, không gây gián đoạn dịch vụ.
    Kết quả

    Dịch vụ đã chuyển từ "yếu ớt và phải vá lỗi hàng tuần" sang "chúng tôi không còn phải theo dõi máy nhắn tin nữa". Chi phí lưu trữ giảm nhờ tính năng loại bỏ trùng lặp, các phiếu hỗ trợ về lỗi và mã trạng thái 503 gần như biến mất, và việc tái cấu trúc đã thu hồi vốn trong vòng một quý.

  3. Trường hợp 03 Rust Python eBPF / XDP CRM · 4.000 người dùng

    Hệ thống CRM doanh nghiệp được tái cấu trúc: 18 máy chủ → 5, giảm chi phí hơn 60%.

    Hệ thống CRM nội bộ phục vụ hơn 4.000 người dùng trên các lĩnh vực IAM, SOC, ghi nhật ký tập trung, trò chuyện, chia sẻ tệp, VoIP và dữ liệu được mã hóa đầu cuối. Mười tám máy chủ, Cloudflare ở trên cùng, và hóa đơn đám mây không ngừng tăng lên bất kể số lượng nhân viên. Chúng tôi đã xây dựng lại đường dẫn nóng bằng Rust, giữ Python ở lớp tích hợp và báo cáo, đồng thời đặt một bộ lọc eBPF/XDP ngay trước cổng vào.

    Những gì chúng tôi đã làm

    • Dịch vụ Rust cho xác thực (IAM), nhắn tin thời gian thực, tín hiệu VoIP, truyền tệp.
    • Python cho giao diện quản trị, báo cáo, tương quan sự kiện SOC, tích hợp với API của nhà cung cấp.
    • Bot eBPF/XDP và lọc lạm dụng tại nhân hệ điều hành — thay thế Cloudflare cho tác vụ này.
    • Đường ống ghi nhật ký có cấu trúc được viết lại dựa trên lược đồ sao chép bằng không.
    Kết quả

    Giảm 13 máy chủ, không còn mục chi phí Cloudflare, đội SOC nhận được tín hiệu rõ ràng hơn qua đường ống ghi nhật ký, và Giám đốc Tài chính (CFO) ngừng đặt những câu hỏi khó xử về ngân sách hạ tầng.

07 Cách chúng tôi thực sự làm việc

Điều chỉnh các thông số. Theo dõi sự thay đổi của kế hoạch.

Mỗi dự án đều cân bằng giữa tốc độ, chi phí và độ tin cậy. Ước tính năm giai đoạn dưới đây được điều chỉnh dựa trên mức trung bình của ngành (khám phá 2–6 tuần, kiến trúc 1–4 tuần, triển khai 4–20 tuần, củng cố 2–8 tuần, bàn giao 1–2 tuần — theo báo cáo năm 2024–2026 từ NIX United, Agilie, SOLTECH, OTG Lab). Di chuyển thanh trượt; kế hoạch sẽ được điều chỉnh lại ngay lập tức.

01

Khám phá

3 tuần

Đọc mã nguồn, phỏng vấn đội vận hành, liệt kê các yếu tố chưa rõ, chọn ngôn ngữ cho từng thành phần.

  • Phỏng vấn chuyên gia và kiểm tra mã nguồn
  • Danh sách rủi ro & mục tiêu SLA
  • Quyết định ngôn ngữ cho từng dịch vụ
02

Kiến trúc

2 tuần

Hợp đồng trước khi viết mã. OpenAPI / protobuf, mô hình dữ liệu, cấu trúc triển khai, khung sườn sổ tay vận hành.

  • Yêu cầu đề xuất (RFC) cho mọi hợp đồng công khai
  • Mô hình dữ liệu + kế hoạch di chuyển
  • Cơ sở hạ tầng dưới dạng mã
03

Triển khai

8 tuần

Các PR nhỏ, CI đạt trạng thái xanh ngay từ ngày đầu, triển khai sau mỗi lần hợp nhất, được xem xét bởi một chuyên gia cấp cao khác.

  • Rust: axum · tonic · sqlx
  • Python: FastAPI · Pydantic · SQLAlchemy
  • Demo hàng tuần + nhật ký thay đổi
04

Tăng cường bảo mật

3 tuần

Kiểm tra fuzzing, kiểm tra dựa trên thuộc tính, kiểm tra tải với lưu lượng thực tế, mô hình mối đe dọa.

  • cargo-fuzz · proptest · hypothesis
  • Kiểm thử tải K6 liên kết với SLOs
  • Kiểm tra bảo mật & kiểm toán phụ thuộc
05

Bàn giao

1 tuần

Hướng dẫn vận hành, luân phiên trực ca, ADR và một đội ngũ đã từng triển khai thành công dự án này.

  • Hướng dẫn vận hành + ma trận trực ca
  • Nhật ký ADR & sơ đồ kiến trúc
  • Hỗ trợ sau khi ra mắt trong 30 ngày
08 Cùng một vấn đề, hai ngôn ngữ

Điểm cuối giống nhau trông như thế nào trong mỗi ngôn ngữ.

Lấy người dùng, xác thực đầu vào, lưu trữ vào Postgres, trả về JSON. Chuyển đổi giữa các ngôn ngữ — cả hai đều là mã thực tế mà chúng tôi sẽ triển khai.

SQL_CREATE_USER = "insert into users(email,name) values(lower($1),$2) returning id,email,name"
Name = Annotated[str, StringConstraints(strip_whitespace=True, min_length=1, max_length=120)]

class UserIn(BaseModel):
    email: EmailStr
    name: Name

class UserOut(UserIn):
    id: int

@router.post("/users", response_model=UserOut, status_code=201)
async def create_user(u: UserIn) -> UserOut:
    try:
        row = await pool.fetchrow(SQL_CREATE_USER, str(u.email), u.name)
   except UniqueViolationError as exc:
        raise HTTPException(status_code=409, detail="email đã tồn tại") from exc
    if row is None:
        raise HTTPException(status_code=500, detail="thao tác chèn thất bại")
    return UserOut.model_validate(dict(row))
#[derive(Deserialize, Validate)]
#[serde(deny_unknown_fields)]
pub struct UserIn {
    #[validate(email)]
    pub email: String,
    #[validate(custom(function = "valid_name"))]
    pub name: String,
}

pub async fn create_user(
    State(pool): State<PgPool>,
    ValidatedJson(u): ValidatedJson<UserIn>,
) -> Result<(StatusCode, Json<UserOut>), ApiError> {
   let user = sqlx::query_as!(UserOut,
        "insert into users(email,name) values(lower($1),$2) returning id,email,name",
        u.email.as_str(),
        u.name.trim(),
    )
    .fetch_one(&pool)
    .await
    .map_err(ApiError::from_db)?;

    Ok((StatusCode::CREATED, Json(user)))
}
Số dòng mã
16 22
Thông lượng
1.185 yêu cầu/giây 21.030 yêu cầu/giây
Độ trễ p50
21,0 ms 1,6 ms
RAM khi không hoạt động
41,2 MB 8,5 MB
Chúng tôi sẽ trả lời trong vòng 1 ngày làm việc. Không đùa đâu.

Bạn đã đọc hết trang này.
Hãy cùng xây dựng dự án.

Hãy cho chúng tôi biết vấn đề với hệ thống của bạn là gì, hoặc bạn muốn xây dựng gì từ đầu. Bạn sẽ nhận được ý kiến kỹ thuật thực sự — không phải bản trình bày bán hàng.

  • Không tuyển kỹ sư cấp thấp. Không gia công phần mềm ra nước ngoài.
  • Các tùy chọn giá cố định cho công việc có phạm vi cụ thể.
  • Ký thỏa thuận bảo mật (NDA) trước khi chúng tôi yêu cầu bất kỳ thông tin nào.