Praktik terbaik untuk mendesain aplikasi

Panduan ini memberikan praktik terbaik untuk mendesain dan menentukan aplikasi Anda dalam App Hub. Desain aplikasi yang efektif adalah kunci untuk memanfaatkan manfaat penuh Google Cloud yang berfokus pada aplikasi, yang menawarkan visibilitas, tata kelola, dan efisiensi operasional yang lebih baik.

Prinsip inti desain aplikasi

Dengan mematuhi prinsip inti berikut, Anda dapat membuat aplikasi yang andal, mudah dikelola, dan selaras dengan tujuan bisnis Anda, sehingga memaksimalkan nilai yang Anda peroleh dari App Hub:

  • Mencerminkan kemampuan bisnis: Tentukan aplikasi App Hub di sekitar fungsi bisnis atau alur kerja end-to-end, bukan hanya lapisan teknis atau setiap microservice. Aplikasi harus mewakili aliran nilai yang berbeda untuk bisnis.

  • Menentukan kepemilikan yang jelas: Tetapkan properti dan atribut yang jelas ke setiap aplikasi, mendukung penemuan dan tata kelola. Khususnya, menambahkan pemilik aplikasi akan meningkatkan akuntabilitas dan menyederhanakan komunikasi.

  • Pertimbangkan batas aplikasi: Tentukan batas yang sesuai untuk operasi, pemantauan, dan tata kelola. Resource dalam aplikasi idealnya harus berbagi siklus proses operasional dan domain dampak yang sama untuk menyederhanakan pengelolaan dan mengurangi risiko operasional.

    Saat mempertimbangkan batas aplikasi untuk tujuan operasional, penting untuk memahami cara Google Cloud Observability menyusun pengumpulan dan tampilan data. Meskipun App Hub berfokus pada batas aplikasi, Google Cloud Observability menggunakan cakupan untuk menentukan data telemetri mana yang dapat dilihat dan dianalisis di seluruh project. Konfigurasi cakupan pengamatan ini memiliki hubungan tertentu dengan project host atau project pengelolaan Anda, yang menentukan cara Anda dapat menggabungkan dan melihat data telemetri dari berbagai project. Untuk mempelajari lebih lanjut cara mengonfigurasinya untuk tampilan terpadu, lihat Mengonfigurasi cakupan kemampuan pengamatan.

  • Beradaptasi dengan evolusi: Desain aplikasi Anda untuk mengakomodasi perubahan dan pertumbuhan di masa mendatang dalam arsitektur Anda.

  • Lakukan penyempurnaan secara iteratif: Tinjau dan sesuaikan aplikasi Anda secara rutin untuk mencerminkan perubahan dalam struktur, tim, dan prioritas bisnis organisasi Anda.

Yang harus ditentukan sebagai aplikasi

Memahami apa yang merupakan aplikasi di App Hub sangat penting untuk mengintegrasikan kemampuan pengelolaan aplikasi secara efektif diGoogle Cloud. Aplikasi mengelompokkan layanan dan beban kerja yang secara bersama-sama memberikan fungsi bisnis tertentu. Untuk mengetahui informasi selengkapnya tentang konsep inti aplikasi, layanan, dan workload di App Hub, lihat Konsep dan model data.

Untuk membantu Anda menentukan batas yang sesuai untuk aplikasi App Hub, pertimbangkan pertanyaan utama berikut:

  • Nilai pengguna atau bisnis apa yang diberikan oleh kumpulan sumber daya ini?
  • Apakah komponen ini memiliki siklus proses operasional yang sama?
  • Apakah ada kepemilikan yang jelas dan terpadu di seluruh resource ini?
  • Apakah pengelompokan ini memfasilitasi pemantauan dan pemecahan masalah yang efektif?

Contoh: Arsitektur demo OpenTelemetry

