Merencanakan migrasi data

Selesai

Proyek modernisasi platform data memiliki lima tahap yang biasanya diselesaikan secara berurutan.

Dalam skenario peritel global kami, dewan Anda telah menyetujui proyek modernisasi dan Anda mulai mengatur staf dan sumber daya lainnya. Untuk menyiapkan dan menetapkan tugas secara optimal, Anda perlu memahami tahap-tahap proyek secara mendalam.

Di unit ini, Anda akan menjelajahi masing-masing dari lima tahap secara lebih mendetail.

A diagram of the five stages of data modernization, discover, assess, plan, transform, and validate.

Memulai dan menemukan

Proyek modernisasi platform data biasanya dimulai untuk memenuhi persyaratan bisnis atau hukum. Oleh karena itu, sangat penting untuk memperhitungkan kebutuhan ini dan mendapatkan dukungan dari manajemen senior. Langkah pertama adalah menyelesaikan latihan penemuan yang mencakup pertimbangan berikut:

  • Mengevaluasi lingkungan saat ini

    Banyak infrastruktur TI biasanya akan berkembang selama bertahun-tahun, bahkan mungkin puluhan tahun. Pada saat itu, bisnis dan staf dapat berubah sangat pesat hingga tidak ada lagi ahli untuk sistem yang dimiliki organisasi. Dalam beberapa kesempatan langka, organisasi bahkan mungkin lupa bahwa mereka masih memiliki beberapa sistem yang ada.

  • Periksa dependensi antara aplikasi dan database yang ada

    Anda harus meluangkan waktu untuk memahami bagaimana aplikasi Anda berinteraksi dengan database yang ada di jaringan Anda. Selain itu, Anda juga harus memahami dependensi antar-database yang mungkin ada, sehingga Anda dapat secara kolektif mengelompokkan database bersama-sama dalam pengelompokan logis. Dengan melakukan latihan ini, Anda akan menggunakan pengelompokan database yang logis sebagai dasar untuk memigrasikannya ke Azure sebagai satu unit.

  • Mencantumkan jenis beban kerja sistem Anda

    Mencantumkan jenis beban kerja terhadap server database yang diidentifikasi memberikan wawasan tentang penggunaannya. Beban kerja dapat dikategorikan sebagai analitik (OLAP) atau transaksional (OLTP) berdasarkan apakah beban kerja tersebut dibaca atau ditulis secara intensif. Ini membantu memutuskan teknologi platform data mana yang akan dimigrasikan. Kategorisasi lebih lanjut dapat mencakup beban kerja dukungan batch atau keputusan.

Penilaian

Selama tahap penilaian, informasi yang dikumpulkan selama fase penemuan digunakan untuk melakukan evaluasi komprehensif dari beban kerja yang diidentifikasi untuk menetapkan hal-hal berikut:

  • Setiap pemblokir migrasi potensial
  • Setiap perubahan melanggar yang memerlukan perbaikan setelah migrasi
  • Fitur Azure yang dapat digunakan beban kerja

Anda menetapkan ini dengan menyelesaikan penilaian beban kerja saat ini dan penilaian kriteria beban kerja:

  • Penilaian beban kerja saat ini

    Server dan aplikasi database yang diidentifikasi dikategorikan dan dikonfirmasi untuk menetapkan hal berikut: volume data dan tingkat pertumbuhan yang diharapkan, penggunaan sumber daya rata-rata, dan kekritisannya terhadap bisnis. Tahap ini juga menyajikan kesempatan untuk mempertimbangkan untuk menggabungkan atau menonaktifkan database lokal untuk mengurangi jumlah database yang akan dimigrasikan, dan menurunkan total biaya kepemilikan.

  • Penilaian kriteria beban kerja

    Dalam penilaian kriteria beban kerja, Anda menggunakan temuan dari penilaian beban kerja saat ini dan menentukan kriteria pasca migrasi untuk menjalankan beban kerja yang diidentifikasi.

    Katakanlah Anda mengidentifikasi server database transaksi yang banyak digunakan selama jam sibuk tetapi dengan penggunaan rendah selama jam sibuk. Dalam penilaian kriteria beban kerja, Anda menentukan kriteria pascamigrasi, seperti migrasi ke Azure SQL Database dengan penskalaan otomatis untuk menangani beban puncak.

Perencanaan

