Yeni projeler kabul edilir · sadece kıdemli çalışanlardan oluşan ekip · uzaktan çalışma öncelikli PWN-ALL · Özel yazılım stüdyosu

Yazılım Rust ve Python bunu piyasaya süren Rust

Biz, kasıtlı olarak iki dilde özel yazılım geliştiren, sadece kıdemli mühendislerden oluşan bir stüdyoyuz: Hata yapmanın pahalıya mal olduğu Rust ve Yavaş teslimatın pahalıya mal olduğu Python.

Ort. p99 iyileştirme 40 geçişte
Bellek azalması % JVM / Node temel değerlerine kıyasla
Üretimde olan hizmetler 0 2024'ten beri
Gönderilen güvenlik olayları 0 tüm tarihimiz boyunca
Kodumuza güvenen ekipler
01 İki dil. Beş değil.

Tek bir yığın, bilinçli olarak seçildi.

Çok dilli ajanslar, sunumlarda kulağa hoş gelir. Ancak üretim aşamasında bu, üç derleme sistemi, dört farklı null türü ve yarı bakımlı hizmetlerden oluşan bir mezarlık anlamına gelir. Gerçek iş yüklerinin %95'ini karşılayan iki dil seçtik — ve her ikisinde de çok, çok iyi hale geldik.

Sıcak yol · sistemler · güvenlik

Pas

9,6 iç uyum puanı

Çöp toplayıcı olmadan bellek güvenliği. Derleme sırasında veri yarışması yok. Şimdiye kadar karşılaşacağınız en acımasız kod denetçisi — ve bir kez sizi geçirdiğinde, hizmetiniz Pazar günü sizi uyandırmaz.

Ulaşmaya çalıştığımızda

  • Ödeme kanalları ve parayla veya PII ile ilgili her şey
  • %99,999 SLA'ya sahip yoğun API ağ geçitleri
  • Düşük gecikmeli eşleştirme motorları, ticaret, gerçek zamanlı
  • Tarayıcıya gönderilen WebAssembly modülleri
  • Milisaniyeler içinde başlaması gereken CLI araçları ve arka plan programları

Göz ardı etmeyeceğimiz ödünler

  • Yeni işe alınanların işbaşı hazırlığı: Verimli hale gelmeleri için ~2–4 hafta
  • Büyük çalışma alanlarında derleme süreleri (sccache ile düzeltiyoruz)
  • Java'dan daha genç bir ekosistem — önemli noktalarda olgun
Yapıştırıcı · veri · ML · hız

Python

9,3 iç uyum puanı

Beyaz tahtadan çalışan sisteme giden en hızlı yol. Veri, makine öğrenimi ve otomasyon için dünyadaki en zengin ekosistem. Modern Python — 3.12, uv, ruff, pydantic, FastAPI — ihtiyacınız olan çoğu şey için hassas, tipli ve yeterince hızlı bir dildir.

Buna uzandığımızda

  • Şirket içi araçlar, gösterge panelleri, yönetici panelleri
  • ETL, veri boru hatları, Airflow / Dagster / Prefect
  • ML — eğitim, hizmet, değerlendirme
  • Otomasyonlar ve tedarikçi API'leriyle entegrasyonlar
  • Gelecek yıl değil, bu çeyrekte piyasaya sürülecek MVP'ler

Göz ardı etmeyeceğimiz ödünler

  • Tek çekirdekli işlem hızı Rust'tan 20–50 kat daha yavaş
  • İstek başına daha fazla bellek kullanımı — bazı iş yükleri için ölümcül
  • Sıkı mypy / pydantic olmadan dinamik tipleme sorun yaratır
Rust, hatanın pahalıya mal olduğu bir yer. Yavaş teslimatın pahalıya mal olduğu Python. Tek ekip. Sıfır dogma.
02 Hissiyat değil, rakamlar

Rust ve Python ile diğer yaygın dillerin karşılaştırması.

