PYTHON

ယဉ်ကျေးသည်။ ပြောင်းလွယ်သည်။ ဆောင်ရည်ရှိသည်။

သင်၏ Back-end ၏
Totem တိရစ္ဆာန်
ဘာဖြစ်မည်နည်း?

ကျွန်ုပ်တို့သည် လုံခြုံ၊ တိုးချဲ့နိုင်ပြီး စွမ်းဆောင်ရည်အတွက် ဒီဇိုင်းရေးဆွဲထားသော ခိုင်မာသောနောက်ကွယ်စနစ်များကို တည်ဆောက်သည်။

RUST

လုံခြုံသည်။ မြန်ဆန်သည်။ ကိုယ်တိုင်ပြုသည်။

01 Dua bahasa. Bukan lima.

Satu tumpukan, dipilih dengan sengaja.

Agensi poliglot kedengaran hebat dalam pitch deck. Dalam pengeluaran ia bermakna tiga sistem binaan, empat varian null, dan sebuah kubur perkhidmatan yang diselenggara separuh. Kami memilih dua bahasa yang merangkumi 95% beban kerja sebenar — dan kami menjadi sangat, sangat mahir dalam kedua-duanya.

Laluan panas · sistem · keselamatan

Karat

9.6 skor kecocokan dalaman

Selamat-ingatan tanpa pengumpul sampah. Bebas pertembungan data semasa penyusunan. Penilai kod paling kejam yang akan anda miliki — dan setelah ia meluluskan anda, perkhidmatan anda tidak akan mengejutkan anda pada hari Ahad.

Apabila kita meraihnya

  • Saluran pembayaran & apa sahaja yang berkaitan dengan wang atau maklumat peribadi yang boleh dikenal pasti
  • Gateway API berprestasi tinggi dengan SLA lima sembilan
  • Enjin padanan latensi rendah, dagangan, masa nyata
  • Modul WebAssembly dihantar ke pelayar
  • Alat CLI & daemon yang mesti memulakan dalam milisaat

Kompromi yang tidak akan kami pura-pura

  • Tempoh persiapan untuk pekerja baru: ~2–4 minggu untuk menjadi produktif
  • Masa kompilasi pada ruang kerja besar (kami baiki dengan sccache)
  • Ekosistem lebih muda berbanding Java — matang di mana ia penting
Lem · data · ML · kelajuan

Python

9.3 skor kesesuaian dalaman

Jalur terpantas dari papan putih ke sistem yang berfungsi. Ekosistem paling kaya di Bumi untuk data, ML dan automasi. Python moden — 3.12, uv, ruff, pydantic, FastAPI — adalah bahasa yang tepat, bertipe, dan cukup pantas untuk kebanyakan keperluan anda.

Apabila kita meraihnya

  • Alat dalaman, papan pemuka, panel pentadbiran
  • ETL, saluran data, Airflow / Dagster / Prefect
  • ML — latihan, penyampaian, penilaian
  • Automasi & integrasi dengan API vendor
  • MVP yang dilancarkan suku ini, bukan tahun depan

Kompromi yang tidak akan kami pura-pura

  • Kecekapan pemprosesan teras tunggal adalah 20–50× lebih perlahan berbanding Rust
  • Memori lebih tinggi setiap permintaan — fatal untuk beberapa beban kerja
  • Tipe dinamik merugikan tanpa mypy / pydantic yang ketat
Rust di mana kesilapan adalah mahal. Python di mana kelewatan penghantaran adalah mahal. Satu pasukan. Tiada dogma.
02 မှ → သို့

ရွှေ့ပြောင်းသောအခါ ဘာများပြောင်းလဲသနည်း။

အစပြု‌ဘာသာစကားတစ်ခု ရွေးချယ်ပါ။ Rust သို့မဟုတ် Python သို့ ပြောင်းရွှေ့ခြင်း၏ သက်ရောက်မှုကို ကြည့်ရှုပါ။ ကိန်းဂဏာန်းများသည် ကျွန်ုပ်တို့၏ နောက်ဆုံးပြောင်းရွှေ့ မှုပရောဂျက် ၄၀ ၏ median တန်ဖိုးများဖြစ်ပြီး၊ စျေးကွက်ရှာဖွေရေး ဗေဒသစ္စာမဟုတ်ပါ။

