Apa yang dimaksud "berbasis cloud"?

Saat ini, menjadi "berbasis cloud" sering disebut sebagai tujuan akhir dari migrasi atau pembangunan aplikasi. Namun, definisinya akan sangat bervariasi tergantung kepada siapa Anda bertanya. Secara keseluruhan, berbasis cloud dapat didefinisikan sebagai pendekatan untuk membangun dan menjalankan aplikasi skalabel untuk mengoptimalkan manfaat model pengiriman dan layanan berbasis cloud.

Definisi pendekatan berbasis cloud

Berbasis cloud berarti beradaptasi dengan banyak kemungkinan baru, tetapi dengan batasan arsitektur yang sangat berbeda, yang ditawarkan oleh cloud dibandingkan dengan infrastruktur lokal tradisional. 

Tidak seperti aplikasi monolitik yang harus dibangun, diuji, dan di-deploy sebagai satu unit, arsitektur berbasis cloud memecah susunan komponen menjadi layanan yang dikaitkan secara longgar untuk mengelola kompleksitas dan meningkatkan kecepatan, ketangkasan, dan skala pengiriman software.  

Ingin tahu tingkat performa pengiriman software organisasi Anda dibandingkan dengan performa pesaing lainnya di industri ini? Lakukan Pemeriksaan Cepat pada DevOps dari DORA untuk mengetahuinya. 

Apa yang dimaksud dengan aplikasi berbasis cloud?

Aplikasi berbasis cloud dirancang khusus dari awal untuk memanfaatkan elastisitas dan kemudahan distribusi cloud. Untuk lebih memahami aplikasi berbasis cloud, akan sangat membantu untuk memahami terlebih dahulu kebalikannya, yakni aplikasi monolitik tradisional. 

Aplikasi monolitik berfungsi sebagai unit tunggal, sering kali dengan sistem operasi, middleware, dan stack bahasa yang dibangun khusus untuk setiap aplikasi. Sebagian besar skrip dan proses juga dibuat khusus untuk build, pengujian, dan deployment aplikasi ini. Secara keseluruhan, arsitektur aplikasi ini menciptakan dependensi yang kuat, sehingga lebih sulit untuk mengubah, menguji, men-deploy, dan mengoperasikan sistem seiring perkembangannya dari waktu ke waktu. Sistem yang awalnya mudah untuk dirancang dan di-deploy seiring waktu menjadi kompleks, sulit dikembangkan, dan sulit dioperasikan. 

Sebagai perbandingan, aplikasi berbasis cloud memanfaatkan karakteristik infrastruktur modern yang dinamis dan terdistribusi untuk mencapai kecepatan, ketangkasan, skalabilitas, keandalan, dan efisiensi biaya yang lebih tinggi. 

Aplikasi berbasis cloud biasanya dipecah menjadi beberapa layanan mandiri melalui penggunaan sejumlah teknologi dan metodologi, yaitu DevOps, continuous delivery dan continuous integration, container, microservice, dan API deklaratif. Pendekatan ini memungkinkan tim men-deploy dan menskalakan komponen secara independen sehingga mereka dapat melakukan update, memperbaiki masalah, dan memberikan fitur baru tanpa menimbulkan gangguan layanan.

Pilar arsitektur berbasis cloud

Ada berbagai cara untuk membuat arsitektur berbasis cloud. Namun, tujuan utamanya adalah selalu untuk meningkatkan kecepatan pengiriman software dan keandalan layanan, serta mengembangkan kepemilikan bersama di antara berbagai pemangku kepentingan software.

Namun, dasar-dasar arsitektur berbasis cloud mencakup lima pilar inti berikut: 

Microservice: Hampir semua arsitektur cloud didasarkan pada microservice, tetapi composability merupakan keunggulan utama yang dimilikinya. Dengan kemampuan ini, aplikasi dapat dipecah menjadi kumpulan layanan ringan yang berukuran lebih kecil sehingga mudah disusun dan saling terhubung melalui application programming interface (API). Misalnya, layanan tertentu digunakan untuk menyusun keranjang belanja di aplikasi e-commerce, sedangkan layanan lain digunakan untuk pembayaran dan berkomunikasi dengan backend tentang pengelolaan inventaris. Prinsip composability juga memungkinkan tim menukar dan menyusun ulang komponen untuk memenuhi kebutuhan baru bisnis tanpa mengganggu bagian lain dari aplikasi. 

