Bagikan melalui


Merekayasa ulang aplikasi batch mainframe di Azure

Azure Data Factory
Azure Databricks
Azure Kubernetes Service (AKS)
Database Azure SQL
Azure Storage

Arsitektur referensi ini menunjukkan bagaimana Anda dapat menggunakan Azure untuk merekayasa ulang aplikasi batch mainframe z/OS untuk memberikan sistem yang aman, dapat diskalakan, dan sangat tersedia di cloud menggunakan Azure. Karena kebutuhan bisnis yang terus berkembang, data dan aplikasi perlu memberikan dan menskalakan tanpa memengaruhi infrastruktur Anda. Rekayasa ulang ke cloud dapat membantu bisnis dalam keuangan, kesehatan, asuransi, dan ritel meminimalkan waktu pengiriman produk atau fitur mereka, dan mengurangi biaya.

Arsitektur Mainframe

Diagram pertama menunjukkan arsitektur aplikasi batch khas yang berjalan pada mainframe z/OS.

Diagram aplikasi batch khas yang berjalan pada mainframe z/OS.

Unduh file Visio arsitektur ini.

Alur kerja

  1. Proses batch mainframe dapat dipicu pada waktu terjadwal menggunakan Penjadwal Operasi, Perencanaan, dan Kontrol (OPC). Mereka juga dapat dipicu oleh pesan yang ditempatkan dalam antrean pesan, seperti pesan yang mengumumkan bahwa file dibuat.

  2. Perangkat penyimpanan akses langsung mainframe (DASD) digunakan untuk menyimpan file input dan output; misalnya, file datar yang diperlukan oleh aplikasi. Anda dapat memicu proses batch dengan membuat file di penyimpanan DASD.

  3. Proses batch adalah eksekusi serangkaian pekerjaan, seperti pekerjaan yang menjalankan program pengguna atau sistem secara internal untuk melakukan tugas tertentu. Biasanya, proses batch dijalankan tanpa interaksi pengguna. Semua pekerjaan batch pada mainframe dijalankan di bawah kendali Job Execution System (JES).

  4. Program dalam proses batch dapat membaca/menulis data dari:

    • Database berbasis file seperti Metode Akses Penyimpanan Virtual (VSAM).
    • Database relasional seperti Db2 atau Informix.
    • Database non-relasional seperti Sistem Manajemen Informasi (IMS).
    • Antrean pesan.
  5. Output eksekusi pekerjaan dapat dipantau melalui penjadwal OPC atau Penjadwal Beban Kerja Tivoli (TWS). Fasilitas Tampilan dan Pencarian Sistem (SDSF) di JES juga digunakan pada mainframe untuk memeriksa status eksekusi pekerjaan.

  6. Tingkat manajemen menyediakan layanan berikut:

    • Kontrol sumber, seperti Endevor atau Changeman.
    • Keamanan, seperti Fasilitas Kontrol Akses Sumber Daya (RACF). Keamanan ini menyediakan autentikasi untuk menjalankan batch, mengakses file, dan mengakses database.
    • Manajemen output yang mendukung penyimpanan dan pencarian log eksekusi pekerjaan.

Arsitektur Azure

Diagram kedua menunjukkan bagaimana Anda dapat menggunakan layanan Azure untuk merekayasa ulang aplikasi serupa dengan kemampuan dan fleksibilitas tambahan.

Diagram aplikasi batch yang direkayasa ulang menggunakan layanan Azure. Beberapa contoh layanan disertakan.

Unduh file Visio arsitektur ini.

Alur kerja

  1. Gunakan salah satu pemicu berikut untuk memulai proses batch Azure.

    • Gunakan penjadwal pekerjaan Azure Databricks atau penjadwal Azure Function.
    • Buat tugas proses batch berulang dengan Azure Logic Apps.
    • Gunakan peristiwa penyimpanan, seperti pembuatan atau penghapusan file di Azure Blob atau penyimpanan File .
    • Gunakan pemicu berbasis pesan, seperti kedatangan pesan di Azure Service Bus.
    • Buat pemicu Azure Data Factory .
  2. Simpan file yang dimigrasikan dari mainframe dengan menggunakan Azure Blob Storage atau Azure Files. Proses batch yang direkayasa ulang di Azure dapat membaca/menulis data dari penyimpanan ini.

  3. Azure menyediakan berbagai layanan untuk menerapkan beban kerja batch mainframe. Pilih layanan tertentu yang didasarkan pada persyaratan bisnis Anda. Misalnya, daya komputasi diperlukan, total waktu eksekusi, kemampuan untuk membagi proses batch mainframe menjadi unit yang lebih kecil, dan sensitivitas biaya.

    1. Azure Databricks adalah platform analitik berbasis Apache Spark. Pekerjaan dapat ditulis dalam bahasa R, Python, Java, Scala, dan Spark SQL. Ini menyediakan lingkungan komputasi dengan waktu mulai kluster yang cepat, penghentian otomatis, dan penskalaan otomatis. Ini memiliki integrasi bawaan dengan penyimpanan Azure seperti Azure Blob Storage dan penyimpanan Azure Data Lake. Gunakan Azure Databricks jika Anda perlu memproses data dalam jumlah besar dalam waktu singkat. Ini juga merupakan pilihan yang baik jika Anda perlu menjalankan beban kerja Ekstrak, Transformasi, dan Muat (ETL).
    2. AKS dan Service Fabric menyediakan infrastruktur untuk menerapkan arsitektur aplikasi berbasis layanan. Mungkin tidak hemat biaya untuk satu aplikasi. Anda dapat merefaktor aplikasi mainframe Anda menggunakan Java Spring Boot. Cara terbaik untuk menjalankan aplikasi Spring Boot di Azure adalah dengan menggunakan Azure Spring Apps, layanan Spring yang dikelola sepenuhnya. Pengembang Java dapat menggunakannya untuk dengan mudah membangun dan menjalankan Layanan Mikro Spring Boot di Azure.
    3. Anda dapat merekayasa ulang aplikasi batch mainframe Anda menggunakan .NET atau Java. Batch menyediakan infrastruktur untuk menjalankan aplikasi ini dalam skala besar. Ini membuat dan mengelola kumpulan komputer virtual (VM), menginstal aplikasi, dan kemudian menjadwalkan pekerjaan untuk dijalankan pada VM. Tidak ada perangkat lunak kluster atau penjadwal pekerjaan untuk menginstal, mengelola, atau menskalakan. Tulis aplikasi dalam bahasa pemrograman apa pun yang didukung oleh Windows atau Linux.
    4. Anda dapat merekayasa ulang program batch COBOL atau PL/1 yang berjalan pendek. Untuk program ini, gunakan layanan Azure seperti Functions, WebJobs, atau Logic Apps.
  4. Azure menyediakan berbagai layanan data untuk menyimpan dan mengambil data.

    • Anda dapat memigrasikan database relasional mainframe seperti Db2 dan Informix dengan perubahan minimal pada visibilitas penawaran database relasional Azure. Misalnya, layanan database relasional seperti Azure SQL VM, Azure SQL DB, atau Azure SQL MI. Anda juga dapat menggunakan Sistem Manajemen Database Relasional sumber terbuka (RDBMS) seperti Azure PostgreSQL. Pemilihan database Azure bergantung pada jenis beban kerja, kueri lintas database, persyaratan penerapan dua fase, dan banyak faktor lainnya.
    • Anda dapat memigrasikan database non-relasional mainframe seperti IMS, Integrated Data Management System (IDMS), atau VSAM ke Azure Cosmos DB. Azure Cosmos DB menyediakan waktu respons yang cepat, skalabilitas otomatis dan instan, dan kecepatan yang dijamin dalam skala apa pun. Ini adalah opsi hemat biaya untuk beban kerja yang tidak dapat diprediksi atau sporadis dengan ukuran atau skala apa pun. Pengembang dapat dengan mudah memulai tanpa harus merencanakan atau mengelola kapasitas.
    • Anda dapat menggunakan Azure Cache for Redis untuk mempercepat aplikasi yang direkayasa ulang.
  5. Aplikasi, OS, dan sumber daya Azure dapat menggunakan agen untuk mengirim log dan metrik ke Log Azure Monitor.

    • Application Insight memantau aplikasi anda yang dimigrasikan. Ini secara otomatis mendeteksi anomali performa dan menyertakan alat analitik yang kuat untuk membantu Anda mendiagnosis masalah.
    • Azure Log Analytics membantu menyimpan, mengindeks, mengkueri, dan memperoleh analitik dari data log yang dikumpulkan.

    Anda dapat menggunakan output Log Analytics dan Application Insights untuk membuat pemberitahuan dan dasbor, atau mengekspor ke layanan eksternal. Anda juga dapat menggunakan output untuk melakukan tindakan seperti penskalaan VM.

  6. Tingkat ini menyediakan layanan Azure untuk kontrol sumber, keamanan, dan manajemen output. Layanan ini mungkin terdiri dari Azure DevOps dan ID Microsoft Entra.

Komponen

Jaringan dan identitas

  • Azure ExpressRoute: ExpressRoute memungkinkan Anda memperluas jaringan lokal ke cloud Microsoft melalui koneksi privat dari penyedia konektivitas. Dengan ExpressRoute, Anda dapat membuat koneksi ke layanan cloud Microsoft seperti Microsoft Azure dan Office 365.
  • Azure VPN Gateway: Gateway VPN adalah jenis gateway jaringan virtual tertentu yang digunakan untuk mengirim lalu lintas terenkripsi antara jaringan virtual Azure dan lokasi lokal melalui Internet publik.
  • ID Microsoft Entra: ID Microsoft Entra adalah layanan manajemen identitas dan akses yang dapat disinkronkan dengan direktori lokal.

Aplikasi

  • Logic Apps: Logic Apps membantu Anda membuat dan menjalankan tugas dan proses berulang otomatis sesuai jadwal. Anda dapat memanggil layanan di dalam dan di luar Azure seperti titik akhir HTTP atau HTTPS. Anda juga dapat memposting pesan ke layanan Azure seperti Azure Service Bus, atau mendapatkan file yang diunggah ke berbagi file.
  • Service Bus: Anda dapat menggunakan Service Bus untuk olahpesan antara antarmuka pengguna dan layanan back-end. Sistem ini dapat memisahkan aplikasi dan layanan dan meningkatkan keandalan dan penggunaan.
  • Azure Databricks: Azure Databricks adalah alat rekayasa data berbasis cloud yang digunakan untuk memproses dan mengubah data dalam jumlah besar. Anda kemudian dapat menjelajahi data tersebut melalui model pembelajaran mesin.
  • Azure Spring Apps: Azure Spring Apps memudahkan untuk menyebarkan, mengelola, dan menjalankan layanan mikro Spring ke Azure. Ini mendukung Java dan .NET Core.
  • AKS: AKS menyederhanakan penyebaran kluster Kubernetes terkelola di Azure dengan membongkar overhead operasional ke Azure.
  • Batch: Batch dirancang untuk menjalankan komputasi batch tujuan umum di cloud di banyak VM yang dapat menskalakan berdasarkan beban kerja yang dijalankan. Ini sangat cocok untuk kasus penggunaan ETL atau AI di mana beberapa tugas dijalankan secara paralel, independen satu sama lain.
  • Functions: Gunakan Functions untuk menjalankan potongan kecil kode tanpa khawatir tentang infrastruktur aplikasi. Dengan Functions, infrastruktur cloud menyediakan semua server up-to-date yang Anda butuhkan untuk menjaga aplikasi Anda tetap berjalan dalam skala besar.
  • Azure App Service: Dengan WebJobs, fitur App Service, Anda dapat mengkodekan logika bisnis latar belakang yang dapat digunakan kembali sebagai pekerjaan web.
  • azure Cache for Redis: Aplikasi yang menggunakan data backend dalam volume tinggi dapat dikembangkan untuk menskalakan dan memberikan performa yang sangat dioptimalkan dengan mengintegrasikan dengan penyimpanan data dalam memori seperti Redis. Azure Cache for Redis menawarkan sumber terbuka Redis (OSS Redis) dan produk komersial dari Redis Labs, Redis Enterprise, sebagai layanan terkelola.

Penyimpanan

Penyimpanan Azure menyediakan beberapa tingkat data panas, dingin, dan arsip. Penggunaan tingkat penyimpanan ini yang efektif dapat memberi Anda keunggulan harga ke performa.

  • Blob Storage: Penyimpanan objek yang dapat diskalakan dan aman untuk beban kerja cloud-native, arsip, data lake, komputasi berperforma tinggi, dan pembelajaran mesin.
  • Azure Files: Berbagi file cloud tingkat perusahaan sederhana, aman, dan tanpa server. Azure Files sangat berguna untuk solusi mainframe yang direkayasa ulang. Ini menyediakan add-on yang efektif untuk penyimpanan SQL terkelola.
  • Table Storage: Penyimpanan nilai kunci NoSQL untuk pengembangan cepat menggunakan himpunan data semi terstruktur besar.
  • Azure Queue Storage: Antrean pesan sederhana, hemat biaya, tahan lama untuk beban kerja besar.
  • Azure SQL: Keluarga layanan Azure yang dikelola sepenuhnya untuk SQL Server. Anda dapat memigrasikan dan menggunakan data relasional secara efisien dengan layanan Azure lainnya seperti Azure SQL Managed Instance atau SQL Server di Azure Virtual Machines.
  • Azure Cosmos DB: Penawaran tanpa SQL yang dapat Anda gunakan untuk memigrasikan data non-tabular dari mainframe.

Pemantauan

  • Azure Monitor: Azure Monitor memberikan solusi komprehensif untuk mengumpulkan, menganalisis, dan bertindak berdasarkan telemetri dari lingkungan cloud dan lokal. Ini berisi fitur Application Insights, Azure Monitor Logs, dan Azure Log Analytics.

Direksi

  • Azure DevOps: Merekayasa ulang aplikasi mainframe di Azure selama setiap fase pengembangan perangkat lunak dan kolaborasi tim. DevOps menyediakan layanan berikut:

    • Azure Boards: Perencanaan tangkas, pelacakan item kerja, visualisasi, dan alat pelaporan.
    • Azure Pipelines: Platform CI/CD agnostik bahasa, platform, dan cloud dengan dukungan untuk kontainer atau Kubernetes.
    • Azure Repos: Menyediakan repositori git privat yang dihosting cloud.
    • Azure Artifacts: Menyediakan manajemen paket terintegrasi dengan dukungan untuk umpan paket Maven, npm, Python, dan NuGet dari sumber publik atau privat.
    • Azure Test Plans: menyediakan solusi pengujian terintegrasi, terencana, dan eksplorasi.

Detail skenario

Mainframe terutama digunakan untuk memproses data dalam jumlah besar. Pemrosesan batch adalah cara memproses volume transaksi tinggi yang dikelompokkan bersama-sama, lalu membuat pembaruan massal terhadap database. Setelah dipicu, mereka memerlukan interaksi pengguna minimal hingga tidak ada. Misalnya, sistem mainframe memungkinkan bank dan lembaga keuangan lainnya untuk melakukan pemrosesan akhir kuartal dan menghasilkan laporan, seperti laporan saham triwulanan atau pensiun.

Potensi kasus penggunaan

Solusi ini sangat ideal untuk industri keuangan, asuransi, kesehatan, dan ritel. Gunakan arsitektur ini untuk merekayasa ulang aplikasi mainframe di Azure. Arsitektur berfungsi paling baik untuk:

  • Aplikasi batch mainframe intensif sumber daya.
  • Aplikasi batch yang membutuhkan komputasi tinggi selama waktu tertentu, seperti akhir bulan, kuartal, atau tahun.
  • Proses batch mainframe yang berulang dan tidak intensif sumber daya tetapi mungkin perlu pemanfaatan oleh sistem eksternal.

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 memenuhi komitmen yang Anda buat kepada pelanggan Anda. Untuk informasi selengkapnya, lihat daftar periksa tinjauan desain untukKeandalan .

  • Anda dapat menggunakan Azure Monitor dan Application Insights, selain Log Analytics, untuk memantau kesehatan sumber daya Azure. Atur pemberitahuan untuk mengelola kesehatan sumber daya Anda secara proaktif.
  • Untuk informasi selengkapnya tentang ketahanan di Azure, lihat Merancang aplikasi Azure yang andal.

Keamanan

Keamanan memberikan jaminan terhadap serangan yang disukai dan penyalahgunaan data dan sistem berharga Anda. Untuk informasi selengkapnya, lihat daftar periksa tinjauan desain untuk Keamanan.

  • Arsitektur referensi ini menggunakan ExpressRoute untuk koneksi privat dan efisien ke Azure dari lingkungan lokal. Namun, Anda juga dapat membuat situs ke VPN situs.
  • Anda dapat mengautentikasi sumber daya Azure dengan menggunakan ID Microsoft Entra. Anda dapat mengelola izin dengan kontrol akses berbasis peran (RBAC).
  • Layanan database di Azure mendukung berbagai opsi keamanan seperti Enkripsi Data saat Tidak Aktif.
  • Untuk informasi selengkapnya tentang merancang solusi aman, lihat dokumentasi keamanan Azure.

Pengoptimalan Biaya

Pengoptimalan Biaya adalah tentang melihat cara untuk mengurangi pengeluaran yang tidak perlu dan meningkatkan efisiensi operasional. Untuk informasi selengkapnya, lihat daftar periksa Design review untuk Pengoptimalan Biaya.

Gunakan kalkulator harga Azure untuk memperkirakan biaya untuk sumber daya Azure.

Lihat aplikasi batch mainframe Azure untuk contoh perkiraan biaya layanan.

Keunggulan Operasional

Keunggulan Operasional mencakup proses operasi yang menyebarkan aplikasi dan membuatnya tetap berjalan dalam produksi. Untuk informasi selengkapnya, lihat daftar periksa tinjauan desain untukKeunggulan Operasional.

  • Arsitektur batch dalam artikel ini menggunakan komputasi multi-simpul atau layanan PaaS, yang memberikan ketersediaan tinggi.
  • Layanan database Azure mendukung redundansi zona, dan Anda dapat merancangnya untuk melakukan failover ke simpul sekunder jika ada pemadaman atau selama jendela pemeliharaan.

Efisiensi Performa

Efisiensi Performa adalah kemampuan beban kerja Anda untuk menskalakan untuk memenuhi tuntutan yang ditempatkan di atasnya oleh pengguna dengan cara yang efisien. Untuk informasi selengkapnya, lihat daftar periksa tinjauan Desain untukEfisiensi Performa .

  • Layanan Azure berikut dalam arsitektur ini memiliki kemampuan autoscaling:

    • Azure Databricks
    • Azure Kubernetes Service (AKS)
    • Spring Apps
    • Sekumpulan
    • Fungsi Azure
    • Aplikasi Logika
  • Untuk informasi selengkapnya tentang penskalaan otomatis di Azure, lihat panduan penskalaan otomatis .

Kontributor

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

Penulis utama:

  • Ashish Khandelwal | Manajer Arsitektur Teknik Utama

Untuk melihat profil LinkedIn non-publik, masuk ke LinkedIn.

Langkah berikutnya

  • Untuk informasi selengkapnya, hubungi datasqlninja@microsoft.com.
  • Lihat panduan migrasi database Azure .
  • pemrosesan transaksi batch volume tinggi