Perbedaan Cloud dan On-Premises — Shared Hosting dan Batas Tanggung Jawab

Artikel ini adalah bagian dari kursus Dasar-Dasar Teknologi Informasi, yang membangun dari nol pengetahuan TI praktis yang minimal kamu butuhkan untuk memprogram dan melakukan vibe coding.
Perbedaannya adalah siapa yang memiliki perangkat keras server dan sampai lapisan mana kamu mengelolanya sendiri. Diagram menunjukkan batas tanggung jawab pada masing-masing dari tiga bentuk itu dan posisi AWS, Google Cloud, serta Azure.

Artikel ini membahas tiga bentuk tempat sebuah aplikasi berjalan: on-premises, shared hosting, dan cloud.

Perbedaannya mengerucut ke satu titik: siapa yang memiliki perangkat keras server, dan siapa yang menentukan isinya.

Di bagian akhir, artikel ini juga membahas posisi penyedia cloud besar — AWS, Google Cloud, dan Azure.

Tempat menjalankannya terbagi menjadi tiga bentuk
On-premisesShared hostingCloudPerangkat keras digedung sendiriPerangkat keras digedung penyediaPerangkat keras digedung penyediaIsinya juga kamuyang tentukanIsinya ditentukanpenyediaIsinya kamuyang pilihKamu memikulsemuanyaMulai cepat dengankonfigurasi tetapSewa hanyayang diperlukan
Setiap baris adalah satu bentuk. Dari kiri ke kanan: tempat perangkat kerasnya berada, pihak yang menentukan isinya, dan penggunaan yang cocok untuknya. Hanya baris paling atas yang perangkat kerasnya kamu miliki sendiri.

Hanya pada on-premises perangkat kerasnya kamu miliki sendiri.

Tiga bentuk itu berbeda pada siapa yang memiliki perangkat keras server dan siapa yang menentukan konfigurasinya

Ketiganya berbeda pada dua titik: di mana perangkat keras server berada, dan siapa yang menentukan konfigurasi — OS (Operating System. Perangkat lunak dasar yang berada di antara perangkat keras dan program kamu, yang menangani file, jaringan, dan layar) serta runtime.

Gedung penyedia tempat perangkat keras itu berada disebut data center (data center. Bangunan khusus yang menampung dan menjalankan banyak server),

sedangkan sekat di dalam salah satu mesin itu yang berjalan sebagai satu server mandiri disebut server virtual (virtual server. Di panduan langkah juga ditulis "instance").

Bisa atau tidaknya kamu memilih konfigurasi sendiri adalah pembeda antara shared hosting dan cloud.

Apa yang dialokasikan untuk kamu di dalam data center penyedia
Data center penyedia
  • Bangunan khusus dengan listrik, pendingin, dan jalur jaringan
  • Banyak server fisik yang sama berjajar di dalamnya
Satu server fisik
Server virtual A (petak kamu)
  • Pilih OS, jalankan, lalu pasang runtime
  • Tempat menaruh app.js dan data kamu
Server virtual B (petak pengguna lain)
  • Berjalan terpisah dari A
  • Tidak terlihat dari A
Kosong
  • Dipakai oleh pendaftaran berikutnya
Bingkai terluar adalah data center, satu mesin di dalamnya adalah server fisik, dan petak-petak di dalam mesin itu adalah server virtual milik masing-masing pengguna.

Kamu hanya bisa menangani petak milik kamu sendiri; petak sebelah maupun server fisiknya tidak bisa kamu lihat.

Satu kali pendaftaran memungkinkan kamu menjalankan berapa pun server dan menghentikannya saat selesai.

Biayanya ditentukan oleh seberapa banyak dan seberapa lama kamu memakainya.

Buku pengantar juga menyebut bentuk ini, yang bisa didaftar oleh siapa saja, sebagai public cloud.

Pembedanya adalah pemilik perangkat keras dan penentu isinya

Ketiganya hanya berbeda pada milik siapa perangkat keras servernya dan siapa yang menentukan isinya.

On-premises adalah ketika perangkat keras dan isinya sama-sama milik kamu, shared hosting adalah ketika keduanya kamu serahkan ke penyedia, dan cloud adalah ketika perangkat kerasnya milik penyedia sementara konfigurasinya kamu yang pilih.

Batas tanggung jawab — lapisan mana yang dikelola penyedia, dan dari mana bagian kamu dimulai

Yang kamu lihat saat memilih adalah siapa yang memperbaikinya ketika rusak.