Rust vs Python vs C / C++

ရွေးချယ်ထားသော source stack နှင့် နှိုင်းယှဉ်သော တကယ့်လောကအင်ဂျင်နီယာ ရလဒ်များ။

Rust Python C / C++ baseline

Stack အဆင့် ဒေတာ

Runtime ကိန်းဂဏာန်းများ၏ အနောက်တွင် အရေးပါသော အရည်အသွေးဆိုင်ရာ အင်ဂျင်နီယာ အချက်များ။

မီးခိုးရောင် ကွက်ကာ‌ မျဉ်းကြောင်းသည် ရွေးချယ်ထားသော source stack ကို ပြသသည်။ Rust နှင့် Python ကို တစ်ဦးချင်း နှိုင်းယှဉ်မည်မဟုတ်ဘဲ ထိုအခြေခံ မျဉ်းကြောင်းနှင့် တိုင်းတာသည်။

ဤကိန်းဂဏာန်းများကို ကျွန်ုပ်တို့ မည်သို့တိုင်းတာသနည်း

၂၀၂၃ မှ ၂၀၂၆ ခုနှစ်အတွင်း ပြီးမြောက်သော ပြောင်းရွှေ့မှု ၄၀ ၏ median တန်ဖိုးများ။ Throughput ကို application layer တွင် တိုင်းတာသည် (တကယ့်ဝန်ထုပ်ဝန်ပိုးအောက်တွင် end-to-end p50၊ microbenchmark မဟုတ်)။ Memory သည် တည်ငြိမ်သောအခြေအနေ၌ RSS ဖြစ်သည်။ ကုန်ကျစရိတ်မှာ အခြားအချက်များ ညီမျှသည့် AWS/GCP တွင် လစဉ် on-demand ကွန်ပျူတာ ဖြစ်သည်။ တစ်ဦးချင်းရလဒ်များ ကွဲပြားသည် — တောင်းဆိုမှုအပေါ် မူတည်၍ မြောက်မြားစွာသော စီမံကိန်းများကိုလည်း ထုတ်ဝေပါသည်။

03 ကြယ်ပွင့်ကင်းသော ကိန်းဂဏာန်းများ

တကယ့်ဝန်ထုပ်ဝန်ပိုးအောက်တွင် စက္ကန့်တစ်ခုအတွင်း တောင်းဆိုချက် အရေအတွက်။

တူညီသောအလုပ်ဝန်ထုပ်ဝန်ပိုး — JSON စစ်ဆေးခြင်း → Postgres query → render — AMD Ryzen 7 မြင်းတစ်ကောင်တွင် တိုင်းတာ။ ၎င်းတို့သည် microbenchmark မဟုတ်ပါ။ အရင်းအမြစ် & နည်းလမ်း ↓

  1. 1 Rust · Axum
    21,030 req/s
  2. 2 C# .NET · ASP.NET Core
    14,707 req/s
  3. 3 Node.js · Fastify
    9,340 req/s
  4. 4 C++ · Drogon
    7,200 req/s
  5. 5 Go · Gin
    3,546 req/s
  6. 6 Python · FastAPI (Uvicorn)
    1,185 req/s
  7. 7 PHP · Laravel
    299 req/s

