27 poin oleh xguru 2022-06-21 | 10 komentar | Bagikan ke WhatsApp
  • Di masa depan, semua pengembangan akan dilakukan di cloud, bukan di localhost, dan laptop hanya akan menjadi klien
  • Jika menuliskan wishlist pengembang untuk era 2030-an
    • internet gigabit murah (5G/Mesh WiFi)
    • mesin pengembangan murah dengan baterai yang tahan berhari-hari
    • aplikasi bisa di-build dalam hitungan detik terlepas dari skalanya, dan lingkungan testing maupun staging langsung hidup secara real-time begitu tombol ditekan
    • lingkungan pengembangan pribadi bisa ikut bepergian bersama saya, apa pun perangkat yang saya gunakan
    • dependensi lingkungan aplikasi (mulai dari sertifikat HTTPS hingga fork tersandbox dari DB production, semuanya) langsung tersedia bagi setiap anggota tim yang ingin mengembangkan fitur, tanpa perlu dokumentasi ataupun runbook
    • dari ide sampai tersedia untuk pelanggan bisa dilakukan hanya dalam seminggu (dengan low-code builder dan Backends-as-a-Service)
    • bisa tumbuh dari MVP menjadi unicorn hanya dalam beberapa minggu: menggunakan serverless dan platform seperti Heroku versi baru. Otentikasi/pembayaran/DB/komunikasi ditangani melalui SaaS kelas dunia
  • Sebagian besar hal di atas membutuhkan eksekusi di cloud, bukan di localhost

Jika browser telah mereduksi sistem operasi menjadi "sekumpulan device driver yang tidak terlalu baik di-debug",
cloud sedang mereduksi mesin pengembangan menjadi "sekumpulan environment mock yang tidak dikelola dengan baik"

"Future is Just Not Evenly Distributed"

  • Perusahaan besar yang berinvestasi untuk meningkatkan produktivitas pengembang sudah bekerja di cloud
    • Google Cider : web IDE milik Google. Dilengkapi file system Piper raksasa dan mengintegrasikan code review/build/testing. Tidak perlu mengunduh kode ke mesin lokal
    • FB On-Demand : memprovisikan lingkungan secara "On-Demand" agar preview fitur real-time bisa dilakukan lebih lengkap daripada lokal. Di FB, "pengembangan lokal" itu sendiri tidak ada
    • Etsy : semua pengembangan dilakukan di Cloud VM. "Karena VSCode berjalan dengan SSH ke VM, kami belum pernah checkout kode di luar VM"
    • Tesla : memindahkan pengembangan OS mobil dari lokal ke cloud (sebelumnya disebut memberi desktop mahal kepada pengembang untuk build)
    • Palantir : berpindah ke Remote Ephemeral Workspace yang menggunakan Coder (SaaS lingkungan pengembangan remote) dan EKS
    • Shopify : sebagian besar pengembang pindah ke lingkungan pengembangan cloud bernama Spin (VM ringan yang berjalan di atas xhyve)
    • GitHub : memindahkan sebagian besar pengembangan GitHub ke Codespaces
  • Karena mereka perusahaan besar, muncul pertanyaan, "apakah ini cocok juga untuk perusahaan kecil?"
    → jawabannya adalah "mungkin bisa, tetapi mungkin belum dalam bentuk seperti sekarang"
    → sebagian besar pendekatan ini dimungkinkan karena memerlukan investasi internal yang besar dan memanfaatkan infrastruktur internal yang sudah ada
    → namun seiring teknologi ini diprodukkan dan ditemukan kesamaan antar kelompok pelanggan, penyebarannya akan makin luas
  • Komoditisasi lingkungan preview sebenarnya sudah mulai terjadi
    → inovasi awal Netlify adalah membuat proyek frontend bisa di-deploy untuk dipreview
    → hampir semua situs dokumentasi kini memakai semacam sistem Deploy Preview, dan aplikasi Jamstack juga bisa memakainya dalam proses rilis

Jobs to Be Done of Localhost

  • Hal-hal yang terjadi saat pengembangan lokal kini sedang diserang
    • mengedit dan menjalankan kode dari jarak jauh: GitHub Codespaces, Replit, Code.com, CodeSandbax, GitPod
    • berjalan di server remote tetapi mengedit kode secara lokal: VSCode + Azure VM/Amazon Workspace, Jetbrains Fleet, Okteto Sync
    • mengedit dan menjalankan kode di JS Container ringan di dalam browser: Stackblitz
    • mengeksekusi kode dari jarak jauh: Bret.dev
    • staging: Planetscale Branches, Stripe Test mode keys, Railway Ephemeral Environments, Okteto environments, Coherence workspaces

