Apa itu cloud native?

Gambar menunjukkan pusat data dengan pintu terbuka yang mengarah ke rak server

Apa itu cloud native?

Cloud native tidak mengacu pada tempat aplikasi berada dan lebih pada bagaimana aplikasi itu dibangun dan diterapkan. Aplikasi cloud native terdiri dari komponen terpisah yang dapat digunakan ulang yang disebut sebagai layanan mikro yang dirancang untuk integrasi ke dalam lingkungan cloud apa pun.

  • Aplikasi cloud native terdiri dari komponen terpisah yang dapat digunakan ulang yang disebut sebagai layanan mikro yang      dirancang untuk integrasi ke dalam lingkungan cloud apa pun.

  • Layanan mikro ini bertindak sebagai unsur pembangun dan seringkali dikemas dalam kontainer.

  • Layanan mikro bekerja bersama secara keseluruhan untuk membentuk aplikasi, namun masing-masing dapat diskalakan secara independen, terus ditingkatkan, dan dengan cepat diiterasi melalui proses otomatisasi dan orkestrasi.

  • Fleksibilitas setiap layanan mikro menambah kelincahan dan peningkatan berkelanjutan dari aplikasi cloud native.
Pemandangan udara dari jalan raya

Dapatkan ketenangan saat menggunakan cloud 


Dapatkan Buletin Think mingguan untuk mendapatkan panduan pakar dalam mengoptimalkan pengaturan multicloud di era AI.

Layanan mikro dan kontainer

Layanan mikro (juga disebut arsitektur layanan mikro) adalah pendekatan arsitektur di mana satu aplikasi terdiri dari banyak komponen atau layanan yang lebih kecil, digabungkan secara longgar dan dapat diterapkan secara independen. Layanan ini (juga disebut layanan mikro) biasanya memiliki tumpukan teknologi mereka sendiri, termasuk basis data dan model data. Mereka berkomunikasi satu sama lain melalui kombinasi REST API, streaming acara, dan perantara pesan.

Karena layanan mikro dapat diterapkan dan diterapkan kembali secara mandiri, tanpa saling memengaruhi atau mengganggu pengalaman pengguna akhir. Mereka sangat cocok untuk metodologi pengiriman otomatis dan berulang seperti integrasi berkelanjutan/penerapan berkelanjutan (CI/CD) atau DevOps.

Selain digunakan untuk membuat aplikasi cloud native, mikro layanan dapat digunakan untuk memodernisasi aplikasi monolitik tradisional.

Dalam survei IBM terhadap lebih dari eksekutif TI, eksekutif pengembang, dan pengembang, 87% pengguna layanan mikro setuju bahwa adopsi layanan mikro sepadan dengan biaya dan upaya.

Pengembang sering menerapkan layanan mikro di dalam kontainer—komponen aplikasi yang ringan, dapat dieksekusi yang menggabungkan kode sumber aplikasi (dalam hal ini, kode layanan mikro) dengan semua pustaka sistem operasi (OS) dan ketergantungan yang diperlukan untuk menjalankan kode di lingkungan apa pun. Lebih kecil, lebih hemat sumber daya, dan lebih portabel daripada mesin virtual (VM), kontainer adalah unit komputasi de facto dari aplikasi cloud native modern.

Kontainer memperkuat manfaat mikro dengan memungkinkan penerapan yang konsisten dan pengalaman di seluruh lingkungan hybrid multicloud—cloud publik, cloud pribadi, dan on premises. Tetapi ketika aplikasi cloud native berkembang biak, begitu juga kontainer dan kompleksitas pengelolaannya. Sebagian besar organisasi yang menggunakan layanan mikro dalam kontainer juga menggunakan platform orkestrasi kontainer, seperti Kubernetes, untuk mengotomatiskan penerapan dan manajemen kontainer dalam skala besar.

Pengembangan Aplikasi

Bergabunglah: Pengembangan aplikasi Enterprise di cloud

Dalam video ini, Dr. Peter Haumer membahas seperti apa pengembangan aplikasi perusahaan modern saat ini di hybrid cloud dengan menunjukkan berbagai komponen dan praktiknya, termasuk IBM Z Open Editor, IBM Wazi, dan Zowe. 

Keuntungan dan kekurangan

Pelanggan IBM mendapati diri mereka semakin ditugaskan untuk meningkatkan aplikasi yang ada, membangun aplikasi baru, dan meningkatkan pengalaman pengguna. Aplikasi cloud native memenuhi tuntutan ini dengan meningkatkan kinerja aplikasi, fleksibilitas aplikasi, dan ekstensibilitas aplikasi.