Tahap perencanaan proyek modernisasi platform data melibatkan penentuan platform target, pendekatan migrasi, dan rencana mitigasi untuk setiap gangguan yang direncanakan atau tidak direncanakan.

Dalam fase perencanaan proses modernisasi Platform Data, ada tujuh istilah untuk menjelaskan bagaimana Anda dapat menangani transisi aplikasi dan data dari lingkungan lokal yang ada ke lingkungan berbasis cloud baru (baik publik atau privat):

# Fase Tindakan Deskripsi
1. Tetap Tidak perlu melakukan apa-apa Modernisasi berkelanjutan sambil mempertimbangkan opsi jangka panjang untuk layanan lokal yang tersisa.
2. Menentukan host kembali Bermigrasi ke IaaS Pendekatan ini menghilangkan kebutuhan akan manajemen pusat data dan memberikan Return on Investment (ROI) yang lebih tinggi melalui Total Cost of Ownership (TCO) yang lebih rendah.
3. Menentukan faktor kembali Migrasi ke IaaS atau PaaS dengan perubahan aplikasi minimal Pendekatan ini menghilangkan kebutuhan akan manajemen pusat data dan memberikan Return on Investment (ROI) yang lebih tinggi melalui Total Cost of Ownership (TCO) yang lebih rendah. Ini juga dapat mengaktifkan overhead manajemen yang lebih rendah melalui konsolidasi database.
4. Merancang ulang Menulis ulang aspek inti aplikasi untuk menggunakan teknologi cloud Ini memungkinkan penggunaan komponen modern, mengurangi penyebaran kode, dan memfasilitasi penyebaran infrastruktur dan layanan DevOps.
5. Membangun kembali Membangun kembali aplikasi untuk menggunakan PaaS atau teknologi tanpa server Membangun kembali platform dan aplikasi data dengan teknologi yang lebih baru memungkinkan penggunaan ketersediaan tinggi bawaan Azure, meningkatkan portabilitas dan skalabilitas aplikasi, dan meminimalkan potensi kesenjangan keterampilan antara teknologi yang digunakan dan staf yang mendukung/mengembangkan aplikasi.
6. Menggantikan Ganti aplikasi dengan aplikasi atau solusi SaaS yang lebih baru Pertimbangkan pendekatan ganti ketika aplikasi memiliki dependensi pada perangkat fisik yang terpasang pada server atau ketika terintegrasi erat dengan infrastruktur lokal.
7. Pensiun Menghentikan aplikasi yang tidak lagi diperlukan Pendekatan menghentikan harus dipertimbangkan ketika aplikasi dan database lama tidak lagi digunakan karena tidak ada persyaratan bisnis atau hukum untuk mempertahankannya.

Grafik di bawah menunjukkan jumlah upaya yang dibutuhkan setiap jangka waktu dibandingkan dengan nilai yang keuntungan bisnis dari migrasi.

  • Opsi target platform

    Ada dua pilihan tingkat tinggi yang tersedia untuk Anda dalam hal memilih platform target.

    • Infrastructure as a Service (IaaS) - Dalam pendekatan ini, Anda akan memigrasikan data Anda ke komputer virtual yang telah menginstal SQL Server.

    • Platform as a Service (PaaS) - Dalam pendekatan ini, Anda akan memigrasikan data Anda ke layanan platform data yang sesuai dengan beban kerja Anda. Untuk beban kerja transaksi, yang akan melibatkan Azure SQL Database atau Azure SQL Managed Instance. Untuk beban kerja jenis Pemrosesan Analitik Online (OLAP), Azure Synapse Analytics akan dilibatkan.

  • Memilih platform target berdasarkan fitur

    • Azure SQL Database - Gunakan jika area permukaan aplikasi dilingkup database. SQL Database menawarkan solusi pemeliharaan rendah yang dapat menjadi pilihan bagus untuk beban kerja tertentu.

    • Kumpulan Elastis Azure SQL Database - Kumpulan elastis memungkinkan Anda mengalokasikan penyimpanan dan sumber daya komputasi ke sekelompok database, daripada harus mengelola sumber daya untuk setiap database satu per satu. Selain itu, kumpulan elastis lebih mudah untuk diskalakan daripada database tunggal, di mana penskalaan database individu tidak lagi diperlukan karena perubahan yang dilakukan pada kumpulan elastis.

    • Azure SQL Database tanpa server - Efektif untuk menurunkan biaya dalam lingkungan pengembangan dan pengujian. Fitur penundaan jeda otomatis memungkinkan Anda mengatur periode tidak aktif sebelum database dijeda secara otomatis. Anda dapat memilih antara 1 jam dan 7 hari atau menonaktifkannya. Saat mengakses database lagi, database dilanjutkan dan hanya dikenakan biaya penyimpanan selama jeda.

    • Azure SQL Managed Instance - Akan sesuai untuk digunakan jika area permukaan aplikasi dilingkup instans dan memerlukan fitur yang tidak tersedia di Azure SQL Database seperti:

      • Agen SQL
      • MSDTC
      • DQS
      • MDS
      • Database Mail
      • Polybase
      • Dukungan untuk Server yang Ditautkan
      • Mendukung layanan cloud Azure baru seperti Deteksi Ancaman
    • SQL Server di Azure Virtual Machine - Gunakan jika area permukaan aplikasi dilingkup instans dan memerlukan fitur yang tidak tersedia di Azure SQL Managed Instance, seperti SQL Server Reporting Services (SSRS), SQL Server Analysis Services (SSAS), dan SQL Server Integration Services (SSIS).

    • Azure Synapse Analytics - Gunakan jika Anda memiliki aplikasi yang menjalankan kueri kompleks di sejumlah besar data yang dapat memanfaatkan pemrosesan paralel besar-besaran (MPP) untuk mengurangi waktu pemrosesan kueri.