မှန်ကန်စွာ ဖတ်ရှုပါ: Python သည် ဤဇယားကွက်တွင် အောက်ပိုင်းနားရောက်နေပြီး၊ ၎င်းကောင်းပါသည်။ ကျွန်ုပ်တို့သည် hot path တွင် FastAPI ကို မသုံးပါ။ 1,185 req/s သည် အလုပ်ဝန်ထုပ်ဝန်ပိုး လိုအပ်သည်ထက် ~10× မြင့်ပြီး၊ အင်ဂျင်နီယာ နာရီများသည် CPU cycle များထက် တန်ဖိုးပိုကြီးသည့် နေရာတွင် ကျွန်ုပ်တို့ ၎င်းကို အသုံးပြုသည်။ နည်းလမ်း: AMD Ryzen 7, Linux, Docker, instance တစ်ခု, ဘာသာစကားတစ်ခုလျှင် framework တစ်ခု။ ကိန်းဂဏာန်းများသည် လည်ပတ်မှု အများအပြားမှ ပျမ်းမျှ ဖြစ်သည်။

05 Kos sebenar kod yang rosak

Apa yang sebenarnya koskan anda apabila berlaku gangguan.

"Lima sembilan" bukan pemasaran. Berikut adalah kos satu jam masa henti yang tidak dirancang, mengikut industri — dengan sumber. Kami membina Rust di mana angka-angka ini wujud.

Kos terkumpul sejak anda membuka bahagian ini
Kewangan / penjagaan kesihatan $0 ~$83k/min · $5M/jam
Automotif $0 ~$38k/min · $2.3M/jam
Perusahaan besar $0 $23,750/min · $1.4M/jam
Perusahaan bersaiz sederhana $0 ~$5k/min · $300k/jam
Kewangan & penjagaan kesihatan $5 juta + / sejam

Vertikal dengan pertaruhan tertinggi. Platform dagangan, sistem penyelesaian dan sistem klinikal boleh melebihi $5 juta sejam semasa gangguan serius — sebelum sebarang kos pengawalseliaan atau litigasi diambil kira.

Sumber: Kajian Fortune 500 Gartner 2024; Kos Waktu Henti Per Jam ITIC 2024.
Pengilangan automotif $2.3 juta / sejam

Satu barisan pengeluaran yang terhenti membazirkan kira-kira $640 setiap saat. Kegagalan CrowdStrike pada Julai 2024 menelan kos sebanyak $380 juta bagi Delta Air Lines sahaja dalam tempoh lima hari.

Sumber: Pecahan industri Erwood Group 2025; Postmortem Antithesis CrowdStrike.
Perusahaan besar (purata) $1.4M / sejam

Angka BigPanda 2024 untuk perusahaan besar: $23,750 setiap minit. ITIC melaporkan 41% perusahaan besar kehilangan antara $1 juta dan $5 juta setiap jam waktu henti.

Sumber: Penyelidikan BigPanda 2024; ITIC 11th Annual Hourly Cost of Downtime.
Global 2000 (Oxford Economics) $400B / tahun

Jumlah kos tersembunyi masa henti tidak dirancang bagi 2,000 syarikat terbesar di dunia, mengikut kajian Oxford Economics 2024 — purata impak sebanyak $200 juta bagi setiap syarikat apabila hasil, produktiviti dan kos pembaikan dijumlahkan.

Sumber: Oxford Economics 2024, "Kos Tersembunyi Masa Henti".
Saiz sederhana & besar (jam tipikal) $300k+ / sejam

Tinjauan ITIC 2024: lebih 90% perusahaan bersaiz sederhana dan besar kini menilai satu jam masa henti tidak dirancang melebihi paras minimum ini — tidak termasuk penalti undang-undang, sivil atau peraturan.

Sumber: Laporan Kos Per Jam Waktu Henti ITIC 2024.
Saiz kecil & sederhana (SMB) $25k–$150k / sejam

Kajian bersama ITIC / Calyptix 2025 mendapati banyak PKS kehilangan sebanyak ini setiap jam; Siemens melaporkan PKS yang terjejas oleh gangguan boleh kehilangan sehingga $150,000/jam. Purata kejadian gangguan mengambil masa 87 minit.

Sumber: ITIC + Calyptix 2025; Siemens True Cost of Downtime 2024.
06 Karya terpilih

Tiga projek. Tiga kebakaran berbeza.