Her bir dilin nerede yer aldığını vurgulamak için bir metriğe dokunun. Puanlar 0–10 arasındadır ve kendi benchmarklarımız ile kamuya açık kaynaklardan (Techempower R22, CLBG, gerçekleştirdiğimiz gerçek geçişler) derlenmiştir.

Kriter Rust Python Go C++ Java Node.js
Ham performans (p99, tek çekirdek) 10 3 7 10 7 5
Bellek güvenliği ve veri yarışları 10 9 8 2 8 7
Çalışan prototipin hazır olma süresi 5 10 7 3 6 8
Ekosistem genişliği 8 10 7 9 10 9
Sorunsuz eşzamanlılık 10 6 9 4 6 7
İstek başına operasyon maliyeti 10 5 8 9 5 6
Üst düzey yeteneklerin mevcudiyeti 6 10 7 8 10 9
10 yıllık bakım kolaylığı 10 8 8 5 8 5
03 Geldiğiniz yer → Gideceğiniz yer

Geçiş yaptığınızda neler değişir?

Bir başlangıç dili seçin. Rust veya Python'a geçişin etkisini izleyin. Rakamlar, pazarlama abartısı değil, son 40 geçiş projemizin ortalamalarıdır.

Şu anda

C / C++

Hızlı, evet. Ancak her null işaretçisi potansiyel bir CVE, her iş parçacığı potansiyel bir veri yarışıdır ve derleme sisteminiz birinin tam zamanlı işidir.

Tipik sorunlar
  • Bellek güvenliği CVE'leri
  • Tanımlanmamış davranış
  • Derleme sistemi yayılması
Taşı

Rust

İşlem hacmi ×6,4
Bellek ayak izi −78
Çalışma zamanı çökmeleri −99
Aylık bilgi işlem faturası −%65

Şu anda null-pointer hataları, veri yarışları veya sınırsızca büyüyen bellek ile yaşıyorsanız en iyisidir. Rust hızı korur ve kendi kendine zarar veren unsurları ortadan kaldırır.

Geçiş

Python

Geliştirme hızı ×3,1
Kod satır sayısı −55
Sürüm yayınlama süresi −60%
Çalışma zamanı ek yükü +40%

Gerçek maliyet CPU değil, mühendislik zamanı olduğunda en iyisidir. Ham verimi, daha kısa geri bildirim döngüsü, daha zengin kütüphaneler ve insanların gerçekten okuyabileceği kodla takas edin.

Bu rakamları nasıl ölçüyoruz

2023 ile 2026 yılları arasında tamamlanan 40 geçişin ortanaları. Verim, uygulama katmanında ölçülmüştür (mikro testler değil, gerçekçi yük altında uçtan uca p50). Bellek, sabit durumda RSS'dir. Maliyet, AWS/GCP'de aylık isteğe bağlı hesaplama maliyetidir, diğer tüm koşullar eşittir. Bireysel sonuçlar değişiklik gösterebilir — talep üzerine, planlandığı gibi gitmeyen sonuçları da yayınlıyoruz.

04 Yıldız işareti olmayan rakamlar

Gerçek yük altında saniye başına istek sayısı.

Aynı iş yükü — JSON doğrulama → Postgres sorgulama → işleme — tek bir AMD Ryzen 7 kutusunda ölçülmüştür. Bunlar mikro benchmark değildir. Kaynak ve metodoloji ↓

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

Bunu doğru şekilde okuyun: Python bu grafiğin en altında yer alıyor ve bu sorun değil. FastAPI'yi yoğun yük altında çalıştırmıyoruz. Onu, 1.185 istek/saniyenin iş yükünün ihtiyacının ~10 katından fazla olduğu ve mühendis saatlerinin CPU döngülerinden daha değerli olduğu yerlerde çalıştırıyoruz. Metodoloji: AMD Ryzen 7, Linux, Docker, tek örnek, her dil için bir popüler çerçeve. Rakamlar, birden fazla çalıştırmanın ortalamalarıdır.

05 Bozuk kodun gerçek maliyeti

Bir kesintinin size gerçekte ne kadara mal olduğu.