Keuntungan

  • Dibandingkan dengan aplikasi monolitik tradisional, aplikasi cloud native dapat lebih mudah dikelola karena peningkatan berulang terjadi dengan menggunakan proses tangkas dan DevOps.

  • Terdiri dari layanan mikro individual, aplikasi cloud native dapat ditingkatkan secara bertahap dan otomatis untuk terus menambahkan fitur aplikasi baru dan ditingkatkan.

  • Perbaikan dapat dilakukan secara tidak mengganggu, tidak menyebabkan waktu henti atau gangguan pada pengalaman pengguna akhir.

  • Meningkatkan atau menurunkan skala terbukti lebih mudah dengan infrastruktur elastis yang mendukung aplikasi cloud native.

  • Proses pengembangan cloud native lebih sesuai dengan kecepatan dan inovasi yang dituntut oleh lingkungan bisnis saat ini.

Kekurangan

  • Meskipun layanan mikro memungkinkan pendekatan berulang untuk peningkatan aplikasi, layanan ini juga menciptakan kebutuhan untuk mengelola lebih banyak elemen. Daripada satu aplikasi besar, akan lebih baik untuk mengelola lebih banyak layanan kecil dan terpisah.

  • Aplikasi cloud native menuntut kumpulan alat tambahan untuk mengelola saluran DevOps, mengganti struktur pemantauan tradisional, dan mengontrol arsitektur layanan mikro.

  • Aplikasi cloud native memungkinkan pengembangan dan penerapan yang cepat, tetapi mereka juga menuntut budaya bisnis yang dapat mengatasi laju inovasi itu.

Contoh aplikasi

Aplikasi cloud native sering kali memiliki fungsi tertentu. Pertimbangkan bagaimana aplikasi cloud native dapat digunakan di situs web perjalanan. Setiap topik yang dibahas oleh situs—penerbangan, hotel, mobil, penawaran khusus—adalah layanan mikro tersendiri. Setiap layanan mikro dapat meluncurkan fitur baru yang independen dari layanan mikro lainnya. Spesial dan diskon juga dapat ditingkatkan secara independen. Meskipun situs perjalanan disajikan kepada pelanggan secara keseluruhan, setiap layanan mikro tetap independen dan dapat ditingkatkan atau diperbarui sesuai kebutuhan tanpa memengaruhi layanan lainnya.

IBM Cloud Garage menyediakan keahlian konsultasi pelanggan IBM untuk membangun aplikasi cloud native yang dapat diskalakan dan inovatif dengan cepat. Menawarkan pusat inovasi di mana bisnis dari semua ukuran dapat merancang dan membangun aplikasi yang memecahkan kebutuhan bisnis dunia nyata.

Prinsip pengembangan

Baik membuat aplikasi cloud native baru atau memodernisasi aplikasi yang sudah ada, pengembang mematuhi serangkaian prinsip yang konsisten:

  • Ikuti pendekatan arsitektur layanan mikro: Pecahkan aplikasi ke layanan fungsi tunggal yang dikenal sebagai layanan mikro. Layanan mikro digabungkan secara longgar tetapi tetap independen, memungkinkan peningkatan inkremental, otomatis, dan berkelanjutan dari aplikasi tanpa menyebabkan waktu henti.

  • Andalkan kontainer untuk fleksibilitas dan skalabilitas maksimum: Kontainer paket perangkat lunak dengan semua kode dan dependensinya di satu tempat, memungkinkan perangkat lunak berjalan di mana saja. Hal ini memungkinkan fleksibilitas dan portabilitas maksimum dalam lingkungan multicloud. Kontainer juga memungkinkan penskalaan cepat ke atas atau ke bawah dengan kebijakan orkestrasi Kubernetes yang ditentukan oleh pengguna.

  • Adopsi metode Tangkas: Metode tangkas mempercepat proses pembuatan dan peningkatan. Pengembang dapat dengan cepat mengulangi pembaruan berdasarkan masukan pengguna, memungkinkan versi aplikasi yang berfungsi sesuai sedekat mungkin dengan harapan pengguna akhir.

Penyimpanan

Aplikasi cloud native sering kali mengandalkan kontainer. Daya tarik kontainer adalah fleksibel, ringan, dan portabel. Penggunaan awal kontainer cenderung berfokus pada aplikasi tanpa nama yang tidak perlu menyimpan data pengguna dari satu sesi pengguna ke sesi berikutnya.