Container dan orkestrasi: Container adalah komponen ringan dan dapat dieksekusi yang berisi semua elemen yang diperlukan, termasuk kode sumber dan dependensi aplikasi, untuk menjalankan kode di lingkungan apa pun. Container memberikan portabilitas workload yang mendukung kode “bangun sekali, jalankan di mana saja”, yang membuat pengembangan dan deployment menjadi jauh lebih mudah. Karena dapat di-deploy secara independen, container juga membantu mengurangi potensi hambatan antara bahasa, library, dan framework. Portabilitas dan fleksibilitas ini membuat container ideal untuk membangun arsitektur microservice.   

Orkestrasi container juga penting karena jumlah microservice terus bertambah untuk membantu mengelola container sehingga dapat berjalan lancar sebagai aplikasi. Dengan platform orkestrasi container seperti Kubernetes, Anda dapat mengawasi dan mengontrol lokasi dan cara container berjalan, memperbaiki kegagalan, dan menyeimbangkan beban di beberapa container.

DevOps: Pengembangan aplikasi berbasis cloud memerlukan peralihan ke metodologi pengiriman yang fleksibel seperti DevOps, yang memungkinkan developer dan tim operasi IT berkolaborasi untuk mengotomatiskan proses pengiriman software dan infrastruktur. Dengan DevOps, tim pengembangan dan operasi dapat berkomunikasi lebih baik dan berkolaborasi untuk mencapai tujuan yang sama. Praktik ini menciptakan budaya dan lingkungan kerja yang memungkinkan aplikasi dibangun, diuji, dan dirilis lebih cepat. 

Continuous integration dan continuous delivery (CI/CD): Dibandingkan proses manual, otomatisasi memungkinkan sistem diperbaiki, diskalakan, dan di-deploy dengan jauh lebih cepat. Pipeline CI/CD membantu mengotomatiskan proses build, pengujian, dan deployment perubahan aplikasi tanpa perlu menjadwalkan periode nonaktif atau menunggu masa pemeliharaan. Continuous delivery menghasilkan rilis software yang lebih andal dan tidak terlalu berisiko sehingga tim dapat memberikan layanan dan fitur baru dengan lebih cepat dan lebih sering. 

Layanan berbasis cloud

Layanan dan teknologi berbasis cloud membantu Anda membangun, menjalankan, dan men-deploy aplikasi skalabel di lingkungan apa pun. Meski pelanggan dan pengguna bisnis Anda mendapatkan manfaat dari aplikasi biasa, layanan berbasis cloud beroperasi di balik layar untuk menjaga sistem tetap berjalan lancar. 

Misalnya, layanan berbasis cloud mungkin menjelaskan penawaran komputasi as-a-service dari penyedia layanan cloud (misalnya, model layanan Iaas, PaaS, dan SaaS), microservice dari aplikasi, serta API yang menghubungkan dan memungkinkan komunikasi antarlayanan. 

Apa perbedaan antara cloud dan berbasis cloud?

Sebenarnya ada perbedaan antara cloud dan berbasis cloud. Cloud mengacu pada cloud computingtempat perusahaan atau individu membayar untuk mengakses resource komputasi sebagai layanan on-demand. 

Meski sering digunakan sebagai deskripsi umum untuk alat dan teknik yang digunakan untuk mengembangkan software di cloud, istilah "berbasis cloud" bukan hanya tentang penggunaan cloud. Istilah ini mengacu pada mekanisme untuk membangun dan mengirimkan aplikasi, bukan hanya lokasi untuk men-deploy aplikasi tersebut. Dalam beberapa kasus, aplikasi tertentu bahkan mungkin tidak berjalan di cloud. Anda dapat membangun aplikasi dengan prinsip berbasis cloud dan menjalankannya di lingkungan lokal atau hybrid. 