Untuk melihat daftar fitur yang didukung pada setiap penawaran PaaS untuk SQL, lihat Perbandingan fitur: Azure SQL Database dan Azure SQL Managed Instance.

  • Memilih platform target berdasarkan biaya

    • Azure SQL Database - Sifat Platform-as-a-Service dari Azure SQL Database sangat mengurangi biaya administrasi dan manajemen atas SQL Server yang lebih tradisional pada topologi IaaS Azure, karena sebagian besar pekerjaan yang diperlukan diselesaikan secara diam-diam di latar belakang untuk Anda oleh Microsoft. Dalam skala besar, seseorang dapat melakukan penghematan waktu dan upaya yang cukup besar.

    • Kumpulan Elastis Azure SQL Database - Kumpulan Elastis Azure SQL Database memberikan penghematan signifikan untuk beberapa database dengan permintaan penggunaan yang tidak dapat diprediksi. Sumber daya komputasi dibagikan, menghindari provisi dan pengurangan biaya yang berlebihan untuk pemeliharaan dan administrasi server.

    • Azure SQL Managed Instance - SQL Managed Instance ditawarkan kepada pelanggan yang menginginkan layanan terkelola penuh, di mana mereka dapat dengan mudah mengangkat dan menggeser lingkungan lokal mereka dengan perubahan konfigurasi minimal. Lingkungan ini menawarkan minimal 8 core dan penyimpanan hingga 8 TB, serta berada di jaringan virtual yang terisolasi. Penawaran ini sangat bagus untuk pelanggan yang ingin dengan cepat sampai ke cloud dan ingin menghindari overhead mempertahankan komputer virtual.

    • SQL Server di Azure Virtual Machine - Dibandingkan dengan penawaran PaaS, SQL Server yang berjalan di komputer virtual Azure dilengkapi dengan biaya komputasi, penyimpanan, dan manajemen yang lebih tinggi tetapi memberikan kontrol yang lebih besar atas SQL Server dan infrastruktur.

    • Azure Synapse Analytics - Azure Synapse Analytics dapat mengurangi biaya Anda dengan memanfaatkan arsitektur MPP untuk memproses kueri kompleks dalam hitungan menit, bukan jam.

  • Migrasi offline vs. online

    Dalam tahap perencanaan, Anda akan ingin mempertimbangkan apakah Anda melakukan migrasi offline atau online. Dengan migrasi offline, waktu henti aplikasi dimulai pada saat yang sama ketika migrasi dimulai. Untuk membatasi pengurangan waktu henti terhadap waktu yang diperlukan ke lingkungan baru saat migrasi selesai, gunakan migrasi online. Sebaiknya Anda menguji migrasi offline untuk menentukan apakah waktu henti dapat diterima; jika tidak, lakukan migrasi online. Selain itu, opsi online versus offline mungkin tidak tersedia tergantung pada platform Azure yang dipilih.

