Migrasi aplikasi mainframe
Saat memigrasikan aplikasi dari lingkungan mainframe ke Azure, sebagian besar tim mengikuti pendekatan pragmatis: menggunakan kembali di mana pun dan kapan pun memungkinkan, lalu mulai penerapan bertahap di mana aplikasi ditulis ulang atau diganti.
Migrasi aplikasi biasanya melibatkan satu atau lebih strategi berikut:
Hosting ulang: Anda dapat memindahkan kode, program, dan aplikasi yang ada dari mainframe, dan kemudian mengompilasi ulang kode untuk dijalankan di emulator mainframe yang dihosting dalam instans cloud. Pendekatan ini biasanya dimulai dengan memindahkan aplikasi ke emulator berbasis cloud, dan kemudian memigrasikan database ke database berbasis cloud. Beberapa rekayasa dan refaktor diperlukan bersama dengan konversi data dan file.
Atau, Anda dapat melakukan hosting ulang menggunakan penyedia hosting tradisional. Salah satu keuntungan utama dari cloud adalah mengalihdayakan manajemen infrastruktur. Anda dapat menemukan penyedia pusat data yang akan menghosting beban kerja mainframe Anda untuk Anda. Model ini dapat mengulur waktu, mengurangi penguncian vendor, dan menghasilkan penghematan biaya sementara.
Menghentikan: Semua aplikasi yang tidak lagi diperlukan harus dihentikan sebelum migrasi.
Membangun ulang: Beberapa organisasi memilih untuk sepenuhnya menulis ulang program menggunakan teknik modern. Mengingat biaya tambahan dan kompleksitas pendekatan ini, hal itu tidak umum seperti pendekatan lift-and-shift. Seringkali setelah jenis migrasi ini, masuk akal untuk mulai mengganti modul dan kode menggunakan mesin transformasi kode.
Mengganti: Pendekatan ini menggantikan fungsi mainframe dengan fitur yang setara di cloud. Software as a service (SaaS) adalah salah satu opsi, yang menggunakan solusi yang dibuat khusus untuk kepentingan perusahaan, seperti keuangan, sumber daya manusia, manufaktur, atau perencanaan sumber daya perusahaan. Selain itu, banyak aplikasi khusus industri sekarang tersedia untuk memecahkan masalah yang sebelumnya dipecahkan oleh solusi mainframe kustom.
Anda harus mempertimbangkan untuk memulai dengan merencanakan beban kerja yang awalnya ingin Anda migrasikan, dan kemudian menentukan persyaratan untuk memindahkan aplikasi terkait, basis kode warisan, dan database.
Emulasi mainframe di Azure
Layanan Azure dapat meniru lingkungan mainframe tradisional, memungkinkan Anda untuk menggunakan kembali kode dan aplikasi mainframe yang ada. Komponen server umum yang dapat Anda tiru termasuk pemrosesan transaksi online (OLTP), batch, dan sistem penyerapan data.
Sistem OLTP
Banyak mainframe memiliki sistem OLTP yang memproses ribuan atau jutaan pembaruan untuk sejumlah besar pengguna. Aplikasi ini sering menggunakan pemrosesan transaksi dan perangkat lunak penanganan bentuk layar, seperti Sistem Kontrol Informasi Pelanggan (CICS), Sistem Manajemen Informasi (IMS), dan Prosesor Antarmuka Terminal (TIP).
Saat memindahkan aplikasi OLTP ke Azure, emulator untuk monitor pemrosesan transaksi mainframe (TP) tersedia untuk dijalankan sebagai infrastruktur sebagai layanan (IaaS) menggunakan mesin virtual (VM) di Azure. Penanganan layar dan fungsi formulir juga dapat diimplementasikan oleh server web. Pendekatan ini dapat dikombinasikan dengan API database, seperti Objek Data ActiveX (ADO), Konektivitas Database Terbuka (ODBC), dan Konektivitas Database Java (JDBC) untuk akses dan transaksi data.
Pembaruan batch berbatas waktu
Banyak sistem mainframe melakukan pembaruan bulanan atau tahunan dari jutaan catatan akun, seperti yang digunakan dalam perbankan, asuransi, dan pemerintah. Mainframe menangani jenis beban kerja ini dengan menawarkan sistem penanganan data throughput tinggi. Tugas batch mainframe biasanya bersifat serial dan bergantung pada operasi I/O per detik (IOPS) yang disediakan oleh backbone mainframe untuk performa.
Lingkungan batch berbasis cloud menggunakan komputasi paralel dan jaringan berkecepatan tinggi untuk performa. Jika Anda perlu mengoptimalkan performa batch, Azure menyediakan berbagai opsi komputasi, penyimpanan, dan jaringan.
Sistem penyerapan data
Mainframe memproses sejumlah besar batch data dari retail, jasa keuangan, manufaktur, dan solusi lain untuk pemrosesan. Dengan Azure, Anda dapat menggunakan utilitas baris perintah sederhana seperti AzCopy untuk menyalin data ke dan dari lokasi penyimpanan. Anda juga dapat menggunakan layanan Azure Data Factory, yang memungkinkan Anda untuk memproses data dari penyimpanan data yang berbeda untuk membuat dan menjadwalkan alur kerja berbasis data.
Selain lingkungan emulasi, Azure menyediakan platform as a service (PaaS) dan layanan analitik yang dapat meningkatkan lingkungan mainframe yang ada.
Memigrasikan beban kerja OLTP ke Azure
Pendekatan lift-and-shift adalah opsi tanpa kode untuk memigrasikan aplikasi yang ada dengan cepat ke Azure. Setiap aplikasi dimigrasikan apa adanya, yang memberikan keuntungan cloud tanpa risiko atau biaya untuk membuat perubahan kode. Menggunakan emulator untuk monitor pemrosesan transaksi mainframe (TP) di Azure mendukung pendekatan ini.
Monitor TP tersedia dari berbagai vendor dan berjalan pada mesin virtual, opsi infrastruktur sebagai layanan (IaaS) di Azure. Diagram sebelum dan sesudah berikut ini menunjukkan migrasi aplikasi online yang didukung oleh IBM DB2, sistem manajemen database relasional (DBMS), pada mainframe IBM z/OS. DB2 untuk z/OS menggunakan file Metode Akses Penyimpanan Virtual (VSAM) untuk menyimpan data dan Metode Akses Berurutan Terindeks (ISAM) untuk file datar. Arsitektur ini juga menggunakan CICS untuk pemantauan transaksi.