"Beş dokuz" bir pazarlama sloganı değildir. Aşağıda, sektörlere göre bir saatlik planlanmamış kesintinin maliyeti, kaynaklarıyla birlikte verilmiştir. Biz, bu rakamların yansıdığı Rust'u geliştiriyoruz.

Bu bölümü açtığınızdan beri oluşan maliyet
Finans / sağlık 0 ~83.000 $/dk · 5 milyon $/saat
Otomotiv 0 ~38.000 $/dk · 2,3 milyon $/saat
Büyük işletme 0 23.750 $/dk · 1,4 milyon $/saat
Orta ölçekli işletme 0 ~5.000 $/dk · 300.000 $/saat
Finans ve sağlık 5 milyon $+ / saat

En yüksek riskli sektörler. Ticaret platformları, ödeme sistemleri ve klinik sistemler, ciddi bir kesinti sırasında saatte 5 milyon doları aşabilir — bu rakam, herhangi bir düzenleme veya dava masrafı hesaba katılmadan önce.

Kaynak: Gartner 2024 Fortune 500 çalışması; ITIC 2024 Kesinti Saatlik Maliyeti.
Otomotiv üretimi 2,3 milyon dolar / saat

Durmuş bir üretim hattı saniyede yaklaşık 640 dolar zarara neden olur. Temmuz 2024'teki CrowdStrike kesintisi, sadece Delta Air Lines'a beş günde 380 milyon dolara mal oldu.

Kaynak: Erwood Group 2025 sektör dağılımı; Antithesis CrowdStrike olay sonrası analizi.
Büyük işletme (ort.) 1,4 milyon dolar / saat

BigPanda'nın 2024 yılına ait büyük işletme rakamı: dakikada 23.750 dolar. ITIC raporuna göre, büyük işletmelerin %41'i kesinti saat başına 1 milyon ile 5 milyon dolar arasında zarar görüyor.

Kaynak: BigPanda 2024 araştırması; ITIC 11. Yıllık Kesinti Saatlik Maliyet Raporu.
Global 2000 (Oxford Economics) 400 milyar dolar / yıl

Oxford Economics'in 2024 tarihli araştırmasına göre, dünyanın en büyük 2.000 şirketinde planlanmamış kesintilerin toplam gizli maliyeti, gelir, verimlilik ve düzeltme maliyetleri toplandığında şirket başınaortalama 200 milyon dolarlık bir etkiye karşılık geliyor.

Kaynak: Oxford Economics 2024, “Kesintilerin Gizli Maliyetleri”.
Orta ve büyük ölçekli (tipik saat) 300.000 $+ / saat

ITIC'nin 2024 araştırması: Orta ve büyük ölçekli işletmelerin %90'ından fazlası, yasal, medeni veya düzenleyici cezalar hariç olmak üzere, planlanmamış kesintilerin bir saatlik maliyetini bu eşiğin üzerinde değerlendiriyor.

Kaynak: ITIC 2024 Saatlik Kesinti Maliyet Raporu.
Küçük ve orta ölçekli (KOBİ) 25.000–150.000 $ / saat

2025 ITIC / Calyptix ortak araştırması, birçok KOBİ'nin saat başına bu kadar kayıp yaşadığını ortaya koyuyor; Siemens, kesintilerden etkilenen KOBİ'lerin saat başına 150.000 dolara kadar kayıp yaşayabileceğini bildiriyor. Ortalama kesinti süresi 87 dakikadır.

Kaynak: ITIC + Calyptix 2025; Siemens Kesinti Süresinin Gerçek Maliyeti 2024.
06 Seçilmiş çalışmalar

Üç proje. Üç farklı sorun.