Arsitektur demo OpenTelemetry mewakili sistem e-commerce yang mencakup microservice seperti Ad, Cart, dan Checkout. Untuk menentukan aplikasi ini dengan sebaik-baiknya di App Hub, pertimbangkan rekomendasi berikut:

  • Modelkan seluruh sistem e-commerce sebagai satu aplikasi App Hub, misalnya, my-ecommerce-site:

    • Instance komputasi microservice individual, seperti deployment Google Kubernetes Engine (GKE), dipetakan ke workload App Hub.
    • Endpoint jaringan, seperti antarmuka gRPC/HTTP yang di-load balance, dipetakan ke layanan App Hub.
  • Hindari mendaftarkan setiap microservice, seperti Ad, Cart, dan Checkout, sebagai aplikasi App Hub-nya sendiri. Pendekatan ini memecah konteks bisnis.

Untuk mengetahui informasi selengkapnya tentang resource infrastruktur yang didukung App Hub sebagai layanan dan beban kerja, lihat Resource yang didukung App Hub.

Strategi desain

Gunakan strategi desain berikut untuk memastikan penyiapan App Hub Anda bersifat skalabel, dapat dikelola, dan selaras dengan praktik operasional Anda.

Memilih antara aplikasi global dan regional

Saat mendesain aplikasi App Hub, keputusan mendasar adalah apakah akan menentukannya sebagai global atau regional. Pilihan ini memengaruhi resource yang dapat disertakan, penanganan data, latensi, biaya, dan kepatuhan:

  • Aplikasi global paling cocok untuk layanan dan beban kerja yang secara inheren didistribusikan di beberapa Google Cloud region atau mengandalkan resource global seperti Load Balancer Aplikasi global.
  • Aplikasi regional direkomendasikan jika semua komponen aplikasi berada dalam satu Google Cloud region. Praktik ini umumnya merupakan pendekatan terbaik jika arsitektur Anda mengizinkannya.

Daftar praktik terbaik berikut dapat membantu Anda memilih antara aplikasi global dan regional:

  • Prioritaskan aplikasi regional: Jika memungkinkan, desain aplikasi Anda sebagai aplikasi regional untuk memanfaatkan manfaat seperti latensi yang lebih rendah, potensi penghematan biaya pada traffic jaringan antar-region, keselarasan dengan persyaratan lokalitas data, dan kompatibilitas inheren dengan fitur dan domain kegagalan khusus region.Google Cloud
  • Gunakan aplikasi global secara strategis: Pilih aplikasi global hanya jika komponen sistem Anda harus tersebar di seluruh region atau melibatkan layanan Google Cloud global.
  • Mendekomposisi sistem multi-region: Jika Anda memiliki resource di beberapa region yang tidak membentuk satu fungsi global yang kohesif, pertimbangkan untuk menentukan aplikasi regional terpisah untuk resource dalam setiap region masing-masing. Praktik ini memaksimalkan manfaat regionalisasi untuk setiap deployment.

Untuk perbandingan mendetail dan pembahasan lebih dalam tentang implikasi pilihan ini, lihat Aplikasi global dan regional.

Menentukan lingkungan sebagai aplikasi terpisah

Anda dapat merepresentasikan lingkungan deployment yang berbeda sebagai aplikasi App Hub yang berbeda. Pendekatan ini memberikan isolasi yang kuat untuk keamanan, izin, dan risiko operasional, sehingga mencegah dampak yang tidak disengaja di seluruh lingkungan.

Misalnya, Anda dapat menyusun aplikasi sebagai my-app-dev, my-app-staging, dan my-app-prod untuk lingkungan pengembangan, staging, dan produksi.

Meskipun Anda dapat menggunakan atribut Environment dalam satu aplikasi untuk memberi tag pada resource, memisahkan lingkungan ke dalam aplikasi yang berbeda menawarkan batas yang tepat untuk kontrol akses, penerapan kebijakan, dan pemantauan. Anda tetap harus menggunakan atribut Environment secara konsisten pada resource dalam aplikasi khusus lingkungan ini untuk memberikan detail terperinci dan menentukan peran lebih lanjut. Untuk mengetahui informasi selengkapnya tentang atribut ini dan atribut lainnya, lihat Menggunakan atribut untuk tata kelola.

