Menghosting ulang mainframe umum di Azure

Azure Virtual Machines
Azure Virtual Network
Azure Container Registry
Azure Kubernetes Service (AKS)
Azure Site Recovery

Rehosting adalah cara untuk menjalankan aplikasi mainframe warisan, utuh, pada sistem terbuka. Jalur ini adalah cara tercepat untuk melepas aplikasi dari perangkat keras mainframe Anda dan menjalankannya di platform Windows atau Linux di lingkungan cloud-native. Kode aplikasi yang ditulis dalam bahasa warisan seperti COBOL atau PL/1 dimigrasikan apa adanya dan dikompilasi ulang di lingkungan baru tanpa perubahan pada logika bisnis. Rehosting membantu mempertahankan logika aplikasi. Pada saat yang sama, rehosting meminimalkan risiko dan biaya yang disertakan dengan pengodean ulang aplikasi untuk lingkungan baru.

Rehosting adalah metode hemat biaya untuk mengatasi tantangan mempertahankan perangkat keras mainframe lama. Umumnya disebut sebagai lift and shift, rehosting memindahkan aplikasi misi-kritis dan inti dari mainframe dan memigrasikannya ke cloud. Dengan pendekatan ini, perangkat keras yang mendasar berubah, misalnya dari mainframe IBM ke x86. Namun, logika fungsional dan bisnis tidak tersentuh. Migrasi ini adalah yang paling cepat dan paling tidak berdampak dari perspektif pengguna akhir. Aplikasi ini mempertahankan antarmuka dan tampilan dan nuansa yang sama yang nyaman bagi pengguna.

Untuk tim yang menjelajahi fitur cloud, menghosting ulang aplikasi adalah cara yang bagus untuk menggunakan kemampuan cloud seperti penskalaan otomatis, penyimpanan terkelola, dan kontainer. Arsitektur ini menunjukkan contoh rehosting umum yang menyoroti dua metodologi untuk menyebarkan beban kerja. Anda dapat menggunakan Azure Kubernetes Service (AKS) atau Azure Virtual Machines. Metode mana yang Anda gunakan tergantung pada portabilitas aplikasi, dan pada preferensi Anda.

Kemungkinan kasus penggunaan

Banyak skenario dapat memperoleh manfaat dari rehosting di Azure. Berikut adalah beberapa kemungkinan kasus penggunaan:

  • Pengoptimalan biaya: Anda ingin mengurangi biaya pengoperasian dan pemeliharaan perangkat keras mainframe dan lisensi atau perangkat lunak terkait secara signifikan.
  • Agnostik lokasi: Anda berencana untuk keluar dari pusat data dan menginginkan platform alternatif yang sangat tersedia, aman, dan dapat diandalkan untuk menghosting aplikasi warisan Anda.
  • Gangguan paling sedikit: Anda perlu memigrasikan aplikasi mainframe penting misi sambil mempertahankan kelangsungan operasi bisnis sehari-hari.
  • Dampak pengguna minimal: Pindahkan aplikasi Anda dari perangkat keras lama tetapi terus berikan pengguna Anda antarmuka yang sama atau lebih baik.
  • Upskilling yang dapat diabaikan: Aplikasi dihosting ulang di cloud tanpa perubahan kode yang signifikan. Mereka terus memberi tim pengembangan Anda basis kode yang familier, dan pada saat yang sama menghilangkan pengembangan, pengujian, dan reskilling yang mahal pada bahasa yang lebih baru.

Arsitektur mainframe

Ini adalah arsitektur pra-migrasi.

Diagram yang memperlihatkan aplikasi mainframe sebelum migrasi ke Azure.

Unduh file Visio arsitektur ini.

Aliran data mainframe

  1. Input terjadi melalui TCP/IP, termasuk TN3270, HTTP, dan HTTPS.

  2. Input ke dalam mainframe menggunakan protokol komunikasi mainframe standar.

  3. Menerima aplikasi dapat berupa sistem batch atau online.

  4. COBOL, PL/I, Assembler, dan bahasa lain yang kompatibel berjalan di lingkungan yang diaktifkan.

  5. Layanan data dan database yang digunakan adalah database hierarkis, jaringan, dan relasional.

  6. Layanan umum termasuk eksekusi program, operasi I/O, deteksi kesalahan, dan perlindungan dalam lingkungan.

  7. Middleware dan utilitas mengelola layanan seperti penyimpanan pita, antrean, output, dan layanan web dalam lingkungan.

  8. Sistem operasi menyediakan antarmuka antara mesin dan perangkat lunak yang dijalankan.

  9. Partisi diperlukan untuk menjalankan beban kerja terpisah dan memisahkan jenis kerja dalam lingkungan.

Sistem

Arsitektur ini menampilkan solusi yang dihosting ulang di Microsoft Azure.

Diagram yang memperlihatkan aplikasi mainframe setelah migrasi ke Azure.

Unduh file Visio arsitektur ini.

Aliran data

  1. Input biasanya datang melalui ExpressRoute dari klien jarak jauh, atau oleh aplikasi lain yang saat ini berjalan di Azure. Dalam kedua kasus, koneksi TCP/IP adalah sarana utama koneksi ke sistem. Akses pengguna disediakan melalui port TLS 443 untuk mengakses aplikasi berbasis web. Lapisan presentasi aplikasi berbasis web dapat tetap tidak berubah untuk meminimalkan pelatihan ulang pengguna akhir. Untuk akses admin ke VM, Anda dapat menggunakan host Azure Bastion untuk memaksimalkan keamanan dengan meminimalkan port terbuka.

  2. Akses ke kluster komputasi aplikasi dilakukan dengan menggunakan load balancer Azure. Dengan pendekatan ini, Anda dapat menskalakan sumber daya komputasi untuk memproses pekerjaan input. Baik tingkat aplikasi tingkat 7 maupun penyeimbang muatan tingkat protokol jaringan tingkat 4 tersedia. Jenis yang Anda gunakan tergantung pada bagaimana input aplikasi mencapai titik masuk kluster komputer.

  3. Penggunaan kluster komputasi aplikasi tergantung pada apakah aplikasi mendukung komputer virtual (VM) dalam kluster komputasi, atau aplikasi berjalan dalam kontainer yang Anda sebarkan di kluster komputasi kontainer seperti Kubernetes. Sebagian besar perangkat lunak mitra mainframe untuk aplikasi yang ditulis dalam bahasa warisan lebih suka menggunakan VM. Beberapa perangkat lunak mitra sistem mainframe juga dapat mendukung penyebaran dalam kontainer.

  4. Server aplikasi menerima input di kluster komputasi dan berbagi status aplikasi dan data menggunakan Azure Redis Cache atau akses memori langsung jarak jauh (RDMA). Server aplikasi menghosting berbagai program aplikasi COBOL atau PL/1. Manajer sistem transaksi adalah emulator di Azure yang dapat menangani sistem kontrol informasi pelanggan (CICS) dan beban kerja sistem manajemen informasi (IMS). Emulator sistem batch di Azure melakukan peran bahasa kontrol pekerjaan (JCL).

  5. Anda dapat menggunakan layanan Azure atau perangkat lunak mitra lain yang dihosting di VM untuk sistem, utilitas, dan manajemen data.

  6. Data mainframe dimigrasikan ke database Azure. Azure menyediakan berbagai layanan penyimpanan data yang efisien seperti Azure SQL Database, SQL Server di Azure Virtual Machines, dan Azure SQL Managed Instance. Ada banyak faktor yang perlu dipertimbangkan saat membuat pilihan, seperti jenis beban kerja, kueri lintas database, dan persyaratan penerapan dua fase. Layanan data Azure menyediakan penyimpanan data yang dapat diskalakan dan sangat tersedia yang dapat Anda bagikan di beberapa sumber daya komputasi dalam kluster. Anda dapat membuat layanan ini geo-redundan, lalu mengonfigurasinya sehingga jika failover terjadi, instans database pemulihan bencana menjadi aktif.

  7. AKS memungkinkan Anda untuk memperluas skala dan menurunkan beban kerja modernisasi mainframe Anda di Azure, untuk memanfaatkan platform cloud. Saat Anda menyebarkan beberapa kluster AKS, pilih wilayah tempat AKS tersedia. Kemudian Anda dapat menggunakan wilayah berpasangan untuk arsitektur yang sangat tangguh. Penting untuk menjalankan beberapa instans kluster AKS di beberapa wilayah dan dalam konfigurasi yang sangat tersedia.

  8. Azure Data Factory menyediakan penyerapan dan sinkronisasi data dengan beberapa sumber data, baik dalam Azure maupun dari sumber eksternal. Azure Blob Storage adalah zona arahan umum untuk sumber data eksternal.

  9. Gunakan Azure Site Recovery untuk pemulihan bencana VM dan komponen kluster kontainer. Azure Site Recovery mereplikasi dan menyinkronkan lingkungan produksi ke wilayah failover.

Komponen

  • Virtual Machines: Virtual Machines adalah sumber daya komputasi sesuai permintaan dan dapat diskalakan. Azure VM memberi Anda fleksibilitas virtualisasi tanpa harus membeli dan memelihara perangkat keras fisik yang menjalankannya.

  • Azure Virtual Network: Virtual Network adalah blok penyusun dasar untuk jaringan privat Anda di Azure. Virtual Network memungkinkan banyak jenis sumber daya Azure, seperti Virtual Machines, untuk berkomunikasi satu sama lain dengan aman, internet, dan jaringan lokal. Virtual Network seperti jaringan tradisional yang Anda operasikan di pusat data Anda sendiri. Namun, ini membawa manfaat infrastruktur Azure seperti skala, ketersediaan, dan isolasi.

  • Kartu Antarmuka Jaringan Virtual Azure: Antarmuka jaringan memungkinkan Azure VM untuk berkomunikasi dengan internet, Azure, dan sumber daya lokal. Seperti yang ditunjukkan dalam arsitektur ini, Anda dapat menambahkan lebih banyak kartu antarmuka jaringan ke Azure VM yang sama. Dengan cara ini, Solaris child-VM memiliki perangkat antarmuka jaringan khusus dan alamat IP mereka sendiri.

  • Azure Disk Storage: Disk terkelola adalah volume penyimpanan tingkat blok yang dikelola oleh Azure dan digunakan dengan Azure VM. Jenis disk yang tersedia adalah Azure Ultra Disk Storage, Azure Premium SSD, Azure Standard SSD, dan Azure Standard HDD. Untuk arsitektur ini, kami merekomendasikan SSD Premium atau Ultra Disk Storage.

  • Azure Files: Azure Files menawarkan berbagi file yang dikelola sepenuhnya di cloud yang dapat diakses melalui protokol Server Message Block (SMB) standar industri. Anda dapat memasang berbagi file Azure secara bersamaan dengan penyebaran cloud atau lokal Windows, Linux, dan macOS.

  • Azure ExpressRoute: Dengan ExpressRoute, Anda dapat memperluas jaringan lokal Anda ke cloud Microsoft melalui koneksi privat yang difasilitasi oleh penyedia konektivitas. Anda juga dapat membuat koneksi ke layanan cloud Microsoft, seperti Microsoft Azure dan Microsoft 365.

  • AKS: Menyebarkan dan mengelola aplikasi kontainer dengan lebih mudah dengan layanan Kubernetes yang dikelola sepenuhnya. Azure Kubernetes Service (AKS) menawarkan Kubernetes tanpa server, pengalaman integrasi berkelanjutan dan pengiriman berkelanjutan (CI/CD) terintegrasi, serta keamanan dan tata kelola tingkat perusahaan. Satukan tim pengembangan dan operasi Anda dalam satu platform untuk membangun, mengirimkan, dan menskalakan aplikasi secara cepat dengan percaya diri.

  • Azure Container Registry: Membangun, menyimpan, mengamankan, memindai, mereplikasi, dan mengelola gambar dan artefak kontainer dengan instans distribusi OCI yang dikelola sepenuhnya dan direplikasi secara geografis. Sambungkan di seluruh lingkungan seperti AKS dan Azure Red Hat OpenShift, dan di seluruh layanan Azure seperti App Service, Pembelajaran Mesin, dan Batch.

  • Site Recovery: Site Recovery menawarkan kemudahan penyebaran, efektivitas biaya, dan ketergantungan. Sebarkan proses replikasi, failover, dan pemulihan melalui Site Recovery untuk membantu menjaga aplikasi Anda tetap berjalan selama terjadinya gangguan sumber daya yang terjadwal maupun tidak terjadwal.

Pertimbangan

Pertimbangan ini mengimplementasikan pilar Azure Well-Architected Framework, yang merupakan serangkaian tenet panduan yang dapat digunakan untuk meningkatkan kualitas beban kerja. Untuk informasi selengkapnya, lihat Microsoft Azure Well-Architected Framework.

Keandalan

Keandalan memastikan aplikasi Anda dapat mencapai komitmen yang Anda buat kepada pelanggan Anda. Untuk informasi selengkapnya, lihat Gambaran Umum pilar keandalan.

  • Untuk memanfaatkan kemampuan Azure secara maksimal, gunakan pendekatan berbasis kontainer untuk penyebaran. Pendekatan ini membantu jika aplikasi perlu menskalakan sesuai permintaan dan mencapai penyediaan kapasitas elastis tanpa perlu mengelola infrastruktur. Ini juga memungkinkan Anda untuk menambahkan penskalakan otomatis dan pemicu berbasis peristiwa. Kontainer menggabungkan semua perangkat lunak yang diperlukan untuk eksekusi ke dalam satu paket yang dapat dieksekusi. Ini termasuk kode aplikasi bersama dengan file konfigurasi, pustaka, dan dependensi terkait yang diperlukan untuk menjalankan aplikasi.
  • Anda perlu mengatur dan mengelola layanan kontainer dan komponen jaringan dan penyimpanan terkait. AKS adalah opsi yang sangat baik karena mengotomatiskan manajemen kluster dan sumber daya. Anda menunjuk jumlah simpul yang Anda butuhkan, dan AKS cocok dengan kontainer Anda ke simpul yang tepat untuk memanfaatkan sumber daya dengan semaksimal mungkin. AKS juga mendukung peluncuran dan pembatalan otomatis, penemuan layanan, penyeimbangan beban, dan orkestrasi penyimpanan. Dan AKS mendukung penyembuhan diri. Jika kontainer gagal, AKS memulai yang baru. Anda juga dapat menyimpan rahasia dan pengaturan konfigurasi dengan aman di luar kontainer.
  • Arsitektur menggunakan Site Recovery untuk mencerminkan Azure VM ke wilayah Azure sekunder untuk failover cepat dan pemulihan bencana jika pusat data Azure gagal.
  • Untuk memaksimalkan waktu aktif beban kerja pada pendekatan penyebaran AKS, ini adalah praktik terbaik bagi kelangsungan bisnis untuk menyebarkan aplikasi ke beberapa kluster AKS di berbagai wilayah. Status aplikasi Anda dapat tersedia di beberapa kluster karena AKS memungkinkan replikasi penyimpanan di beberapa wilayah.
  • Untuk memaksimalkan waktu aktif beban kerja pada pendekatan penyebaran berbasis VM, pertimbangkan untuk menggunakan Azure Virtual Machine Scale Sets. Dengan Virtual Machine Scale Sets, Anda dapat membuat dan mengelola sekelompok VM seimbang beban. Jumlah instans komputer virtual bisa secara otomatis meningkat atau menurun sebagai respons terhadap permintaan atau jadwal yang ditentukan. Set skala memberikan ketersediaan tinggi untuk aplikasi, dan memungkinkan Anda mengelola, mengonfigurasi, dan memperbarui sejumlah besar komputer virtual secara terpusat.

Keamanan

Keamanan memberikan jaminan terhadap serangan yang disukai dan penyalahgunaan data dan sistem berharga Anda. Untuk informasi selengkapnya, lihat Gambaran Umum pilar keamanan.

  • Solusi ini menggunakan kelompok keamanan jaringan Azure untuk mengelola lalu lintas antarsumber daya Azure. Untuk informasi selengkapnya, lihat Kelompok keamanan jaringan.
  • Azure Bastion memaksimalkan keamanan akses admin dengan meminimalkan port terbuka. Bastion menyediakan konektivitas RDP/SSH yang aman dan lancar ke jaringan virtual Anda langsung dari portal Microsoft Azure melalui TLS.

Pengoptimalan biaya

Untuk membantu mengoptimalkan biaya, cari cara untuk mengurangi pengeluaran yang tidak perlu dan meningkatkan efisiensi operasional. Untuk informasi selengkapnya, lihat Gambaran umum pilar pengoptimalan biaya.

Azure menyediakan pengoptimalan biaya dengan berjalan pada VM Windows. Dengan VM Windows, Anda dapat menonaktifkan VM saat tidak digunakan dan membuat skrip jadwal untuk pola penggunaan yang diketahui. Azure mengidentifikasi jumlah atau jenis sumber daya yang tepat, menganalisis pengeluaran dari waktu ke waktu, dan menskalakan untuk memenuhi kebutuhan bisnis tanpa pengeluaran berlebihan.

Gunakan kalkulator harga Azure untuk memperkirakan biaya layanan dalam arsitektur ini.

Keunggulan operasional

Keunggulan operasional mencakup proses operasi yang menyebarkan aplikasi dan membuatnya tetap berjalan dalam produksi. Untuk informasi selengkapnya, lihat Gambaran umum pilar keunggulan operasional.

  • Arsitektur target berfungsi dengan Azure Cloud Services.
  • Penyebaran berbasis kontainer mempromosikan adopsi DevOps dan prinsip kerja Agile.
  • Anda memiliki fleksibilitas penuh dari opsi penyebaran pengembangan dan produksi.

Efisiensi kinerja

Efisiensi performa adalah kemampuan beban kerja Anda untuk diskalakan agar memenuhi permintaan yang diberikan oleh pengguna dengan cara yang efisien. Untuk informasi selengkapnya, lihat Gambaran umum pilar efisiensi performa.

  • Efisiensi performa dibangun ke dalam solusi ini karena penyeimbang beban. Jika satu presentasi atau server transaksi gagal, server di belakang load balancer akan memikul beban kerja.
  • Kubernetes menyediakan autoscaler kluster. Penskala otomatis menyesuaikan jumlah simpul berdasarkan sumber daya komputasi yang diminta di kumpulan simpul.

Kontributor

Artikel ini dikelola oleh Microsoft. Ini awalnya ditulis oleh kontributor berikut.

Penulis utama:

Kontributor lainnya:

Langkah berikutnya

Hubungi legacy2azure@microsoft.com untuk informasi selengkapnya.