Namun, karena lebih banyak fungsi bisnis inti pindah ke cloud, masalah penyimpanan persisten harus ditangani di lingkungan cloud native. Ini mengharuskan pengembang untuk mempertimbangkan cara-cara baru untuk mendekati penyimpanan cloud.

Seperti halnya pengembangan aplikasi cloud native yang menggunakan pendekatan layanan mikro dan modular, demikian pula dengan penyimpanan cloud native. Data cloud native dapat berada di sejumlah tempat - seperti log peristiwa atau sistem, basis data relasional, dan penyimpanan dokumen atau objek.

Lokasi data, tuntutan retensi, portabilitas, kompatibilitas platform, dan keamanan hanyalah beberapa aspek yang harus dipertimbangkan pengembang ketika merencanakan penyimpanan cloud native.

Aplikasi cloud native versus tradisional

Cloud native versus cloud diaktifkan

Aplikasi yang mendukung cloud adalah aplikasi yang dikembangkan untuk penerapan di pusat data tradisional tetapi kemudian diubah sehingga juga dapat berjalan di lingkungan cloud. Namun, aplikasi cloud native dibangun untuk beroperasi hanya di cloud. Pengembang merancang aplikasi cloud native agar dapat diskalakan, platform agnostik, dan terdiri dari layanan mikro.

Cloud native versus siap cloud

Dalam sejarah singkat komputasi awan, arti "siap cloud" telah bergeser beberapa kali. Awalnya, istilah ini diterapkan pada layanan atau perangkat lunak yang dirancang untuk bekerja melalui internet. Saat ini, istilah ini lebih sering digunakan untuk menggambarkan aplikasi yang bekerja di lingkungan cloud atau aplikasi tradisional yang telah dikonfigurasi ulang untuk lingkungan cloud. Istilah "cloud native" memiliki sejarah yang lebih pendek dan mengacu pada aplikasi yang dikembangkan sejak awal untuk bekerja hanya di cloud. Dan untuk manfaatkan karakteristik arsitektur cloud atau aplikasi yang telah difaktor ulang dan dikonfigurasi ulang dengan cloud native.

Cloud native versus berbasis cloud

Layanan atau aplikasi berbasis cloud dikirimkan melalui internet. Ini adalah istilah umum yang diterapkan secara bebas ke sejumlah penawaran cloud. Cloud native adalah istilah yang lebih spesifik. Cloud native menjelaskan aplikasi yang dirancang untuk bekerja di lingkungan cloud. Istilah ini menunjukkan aplikasi yang mengandalkan layanan mikro, integrasi berkelanjutan, dan pengiriman berkelanjutan (CI/CD) dan dapat digunakan VIA platform cloud apa pun.

Cloud native versus memprioritaskan cloud

Cloud pertama menjelaskan strategi bisnis di mana organisasi berkomitmen untuk menggunakan sumber daya cloud terlebih dahulu ketika memulai layanan TI baru, menyegarkan layanan yang ada, atau mengganti teknologi lama. Penghematan biaya dan efisiensi operasional mendorong strategi ini. Aplikasi cloud native berpasangan dengan baik dengan strategi yang memprioritaskan cloud karena mereka hanya menggunakan sumber daya cloud dan dirancang untuk memanfaatkan karakteristik yang menguntungkan dari arsitektur cloud.

Solusi terkait
IBM Enterprise Application Service for Java

Layanan penyewa tunggal yang dikelola sepenuhnya untuk mengembangkan dan menyediakan aplikasi Java.

Jelajahi Aplikasi Java
Solusi DevOps

Gunakan perangkat lunak dan alat bantu DevOps untuk membangun, menerapkan, dan mengelola aplikasi cloud native di berbagai perangkat dan lingkungan.

Jelajahi solusi DevOps
Layanan Pengembangan Aplikasi Perusahaan

Pengembangan aplikasi cloud berarti membangun sekali, mengulangi dengan cepat, dan menerapkan di mana saja.

Layanan pengembangan aplikasi
Ambil langkah selanjutnya

Layanan Konsultasi Pengembangan Aplikasi IBM Cloud menawarkan panduan pakar dan solusi inovatif untuk menyederhanakan strategi cloud Anda. Bermitralah dengan para pakar cloud dan pengembangan IBM untuk memodernisasi, menskalakan, dan mempercepat aplikasi Anda, sehingga memberikan hasil yang transformatif bagi bisnis Anda.

Jelajahi layanan pengembangan aplikasi Mulai membangun dengan IBM cloud secara gratis