Menyelaraskan dengan struktur tim

Pertimbangkan untuk menyelaraskan batas aplikasi dengan tim yang bertanggung jawab atas pengembangan dan pengoperasiannya. Praktik ini dapat menyederhanakan kepemilikan dan komunikasi karena model aplikasi di Hub Aplikasi mencerminkan struktur organisasi Anda.

Menggunakan atribut untuk tata kelola

Terapkan atribut secara konsisten ke semua resource aplikasi untuk meningkatkan kemudahan penemuan dan menerapkan tata kelola. Atribut ini memberikan metadata lengkap untuk pemfilteran, pelaporan, dan penerapan kebijakan:

  • Kekritisan: Membantu memprioritaskan resource untuk pemantauan dan respons insiden.
  • Lingkungan: Mendukung pemfilteran dan kebijakan khusus lingkungan.
  • Pemilik: Memberikan visibilitas dan akuntabilitas.

Tetapkan standar organisasi untuk memberi tag pada resource dengan atribut ini. Untuk mengetahui detail selengkapnya, lihat Mendukung penemuan dan tata kelola.

Mengidentifikasi kasus penggunaan pengelolaan aplikasi

Integrasikan App Hub dengan Application Design Center untuk mendapatkan pengalaman siklus proses aplikasi yang lancar, dari desain hingga operasi:

  • Anda memiliki resource yang sudah ada untuk didaftarkan sebagai aplikasi: Daftarkan resource Google Cloud yang ada dari model penyiapan ke aplikasi di App Hub untuk mendapatkan visibilitas dan kontrol operasional yang terpadu.
  • Anda tidak memiliki resource yang sudah ada untuk didaftarkan sebagai aplikasi: Gunakan Pusat Desain Aplikasi untuk mendesain dan men-deploy aplikasi baru. Pusat Desain Aplikasi secara otomatis mendaftarkan resource yang di-deploy di App Hub, sehingga model Anda secara akurat mencerminkan desain yang diinginkan. Application Design Center juga membantu Anda mengelola update aplikasi. Saat template aplikasi berubah, Anda dapat memperbarui semua instance yang didasarkan pada template, sehingga Anda dapat memastikan update aplikasi konsisten.

Hierarki resource

Hierarki resourceGoogle Cloud standar terdiri dari resource organisasi, folder, dan project. App Hub memperkenalkan lapisan pengelolaan aplikasi di atas hierarki tersebut melalui konsep folder yang mendukung aplikasi dan project host, bergantung pada model penyiapan Anda.

Memahami kesesuaian model penyiapan yang Anda pilih dengan hierarki resource yang ada akan mendukung tata kelola yang efektif, penerapan kebijakan, dan penemuan resource. Google CloudTinjau struktur yang direkomendasikan dan rencanakan hierarki resource Anda saat memilih model penyiapan untuk mengelola aplikasi.

Penyempurnaan berkelanjutan

Desain aplikasi tidak statis; biasanya berkembang seiring waktu. Tinjau dan sempurnakan aplikasi Anda secara rutin untuk memastikan aplikasi tersebut terus selaras dengan kebutuhan bisnis, struktur tim, dan perubahan arsitektur Anda.

Sebaiknya gunakan insight dari Cloud Hub dan Gemini Cloud Assist untuk mengidentifikasi peluang pengoptimalan dan menyesuaikan aplikasi Anda. Selain itu, Anda dapat menggunakan Application Design Center untuk mengelola siklus proses aplikasi Anda. Halaman Deployments di Cloud Hub menampilkan aplikasi yang memiliki update yang tersedia dari template Application Design Center yang menjadi dasarnya, sehingga menyederhanakan proses update.