Sebuah server tersusun dari lima lapisan: bangunan beserta listrik dan jalur jaringannya, perangkat keras, OS, runtime, serta aplikasi beserta datanya.

Pembagian pengelolaan setiap lapisan antara kedua pihak disebut batas tanggung jawab (penyedia cloud menyebutnya model tanggung jawab bersama).

LapisanOn-premisesShared hostingServer virtual cloud
Aplikasi dan dataKamuKamuKamu
RuntimeKamuPenyediaKamu
OSKamuPenyediaKamu
Perangkat keras serverKamuPenyediaPenyedia
Bangunan, listrik, dan jaringanKamuPenyediaPenyedia

Pada on-premises kelima lapisan itu kamu yang kelola; pada shared hosting hanya lapisan paling atas.

Pada server virtual cloud, batasnya jatuh di antara perangkat keras dan OS.

Memesan suku cadang dan menggantinya ketika perangkat keras rusak hanya jadi pekerjaan kamu pada on-premises.

Pada shared hosting dan cloud, penyedialah yang menggantinya, dan di cloud kamu tinggal menjalankannya kembali di perangkat keras lain.

Namun, memastikan aplikasi dan datanya berjalan seperti semula tetap jadi urusan kamu pada bentuk mana pun.

Yang kamu pasang dan kelola di dalam satu server virtual
Satu server virtual cloud
  • Bangunan dan perangkat kerasnya dikelola penyedia
  • Penyedia juga yang mengganti perangkat keras yang rusak
OS (dipilih saat kamu menjalankannya)
  • Kamu memilih dari yang disediakan lalu menjalankannya
  • Pembaruan setelah OS berjalan kamu yang menerapkannya
Runtime dan aplikasi (kamu yang memasang dan menaruhnya)
  • Kamu memasang node dan python sendiri
  • Tempat menaruh app.js dan data kamu
  • Memulihkannya kalau hilang juga urusan kamu
Bingkai terluar adalah satu server yang kamu daftarkan, dan semakin ke dalam, semakin banyak yang jadi urusan kamu. Penyedia hanya menyiapkan sampai bingkai terluar.

Penyedia hanya menyiapkan sampai perangkat keras; setelah kamu memilih OS dan menjalankannya, sisanya jadi urusan kamu.

Penyedia tidak memperbaiki bug di aplikasi kamu maupun memulihkan data yang hilang.

Di bawah batas adalah penyedia, di atasnya adalah kamu

Sebuah server tersusun dari lima lapisan, dan penyedia mengelola lapisan bawah sementara kamu mengelola lapisan atas.

Pada on-premises semuanya milik kamu, pada shared hosting hanya lapisan paling atas, dan pada server virtual cloud semua yang di atas perangkat keras jadi urusan kamu — penyedia hanya memperbaiki yang ada di bawah batas.

Di cloud, kamu memilih tempat untuk setiap bagian aplikasi

Server virtual bukan satu-satunya hal yang ada di cloud.

Ketika kamu memilih managed service (managed service. Layanan tempat penyedia memasang, memperbarui, dan menangani gangguan OS serta runtime, sementara kamu hanya mengatur dan memakainya), batasnya bergerak ke atas.

Setiap bagian ditaruh di tempat yang berbeda, jadi batasnya pun berbeda untuk setiap bagian.

Tempat setiap bagian berubah, dan seberapa banyak yang kamu kerjakan pun berubah
FilefrontendBackendDatabaseLayananpenyimpanan fileServer virtualManageddatabaseTaruh lalu aturpublikasinyaPilih OS danpasang runtimeHanya desain tabeldan data
Di sebelah kiri adalah bagian-bagian my-app, di tengah adalah tempatnya di cloud, dan di sebelah kanan adalah pekerjaan yang tersisa untuk kamu. Semakin ke bawah, semakin sedikit yang kamu kerjakan.

Dengan penyimpanan file dan managed database, pengelolaan OS dan runtime berpindah ke sisi penyedia.

Pekerjaan yang tersisa di tangan kamu setelah beralih ke managed database
Pembaruan OSPembaruan runtimeGanti perangkat kerasPenyedia yangmenanganinyaSisa untuk kamu:tabel dan data
Tiga hal di atas menyatu di tengah, dan hanya satu hal yang berlanjut ke bawah dari sana. Tiga hal yang menyatu itu lepas dari tangan kamu.

Dengan managed database, yang kamu lakukan hanyalah mendesain tabel serta membaca dan menulis datanya.