Manfaat pendekatan berbasis cloud

Inovasi lebih cepat

Layanan yang lebih kecil dan dikaitkan secara longgar memungkinkan tim untuk bekerja dan melakukan pengembangan secara mandiri. Pendekatan berbasis cloud meningkatkan produktivitas dan kecepatan developer sehingga memudahkan developer untuk berinovasi. 

Rilis yang andal

Arsitektur berbasis cloud memungkinkan developer membangun, menguji, dan men-deploy layanan baru dan yang sudah ada dengan cepat. Jadi, Anda dapat menghadirkan produk dan layanan ke pasar dengan lebih cepat dan mengurangi risiko deployment. 

Skalabilitas 

Arsitektur berbasis cloud menggunakan otomatisasi infrastruktur sehingga membantu menghilangkan periode nonaktif akibat kesalahan manusia. Anda dapat menyeimbangkan beban berdasarkan permintaan sehingga biaya dan performa dapat dioptimalkan dengan lebih baik. 

Biaya yang lebih rendah

Proses pengiriman software yang sederhana dapat mengurangi biaya pengiriman update dan fitur baru. Aplikasi berbasis cloud juga memungkinkan berbagi resource dan konsumsi sesuai permintaan sehingga menurunkan biaya operasional secara signifikan. 

Ketersediaan lebih tinggi

Arsitektur berbasis cloud memberikan keandalan dan ketersediaan tinggi berkat kemampuannya mengurangi kompleksitas operasional, menyederhanakan perubahan konfigurasi, serta menawarkan penskalaan otomatis dan pemulihan mandiri. 

Portabilitas

Aplikasi berbasis cloud dirancang untuk berjalan hampir di mana saja sehingga mudah dipindahkan dari satu lingkungan ke lingkungan lain tanpa membuat perubahan pada seluruh aplikasi. 

Keamanan yang lebih baik

Aplikasi berbasis cloud membantu Anda mengurangi area permukaan serangan serta mempermudah deteksi dan respons terhadap serangan atau kerentanan baru. Aplikasi berbasis cloud juga jauh lebih mudah di-patch dan diupdate karena mengikuti deployment dan pengelolaan standar. 

Kepatuhan yang lebih baik 

Menerapkan dan menunjukkan kepatuhan jauh lebih mudah dan lebih murah dengan aplikasi berbasis cloud karena sebagian besar kontrol keamanan data diterapkan di tingkat platform. Penyedia cloud juga menjaga kepatuhan terhadap framework manajemen risiko sehingga memudahkan Anda untuk memenuhi standar kepatuhan dengan sisa kontrol. 

Inovasi lebih cepat

Layanan yang lebih kecil dan dikaitkan secara longgar memungkinkan tim untuk bekerja dan melakukan pengembangan secara mandiri. Pendekatan berbasis cloud meningkatkan produktivitas dan kecepatan developer sehingga memudahkan developer untuk berinovasi. 

Rilis yang andal

Arsitektur berbasis cloud memungkinkan developer membangun, menguji, dan men-deploy layanan baru dan yang sudah ada dengan cepat. Jadi, Anda dapat menghadirkan produk dan layanan ke pasar dengan lebih cepat dan mengurangi risiko deployment. 

Skalabilitas 

Arsitektur berbasis cloud menggunakan otomatisasi infrastruktur sehingga membantu menghilangkan periode nonaktif akibat kesalahan manusia. Anda dapat menyeimbangkan beban berdasarkan permintaan sehingga biaya dan performa dapat dioptimalkan dengan lebih baik. 

Biaya yang lebih rendah

Proses pengiriman software yang sederhana dapat mengurangi biaya pengiriman update dan fitur baru. Aplikasi berbasis cloud juga memungkinkan berbagi resource dan konsumsi sesuai permintaan sehingga menurunkan biaya operasional secara signifikan. 

Ketersediaan lebih tinggi

Arsitektur berbasis cloud memberikan keandalan dan ketersediaan tinggi berkat kemampuannya mengurangi kompleksitas operasional, menyederhanakan perubahan konfigurasi, serta menawarkan penskalaan otomatis dan pemulihan mandiri. 