Gizlilik anlaşması gereği anonimleştirilmiş, sonuçlar gereği ise ayrıntılı olarak anlatılmıştır. Bunlar, teknik bir alıcıya ilk olarak göstereceğimiz projeler.

  1. Vaka 01 Python Veritabanı Kripto GDPR

    Fintech veri kasası: 4 kat daha küçük, 5,5 kat daha hızlı, küresel standartlara uygun.

    Müşteri, yedi yıl boyunca büyüyen eski sütunlar, kullanılmayan dizinler ve satır içi şifrelenmiş BLOB'larla şişirilmiş 1,8 TB'lık bir Postgres kümesi barındırıyordu. Kripto, üç ayrı denetimde işaretlenen, kullanımdan kaldırılmış bir kütüphane üzerinde çalışıyordu. Düzenleyici risk gerçekti; denetçiler etrafta dolaşıyordu.

    Yaptıklarımız

    • Tam şema + kullanım denetimi, kullanılmayan sütun ve dizinlerin kaldırılması, uygun bölümleme.
    • Kripto boru hattını eski bir kütüphaneden, dönen anahtarlara sahip modern, denetlenmiş bir AEAD yığınına taşıyın.
    • BLOB satır içi şifrelemeyi, referanslı zarf şifreleme + özel KMS'ye dönüştürün.
    • Veri saklama ve veri sahibi erişim akışlarını GDPR, CCPA ve APPI ile uyumlu hale getirin.
    Sonuç

    Aynı veriler, depolama faturasının dörtte biri, 5,5 kat daha fazla veri işleme kapasitesi ve kapımızı çalan bir sonraki denetçiye sunabileceğimiz kusursuz bir rapor.

  2. Örnek 02 Rust C++ → Rust Güvenlik Depolama

    Rust ile yeniden yazılan C++ hizmeti: 9 haftada 100'den fazla CVE sınıfı hata giderildi.

    C++'da kullanıcıya yönelik dosya işleme hizmeti, her 4–5 günde bir çöküyor ve her seferinde yerinde yamalanıyordu. Denetimimiz 100'den fazla gerçek hata ortaya çıkardı: hizmet reddi yolları, tampon taşmaları, sınırsız istek işleme. Yoğun saatlerdeki 503 hataları haftalık bir ritüel haline gelmişti. Depolama tarafında ise, kullanıcıların yüklemeleri, depolama alanını tüketen yinelenen dosyaların oluşturduğu bir bataklığa dönüşmüştü.

    Yaptıklarımız

    • Sıkı giriş doğrulama ve sınırlı kaynak limitleri ile Rust'ta (axum + tokio) tamamen yeniden yazma.
    • Her ayrıştırıcı ve kablo formatı sınırında özellik tabanlı testler + cargo-fuzz.
    • Yazma sırasında tekilleştirme özelliğine sahip içerik adresli depolama katmanı.
    • 4 saatlik entegrasyon penceresi arkasında mavi-yeşil devreye alma, kesinti yok.
    Sonuç

    Hizmet, "kırılgan ve haftalık yamalarla düzeltilen" durumdan "artık çağrı cihazına bakmıyoruz" durumuna geçti. Depolama maliyetleri veri tekilleştirme ile düştü, hatalar ve 503 hatalarıyla ilgili destek talepleri azaldı ve yeniden yazım, üç ay içinde kendini amorti etti.

  3. Örnek 03 Rust Python eBPF / XDP CRM · 4k kullanıcı

    Kurumsal CRM, yeniden yapılandırıldı: 18 sunucu → 5, %60'ın üzerinde maliyet tasarrufu.

    IAM, SOC, merkezi günlük kaydı, sohbet, dosya paylaşımı, VoIP ve uçtan uca şifrelenmiş verilerde 4.000'den fazla kullanıcıya hizmet veren dahili CRM. On sekiz sunucu, Cloudflare ve çalışan sayısına bakılmaksızın sürekli artan bir bulut faturası. Rust'ta hot path'i yeniden oluşturduk, Python'u entegrasyon ve raporlama katmanında tuttuk ve eBPF/XDP filtresini doğrudan girişin önüne yerleştirdik.

    Yaptıklarımız

    • Kimlik doğrulama (IAM), gerçek zamanlı mesajlaşma, VoIP sinyalleme ve dosya aktarımı için Rust hizmetleri.
    • Yönetici arayüzleri, raporlama, SOC olay korelasyonu ve tedarikçi API'leriyle entegrasyon için Python.
    • Çekirdekte eBPF/XDP bot ve kötüye kullanım filtreleme — bu iş yükü için Cloudflare'in yerini aldı.
    • Sıfır kopyalama şeması etrafında yeniden yazılmış yapılandırılmış günlük kaydı boru hattı.
    Sonuç

    On üç sunucu azaldı, Cloudflare kalemi ortadan kalktı, SOC ekibi günlük kaydı boru hattı üzerinden daha net sinyaller görüyor ve CFO altyapı bütçesi hakkında garip sorular sormayı bıraktı.

