MySQL adalah salah satu database relasional open source paling populer di dunia. Salah satu alasan popularitasnya adalah kemampuan untuk menghosting dan mengelola database dengan banyak cara yang sesuai dengan persyaratan workload pengguna. Pengguna dapat memilih antara menyiapkan database untuk dikelola sendiri secara lokal, dikelola sendiri dalam virtual machine di cloud, atau menggunakan penawaran yang terkelola sepenuhnya dari penyedia cloud. Artikel ini berfokus pada opsi MySQL yang dikelola sendiri dan solusi terkelola sepenuhnya, Cloud SQL untuk MySQL, yang disediakan oleh Google Cloud. Kelebihan dan kekurangan setiap opsi akan dibahas.
Opsi MySQL yang dikelola sendiri berarti bahwa pengguna, dalam banyak kasus administrator database, bertanggung jawab atas sebagian besar aktivitas yang tercakup dalam penyiapan, penginstalan, konfigurasi dan pemeliharaan database, sistem operasi (OS), jaringan, penyimpanan, instance virtual machine (VM), dan hardware, yang menghosting server dan instance database. Beberapa tugas ini, seperti tugas hardware, instance VM, penyimpanan, jaringan, dan sistem operasi, dapat lebih mudah diselesaikan dengan memanfaatkan penyedia layanan cloud seperti Google Cloud. Terlepas dari apakah pengguna mengelola sendiri database secara lokal atau mengelola sendiri di cloud, mereka bertanggung jawab atas beberapa tugas pengelolaan database utama yang diperlukan agar sistem berjalan dengan lancar. Tugas-tugas tersebut tercantum di bawah ini.
Diagram di bawah menunjukkan tanggung jawab pengguna saat memilih penyiapan yang dikelola sendiri. Meskipun pengelolaan mandiri di Google Cloud mengurangi beberapa tugas terkait hardware, komputasi, jaringan, dan penyimpanan, pengguna tetap bertanggung jawab atas pengelolaan lapisan stack yang tersisa. Administrator database dan developer aplikasi masih harus menghabiskan waktu, energi, dan resource yang cukup untuk mengelola MySQL.
Cloud SQL adalah layanan database terkelola sepenuhnya yang menawarkan kemudahan penggunaan untuk konfigurasi penyiapan, pemeliharaan, pengelolaan, dan administrasi database MySQL, PostgreSQL, dan SQL Server di Google Cloud. Cloud SQL mengelola semua aspek hardware, jaringan, OS, keamanan, pemantauan, pemeliharaan, ketersediaan, dan penskalaan database MySQL. Semua tanggung jawab ini disamarkan dari pengguna, sehingga mereka dapat berfokus pada pengembangan aplikasi dan memberikan nilai kepada pelanggan mereka.
Diagram di bawah ini mirip dengan diagram di atas yang menunjukkan beberapa tugas yang tercakup ketika mengelola berbagai lapisan database MySQL, dengan satu-satunya perbedaan adalah bahwa semua tugas yang dikelola Cloud SQL atas nama pengguna diilustrasikan dengan warna biru.
Selain mengelola banyak tugas yang diilustrasikan di atas, Cloud SQL menawarkan berbagai fitur dan solusi yang tidak tersedia secara native di lingkungan yang dikelola sendiri. Beberapa fitur utama yang ditawarkan Cloud SQL tercantum di bawah ini.
Keandalan: Pencadangan dan pemulihan adalah aktivitas paling penting dalam pengelolaan database. Cloud SQL menawarkan pencadangan otomatis dan pencadangan on-demand yang dapat digunakan untuk memulihkan database ke titik waktu jika terjadi kerusakan, bencana, atau perubahan data yang tidak diinginkan.
Ketersediaan: Cloud SQL memberikan ketersediaan tinggi dengan membuat instance beberapa server yang menghosting database di beberapa zona dengan kemampuan failover otomatis untuk memberikan ketersediaan tinggi jika terjadi kegagalan VM atau pusat data. Cloud SQL menjamin lebih dari 99,95% ketersediaan di mana saja di seluruh dunia.
Selain fitur ketersediaan tinggi, Cloud SQL juga menawarkan tim Site Reliability Engineering (SRE) 24x7 yang bertanggung jawab memastikan keandalan instance database Cloud SQL untuk MySQL di Google Cloud.
Replika baca lintas region adalah fitur lain yang dapat digunakan sebagai mekanisme pemulihan dari bencana jika terjadi kegagalan. Dengan begitu, pengguna dapat dengan cepat memunculkan database yang terkena dampak di situs (region) lain tanpa gangguan yang berarti bagi bisnis.
Skalabilitas: Cloud SQL menawarkan pembuatan replika baca MySQL, seperti instance MySQL hanya baca tambahan, di region yang sama atau di region terpencil yang memungkinkan layanan permintaan dari replika, serta instance utama, sehingga memberikan performa baca yang lebih baik. Replika baca juga dapat digunakan untuk tujuan pelaporan dan dapat dihancurkan setelah kebutuhan bisnis terpenuhi.
Cloud SQL dapat meningkatkan skala resource (CPU, memori, dan penyimpanan) serta memperkecil skala resource pada instance MySQL dengan periode nonaktif yang sangat minimal. Sedangkan dalam kasus penyiapan yang dikelola sendiri, aktivitas rumit ini memerlukan upaya, keahlian, dan perencanaan yang signifikan.
Keamanan: Server database Cloud SQL untuk MySQL berada di pusat data yang diamankan oleh Google Cloud dan memastikan tingkat keamanan tertinggi. Selain itu, Google Cloud menawarkan konektivitas pribadi dengan Virtual Private Cloud dan akses jaringan yang dikontrol pengguna dengan perlindungan firewall, yang memastikan server database pengguna berada di luar jangkauan pihak yang berniat jahat.
Aspek keamanan lainnya adalah kepatuhan terhadap peraturan keamanan. Cloud SQL mematuhi banyak peraturan yang diakui, seperti SSAE 16, ISO 27001, PCI DSS, dan HIPAA.
Cloud SQL menawarkan kemampuan untuk mengelola pengguna dan akses mereka ke database melalui integrasi IAM. Integrasi ini mengelola otorisasi dan autentikasi untuk pengguna Google Cloud serta memberikan akses terperinci ke resource Google Cloud tertentu, sehingga mencegah akses tanpa izin ke database. Selain itu, Cloud SQL memudahkan kontrol akses dan identitas dengan menyediakan peran standar yang dirancang untuk mengontrol akses ke resource Cloud SQL Anda.
Fitur keamanan Cloud SQL lainnya adalah enkripsi data dalam penyimpanan maupun dalam pengiriman, yang memastikan tidak ada pengguna tanpa izin yang dapat mengakses data pengguna.
Cloud SQL menawarkan fitur validasi sandi untuk pengguna database, yang memungkinkan pelanggan menentukan kebijakan sandi untuk kompleksitas sandi, panjang sandi minimum, interval perubahan sandi, dan penggunaan nama pengguna pada sandi di tingkat instance. Pelanggan juga dapat menentukan kebijakan untuk hari habis masa berlaku sandi, jumlah upaya login yang gagal, dan persyaratan perubahan sandi lama di tingkat pengguna perorangan. Fitur-fitur di Cloud SQL ini memberikan praktik terbaik kepatuhan keamanan dan mengurangi risiko akses tanpa izin ke data penting.
Cloud SQL juga menyediakan cara untuk mengaudit tindakan dan operasi di database MySQL menggunakan plugin log audit. Log audit memberikan data tentang siapa yang melakukan, tindakan apa, di objek mana, dan kapan. Pengauditan database memungkinkan Anda melacak tindakan pengguna tertentu dalam database, seperti update tabel, kueri yang telah dibaca, pemberian hak istimewa pengguna, dan lainnya.
Kemampuan observasi: Cloud SQL menawarkan berbagai solusi pemantauan dan memiliki daftar metrik siap pakai yang terus bertambah, yang memberikan insight tentang status database. Pengguna dapat menggunakan metrik untuk membuat pemberitahuan agar administrator tetap mengetahui kondisi database.
Cloud SQL juga menyediakan fitur seperti Query Insights dan pemberi rekomendasi, sehingga pengguna dapat memecahkan masalah dan mengidentifikasi bottleneck performa kueri atau workload. Fitur-fitur ini sulit untuk ditiru di lingkungan MySQL yang dikelola sendiri.
Integrasi: Cloud SQL menawarkan konektivitas dan integrasi jaringan yang mudah dengan layanan lain dalam Google Cloud seperti Google Kubernetes Engine, Compute Engine, dan Cloud Run yang memudahkan pengembangan solusi yang terintegrasi secara mendalam. Cloud SQL juga menawarkan integrasi native dengan BigQuery dan Looker yang dapat digunakan untuk pemrosesan analisis data yang ada di Cloud SQL.
Patching: Sebagai layanan terkelola, Cloud SQL otomatis mengupdate instance untuk memastikan hardware dan sistem operasi yang mendasarinya dapat diandalkan, berperforma tinggi, aman, dan selalu diupdate. Sebagian besar update ini dilakukan saat instance Cloud SQL aktif dan berjalan. Namun, update sistem tertentu mungkin menimbulkan gangguan layanan singkat, sehingga pengguna dapat menentukan masa pemeliharaan untuk aktivitas upgrade.
Upgrade versi: Cloud SQL juga menyediakan proses otomatis untuk mengupgrade versi database (MySQL). Pengguna juga dapat mengupgrade versi utama dengan memigrasikan data ke instance dengan versi yang lebih tinggi.
Kelebihan
Kekurangan
Kelebihan
Kekurangan
Mulailah membangun solusi di Google Cloud dengan kredit gratis senilai $300 dan lebih dari 20 produk yang selalu gratis.