Dokumen ini menyoroti pertimbangan desain inti yang memainkan peran penting dalam membentuk arsitektur hybrid dan multicloud Anda secara keseluruhan. Analisis dan nilai pertimbangan ini secara holistik 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 membuatnya berfungsi di lingkungan baru. Anda dapat meningkatkan setiap workload untuk meningkatkan performa, fitur, biaya, dan pengalaman pengguna. Seperti yang dijelaskan dalam Memfaktorkan ulang: move-and-improve, beberapa skenario pemfaktoran ulang memungkinkan Anda mengubah workload sebelum memigrasikannya ke cloud. Pendekatan refactoring ini menawarkan manfaat berikut, terutama jika tujuan Anda adalah membangun arsitektur hibrida sebagai arsitektur target 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 refactoring sebagai dasar untuk membangun dan mengelola arsitektur hibrida 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 hybrid. 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 perpindahan workload yang lancar antar-lingkungan, pertimbangkan faktor-faktor berikut:
- Anda dapat memindahkan aplikasi dari satu lingkungan komputasi ke lingkungan komputasi lain tanpa memodifikasi 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 berbasis cloud.
Otomatisasi infrastruktur
Otomatisasi infrastruktur sangat penting untuk portabilitas dalam arsitektur hybrid dan multicloud. Salah satu pendekatan umum untuk mengotomatiskan pembuatan infrastruktur adalah melalui infrastructure as code (IaC). IaC melibatkan pengelolaan infrastruktur Anda dalam file, bukan mengonfigurasi resource secara manual—seperti VM, grup keamanan, atau load balancer—dalam 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 mengetahui 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 membangun proses deployment dan konfigurasi yang umum. Atau, Anda dapat menggunakan alat pembakaran 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. 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 yang benar-benar berbasis cloud. 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 berkembangnya rantai alat, rantai alat dapat mengembangkan kompleksitas unik yang disesuaikan dengan kebutuhan spesifik perusahaan Anda. Peningkatan kompleksitas ini dapat berkontribusi pada peningkatan biaya pelatihan.
Sebelum memutuskan untuk mengembangkan alat dan otomatisasi, pelajari layanan terkelola yang ditawarkan penyedia cloud Anda. Jika penyedia Anda menawarkan layanan terkelola yang mendukung kasus penggunaan yang sama, Anda dapat mengabstraksi beberapa kompleksitasnya. Dengan demikian, Anda dapat berfokus pada beban kerja dan arsitektur aplikasi, bukan 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 lain yang didukung Google Cloud (seperti Terraform dan Model Resource Kubernetes) sehingga dapat dipindahkan saat Anda memublikasikan.
Anda juga dapat mempertimbangkan untuk mengotomatiskan pembuatan project dan pembuatan resource dalam project tersebut. Otomatisasi ini dapat membantu Anda menerapkan pendekatan infrastruktur sebagai kode untuk penyediaan project.
Container dan Kubernetes
Penggunaan 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 berbasis 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. Penggunaan Kubernetes menyediakan layanan yang membentuk dasar aplikasi yang mengutamakan cloud. Karena Anda 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 container yang:
- Mendukung Container Runtime Interface (CRI) Kubernetes
- Diterapkan 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). Dengan demikian, staf operasi dapat mengalihkan fokus mereka dari membangun dan memelihara infrastruktur ke membangun dan memelihara aplikasi.
Anda juga dapat menggunakan Autopilot, mode operasi GKE yang mengelola konfigurasi cluster Anda, termasuk node, penskalaan, keamanan, dan setelan lain 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, dalam praktiknya, 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 canggih untuk mengamankan workload, menerapkan kebijakan kepatuhan, serta menyediakan 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 opsi desain berikut untuk mendukung arsitektur hybrid dan multicloud:
Rancang dan bangun 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.
Rancang dan bangun solusi untuk mengatasi kompleksitas multicloud dengan postur tata kelola, operasi, dan keamanan 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 layanan, konfigurasi, dan keamanan yang konsisten. Misalnya, GKE Enterprise mendukung arsitektur terdistribusi zero trust. Dalam arsitektur terdistribusi zero trust, layanan yang di-deploy secara lokal atau di lingkungan cloud lain dapat berkomunikasi di seluruh lingkungan melalui komunikasi layanan ke layanan yang aman dengan mTLS end-to-end.
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 dalam komputasi yang mendasarinya, kemampuan keamanan infrastruktur, atau infrastruktur jaringan, serta kedekatan dengan layanan yang 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 dan pengelolaan data yang berbeda.
- Perilaku dan performa load balancer yang disediakan dengan Kubernetes atau GKE Enterprise mungkin berbeda antar-lingkungan.
Perpindahan data
Karena memindahkan, membagikan, dan mengakses data dalam skala besar antarlingkungan komputasi bisa jadi rumit, perusahaan tingkat enterprise mungkin ragu untuk membangun arsitektur hybrid atau multicloud. Keraguan ini mungkin meningkat jika mereka sudah menyimpan sebagian besar data mereka di penyimpanan lokal atau di satu cloud.
Namun, berbagai opsi pemindahan data yang ditawarkan oleh Google Cloud, memberikan serangkaian solusi komprehensif kepada perusahaan untuk membantu memindahkan, mengintegrasikan, dan mentransformasi 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 pengambil keputusan bisnis dan teknologi untuk mengadopsi arsitektur hybrid dan multicloud.
Perpindahan data merupakan pertimbangan penting untuk perencanaan strategi dan arsitektur hybrid dan multicloud. Tim Anda perlu mengidentifikasi berbagai kasus penggunaan bisnis Anda dan data yang mendukungnya. Anda juga harus memikirkan jenis penyimpanan, kapasitas, aksesibilitas, dan opsi pergerakan.
Jika perusahaan memiliki klasifikasi data untuk industri yang diatur, klasifikasi tersebut dapat membantu mengidentifikasi lokasi penyimpanan dan batasan pergerakan data lintas region untuk kelas data tertentu. Untuk mengetahui informasi selengkapnya, lihat Sensitive Data Protection. Sensitive Data Protection 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
Seiring organisasi mengadopsi arsitektur hybrid dan multicloud, permukaan serangan mereka dapat meningkat, bergantung pada cara sistem dan data mereka didistribusikan di berbagai lingkungan. Jika digabungkan dengan lanskap ancaman yang terus berkembang, peningkatan permukaan 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 mengetahui informasi selengkapnya, lihat Attack Surface Management untuk Google Cloud.
Saat merancang arsitektur hybrid, tidak selalu layak atau memungkinkan secara teknis untuk memperluas pendekatan keamanan lokal ke cloud. Namun, banyak kemampuan keamanan jaringan dari perangkat hardware merupakan fitur cloud-first dan beroperasi secara terdistribusi. Untuk mengetahui 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 kemampuan observasi. Setiap penyedia cloud publik memiliki pendekatan sendiri terhadap keamanan, termasuk model, praktik terbaik, kemampuan keamanan aplikasi dan infrastruktur, kewajiban kepatuhan, dan bahkan nama layanan keamanan yang berbeda. Ketidaksesuaian ini dapat meningkatkan risiko keamanan. Selain itu, model tanggung jawab bersama setiap penyedia cloud dapat berbeda. Penting untuk mengidentifikasi dan memahami pembatasan tanggung jawab yang tepat dalam arsitektur multicloud.
Kemampuan observasi 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 yang terisolasi, yang mencegah pembentukan intelijen ancaman tingkat lanjut di seluruh lingkungan. Akibatnya, tim keamanan harus beralih di antara alat dan dasbor untuk menjaga keamanan cloud. Tanpa visibilitas keamanan end-to-end yang menyeluruh untuk lingkungan hybrid dan multicloud, sulit untuk memprioritaskan dan memitigasi kerentanan.
Untuk mendapatkan visibilitas dan postur lengkap semua lingkungan Anda, prioritaskan kerentanan Anda, dan mitigasi kerentanan yang Anda identifikasi. Sebaiknya gunakan model visibilitas terpusat. Model visibilitas terpusat menghilangkan kebutuhan akan korelasi manual antara berbagai alat dan dasbor dari berbagai platform. Untuk 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 untuk memenuhi tujuan keamanan dan kepatuhan Anda, pelajari Google Cloud pusat praktik terbaik keamanan dan blueprint dasar-dasar perusahaan.
Tujuan kepatuhan dapat bervariasi, karena dipengaruhi oleh peraturan khusus industri dan persyaratan peraturan yang berbeda-beda di berbagai wilayah dan negara. Untuk mengetahui informasi selengkapnya, lihat Google Cloud pusat referensi kepatuhan. Berikut adalah beberapa pendekatan utama yang direkomendasikan untuk merancang arsitektur hybrid dan multicloud yang aman:
Mengembangkan strategi dan arsitektur keamanan cloud yang disesuaikan dan terpadu. 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.
Menstandardisasi desain dan deployment cloud, terutama desain dan kemampuan keamanan. Tindakan ini dapat meningkatkan efisiensi dan memungkinkan tata kelola dan 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.
Pantau dan terus tingkatkan 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 manajemen postur keamanan cloud (CSPM) untuk mengidentifikasi dan memperbaiki kesalahan konfigurasi keamanan serta ancaman keamanan siber. CSPM juga menyediakan penilaian kerentanan di seluruh lingkungan hybrid dan multicloud.
Security Command Center adalah solusi keamanan dan manajemen risiko bawaan untuk Google Cloud yang membantu mengidentifikasi kesalahan konfigurasi dan kerentanan, serta banyak lagi. Security Health Analytics adalah alat pemindaian penilaian kerentanan terkelola. Fitur ini adalah bagian dari Security Command Center yang mengidentifikasi risiko dan kerentanan keamanan di lingkungan Google Cloud Anda serta memberikan rekomendasi untuk memulihkannya.
Mandiant Attack Surface Management untuk Google Cloud memungkinkan organisasi Anda melihat aset lingkungan multicloud atau hybrid cloud mereka dengan lebih baik. Solusi ini secara otomatis menemukan aset dari beberapa penyedia cloud, DNS, dan permukaan serangan eksternal yang diperluas untuk memberikan pemahaman yang lebih mendalam kepada perusahaan Anda tentang ekosistemnya. Gunakan informasi ini untuk memprioritaskan perbaikan pada kerentanan dan eksposur yang menimbulkan risiko terbesar.
- 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.