07 Gerçekte nasıl çalışıyoruz

Düğmeleri çevirin. Planın değişmesini izleyin.

Her proje hız, maliyet ve güvenilirlik arasında bir denge kurar. Aşağıdaki beş aşamalı tahmin, sektör ortalamalarına göre ayarlanmıştır (keşif 2–6 hafta, mimari 1–4 hafta, uygulama 4–20 hafta, güçlendirme 2–8 hafta, devir 1–2 hafta — NIX United, Agilie, SOLTECH, OTG Lab'ın 2024–2026 raporlarına göre). Kaydırıcıları hareket ettirin; plan anında yeniden ağırlıklandırılır.

01

Keşif

3 hafta

Kodunuzu okuyun, operasyon ekibinizle görüşün, bilinmeyenleri listeleyin, bileşen başına dili seçin.

  • Etki alanı görüşmeleri ve kod denetimi
  • Risk kaydı ve SLA hedefleri
  • Hizmet başına dil kararı
02

Mimari

2 hafta

Koddan önce sözleşmeler. OpenAPI / protobuf, veri modelleri, dağıtım topolojisi, runbook iskeletleri.

  • Her kamu sözleşmesi için RFC'ler
  • Veri modeli + geçiş planı
  • Kod olarak altyapı temel referansı
03

Uygulama

8 hafta

Küçük PR'ler, ilk günden itibaren CI yeşil, her birleştirme sırasında dağıtım, ikinci bir kıdemli tarafından inceleme.

  • Rust: axum · tonic · sqlx
  • Python: FastAPI · Pydantic · SQLAlchemy
  • Haftalık demolar + değişiklik günlüğü
04

Güçlendirme

3 hafta

Fuzzing, özellik tabanlı testler, gerçekçi trafiğe karşı yük testleri, tehdit modeli.

  • cargo-fuzz · proptest · hypothesis
  • SLO'lara bağlı k6 yük testleri
  • Güvenlik incelemesi ve bağımlılık denetimi
05

Devir

1 hafta

Çalışma kılavuzları, nöbet rotasyonu, ADR'ler ve bunu daha önce bir kez gerçekleştirmiş bir ekip.

  • Çalışma kılavuzları + nöbet matrisi
  • ADR günlüğü ve mimari diyagramları
  • Lansman sonrası 30 günlük destek
08 Aynı sorun, iki dil

Aynı uç nokta her ikisinde nasıl görünür?

Bir kullanıcıyı alın, girişi doğrulayın, Postgres'e kaydedin, JSON'u döndürün. Diller arasında geçiş yapın — her ikisi de gerçekten kullanıma sunacağımız gerçek kodlardır.

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 already exists") from exc
    if row is None:
        raise HTTPException(status_code=500, detail="insert failed")
    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)))
}
Kod satır sayısı
16 22
İşlem hacmi
1.185 istek/sn 21.030 istek/sn
p50 gecikme süresi
21,0 ms 1,6 ms
Bekleme modunda RAM
41,2 MB 8,5 MB
1 iş günü içinde yanıt veriyoruz. Şaka değil.

Sayfanın tamamını okudunuz.
Hadi bunu yapalım.

Yığınınızda neyin yanlış olduğunu veya sıfırdan ne yapmak istediğinizi bize söyleyin. Satış konuşması değil, gerçek bir mühendislik görüşü alacaksınız.

  • Junior mühendis yok. Offshoring yok.
  • Kapsamlı işler için sabit fiyat seçenekleri.
  • Sizden herhangi bir şey istemeden önce gizlilik anlaşması imzalanır.