Untuk backend, ada juga tempat yang menjalankan pemrosesan hanya ketika sebuah request datang.

Semua yang ada di dalam kotak itu adalah perangkat keras penyedia, dan kamu tidak memiliki satu pun di antaranya.

Meski begitu, OS dan runtime di dalam server virtual tetap kamu yang memasang dan memperbaruinya.

Memilih tempat sebuah bagian akan menggeser batasnya juga

Semakin banyak yang kamu serahkan ke penyedia saat memilih tempat sebuah bagian, semakin sedikit pekerjaan yang tersisa untuk kamu.

Dengan managed database, yang kamu lakukan hanyalah mendesain tabel serta membaca dan menulis datanya, sementara untuk backend di server virtual, semua yang di atas OS tetap jadi urusan kamu.

AWS, Google Cloud, dan Azure — kategori yang sama, dan bidang yang dikuasai masing-masing

AWS, Google Cloud, dan Microsoft Azure adalah nama cloud yang dijalankan Amazon, Google, dan Microsoft.

Masing-masing adalah nama cloud dari satu perusahaan, dan di dalamnya terdapat banyak sekali layanan.

Satuan wilayah geografis tempat data center dikelompokkan disebut region.

Apa saja yang ada di dalam satu penyedia cloud
Satu penyedia cloud (misalnya AWS)
  • Menempatkan data center di berbagai penjuru dunia
  • Menyediakan kategori layanan yang sama di setiap wilayah
Region Tokyo
Server virtual
  • Pilih OS, jalankan, lalu pakai
Managed database
  • Tempat menaruh tabel dan data
Penyimpanan file
  • Taruh file untuk dipublikasikan atau disimpan
Region di wilayah lain
  • Punya kategori layanan yang sama
  • Kamu bisa memilih wilayah yang dekat dengan pengguna aplikasi
Bingkai terluar adalah satu penyedia, bingkai di dalamnya adalah region, dan bingkai di dalam region itu adalah kategori layanan yang disediakan di setiap region.

Memilih region yang dekat dengan pengguna aplikasi memperpendek waktu tempuh bolak-balik request dan response.

KategoriAWSGoogle CloudMicrosoft Azure
Perusahaan yang menjalankannyaAmazonGoogleMicrosoft
Server virtualAmazon EC2Compute EngineVirtual Machines
Managed databaseAmazon RDSCloud SQLAzure SQL Database
Penyimpanan fileAmazon S3Cloud StorageBlob Storage

Kategori di kolom paling kiri memberi tahu kamu peran sebuah nama, bahkan nama yang baru pertama kali kamu lihat.

Kesamaan ketiga perusahaan itu berhenti di kategori-kategori ini.

Meskipun kategori yang sama sudah tersedia di ketiganya, setiap penyedia mengembangkan bidang yang berbeda-beda secara lebih mendalam.

Kamu tidak harus menetapkan satu perusahaan saja.

Memakai beberapa penyedia, masing-masing untuk tujuan yang berbeda, disebut multi-cloud (multi-cloud, yaitu memakai beberapa penyedia cloud sesuai kebutuhan masing-masing), dan kamu bisa memilih penyedia yang kuat di bidang yang dibutuhkan setiap bagian.

Namun, konsol dan istilahnya berbeda antarpenyedia, jadi ada lebih banyak yang harus dipelajari dan dikelola.

Selama aplikasinya masih kecil, satukan di satu penyedia, dan pikirkan pembagiannya setelah kebutuhannya muncul.

Kategori sama, bidang kuatnya berbeda

AWS, Google Cloud, dan Azure adalah nama cloud dari Amazon, Google, dan Microsoft, dan ketiganya punya kategori layanan yang sama: server virtual, managed database, dan penyimpanan file.

Karena kategorinya sama, begitu kamu memahami satu penyedia kamu bisa membaca yang lain dengan memetakan namanya ke kategori itu, tetapi masing-masing kuat di bidang yang berbeda, dan ada juga cara memilih berupa multi-cloud, yaitu memakai beberapa penyedia untuk tujuan yang berbeda.

QUIZ

Cek Pemahaman

Jawab setiap pertanyaan satu per satu.

Soal 1Saat kamu memakai shared hosting, lapisan mana yang kamu kelola?

Soal 2Saat kamu memakai server virtual cloud, siapa yang menerapkan pembaruan OS?

Soal 3Manakah pernyataan yang benar tentang AWS, Google Cloud, dan Microsoft Azure?