Bagikan melalui


Dasar-dasar arsitektur aplikasi Azure

Aplikasi yang dirancang untuk beban kerja yang dihosting di cloud memenuhi persyaratan bisnis solusi dan menggabungkan komponen serta fungsionalitas cloud-native. Aplikasi cloud yang dirancang dengan baik membahas keandalan, keamanan, biaya, operasi, dan pertimbangan performa. Pertimbangan ini selaras dengan persyaratan bisnis, karakteristik spesifik platform hosting cloud, dan fungsionalitas yang disediakan platform.

Anda tidak perlu menggunakan gaya aplikasi tertentu, seperti layanan mikro, untuk merancang aplikasi untuk beban kerja cloud. Namun, hosting cloud membuat banyak pola desain aplikasi lebih mudah didekati daripada solusi hosting yang tidak secara asli menyediakan beragam pilihan opsi platform aplikasi dan data, kemampuan penskalaan, kontrol keamanan, dan opsi olahpesan. 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 dengan menambahkan instans baru ketika permintaan meningkat.

Aplikasi yang menggunakan platform hosting aplikasi cloud, kemampuan olahpesan, dan layanan yang didekomposisi tunduk pada kekhawatiran umum untuk sistem terdistribusi. Dalam sistem ini, status aplikasi didistribusikan, dan 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.

Kolom berikut mencantumkan beberapa karakteristik umum desain lokal dan desain cloud.

Desain on-premise yang khas

  • Fungsi dan data monolitik dan terkoordinasi
  • Dirancang untuk skalabilitas yang dapat diprediksi atau kelebihan sumber daya
  • Database relasional
  • Pemrosesan yang disinkronkan
  • Dirancang untuk menghindari kegagalan dan mengukur waktu rata-rata antar kegagalan (MTBF)
  • Sumber daya disediakan melalui fungsi TI
  • Server snowflake dan server hewan peliharaan

Desain Khas Cloud

  • Fungsionalitas dan data terdekomposisi dan terdistribusi
  • Dirancang untuk skala elastis
  • Persistensi poliglot dengan menggunakan campuran teknologi penyimpanan
  • Pemrosesan asinkron
  • Dirancang untuk menahan kerusakan dan mengukur MTBF
  • Persiapan untuk kegagalan dan mengukur waktu rata-rata perbaikan
  • Sumber daya disediakan sesuai kebutuhan melalui infrastruktur sebagai kode
  • Infrastruktur yang tidak dapat diubah dan diganti

Mendesain aplikasi untuk Azure

Arsitek cloud yang memiliki keahlian dalam hosting cloud dan dapat membuat keputusan tradeoff strategis harus merancang aplikasi cloud. Azure menyediakan sumber daya untuk membantu arsitek mengembangkan aplikasi dan memandu tim pengembangan untuk mengimplementasikannya. Untuk mencapai beban kerja dan desain aplikasi yang baik, arsitek perlu:

Anda dapat menggunakan Azure untuk menghosting dan menghosting ulang aplikasi yang tidak dirancang untuk cloud. Anda dapat menyesuaikan aplikasi beban kerja untuk menggunakan fungsionalitas cloud, tetapi menghosting ulang aplikasi yang dirancang untuk sumber daya tetap dan skala tidak dianggap sebagai penyebaran cloud-native.

Menyelaraskan dengan standar adopsi cloud organisasi

Aplikasi Anda adalah bagian dari beban kerja yang kemungkinan perlu memenuhi standar dan tata kelola organisasi. Organisasi dengan berbagai ukuran dan kematangan cloud dapat menggunakan Cloud Adoption Framework untuk Azure untuk meresmikan strategi adopsi, kesiapan, inovasi, manajemen, tata kelola, dan inisiatif keamanan untuk keseluruhan lingkungan Azure mereka. Bagian dari pendekatan tersebut adalah menstandarkan pendekatan yang konsisten di seluruh beban kerja, seperti menggunakan zona pendaratan Azure. Zona pendaratan Azure menyediakan tata kelola di seluruh organisasi dan memberi 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 untuk operasi beban kerja, seperti zona pendaratan aplikasi.

Strategi adopsi Azure organisasi Anda seharusnya tidak memengaruhi gaya arsitektur yang Anda pilih, tetapi mungkin membatasi pilihan teknologi atau batas keamanan.

Ikuti Kerangka Kerja Well-Architected

Anda dapat mengevaluasi desain dan implementasi beban kerja apa pun melalui berbagai lensa. Gunakan Well-Architected Framework untuk mengevaluasi dan menyelaraskan keputusan Anda dengan prinsip desain di lima pilar arsitektur utama ini:

Dengan mengikuti prinsip-prinsip ini dan mengevaluasi tradeoff antara pilar arsitektur ini, Anda dapat menghasilkan desain yang memenuhi persyaratan bisnis dan cukup tahan lama, dapat dipertahankan, aman, dan biaya yang dioptimalkan untuk dijalankan di Azure. Keputusan ini harus menginformasikan pilihan gaya arsitektur Anda dan membantu mempersempit pilihan teknologi atau batas keamanan Anda karena berkaitan dengan kebutuhan beban kerja spesifik Anda.

Tim atau organisasi Anda mungkin memiliki prinsip desain lain, seperti keberlanjutan dan etika, yang dapat Anda gunakan untuk mengevaluasi beban kerja Anda.

Memahami gaya arsitektur umum

Setelah Anda memahami lingkungan organisasi tempat aplikasi Anda akan ada dan fondasi desain arsitektur yang baik berdasarkan Well-Architected Framework, Anda perlu memutuskan jenis arsitektur apa yang akan dibangun. Ini mungkin arsitektur layanan mikro, aplikasi N-tingkat yang lebih tradisional, atau solusi big data. Gaya arsitektur ini berbeda dan dirancang untuk hasil yang berbeda. Saat mengevaluasi gaya arsitektur, Anda juga harus memilih model penyimpanan data untuk mengatasi manajemen status.

Evaluasi berbagai gaya arsitektur dan model penyimpanan data untuk memahami manfaat dan tantangan yang disajikan setiap opsi.

Beban kerja dalam kerangka kerja Well-Architected

Artikel Well-Architected beban kerja Framework menjelaskan berbagai klasifikasi atau jenis beban kerja. Anda dapat menemukan artikel tentang beban kerja misi penting, AI, dan beban kerja pembelajaran mesin, atau beban kerja perangkat lunak sebagai layanan. Artikel khusus beban kerja ini menerapkan lima pilar inti Well-Architected Framework 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, dan jaringan. Beberapa jenis beban kerja mungkin mendapat manfaat dari memilih gaya arsitektur atau model penyimpanan data tertentu.

Praktik terbaik

Untuk informasi selengkapnya tentang berbagai pertimbangan desain, termasuk desain API, penskalaan otomatis, partisi data, dan penembolokan, lihat Praktik terbaik dalam aplikasi cloud. Tinjau pertimbangan 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 pengukuran keberhasilan tertentu. Anda harus menguraikan persyaratan fungsional dan nonfungsi tersebut ke dalam aktivitas diskrit yang bekerja sama untuk mencapai solusi yang memenuhi harapan Anda dan pelanggan Anda. Aktivitas ini biasanya mengikuti pola yang telah ditetapkan industri perangkat lunak. Pola desain perangkat lunak diberi nama dan pendekatan berulang yang dapat Anda terapkan untuk pemrosesan atau penyimpanan data. Pola-pola ini terbukti memecahkan masalah spesifik dengan kompromi yang diketahui.

Katalog pola desain cloud di Azure mengatasi tantangan tertentu dalam sistem terdistribusi. Untuk beban kerja AI yang menyertakan beberapa agen otonom, lihat pola orkestrasi agen AI. Ini termasuk pendekatan koordinasi khusus yang melengkapi pola desain tradisional dengan mengatasi tantangan unik mengatur komponen cerdas dan otonom.

Membuat pilihan teknologi yang diinformasikan

Setelah menentukan jenis arsitektur yang ingin Anda bangun dan pola desain yang diharapkan untuk digunakan, Anda dapat memilih komponen teknologi utama untuk arsitektur. Pilihan teknologi berikut sangat penting:

Anda mungkin akan membuat pilihan teknologi lain di sepanjang jalan, tetapi 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 artikel tentang ide solusi, contoh beban kerja, dan arsitektur referensi. Artikel ini biasanya mencantumkan komponen dan pertimbangan umum yang selaras dengan 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, ini adalah titik awal yang baik. Anda dapat menyesuaikan panduan dengan kebutuhan spesifik Anda.

Telusuri katalog arsitektur di Azure Architecture Center.

Meninjau panduan khusus layanan

Setelah Anda memilih teknologi inti dan berkonsultasi dengan arsitektur referensi, tinjau dokumentasi dan panduan yang khusus untuk layanan dalam arsitektur Anda. Gunakan sumber daya berikut untuk panduan khusus layanan:

  • panduan layananWell-Architected Framework: Kerangka kerja Well-Architected menyediakan artikel tentang banyak layanan Azure. Artikel ini menerapkan lima pilar arsitektur untuk setiap layanan.

  • 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.

Apakah Anda berasal dari layanan cloud lain?

Jika Anda terbiasa dengan cara merancang aplikasi di penyedia cloud lain, banyak dasar-dasar yang sama berlaku. Misalnya, gaya arsitektur dan pola desain cloud secara konseptual tidak bergantung pada penyedia cloud tertentu. Untuk informasi selengkapnya, lihat artikel pemetaan layanan dan panduan arsitektur berikut ini:

Langkah berikutnya