Dianonimkan di mana NDA mengkehendakinya, khusus di mana hasilnya. Ini adalah perjanjian yang akan kami tunjukkan kepada pembeli teknikal terlebih dahulu.

  1. Kes 01 Python Pangkalan data Kripto GDPR

    Gudang data fintech: 4× lebih kecil, 5.5× lebih pantas, mematuhi piawaian global.

    Klien mempunyai kluster Postgres 1.8 TB yang membengkak dengan lajur warisan, indeks mati, dan BLOB yang disulitkan secara inline yang telah berkembang selama tujuh tahun. Kripto dijalankan pada perpustakaan lapuk yang ditandakan dalam tiga audit berasingan. Pendedahan peraturan adalah nyata; juruaudit sedang mengintai.

    Apa yang kami lakukan

    • Audit skema penuh + penggunaan, buang lajur dan indeks yang tidak digunakan, perkenalkan pemartabatan yang betul.
    • Migrasi saluran pemprosesan kriptografi daripada pustaka warisan ke susunan AEAD moden yang diaudit dengan kunci berputar.
    • Tukar penyulitan BLOB dalam baris kepada penyulitan sampul rujukan + KMS khusus.
    • Menyelaraskan aliran pengekalan data & akses subjek dengan GDPR, CCPA dan APPI.
    Keputusan

    Data yang sama, satu perempat daripada bil penyimpanan, 5.5× throughput, dan sijil kesihatan bersih untuk pengawal selia seterusnya yang datang mengetuk.

  2. Kes 02 Rust C++ → Rust Keselamatan Penyimpanan

    Perkhidmatan C++ ditulis semula dalam Rust: lebih 100 pepijat kelas CVE dihapuskan dalam 9 minggu.

    Perkhidmatan pemprosesan fail berinteraksi dengan pengguna dalam C++, rosak setiap 4–5 hari dan dibaik pulih terus di tempat setiap kali. Audit kami mendedahkan lebih 100 pepijat sebenar: laluan penafian perkhidmatan, kebanjiran buffer, pengendalian permintaan tanpa had. Ralat 503 pada waktu puncak menjadi ritual mingguan. Di bahagian storan, muat naik pengguna telah terkumpul menjadi rawa fail dwi yang memakan kuota storan.

    Apa yang kami lakukan

    • Penulisan semula sepenuhnya dalam Rust (axum + tokio) dengan pengesahan input yang ketat dan had sumber yang terhad.
    • Ujian berasaskan sifat + cargo-fuzz merentasi setiap pemarser dan sempadan format wayar.
    • Lapisan penyimpanan beralamat kandungan dengan penyahpenggandaan semasa penulisan.
    • Pelancaran biru-hijau di belakang tetingkap integrasi 4 jam, tiada masa henti.
    Keputusan

    Perkhidmatan berubah daripada "rapuh dan dibaiki setiap minggu" kepada "kami berhenti memeriksa pager". Kos penyimpanan menurun dengan deduplikasi, tiket sokongan mengenai ralat dan 503s kering, dan penulisan semula membiayai sendiri dalam suku tahun tersebut.

  3. Kes 03 Rust Python eBPF / XDP CRM · 4k pengguna

    CRM Perusahaan, dibina semula: 18 pelayan → 5, mengurangkan perbelanjaan 60%+.

    CRM dalaman yang berkhidmat kepada lebih 4,000 pengguna merangkumi IAM, SOC, log pusat, sembang, kongsi fail, VoIP dan data yang disulitkan dari hujung ke hujung. Lapan belas pelayan, Cloudflare di atasnya, dan bil awan yang terus meningkat tanpa mengira bilangan kakitangan. Kami membina semula laluan utama dalam Rust, mengekalkan Python pada lapisan integrasi dan pelaporan, dan meletakkan penapis eBPF/XDP terus di hadapan pintu masuk.

    Apa yang kami lakukan

    • Perkhidmatan Rust untuk pengesahan (IAM), pesanan masa nyata, isyarat VoIP, pemindahan fail.
    • Python untuk antaramuka pentadbiran, pelaporan, korelasi peristiwa SOC, integrasi dengan API pembekal.
    • Penapisan bot dan penyalahgunaan eBPF/XDP di kernel — menggantikan Cloudflare untuk beban kerja ini.
    • Saluran log berstruktur ditulis semula menggunakan skema zero-copy.
    Keputusan

    Tiga belas pelayan kurang, tiada lagi baris Cloudflare, pasukan SOC melihat isyarat yang lebih bersih melalui saluran log, dan CFO berhenti mengajukan soalan yang menjengkelkan mengenai bajet infrastruktur.