Mengubah dan mengoptimalkan

Penilaian dan perencanaan Anda akan mengidentifikasi aspek aplikasi dan database Anda yang akan memerlukan pekerjaan pascamigrasi yang mengubah atau mengoptimalkan fitur untuk memastikan keberhasilan migrasi. Transformasi biasanya melibatkan pekerjaan yang mengharuskan Anda memperbaiki atau mengubah aspek database.

Pengoptimalan biasanya melibatkan modifikasi pada database yang dimigrasikan untuk memanfaatkan fitur, atau mengoptimalkan penggunaannya dalam Azure.

Misalnya, transformasi dapat melibatkan modifikasi prosedur tersimpan atau kueri SQL yang berisi sintaksis yang tidak didukung dalam database target. Ini akan memerlukan penyesuaian sintaks untuk memastikan kompatibilitas dengan platform database baru, memastikan bahwa prosedur tersimpan atau kueri berjalan dengan lancar tanpa masalah di lingkungan target.

  • Mengubah

    Untuk memastikan pengalaman pascamigrasi yang sukses, satu atau beberapa perubahan berikut mungkin perlu dilakukan ke database.

    • Menginstal peningkatan versi pramigrasi

    • Memperbaiki kesalahan yang diidentifikasi oleh alat penilaian migrasi

    • Menerapkan perubahan skema database

    • Melakukan migrasi layanan database terintegrasi yang sudah ada ke Azure

    • Menangani beban kerja SSIS di cloud

  • Optimalkan

    Mungkin ada satu atau beberapa panduan pengoptimalan berikut yang ingin Anda ikuti selama migrasi untuk memastikan bahwa organisasi Anda mendapatkan hasil maksimal dari investasi mereka di Azure.

    • Menilai fitur baru yang mungkin tersedia di platform target

    • Merestrukturisasi beban kerja menjadi set yang lebih hemat biaya atau performa efektif

    • Pilih tingkat layanan dan tingkat performa tertinggi selama migrasi, dan turunkan skala setelah migrasi selesai

    • Memastikan beban kerja berukuran tepat

    • Meminimalisir jarak antara file BACPAC Anda dan pusat data tujuan

    • Menonaktifkan statistik otomatis selama migrasi

    • Tabel dan indeks partisi

    • Menghilangkan dan membuat ulang tampilan terindeks setelah selesai

Melakukan migrasi, memvalidasi, dan meremediasi

Tahap ini melibatkan migrasi itu sendiri, dan yang tidak kalah pentingnya, langkah-langkah validasi dan langkah-langkah perbaikan yang diperlukan untuk mengonfirmasi migrasi yang sukses. Tahapan perencanaan, penilaian, dan transformasi sebelumnya akan memastikan semuanya sudah siap untuk dimigrasikan dan berfungsi dengan benar setelah dipindahkan ke Azure. Yang tersisa untuk dilakukan adalah menyiapkan alat migrasi yang diperlukan, menyelesaikan migrasi, dan menjalankan validasi fungsional dan performa pasca migrasi untuk memastikan konsistensi data dengan database sumber.

Pertimbangan migrasi, validasi, dan remediasi

Ada berbagai alat yang dapat digunakan untuk melakukan migrasi ke platform target yang dipilih. Alat-alat ini akan tercakup dalam modul lain. Sementara itu, penting untuk mempertimbangkan hal berikut saat menyelesaikan migrasi:

  • Memahami persyaratan beban kerja Anda sebagai titik awal
  • Memilih beban kerja non-kritis atau database berprioritas rendah untuk migrasi di awal
  • Menjalankan migrasi pengujian
  • Menguji database untuk menemukan masalah
  • Menguji rencana untuk mengurangi risiko yang berkaitan dengan masalah waktu henti dan kompatibilitas
  • Menilai alat migrasi berdasarkan gangguan untuk membantu menurunkan risiko waktu henti database
  • Melakukan iterasi secara berkelanjutan pada proses migrasi Anda
  • Mempertimbangkan jendela pemeliharaan yang tersedia untuk aplikasi dan database yang ditargetkan untuk migrasi
  • Menjadikan database dan aplikasi lama berstatus offline
  • Menguji aplikasi pihak ketiga
  • Membuat rencana pemulihan dan pemeliharaan bencana baru