Di Azure, lingkungan emulasi digunakan untuk menjalankan pengelola TP dan tugas batch yang menggunakan JCL. Di tingkat data, DB2 digantikan oleh Azure SQL Database, meskipun Microsoft SQL Server, DB2 LUW, atau Oracle Database juga dapat digunakan. Emulator mendukung IMS, VSAM, dan SEQ. Alat manajemen sistem mainframe digantikan oleh layanan Azure, dan perangkat lunak dari vendor lain, yang berjalan di mesin virtual.
Fungsi penanganan layar dan entri formulir biasanya diimplementasikan menggunakan server web, yang dapat dikombinasikan dengan API database, seperti ADO, ODBC, dan JDBC untuk akses dan transaksi data. Line-up yang tepat dari komponen infrastruktur sebagai layanan Azure untuk digunakan tergantung pada sistem operasi yang Anda sukai. Contohnya:
Mesin virtual berbasis Windows: Server Informasi Internet (IIS) bersama dengan ASP.NET untuk penanganan layar dan logika bisnis. Gunakan ADO.NET untuk transaksi dan akses data.
VM berbasis Linux: Server aplikasi berbasis Java yang tersedia, seperti Apache Tomcat untuk penanganan layar dan fungsionalitas bisnis berbasis Java. Gunakan JDBC untuk transaksi dan akses data.
Memigrasikan beban kerja batch ke Azure
Operasi batch di Azure berbeda dengan lingkungan batch umum pada mainframe. Tugas batch mainframe biasanya bersifat serial dan bergantung pada IOPS yang disediakan oleh backbone mainframe untuk performa. Lingkungan batch berbasis cloud menggunakan komputasi paralel dan jaringan berkecepatan tinggi untuk performa.
Untuk mengoptimalkan optimalkan batch menggunakan Azure, pertimbangkan opsi komputasi, penyimpanan, jaringan, dan pemantauan sebagai berikut.
Compute
Gunakan:
Mesin virtual dengan kecepatan jam tertinggi. Aplikasi mainframe sering kali utas tunggal dan CPU mainframe memiliki kecepatan jam yang sangat tinggi.
Mesin virtual dengan kapasitas memori besar untuk memungkinkan penembolokan data dan area kerja aplikasi.
Mesin virtual dengan vCPU kepadatan yang lebih tinggi untuk memanfaatkan pemrosesan multi-utas jika aplikasi mendukung beberapa utas.
Pemrosesan paralel, karena Azure dengan mudah melakukan peluasan skala untuk pemrosesan paralel, memberikan lebih banyak daya komputasi untuk eksekusi batch.
Penyimpanan
Gunakan:
SSD Premium Azure atau Penyimpanan Disk Ultra Azure untuk IOPS maksimum yang tersedia.
Striping dengan beberapa disk untuk lebih banyak IOPS per ukuran penyimpanan.
Pemartisian untuk penyimpanan guna menyebarkan I/O melalui beberapa perangkat Azure Storage.
Jaringan
- Gunakan jaringan terakselerasi Azure untuk meminimalkan latensi.
Pemantauan
- Menggunakan alat pemantauan, Azure Monitor, Application Insights, dan log Azure memungkinkan administrator untuk memantau performa batch yang terlalu tinggi dan membantu menghilangkan penyempitan.
Memigrasikan lingkungan pengembangan
Arsitektur terdistribusi cloud bergantung pada seperangkat alat pengembangan yang berbeda yang memberikan keuntungan dari praktik modern dan bahasa pemrograman. Untuk memudahkan transisi ini, Anda dapat menggunakan lingkungan pengembangan dengan alat lain yang dirancang untuk meniru lingkungan IBM z/OS. Daftar berikut menunjukkan opsi dari Microsoft dan vendor lainnya:
| Komponen | Opsi Azure |
|---|---|
| z/OS | Windows, Linux, atau Unix |
| CICS | Layanan Azure yang ditawarkan oleh Micro Focus, Oracle, GT Software (Fujitsu), TmaxSoft, Raincode, dan NTT DATA, atau tulis ulang menggunakan Kubernetes |
| IMS | Layanan Azure yang ditawarkan oleh Micro Focus dan Oracle |
| Assembler | Layanan Azure dari Raincode dan TmaxSoft; atau COBOL, C, atau Java, atau peta ke fungsi sistem operasi |
| JCL | JCL, PowerShell, atau alat pembuatan skrip lainnya |
| COBOL | COBOL, C, atau Java |
| Natural | Natural, COBOL, C, atau Java |
| Fortran dan PL/I | Fortran, PL/I, COBOL, C, atau Java |
| REXX dan PL/I | REXX, PowerShell, atau alat pembuatan skrip lainnya |
Memigrasikan database dan data
Migrasi aplikasi biasanya melibatkan hosting ulang tingkat data. Anda dapat memigrasikan SQL Server, sumber terbuka, dan database hubungan lainnya ke solusi yang dikelola penuh di Azure, seperti Azure SQL Managed Instance, Azure Database for PostgreSQL, dan Azure Database for MySQL dengan Azure Database Migration Service.
Misalnya, Anda dapat bermigrasi jika tingkat data mainframe menggunakan:
IBM DB2 atau database IMS, menggunakan Azure SQL Database, SQL Server, DB2 LUW, atau Oracle Database di Azure.
VSAM dan file datar lainnya, menggunakan file datar Metode Akses Berurutan Terindeks (ISAM) untuk Azure SQL Database, SQL Server, DB2 LUW, atau Oracle.
Grup tanggal pembuatan (GDG), bermigrasi ke file di Azure yang menggunakan konvensi penamaan dan ekstensi nama file yang menyediakan fungsionalitas serupa dengan GDG.
Tingkat data IBM mencakup beberapa komponen utama yang juga harus Anda migrasikan. Misalnya, ketika Anda memigrasikan database, Anda juga memigrasikan kumpulan data yang terkandung dalam kumpulan, masing-masing berisi dbextents, yang merupakan kumpulan data VSAM z/OS. Migrasi Anda harus menyertakan direktori yang mengidentifikasi lokasi data di kumpulan penyimpanan. Selain itu, rencana migrasi Anda harus mempertimbangkan log database, yang berisi catatan operasi yang dilakukan pada database. Database dapat memiliki satu, dua (ganda atau alternatif), atau empat (ganda dan alternatif) log.
Migrasi database juga mencakup komponen-komponen berikut:
- Manajer database: Menyediakan akses ke data dalam database. Manajer database berjalan di partisinya sendiri dalam lingkungan z/OS.
- Pemohon aplikasi: Menerima permintaan dari aplikasi sebelum meneruskannya ke server aplikasi.
- Adapter sumber daya online: Menyertakan komponen pemohon aplikasi untuk digunakan dalam transaksi CICS.
- Adapter sumber daya batch: Menerapkan komponen pemohon aplikasi untuk aplikasi batch z/OS.
- SQL Interaktif (ISQL): Berjalan sebagai aplikasi dan antarmuka CICS yang memungkinkan pengguna untuk memasukkan perintah operator atau pernyataan SQL.
- Aplikasi CICS: Berjalan di bawah kendali CICS, menggunakan sumber daya dan sumber data yang tersedia di CICS.
- Aplikasi batch: Menjalankan logika proses tanpa komunikasi interaktif dengan pengguna untuk, misalnya, menghasilkan pembaruan data massal atau menghasilkan laporan dari database.
Mengoptimalkan skala dan throughput untuk Azure
Secara umum, mainframe meningkat, saat cloud melakukan peluasan skala. Untuk mengoptimalkan skala dan throughput aplikasi bergaya mainframe yang berjalan di Azure, penting bagi Anda untuk memahami bagaimana mainframe dapat memisahkan dan mengisolasi aplikasi. Mainframe z/OS menggunakan fitur yang disebut partisi logis (LPAR) guna mengisolasi dan mengelola sumber daya untuk aplikasi tertentu pada satu instans.
Misalnya, mainframe mungkin menggunakan satu LPAR untuk wilayah CICS dengan program COBOL terkait, dan LPAR terpisah untuk DB2. LPAR tambahan sering digunakan untuk pengembangan, pengujian, dan lingkungan tahapan.
Di Azure, mesin virtual terpisah lebih umum digunakan untuk melakukan tujuan ini. Arsitektur Azure biasanya menyebarkan mesin virtual untuk tingkat aplikasi, satu set mesin virtual terpisah untuk tingkat data, satu set lain untuk pengembangan, dan seterusnya. Setiap tingkat pemrosesan dapat dioptimalkan menggunakan jenis mesin virtual dan fitur yang paling cocok untuk lingkungan tersebut.
Selain itu, setiap tingkatan juga dapat memberikan layanan pemulihan bencana yang sesuai. Misalnya, VM produksi dan database mungkin memerlukan pemulihan yang panas atau hangat, sementara VM pengembangan dan pengujian mendukung pemulihan dingin.
Gambar berikut menunjukkan kemungkinan penyebaran Azure menggunakan situs primer dan sekunder. Di situs primer, produksi, penahapan, dan pengujian mesin virtual disebarkan dengan ketersediaan tinggi. Situs sekunder adalah untuk pencadangan dan pemulihan bencana.