07 Bagaimana kami sebenarnya bekerja

Putar tombol. Saksikan pelan berubah.

Setiap projek mengimbangkan kelajuan, kos dan kebolehpercayaan. Anggaran lima peringkat di bawah diselaraskan dengan median industri (penemuan 2–6 minggu, seni bina 1–4 minggu, pelaksanaan 4–20 minggu, pengukuhan 2–8 minggu, penyerahan 1–2 minggu — per laporan 2024–2026 daripada NIX United, Agilie, SOLTECH, OTG Lab). Geser penggelek; pelan menimbang semula secara langsung.

01

Penemuan

3 minggu

Bacalah kod anda, wawancara pasukan operasi anda, senaraikan perkara yang tidak diketahui, pilih bahasa mengikut setiap komponen.

  • Temu bual domain & audit kod
  • Daftar risiko & sasaran SLA
  • Keputusan bahasa bagi setiap perkhidmatan
02

Arkitektur

2 minggu

Kontrak sebelum kod. OpenAPI / protobuf, model data, topologi penyebaran, rangka runbook.

  • RFC untuk setiap kontrak awam
  • Model data + pelan migrasi
  • Garis asas infrastruktur sebagai kod
03

Pelaksanaan

8 minggu

PR kecil, CI hijau sejak hari pertama, deploy pada setiap merge, disemak oleh senior kedua.

  • Rust: axum · tonic · sqlx
  • Python: FastAPI · Pydantic · SQLAlchemy
  • Demonstrasi mingguan + log perubahan
04

Pengukuhan

3 minggu

Fuzzing, ujian berasaskan sifat, ujian beban terhadap trafik realistik, model ancaman.

  • cargo-fuzz · proptest · hypothesis
  • Ujian beban k6 yang diikat kepada SLO
  • Semakan keselamatan & audit kebergantungan
05

Serah terima

1 minggu

Runbook, giliran on-call, ADR, dan pasukan yang telah pernah menyiapkannya sekali.

  • Buku panduan operasi + matriks on-call
  • Log ADR & diagram seni bina
  • Sokongan 30 hari selepas pelancaran
08 Masalah yang sama, dua bahasa

Bagaimana rupa hujung yang sama dalam setiap satu.

Dapatkan pengguna, sahkan input, simpan ke Postgres, kembalikan JSON. Tukar antara bahasa — kedua-duanya adalah kod sebenar yang akan kami keluarkan.

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="emel sudah wujud") from exc
    if row is None:
        raise HTTPException(status_code=500, detail="suntikan gagal")
    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)))
}
Baris kod
16 22
Keluaran
1,185 permintaan/s 21,030 permintaan/s
kelewatan p50
21.0 ms 1.6 ms
RAM semasa tidak aktif
41.2 MB 8.5 MB
Kami membalas dalam masa 1 hari bekerja. Bukan main-main.

Telah membaca keseluruhan halaman.
Mari kita bina perkara ini.

Beri tahu kami apa yang tidak kena dengan susunan anda, atau apa yang anda ingin bina dari awal. Anda akan mendapat pendapat kejuruteraan sebenar — bukan bahan jualan.

  • Tiada jurutera junior. Tiada pemindahan kerja ke luar negara.
  • Pilihan harga tetap untuk kerja yang ditetapkan skopnya.
  • NDA ditandatangani sebelum kami bertanya apa-apa.