Dasar-dasar arsitektur aplikasi Azure
Aplikasi yang dirancang untuk beban kerja yang dihosting cloud memenuhi persyaratan bisnis solusi dan menggabungkan komponen dan fungsionalitas asli cloud. Aplikasi cloud yang dirancang dengan baik mengatasi keandalan, keamanan, biaya, operasi, dan pertimbangan performa. Pertimbangan tersebut selaras dengan persyaratan bisnis dan karakteristik tertentu dan fungsionalitas yang disediakan dari platform hosting cloud.
Merancang aplikasi untuk beban kerja cloud tidak memerlukan gaya aplikasi tertentu, seperti layanan mikro. Namun, cloud hosting membuat banyak pola desain aplikasi lebih mudah didekati daripada solusi hosting yang secara asli tidak menawarkan beragam pilihan aplikasi & opsi platform data, kemampuan penskalaan, kontrol keamanan, dan opsi olahpesan. Untuk itu, beban kerja cloud mendapat manfaat dari aplikasi yang diurai menjadi layanan yang lebih kecil dan terdesentralisasi berdasarkan desain. Layanan ini berkomunikasi melalui API atau dengan menggunakan pesan asinkron atau pengiriman peristiwa. Aplikasi menskalakan secara horizontal, menambahkan instans baru sesuai permintaan.
Aplikasi yang memanfaatkan platform hosting aplikasi cloud, kemampuan olahpesan, dan layanan yang terurai tunduk pada kekhawatiran umum terhadap sistem terdistribusi. Status aplikasi didistribusikan. Operasi dilakukan secara paralel dan asinkron. Aplikasi harus tangguh ketika kegagalan terjadi. Aktor jahat terus menargetkan aplikasi. Penyebaran harus otomatis dan dapat diprediksi. Pemantauan dan telemetri sangat penting untuk mendapatkan wawasan tentang sistem.
Desain on-premise yang khas
- Fungsi dan data monolitik dan terkoordinasi
- Dirancang untuk skala yang dapat diprediksi atau kelebihan alokasi
- Database relasional
- Pemrosesan yang disinkronkan
- Desain untuk menghindari kegagalan (MTBF)
- Sumber daya yang disediakan melalui fungsi IT
- Snowflake dan server hewan peliharaan
Desain Khas Cloud
- Fungsionalitas dan data terdekomposisi dan terdistribusi
- Dirancang untuk skala elastis
- Persistensi Poliglot (menggunakan berbagai teknologi penyimpanan)
- Pemrosesan asinkron
- Desain untuk menahan kerusakan (MTBF) dan desain untuk kegagalan (MTTR)
- Sumber daya yang dipersiapkan melalui infrastruktur sebagai kode sesuai kebutuhan
- Infrastruktur yang tidak dapat diubah dan diganti
Merancang aplikasi untuk Azure
Aplikasi harus dirancang oleh arsitek cloud untuk secara khusus memanfaatkan hosting cloud dan membuat keputusan tradeoff strategis. Azure menawarkan sumber daya khusus untuk membantu arsitek mencapai desain yang baik dan membimbing tim pengembangan dalam implementasinya. Untuk mencapai beban kerja dan desain aplikasi, arsitek perlu:
- Selaraskan dengan standar adopsi cloud organisasi
- Desain menurut kerangka Well-Architected Azure
- Memahami gaya arsitektur umum, beban kerja , dan praktik terbaik
- Menggunakan pola desain untuk menyelesaikan masalah umum dan mempertimbangkan pertukaran strategis
- Membuat pilihan teknologi yang terinformasi dengan baik
- Mengevaluasi arsitektur referensi
- Meninjau panduan khusus layanan
Azure dapat digunakan untuk menghosting dan menghosting ulang aplikasi yang tidak dirancang khusus untuk cloud. Meskipun aplikasi beban kerja dapat disesuaikan untuk memanfaatkan fungsionalitas cloud, memindahkan ulang aplikasi yang dirancang untuk sumber daya tetap dan skala tidak dianggap sebagai implementasi asli awan.
Menyelaraskan dengan standar adopsi cloud organisasi
Aplikasi Anda adalah bagian dari beban kerja yang kemungkinan tunduk pada standar dan tata kelola organisasi. Organisasi dengan berbagai ukuran dan tingkat kematangan penggunaan cloud dapat menggunakan Cloud Adoption Framework untuk Azure untuk meresmikan strategi adopsi, kesiapan, inovasi, manajemen & tata kelola, dan keamanan secara menyeluruh dalam Azure mereka. Bagian dari pendekatan itu adalah menstandarkan pendekatan yang konsisten di seluruh beban kerja, seperti menggunakan zona pendaratan Azure. Zona pendaratan Azure menawarkan perpaduan tata kelola organisasi yang luas sekaligus memungkinkan tim beban kerja dan arsitek akses demokratisasi ke sumber daya untuk memenuhi tujuan bisnis yang dilokalkan. Sebagai arsitek yang merancang aplikasi, sangat penting bagi Anda untuk memahami lingkungan makro dan harapan beban kerja akan beroperasi di bawahnya, seperti zona pendaratan aplikasi.
Strategi adopsi Azure organisasi Anda seharusnya tidak memengaruhi pilihan gaya arsitektur Anda, tetapi mungkin memberi batasan pada pilihan teknologi atau batas keamanan.
Desain mengikuti Azure Well-Architected Framework
Semua beban kerja dapat dievaluasi dalam desain dan implementasinya melalui berbagai lensa. Azure menyediakan Azure Well-Architected Framework untuk membantu arsitek beban kerja mengevaluasi dan menyelaraskan keputusan mereka untuk merancang prinsip di lima pilar arsitektur utama.
- Keandalan
- Keamanan
- Pengoptimalan Biaya
- Keunggulan Operasional
- Efisiensi Performa
Secara umum, mengikuti prinsip-prinsip ini dan mengevaluasi trade-off antara pilar arsitektur ini menghasilkan desain yang memenuhi persyaratan bisnis serta cukup tahan lama, dapat dipertahankan, aman, dan biaya operasional yang teroptimalkan untuk digunakan di Azure. Keputusan ini harus memengaruhi pilihan gaya arsitektur Anda dan membatasi pilihan teknologi atau batasan keamanan karena berkaitan dengan kebutuhan beban kerja spesifik Anda.
Tim atau organisasi Anda mungkin memiliki prinsip desain lain serta beban kerja Anda dapat dievaluasi, seperti dan etika keberlanjutan.
Memahami gaya arsitektur umum
Setelah Anda memiliki pemahaman tentang lingkungan organisasi tempat aplikasi Anda akan ada dan Anda memiliki dasar umum desain arsitektur yang baik dari Azure Well-Architected Framework, maka biasanya titik keputusan pertama adalah apa yang jenis arsitektur yang Anda bangun? Ini mungkin arsitektur layanan mikro, aplikasi N-tingkat yang lebih tradisional, atau solusi big data. Ini adalah gaya arsitektur yang berbeda yang cocok untuk hasil perbedaan. Saat mengevaluasi gaya arsitektur, Anda juga memilih model penyimpanan data untuk mengatasi manajemen status. Ada manfaat dan tantangan untuk keputusan ini.
Evaluasi berbagai gaya Arsitektur dan model penyimpanan data .
Beban kerja di Azure Well-Architected Framework
Well-Architected Framework memiliki bagian yang dikhususkan untuk klasifikasi atau tipe beban kerja yang berbeda secara spesifik, yang disebut beban kerja Azure Well-Architected Framework. Anda dapat menemukan artikel yang mencakup misi kritis , kecerdasan buatan dan pembelajaran mesin , atau perangkat lunak sebagai layanan (SaaS) beban kerja di bagian ini. Artikel khusus beban kerja ini mengambil lima pilar inti Well-Architected Framework dan menerapkannya ke domain tertentu. Jika aplikasi Anda adalah bagian dari beban kerja yang selaras dengan salah satu pola yang didokumentasikan ini, tinjau panduan masing-masing untuk membantu Anda mendekati desain Anda dengan mengikuti serangkaian prinsip dan rekomendasi desain khusus beban kerja di seluruh area desain umum seperti platform aplikasi, platform data, jaringan, dan banyak lagi. Beberapa jenis beban kerja mungkin mendapat manfaat dari memilih gaya arsitektur atau model penyimpanan data tertentu.
Praktik terbaik
Tinjau artikel Praktik terbaik dalam aplikasi cloud untuk mempelajari berbagai pertimbangan desain termasuk desain API, penskalaan otomatis, partisi data, penembolokan, dan sebagainya. Tinjau ini dan terapkan praktik terbaik yang sesuai untuk aplikasi Anda.
Gunakan pola desain untuk menyelesaikan masalah umum dan memperkenalkan tradeoff strategis
Aplikasi Anda memiliki persyaratan bisnis, tujuan, dan langkah-langkah keberhasilan yang unik. Arsitek akan menguraikan persyaratan fungsional dan nonfungsi tersebut ke dalam aktivitas diskrit yang bekerja sama untuk mencapai solusi yang Anda dan pengguna Anda senangi. Aktivitas tersebut sering kali cukup umum sehingga mereka telah menetapkan pola yang digunakan di seluruh industri perangkat lunak. Pola desain perangkat lunak ini diberi nama dan pendekatan berulang yang digunakan dalam pemrosesan atau penyimpanan data yang terbukti efektif dalam memecahkan masalah tertentu dengan kompromi yang diketahui.
Katalog pola desain Cloud Azure mengatasi tantangan tertentu dalam sistem terdistribusi.
Membuat pilihan teknologi yang terinformasi dengan baik
Setelah menentukan jenis arsitektur yang Anda bangun dan pola desain yang diharapkan untuk digunakan, Anda dapat mulai memilih bagian teknologi utama untuk arsitektur. Pilihan teknologi berikut sangat penting:
Compute mengacu pada model hosting untuk sumber daya komputasi (platform aplikasi) yang dijalankan aplikasi Anda. Untuk informasi selengkapnya, lihat Memilih layanan komputasi.
- Azure juga menawarkan panduan khusus untuk beberapa platform aplikasi tertentu seperti Memilih layanan kontainer Azure dan opsi hibrid Azure.
Penyimpanan data termasuk database, tetapi juga penyimpanan untuk file, cache, log, dan apa pun yang mungkin disimpan oleh aplikasi. Untuk informasi selengkapnya, lihat Memilih penyimpanan data di Azure dan Meninjau opsi penyimpanan Anda.
Teknologi Perpesanan memungkinkan pertukaran pesan secara asinkron antara komponen sistem. Untuk informasi selengkapnya, lihat Pilih layanan pesan.
Teknologi kecerdasan buatan (AI) memecahkan masalah yang cukup kompleks secara komputasi untuk diterapkan dalam kode aplikasi tradisional. Untuk membantu memandu pilihan tersebut, lihat, Memilih teknologi layanan Azure AI.
Anda mungkin akan membuat pilihan teknologi lain di sepanjang jalan, tetapi keempat elemen ini (komputasi, data, olahpesan, dan AI) adalah pusat dari sebagian besar aplikasi cloud dan menentukan banyak aspek desain Anda.
Mengevaluasi arsitektur referensi
Azure Architecture Center adalah rumah bagi ide solusi, contoh beban kerja, dan arsitektur referensi. Artikel ini biasanya menyertakan daftar komponen dan pertimbangan umum yang selaras dengan Azure Well-Architected Framework. Beberapa artikel ini mencakup solusi yang dapat disebarkan yang dihosting di GitHub. Meskipun tidak mungkin salah satu skenario ini persis seperti yang Anda bangun, skenario tersebut mungkin merupakan titik awal yang baik bagi Anda untuk menyesuaikan panduan dengan kebutuhan spesifik Anda.
Telusuri katalog arsitektur dari di Azure Architecture Center di sini.
Meninjau panduan khusus layanan
Setelah teknologi inti dipilih dan arsitektur referensi dikonsultasikan, penting untuk mengakses dokumentasi dan panduan yang khusus untuk layanan dalam arsitektur Anda. Gunakan sumber daya berikut untuk panduan khusus layanan.
panduan layanan Azure Well-Architected Framework: Kerangka kerja Well-Architected memiliki artikel yang mencakup banyak layanan yang ditawarkan di Azure, di mana lima pilar arsitektur diterapkan khusus untuk layanan tersebut.
Temukan dan baca panduan layanan untuk semua sumber daya yang dianggap sebagai bagian dari desain aplikasi Anda.
panduan keandalan Azure: Hub keandalan Azure memiliki artikel mendalam yang secara khusus membahas karakteristik keandalan banyak layanan Azure. Artikel ini mendokumentasikan beberapa topik keandalan paling penting seperti dukungan zona ketersediaan dan perilaku yang diharapkan selama berbagai jenis pemadaman.
Temukan dan baca panduan keandalan untuk semua sumber daya yang dianggap sebagai bagian dari desain aplikasi Anda.
Apakah Anda berasal dari layanan cloud lain?
Jika Anda terbiasa mendesain aplikasi di penyedia cloud lain, banyak dasar-dasar yang sama diterjemahkan. Misalnya, gaya arsitektur dan pola desain cloud secara konseptual tidak bergantung pada penyedia cloud tertentu. Telusuri artikel pemetaan layanan dan panduan arsitektur yang relevan.