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.
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.
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.
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.
Baik membuat aplikasi cloud native baru atau memodernisasi aplikasi yang sudah ada, pengembang mematuhi serangkaian prinsip yang konsisten:
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 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.
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.
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 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.
Layanan penyewa tunggal yang dikelola sepenuhnya untuk mengembangkan dan menyediakan aplikasi Java.
Gunakan perangkat lunak dan alat bantu DevOps untuk membangun, menerapkan, dan mengelola aplikasi cloud native di berbagai perangkat dan lingkungan.
Pengembangan aplikasi cloud berarti membangun sekali, mengulangi dengan cepat, dan menerapkan di mana saja.