Portabilitas

Aplikasi berbasis cloud dirancang untuk berjalan hampir di mana saja sehingga mudah dipindahkan dari satu lingkungan ke lingkungan lain tanpa membuat perubahan pada seluruh aplikasi. 

Keamanan yang lebih baik

Aplikasi berbasis cloud membantu Anda mengurangi area permukaan serangan serta mempermudah deteksi dan respons terhadap serangan atau kerentanan baru. Aplikasi berbasis cloud juga jauh lebih mudah di-patch dan diupdate karena mengikuti deployment dan pengelolaan standar. 

Kepatuhan yang lebih baik 

Menerapkan dan menunjukkan kepatuhan jauh lebih mudah dan lebih murah dengan aplikasi berbasis cloud karena sebagian besar kontrol keamanan data diterapkan di tingkat platform. Penyedia cloud juga menjaga kepatuhan terhadap framework manajemen risiko sehingga memudahkan Anda untuk memenuhi standar kepatuhan dengan sisa kontrol. 

Tantangan arsitektur berbasis cloud

Meskipun arsitektur berbasis cloud memiliki banyak manfaat, sebaiknya pertimbangkan sejumlah konsekuensi dari penggunaan model ini. Komputasi berbasis cloud tidak selalu mudah diterapkan karena keberhasilan penerapannya memerlukan bukan hanya penggunaan alat dan teknologi baru tetapi juga transformasi budaya organisasi.

Berikut sejumlah tantangan umum dari penggunaan model berbasis cloud: 

  • Kompleksitas penerapan sistem terdistribusi dan composable jika Anda tidak memiliki alat atau proses untuk mengelola pengembangan, pengujian, dan deployment
  • Peningkatan biaya operasional dan teknologi tanpa pengoptimalan dan pengawasan biaya yang tepat untuk mengontrol penggunaan resource di lingkungan cloud 
  • Kurangnya keterampilan teknologi untuk dapat menggunakan dan mengintegrasikan technology stack yang lebih kompleks
  • Resistensi terhadap perubahan budaya yang diperlukan untuk menerapkan teknologi berbasis cloud dan praktik terbaik DevOps
  • Kesulitan dalam mengomunikasikan konsep terkait model berbasis cloud untuk mendapatkan dukungan dari eksekutif nonteknis

Namun, semua tantangan di atas dapat diatasi dengan keahlian dan strategi yang tepat. Misalnya, menggunakan pendekatan “lift-and-shift” sederhana untuk bermigrasi ke cloud adalah titik awal yang baik, tetapi tidak akan memberikan banyak manfaat model berbasis cloud seperti yang diuraikan sebelumnya. Banyak organisasi akhirnya terhenti pada tahap ini karena belum mengantisipasi biaya dan kompleksitas perancangan ulang arsitektur saat ini ke model berbasis cloud. 

Sebaiknya jangan memperlakukan peralihan ke arsitektur berbasis cloud sebagai project "big-bang" yang dilakukan beberapa tahun sekali. Sebaliknya, perlakukan peralihan tersebut sebagai perjalanan berkelanjutan yang melibatkan iterasi tanpa henti untuk belajar dan berkembang seiring waktu.

Mengatasi tantangan bisnis Anda dengan Google Cloud

Pelanggan baru mendapatkan kredit gratis senilai $300 untuk dibelanjakan di Google Cloud.
Bicara dengan spesialis penjualan Google Cloud untuk membahas tantangan unik Anda secara lebih mendetail.

Langkah selanjutnya

Mulailah membangun solusi di Google Cloud dengan kredit gratis senilai $300 dan lebih dari 20 produk yang selalu gratis.

Google Cloud
  • ‪English‬
  • ‪Deutsch‬
  • ‪Español‬
  • ‪Español (Latinoamérica)‬
  • ‪Français‬
  • ‪Indonesia‬
  • ‪Italiano‬
  • ‪Português (Brasil)‬
  • ‪简体中文‬
  • ‪繁體中文‬
  • ‪日本語‬
  • ‪한국어‬
Konsol
Google Cloud