Pushback: It's Still Not Good Enough

  • Ini masih belum cukup bagus, jadi jangan terlalu bersemangat dulu
  • Agar "pembunuhan localhost" ini berhasil, provisioning itu sendiri harus menjadi tidak perlu
  • Mungkin tiap orang berbeda, tetapi bagi saya bahkan 10 detik untuk mulai melihat preview dari kode yang saya tulis terasa terlalu lama
  • Perlu 1 detik untuk men-deploy preview frontend dengan Netlify Drop, tetapi Netlify CLI memerlukan 10 detik
  • Namun saya masih secara refleks memakai lingkungan pengembangan localhost: karena loop iterasi saya ada di level milidetik
  • Masalah latensi ini mirip dengan bagaimana hukum Moore diterapkan pada infrastruktur cloud
  • Jika sekarang belum cukup, lihat lagi 5 tahun dari sekarang

10 komentar

 
botplaysdice 2023-10-19

Sepertinya peran laptop benar-benar sudah menjadi mesin terminal + untuk rapat. Chromebook berbasis ARM dengan baterai tahan lebih dari 20 jam tampaknya sedang menjadi laptop yang ideal.

 
ahwjdekf 2023-10-19

Kalau bisa seperti itu tentu akan sangat bagus, tetapi saat ini perusahaan-perusahaan yang sudah mengadopsi virtual environment cloud justru memaksa developer menggunakan lingkungan dengan spesifikasi memori 8GB dan 4 CPU (kalau memohon-mohon paling banter baru dapat 16GB). Jarak antara kenyataan dan idealnya benar-benar terlalu parah.

 
colossus 2023-04-02

GitPod juga mendukung pengeditan dari VSCode lokal. Setelah dicoba, rasanya benar-benar seamless (selain sedikit lag saat mengetik di terminal, dan agak lambat saat membuka folder, pengalamannya nyaris tidak ada bedanya)

 
525hm 2022-06-22

Bahkan Tencent juga melakukannya, itu cukup mengejutkan. https://zdnet.co.kr/view/?no=20220620003628

Apakah era workstation akan datang...

 
nuthatch 2022-06-21

Tablet akan menjadi jauh lebih diminati daripada sekarang.

 
ragingwind 2022-06-21

Saya sedang mencoba memindahkan proyek pribadi sebisa mungkin agar dikembangkan berbasis cloud, tetapi rasanya ada batasan jika hanya mengandalkan IDE. Akan bagus jika latensinya juga membaik, dan sepertinya dibutuhkan lingkungan yang memungkinkan semua alat praktis yang saya gunakan bisa dipakai dengan bebas, atau mungkin pendekatan pelengkap tertentu. Akan sangat menyenangkan jika bisa terus mengembangkan dengan pengalaman yang sama di Windows, Mac, Linux, maupun perangkat VR. Seperti game Xbox saat ini, ada kelebihan lokal dan ada kelebihan cloud, jadi sulit untuk langsung mengejar satu cara saja, tetapi bukankah pada akhirnya semuanya tentu akan menuju cloud?

 
kunggom 2022-06-21

Secara pribadi, jika mempertimbangkan masalah latensi dan sebagainya, saya membayangkan arahnya mungkin akan menjadi seperti menjalankan lingkungan full-stack terkontainerisasi di mesin lokal seperti WebContainers untuk pengembangan, lalu menyimpan dan menerapkan hasilnya ke cloud. Dari yang disebutkan di artikel, ada juga yang seperti StackBlitz.

 
kallare 2022-06-21

Menurut saya ini bukan akhir dari localhost, melainkan kebangkitan kembali thin client...

Dimulai dari kemudahan, lalu nantinya mungkin akan mengarah ke... karena alasan keamanan.

 
xguru 2022-06-21

Ini bukan terjemahan lengkap, melainkan ringkasan, jadi sebaiknya lihat juga teks aslinya.

Di bagian akhir tulisan yang merangkum reaksi orang-orang, disebutkan bahwa, "Di Reddit / HN semua orang tidak suka jika semuanya menjadi seperti ini"..
Saya bisa membayangkan ini sebagai masa depan yang sangat mungkin terjadi. Tentu saja, dalam proses menuju ke sana akan ada perpaduan antara "pengeditan kode lokal + menjalankan di VM jarak jauh", tetapi
jika di cloud latensi setingkat pengeditan kode lokal bisa dijamin sampai tingkat tertentu, saya rasa sebagian besar perusahaan akan memilih ini.

 
ffdd270 2022-06-21

Saya juga begitu, tetapi sepertinya di Reddit dan HN ada banyak orang yang menyukai 'data saya di perangkat saya'. Saya juga tidak ingin melepaskan kendali atas data saya, jadi saya hanya sesekali memakai cloud IDE saat menulis kode contoh.