Melakukan migrasi bertahap ke Azure
Memindahkan solusi dari mainframe ke Azure mungkin melibatkan migrasi bertahap, di mana beberapa aplikasi dipindahkan terlebih dahulu, dan yang lainnya tetap berada di mainframe sementara waktu atau secara permanen. Pendekatan ini biasanya membutuhkan sistem yang memungkinkan aplikasi dan database untuk beroperasi antara mainframe dan Azure.
Skenario umum adalah memindahkan aplikasi ke Azure sambil menyimpan data yang digunakan oleh aplikasi pada mainframe. Perangkat lunak khusus digunakan guna memungkinkan aplikasi di Azure untuk mengakses data dari mainframe. Untungnya, berbagai solusi menyediakan integrasi antara Azure dan lingkungan mainframe yang ada, dukungan untuk skenario hibrida, dan migrasi dari waktu ke waktu. Mitra Microsoft, vendor perangkat lunak independen, dan integrator sistem dapat membantu dalam perjalanan Anda.
Salah satu opsi adalah Microsoft Host Integration Server, solusi yang menyediakan arsitektur database hubungan terdistribusi (DRDA) yang diperlukan bagi aplikasi di Azure untuk mengakses data di DB2 yang tetap ada di mainframe. Opsi lain untuk integrasi mainframe-ke-Azure menyertakan solusi dari IBM, Attunity, Codit, vendor lain, dan opsi sumber terbuka.
Solusi mitra
Jika Anda mempertimbangkan migrasi mainframe, ekosistem mitra tersedia untuk membantu Anda.
Azure menyediakan infrastruktur yang terbukti, sangat tersedia, dan dapat diskalakan untuk sistem yang saat ini berjalan pada mainframe. Beberapa beban kerja dapat dimigrasikan dengan relatif mudah. Beban kerja lain yang bergantung pada perangkat lunak sistem warisan, seperti CICS dan IMS, dapat di-hosting ulang menggunakan solusi mitra dan bermigrasi ke Azure dari waktu ke waktu. Terlepas dari pilihan yang Anda buat, Microsoft dan mitra kami tersedia untuk membantu Anda mengoptimalkan Azure sambil mempertahankan fungsionalitas perangkat lunak sistem mainframe.
Pelajari lebih lanjut
Untuk informasi selengkapnya, lihat sumber berikut ini: