Dokumen ini menyoroti pertimbangan desain inti yang memainkan peran penting dalam membentuk keseluruhan arsitektur hybrid dan multicloud Anda. Analisis dan nilai secara menyeluruh pertimbangan ini di seluruh arsitektur solusi Anda, yang mencakup semua beban kerja, bukan hanya beban kerja tertentu.
Refactor
Dalam migrasi pemfaktoran ulang, Anda memodifikasi workload untuk memanfaatkan kemampuan cloud, bukan hanya untuk membuatnya berfungsi di lingkungan baru. Anda dapat meningkatkan setiap workload untuk meningkatkan performa, fitur, biaya, dan pengalaman pengguna. Seperti yang disoroti dalam Memfaktorkan ulang: move-and-improve, beberapa skenario pemfaktoran ulang memungkinkan Anda mengubah workload sebelum memigrasikannya ke cloud. Pendekatan pemfaktoran ulang ini menawarkan manfaat berikut, terutama jika sasaran Anda adalah membangun arsitektur hibrida sebagai arsitektur yang ditargetkan dalam jangka panjang:
- Anda dapat meningkatkan proses deployment.
- Anda dapat membantu mempercepat ritme rilis dan mempersingkat siklus masukan dengan berinvestasi pada alat dan infrastruktur continuous integration/continuous deployment (CI/CD).
- Anda dapat menggunakan pemfaktoran ulang sebagai dasar untuk mem-build dan mengelola arsitektur campuran dengan portabilitas aplikasi.
Agar berfungsi dengan baik, pendekatan ini biasanya memerlukan investasi tertentu dalam infrastruktur dan alat lokal. Misalnya, menyiapkan Container Registry lokal dan menyediakan cluster Kubernetes untuk memasukkan aplikasi ke dalam container. Edisi Google Kubernetes Engine (GKE) Enterprise dapat berguna dalam pendekatan ini untuk lingkungan campuran. Informasi selengkapnya tentang GKE Enterprise dibahas di bagian berikut. Anda juga dapat melihat arsitektur referensi lingkungan hibrida GKE Enterprise untuk mengetahui detail selengkapnya.
Portabilitas workload
Dengan arsitektur hybrid dan multicloud, Anda mungkin ingin dapat mengalihkan workload antar-lingkungan komputasi yang menghosting data Anda. Untuk membantu memungkinkan pergerakan workload yang lancar antar-lingkungan, pertimbangkan faktor-faktor berikut:
- Anda dapat memindahkan aplikasi dari satu lingkungan komputasi ke lingkungan komputasi lain tanpa mengubah aplikasi dan model operasionalnya secara signifikan:
- Deployment dan pengelolaan aplikasi konsisten di seluruh lingkungan komputasi.
- Visibilitas, konfigurasi, dan keamanan konsisten di seluruh lingkungan komputasi.
- Kemampuan untuk membuat workload portabel tidak boleh bertentangan dengan workload yang mengutamakan cloud.
Otomatisasi infrastruktur
Otomatisasi infrastruktur sangat penting untuk portabilitas dalam arsitektur hybrid dan multicloud. Salah satu pendekatan umum untuk mengotomatiskan pembuatan infrastruktur adalah melalui infrastruktur sebagai kode (IaC). IaC melibatkan pengelolaan infrastruktur dalam file, bukan mengonfigurasi resource secara manual—seperti VM, grup keamanan, atau load balancer—di antarmuka pengguna. Terraform adalah alat IaC populer untuk menentukan resource infrastruktur dalam file. Terraform juga memungkinkan Anda mengotomatiskan pembuatan resource tersebut di lingkungan heterogen.
Untuk informasi selengkapnya tentang fungsi inti Terraform yang dapat membantu Anda mengotomatiskan penyediaan dan pengelolaan resource Google Cloud, lihat Blueprint dan modul Terraform untuk Google Cloud.
Anda dapat menggunakan alat pengelolaan konfigurasi seperti Ansible, Puppet, atau Chef untuk membuat proses deployment dan konfigurasi yang umum. Atau, Anda dapat menggunakan alat pembuatan image seperti Packer untuk membuat image VM untuk berbagai platform. Dengan menggunakan satu file konfigurasi bersama, Anda dapat menggunakan Packer dan Cloud Build untuk membuat image VM yang akan digunakan di Compute Engine. Terakhir, Anda dapat menggunakan solusi seperti Prometheus dan Grafana untuk membantu memastikan pemantauan yang konsisten di seluruh lingkungan.
Berdasarkan alat ini, Anda dapat merakit rantai alat umum seperti yang diilustrasikan dalam diagram logis berikut. Rantai alat umum ini menghilangkan perbedaan antara lingkungan komputasi. Rantai alat ini juga memungkinkan Anda menyatukan penyediaan, deployment, pengelolaan, dan pemantauan.
Meskipun rantai alat umum dapat membantu Anda mencapai portabilitas, rantai alat ini memiliki beberapa kekurangan berikut:
- Menggunakan VM sebagai fondasi umum dapat mempersulit penerapan aplikasi cloud-first yang sebenarnya. Selain itu, penggunaan VM saja dapat mencegah Anda menggunakan layanan yang dikelola cloud. Anda mungkin melewatkan peluang untuk mengurangi overhead administratif.
- Membangun dan memelihara rantai alat umum akan menimbulkan biaya overhead dan biaya operasional.
- Seiring dengan perluasan rantai alat, rantai alat dapat mengembangkan kompleksitas unik yang disesuaikan dengan kebutuhan spesifik perusahaan Anda. Peningkatan kompleksitas ini dapat berkontribusi pada meningkatnya biaya pelatihan.
Sebelum memutuskan untuk mengembangkan alat dan otomatisasi, jelajahi layanan terkelola yang ditawarkan penyedia cloud Anda. Jika penyedia menawarkan layanan terkelola yang mendukung kasus penggunaan yang sama, Anda dapat mengabstraksi beberapa kompleksitasnya. Dengan begitu, Anda dapat berfokus pada beban kerja dan arsitektur aplikasi, bukan pada infrastruktur yang mendasarinya.
Misalnya, Anda dapat menggunakan Model Resource Kubernetes untuk mengotomatiskan pembuatan cluster Kubernetes menggunakan pendekatan konfigurasi deklaratif. Anda dapat menggunakan Deployment Manager convert untuk mengonversi konfigurasi dan template Deployment Manager ke format konfigurasi deklaratif lainnya yang didukung Google Cloud (seperti Terraform dan Kubernetes Resource Model) sehingga dapat ditransfer saat Anda memublikasikannya.
Anda juga dapat mempertimbangkan untuk mengotomatiskan pembuatan project dan pembuatan resource dalam project tersebut. Otomatisasi ini dapat membantu Anda mengadopsi pendekatan infrastruktur sebagai kode untuk penyediaan project.
Container dan Kubernetes
Menggunakan kemampuan yang dikelola cloud membantu mengurangi kompleksitas pembuatan dan pengelolaan rantai alat kustom untuk mencapai otomatisasi dan portabilitas workload. Namun, hanya menggunakan VM sebagai fondasi umum akan mempersulit penerapan aplikasi yang benar-benar mengutamakan cloud. Salah satu solusinya adalah menggunakan container dan Kubernetes sebagai gantinya.
Container membantu software Anda berjalan dengan andal saat Anda memindahkannya dari satu lingkungan ke lingkungan lainnya. Karena container memisahkan aplikasi dari infrastruktur host yang mendasarinya, container memfasilitasi deployment di seluruh lingkungan komputasi, seperti hybrid dan multicloud.
Kubernetes menangani orkestrasi, deployment, penskalaan, dan pengelolaan aplikasi dalam container Anda. Kubernetes bersifat open source dan diatur oleh Cloud Native Computing Foundation. Menggunakan Kubernetes akan menyediakan layanan yang membentuk fondasi aplikasi cloud-first. Karena dapat menginstal dan menjalankan Kubernetes di banyak lingkungan komputasi, Anda juga dapat menggunakannya untuk membuat lapisan runtime umum di seluruh lingkungan komputasi:
- Kubernetes menyediakan layanan dan API yang sama di lingkungan komputasi pribadi atau cloud. Selain itu, tingkat abstraksi jauh lebih tinggi daripada saat menggunakan VM, yang umumnya menghasilkan lebih sedikit pekerjaan dasar yang diperlukan dan peningkatan produktivitas developer.
- Tidak seperti rantai alat kustom, Kubernetes diadopsi secara luas untuk pengembangan dan pengelolaan aplikasi, sehingga Anda dapat memanfaatkan keahlian, dokumentasi, dan dukungan pihak ketiga yang sudah ada.
- Kubernetes mendukung semua implementasi penampung yang:
- Mendukung Antarmuka Runtime Container (CRI) Kubernetes
- Diterapkan oleh industri untuk aplikasi
- Tidak terikat dengan vendor tertentu
Saat beban kerja berjalan di Google Cloud, Anda dapat menghindari upaya penginstalan dan pengoperasian Kubernetes menggunakan platform Kubernetes terkelola seperti Google Kubernetes Engine (GKE). Tindakan ini dapat membantu staf operasi mengalihkan fokus mereka dari membangun dan mengelola infrastruktur menjadi membangun dan mengelola aplikasi.
Anda juga dapat menggunakan Autopilot, mode operasi GKE yang mengelola konfigurasi cluster, termasuk node, penskalaan, keamanan, dan setelan lainnya yang telah dikonfigurasi sebelumnya. Saat menggunakan GKE Autopilot, pertimbangkan persyaratan penskalaan dan batas penskalaannya.
Secara teknis, Anda dapat menginstal dan menjalankan Kubernetes di banyak lingkungan komputasi untuk membuat lapisan runtime umum. Namun, secara praktis, membangun dan mengoperasikan arsitektur semacam itu dapat menimbulkan kompleksitas. Arsitektur menjadi lebih kompleks saat Anda memerlukan kontrol keamanan tingkat penampung (mesh layanan).
Untuk menyederhanakan pengelolaan deployment multi-cluster, Anda dapat menggunakan GKE Enterprise untuk menjalankan aplikasi modern di mana saja dalam skala besar. GKE menyertakan komponen open source terkelola yang andal untuk mengamankan workload, menerapkan kebijakan kepatuhan, dan memberikan kemampuan observasi dan pemecahan masalah jaringan yang mendalam.
Seperti yang diilustrasikan dalam diagram berikut, menggunakan GKE Enterprise berarti Anda dapat mengoperasikan aplikasi multi-cluster sebagai fleet.
GKE Enterprise membantu dengan opsi desain berikut untuk mendukung arsitektur hybrid dan multicloud:
Desain dan buat pengalaman seperti cloud di infrastruktur lokal atau solusi terpadu untuk mentransisikan aplikasi ke lingkungan hybrid GKE Enterprise. Untuk mengetahui informasi selengkapnya, lihat arsitektur referensi lingkungan hybrid GKE Enterprise.
Buat desain dan bangun solusi untuk mengatasi kompleksitas multicloud dengan postur keamanan, operasi, dan tata kelola yang konsisten dengan GKE Multi-Cloud. Untuk mengetahui informasi selengkapnya, lihat dokumentasi Multi-Cloud GKE.
GKE Enterprise juga menyediakan pengelompokan logis lingkungan serupa dengan pengelolaan keamanan, konfigurasi, dan layanan yang konsisten. Misalnya, GKE Enterprise mendukung arsitektur terdistribusi zero trust. Dalam arsitektur terdistribusi zero trust, layanan yang di-deploy di lokal atau di lingkungan cloud lain dapat berkomunikasi di seluruh lingkungan melalui komunikasi layanan-ke-layanan aman mTLS menyeluruh.
Pertimbangan portabilitas workload
Kubernetes dan GKE Enterprise menyediakan lapisan abstraksi untuk workload yang dapat menyembunyikan banyak seluk-beluk dan perbedaan antara lingkungan komputasi. Daftar berikut menjelaskan beberapa abstraksi tersebut:
- Aplikasi mungkin portabel untuk lingkungan yang berbeda dengan
perubahan minimal, tetapi itu tidak berarti bahwa aplikasi berperforma
baik di kedua lingkungan.
- Perbedaan komputasi, kemampuan keamanan infrastruktur, atau infrastruktur jaringan yang mendasarinya, serta kedekatan dengan layanan dependen, dapat menyebabkan performa yang jauh berbeda.
- Memindahkan workload antar-lingkungan komputasi mungkin juga mengharuskan Anda
untuk memindahkan data.
- Lingkungan yang berbeda dapat memiliki layanan dan fasilitas penyimpanan serta pengelolaan data yang berbeda.
- Perilaku dan performa load balancer yang disediakan dengan Kubernetes atau GKE Enterprise mungkin berbeda di antara lingkungan.
Perpindahan data
Karena memindahkan, membagikan, dan mengakses data dalam skala besar antar-lingkungan komputasi bisa jadi rumit, perusahaan tingkat perusahaan mungkin ragu untuk membuat arsitektur hybrid atau multicloud. Keragu-raguan ini mungkin meningkat jika mereka sudah menyimpan sebagian besar data mereka di lokal atau di satu cloud.
Namun, berbagai opsi pemindahan data yang ditawarkan oleh Google Cloud, memberi perusahaan serangkaian solusi komprehensif untuk membantu memindahkan, mengintegrasikan, dan mengubah data mereka. Opsi ini membantu perusahaan menyimpan, membagikan, dan mengakses data di berbagai lingkungan dengan cara yang memenuhi kasus penggunaan spesifik mereka. Kemampuan tersebut pada akhirnya memudahkan pembuat keputusan bisnis dan teknologi untuk mengadopsi arsitektur hybrid dan multicloud.
Pemindahan data adalah pertimbangan penting untuk perencanaan strategi dan arsitektur hybrid dan multicloud. Tim Anda perlu mengidentifikasi berbagai kasus penggunaan bisnis dan data yang mendukungnya. Anda juga harus mempertimbangkan jenis, kapasitas, aksesibilitas, dan opsi gerakan penyimpanan.
Jika perusahaan memiliki klasifikasi data untuk industri yang diatur, klasifikasi tersebut dapat membantu mengidentifikasi lokasi penyimpanan dan pembatasan pergerakan data lintas region untuk class data tertentu. Untuk mengetahui informasi selengkapnya, lihat Perlindungan Data Sensitif. Perlindungan Data Sensitif adalah layanan terkelola sepenuhnya yang didesain untuk membantu Anda menemukan, mengklasifikasikan, dan melindungi aset data Anda.
Untuk mempelajari prosesnya, mulai dari merencanakan transfer data hingga menggunakan praktik terbaik dalam menerapkan rencana, lihat Migrasi ke Google Cloud: Mentransfer set data besar.
Keamanan
Saat organisasi mengadopsi arsitektur hybrid dan multicloud, platform serangannya dapat meningkat, bergantung pada cara sistem dan data didistribusikan di berbagai lingkungan. Ditambah dengan lanskap ancaman yang terus berkembang, peningkatan platform serangan dapat menyebabkan peningkatan risiko akses tidak sah, kehilangan data, dan insiden keamanan lainnya. Pertimbangkan keamanan dengan cermat saat merencanakan dan menerapkan strategi hybrid atau multicloud.
Untuk informasi selengkapnya, lihat Pengelolaan Platform Serangan untuk Google Cloud.
Saat merancang arsitektur hybrid, secara teknis tidak selalu memungkinkan atau viable untuk memperluas pendekatan keamanan lokal ke cloud. Namun, banyak kemampuan keamanan jaringan dari perangkat hardware adalah fitur cloud-first dan beroperasi dengan cara terdistribusi. Untuk informasi selengkapnya tentang kemampuan keamanan jaringan cloud-first Google Cloud, lihat Keamanan jaringan cloud.
Arsitektur hybrid dan multicloud dapat menimbulkan tantangan keamanan tambahan, seperti konsistensi dan visibilitas. Setiap penyedia cloud publik memiliki pendekatan keamanannya sendiri, termasuk model, praktik terbaik, kemampuan keamanan infrastruktur dan aplikasi, kewajiban kepatuhan, bahkan nama layanan keamanan yang berbeda. Inkonsistensi ini dapat meningkatkan risiko keamanan. Selain itu, model tanggung jawab bersama setiap penyedia cloud dapat berbeda. Penting untuk mengidentifikasi dan memahami demarkasi tanggung jawab yang tepat dalam arsitektur multicloud.
Observabilitas adalah kunci untuk mendapatkan insight dan metrik dari berbagai lingkungan. Dalam arsitektur multicloud, setiap cloud biasanya menyediakan alat untuk memantau postur keamanan dan kesalahan konfigurasi. Namun, penggunaan alat ini menghasilkan visibilitas silo, yang mencegah pembuatan intelijen ancaman lanjutan di seluruh lingkungan. Akibatnya, tim keamanan harus beralih antar-alat dan dasbor untuk menjaga keamanan cloud. Tanpa visibilitas keamanan menyeluruh ujung ke ujung untuk lingkungan hybrid dan multicloud, sulit untuk memprioritaskan dan mengurangi kerentanan.
Untuk mendapatkan visibilitas dan postur penuh dari semua lingkungan Anda, prioritaskan kerentanan Anda, dan mitigasi kerentanan yang Anda identifikasi. Sebaiknya gunakan model visibilitas terpusat. Model visibilitas terpusat menghindari perlunya korelasi manual antara berbagai alat dan dasbor dari berbagai platform. Untuk mengetahui informasi selengkapnya, lihat Pola pemantauan dan logging hybrid dan multicloud.
Sebagai bagian dari perencanaan Anda untuk memitigasi risiko keamanan dan men-deploy workload di Google Cloud, serta untuk membantu Anda merencanakan dan mendesain solusi cloud guna memenuhi tujuan keamanan dan kepatuhan, jelajahi pusat praktik terbaik keamanan Google Cloud dan blueprint dasar-dasar perusahaan.
Tujuan kepatuhan dapat bervariasi, karena dipengaruhi oleh peraturan khusus industri dan persyaratan peraturan yang bervariasi di berbagai wilayah dan negara. Untuk mengetahui informasi selengkapnya, lihat pusat referensi kepatuhan Google Cloud. Berikut adalah beberapa pendekatan utama yang direkomendasikan untuk merancang arsitektur hybrid dan multicloud yang aman:
Mengembangkan strategi dan arsitektur keamanan cloud terpadu yang disesuaikan. Strategi keamanan hybrid dan multicloud harus disesuaikan dengan kebutuhan dan tujuan spesifik organisasi Anda.
Anda harus memahami arsitektur dan lingkungan yang ditargetkan sebelum menerapkan kontrol keamanan, karena setiap lingkungan dapat menggunakan fitur, konfigurasi, dan layanan yang berbeda.
Pertimbangkan arsitektur keamanan terpadu di seluruh lingkungan hybrid dan multicloud.
Standarkan desain dan deployment cloud, terutama desain dan kemampuan keamanan. Tindakan ini dapat meningkatkan efisiensi dan memungkinkan tata kelola serta alat yang terpadu.
Gunakan beberapa kontrol keamanan.
Biasanya, tidak ada satu kontrol keamanan yang dapat menangani semua persyaratan perlindungan keamanan secara memadai. Oleh karena itu, organisasi harus menggunakan kombinasi kontrol keamanan dalam pendekatan pertahanan berlapis, yang juga dikenal sebagai defense-in-depth.
Memantau dan terus meningkatkan postur keamanan: Organisasi Anda harus memantau berbagai lingkungannya untuk mendeteksi ancaman dan kerentanan keamanan. Perusahaan juga harus terus berupaya meningkatkan postur keamanannya.
Pertimbangkan untuk menggunakan pengelolaan postur keamanan cloud (CSPM) untuk mengidentifikasi dan memperbaiki kesalahan konfigurasi keamanan serta ancaman keamanan cyber. CSPM juga memberikan penilaian kerentanan di seluruh lingkungan hybrid dan multicloud.
Security Command Center adalah solusi keamanan dan pengelolaan risiko bawaan untuk Google Cloud yang membantu mengidentifikasi kesalahan konfigurasi dan kerentanan serta lainnya. Security Health Analytics adalah alat pemindaian penilaian kerentanan terkelola. Ini adalah fitur Security Command Center yang mengidentifikasi risiko dan kerentanan keamanan di lingkungan Google Cloud Anda serta memberikan rekomendasi untuk memperbaikinya.
Mandiant Attack Surface Management untuk Google Cloud memungkinkan organisasi Anda melihat aset lingkungan multicloud atau hybrid cloud mereka dengan lebih baik. Alat ini secara otomatis menemukan aset dari beberapa penyedia cloud, DNS, dan platform serangan eksternal yang diperluas untuk memberikan pemahaman yang lebih mendalam tentang ekosistemnya kepada perusahaan Anda. Gunakan informasi ini untuk memprioritaskan perbaikan pada kerentanan dan eksposur yang paling berisiko.
- Solusi informasi keamanan dan manajemen peristiwa (SIEM) cloud: Membantu mengumpulkan dan menganalisis log keamanan dari lingkungan hybrid dan multicloud untuk mendeteksi dan merespons ancaman. SIEM Google Security Operations dari Google Cloud membantu memberikan Informasi keamanan dan manajemen peristiwa dengan mengumpulkan, menganalisis, mendeteksi, dan menyelidiki semua data keamanan Anda di satu tempat.