Merefaktor sistem komputer mainframe yang menjalankan Adabas & Natural

Azure Kubernetes Service (AKS)
Azure ExpressRoute
Azure Managed Disks
Azure NetApp Files

Software AG menyediakan platform mainframe 4GL populer yang didasarkan pada bahasa pemrograman alami dan database Adabas. Artikel ini menyediakan arsitektur untuk organisasi yang menggunakan komputer mainframe yang menjalankan Adabas & Natural dan yang mencari cara untuk memodernisasi beban kerja ini dan memindahkannya ke cloud.

Arsitektur mainframe

Diagram ini mengilustrasikan contoh mainframe dengan modul Adabas & Natural Software AG yang diinstal, sebelum migrasi ke Azure. Contoh ini menunjukkan arsitektur IBM z/OS.

Diagram that shows a mainframe architecture that uses Software AG's Adabas & Natural, before migration to Azure.

Unduh file Visio arsitektur ini.

Alur kerja

J. Input terjadi melalui TCP/IP, termasuk TN3270 dan HTTP(S). Input ke dalam mainframe menggunakan protokol mainframe standar.

B. Menerima aplikasi dapat berupa sistem batch atau online.

C. Bahasa alami, COBOL, PL/I, Assembler, atau bahasa lain yang kompatibel berjalan di lingkungan yang diaktifkan.

D. Layanan data dan database yang umum digunakan adalah sistem database hierarkis/jaringan dan jenis database relasional.

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

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

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

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

Arsitektur Azure

Diagram ini menunjukkan bagaimana Anda dapat memigrasikan arsitektur warisan ke Azure dengan menggunakan pendekatan pemfaktoran ulang untuk memodernisasi sistem:

Diagram that shows the legacy architecture after migration to Azure.

Unduh file Visio arsitektur ini.

Alur kerja

  1. Input. Input biasanya terjadi baik melalui Azure ExpressRoute dari klien jarak jauh atau melalui aplikasi lain yang saat ini menjalankan Azure. Dalam kedua kasus, koneksi TCP/IP adalah sarana utama koneksi ke sistem. Port TLS 443 menyediakan akses ke aplikasi berbasis web. Anda dapat membiarkan lapisan presentasi aplikasi berbasis web hampir tidak berubah untuk meminimalkan pelatihan ulang pengguna. Atau, Anda dapat memperbarui lapisan ini dengan kerangka kerja UX modern sesuai kebutuhan Anda. Untuk akses admin ke VM, Anda dapat menggunakan host Azure Bastion untuk memaksimalkan keamanan dengan meminimalkan port terbuka.

  2. Akses di Azure. Di Azure, akses ke kluster komputasi aplikasi disediakan melalui penyeimbang muatan Azure. Pendekatan ini memungkinkan sumber daya komputasi peluasan skala untuk memproses pekerjaan input. Penyeimbang beban tingkat 7 (tingkat aplikasi) dan tingkat 4 (tingkat protokol jaringan) tersedia. Jenis yang Anda gunakan tergantung pada bagaimana input aplikasi mencapai titik masuk kluster komputasi.

  3. Kluster komputasi aplikasi. Arsitektur ini mendukung aplikasi yang berjalan dalam kontainer yang dapat disebarkan dalam orkestrator kontainer seperti Kubernetes. Komponen Adabas & Natural dapat berjalan di dalam teknologi kontainer yang dioperasikan di atas sistem operasi Linux. Anda dapat merancang ulang aplikasi warisan Anda ke arsitektur berbasis kontainer modern dan beroperasi di atas Azure Kubernetes Services.

  4. Emulasi terminal ApplinX (Software AG). ApplinX adalah teknologi berbasis server yang menyediakan konektivitas dan integrasi web ke dalam aplikasi sistem inti tanpa memerlukan perubahan pada aplikasi. Natural Online memungkinkan pengguna online untuk terhubung ke aplikasi Natural melalui browser web. Tanpa ApplinX, pengguna perlu terhubung dengan perangkat lunak emulasi terminal dengan menggunakan SSH. Kedua sistem berjalan dalam kontainer.

  5. Entirex (Software AG). EntireX memungkinkan Anda untuk dengan mudah menghubungkan layanan yang berjalan di Server Integrasi ke program misi penting yang ditulis dalam bahasa seperti COBOL dan Natural. Natural Business Services memungkinkan akses API ke fungsi bisnis yang diprogram dalam Natural. Kedua sistem berjalan dalam kontainer.

  6. Adabas (Software AG). Adabas adalah sistem manajemen database NoSQL berkinerja tinggi. Batch alami (Software AG) adalah komponen khusus untuk menjalankan pekerjaan batch. Pekerjaan batch alami, yang dijadwalkan oleh sistem penjadwalan pekerjaan batch yang Anda pilih, harus berjalan pada node yang sama dengan database Adabas untuk menghindari dampak performa.

  7. Penyimpanan. Layanan data menggunakan kombinasi penyimpanan berkinerja tinggi (SSD ultra/ premium), penyimpanan file (NetApp), dan penyimpanan standar (Blob, arsip, cadangan) yang dapat berupa redundan lokal atau geo-redundan, tergantung pada penggunaannya. Sistem operasi node menggunakan penyimpanan disk terkelola. Semua data persisten, seperti file database, log perlindungan, data aplikasi, dan cadangan, menggunakan Azure NetApp Files. AKS mengelola volume sistem operasi yang disimpan dalam disk terkelola. Semua data penting bisnis dari database, termasuk ASSO, DATA, file KERJA, dan log perlindungan Adabas, harus ditulis ke volume terpisah yang dapat disediakan oleh Azure NetApp Files.

  8. CONNX. Modul CONNX for Adabas menyediakan akses baca/tulis real time yang sangat aman ke sumber data Adabas pada OS/390, z/OS, VSE, Linux, Solaris, HP-UX, AIX, dan Windows melalui .NET, ODBC, OLE DB, dan JDBC. Konektor CONNX menyediakan akses ke sumber data Adabas dan mengeksposnya ke database yang lebih umum, seperti Azure SQL Database, Azure Database for PosgreSQL, dan Azure Database for MySQL.

Komponen

  • Azure ExpressRoute memperluas jaringan lokal Anda ke cloud Microsoft melalui koneksi privat yang difasilitasi oleh penyedia konektivitas. Anda dapat menggunakan ExpressRoute untuk membuat koneksi ke layanan cloud Microsoft seperti Azure dan Office 365.

  • Azure Kubernetes Service adalah layanan Kubernetes yang dikelola sepenuhnya untuk menyebarkan dan mengelola aplikasi dalam kontainer. AKS menyediakan Kubernetes tanpa server, integrasi berkelanjutan terintegrasi dan pengiriman berkelanjutan (CI/CD), serta keamanan dan tata kelola tingkat perusahaan.

  • Disk terkelola Azure adalah volume penyimpanan tingkat blok yang dikelola oleh Azure dan digunakan dengan Azure Virtual Machines. Berbagai jenis tersedia: disk ultra, SSD premium, SSD standar, dan HDD standar. Disk SSD digunakan dalam arsitektur ini.

  • Azure NetApp Files menyediakan berbagi file Azure tingkat perusahaan yang didukung oleh NetApp. Azure NetApp Files memudahkan migrasi dan menjalankan aplikasi berbasis file yang kompleks tanpa mengubah kode.

Detail skenario

Aplikasi yang berjalan di komputer mainframe telah menjadi inti dari sebagian besar operasi bisnis selama hampir 50 tahun. Meskipun sistem mainframe ini telah memberikan keandalan yang luar biasa selama bertahun-tahun, mereka telah menjadi agak bermasalah karena kaku dan, dalam beberapa kasus, sulit dipertahankan dan mahal untuk beroperasi.

Banyak organisasi mencari cara untuk memodernisasi sistem ini. Mereka mencari cara untuk membebaskan sumber daya yang dibatasi yang diperlukan untuk mempertahankan sistem ini, mengontrol biaya mereka, dan mendapatkan lebih banyak fleksibilitas dalam interaksi dengan sistem.

Software AG menyediakan platform mainframe 4GL populer yang didasarkan pada bahasa pemrograman alami dan database Adabas.

Ada dua pola yang memungkinkan Anda menjalankan Adabas & Aplikasi alami di Azure: rehost dan refaktor. Artikel ini menjelaskan cara merefaktor aplikasi dengan menggunakan kontainer yang dikelola di Azure Kubernetes Service (AKS). Untuk informasi selengkapnya, lihat Pendekatan berbasis kontainer, nanti di artikel ini.

Kemungkinan kasus penggunaan

Arsitektur ini berlaku untuk organisasi apa pun yang menggunakan komputer mainframe yang menjalankan Adabas & Natural dan yang berencana untuk memodernisasi beban kerja ini dan memindahkannya ke cloud.

Pertimbangan

Pendekatan berbasis kontainer

Untuk memaksimalkan fleksibilitas, keandalan, dan kemampuan Azure, Anda perlu menyusun ulang aplikasi mainframe. Kami menyarankan agar Anda menulis ulang aplikasi monolitik sebagai layanan mikro dan menggunakan pendekatan berbasis kontainer untuk penyebaran. 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. Aplikasi kontainer cepat untuk menyebarkan dan mendukung praktik DevOps populer seperti integrasi berkelanjutan (CI) dan penyebaran berkelanjutan (CD).

Adabas & Kontainer alami berjalan dalam pod, yang masing-masing melakukan tugas tertentu. Pod adalah unit dari satu atau beberapa kontainer yang tetap bersama pada node yang sama dan berbagi sumber daya seperti nama host dan alamat IP. Karena dipisahkan dari platform yang mendasar, komponen dalam pod diskalakan secara independen dan mendukung ketersediaan yang lebih tinggi. Aplikasi kontainer juga portabel: ini berjalan secara seragam dan konsisten pada infrastruktur apa pun.

Layanan kontainer dan komponen jaringan dan penyimpanan terkait perlu diorkestrasi dan dikelola. Kami merekomendasikan AKS, layanan Kubernetes terkelola yang 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 mandiri: jika kontainer gagal, AKS memulai yang baru. Selain itu, Anda dapat menyimpan rahasia dan pengaturan konfigurasi dengan aman di luar kontainer.

Diagram arsitektur dalam artikel ini menunjukkan implementasi berbasis kontainer Adabas & Natural. Saat menyiapkan AKS, Anda menentukan ukuran Azure VM untuk simpul Anda, yang menentukan CPU penyimpanan, memori, dan jenis, seperti solid-state drive (SSD) performa tinggi atau hard disk drive reguler (HDD). Dalam contoh ini, Natural berjalan pada tiga instans VM (node) untuk meningkatkan skalabilitas dan ketersediaan antarmuka pengguna (Natural online plus ApplinX) dan lapisan API (Layanan alami ditambah EntireX).

Di lapisan data, Adabas berjalan di kluster AKS, yang menskalakan masuk dan keluar secara otomatis berdasarkan penggunaan sumber daya. Anda dapat menjalankan beberapa komponen Adabas dalam pod yang sama atau, untuk skala yang lebih besar, AKS dapat mendistribusikannya di beberapa simpul dalam kluster. Adabas menggunakan Azure NetApp Files, layanan penyimpanan file terukur berkinerja tinggi, untuk semua data persisten, seperti file database, log perlindungan, data aplikasi, dan cadangan.

Operasional

Pemfaktoran ulang mendukung adopsi cloud yang lebih cepat. Ini juga mempromosikan adopsi DevOps dan prinsip kerja Agile. Anda memiliki fleksibilitas penuh dari opsi penyebaran pengembangan dan produksi.

Efisiensi performa

Kubernetes menyediakan autoscaler kluster. Penskala otomatis menyesuaikan jumlah simpul berdasarkan sumber daya komputasi yang diminta di kumpulan simpul. Ini memantau server API Metrik setiap 10 detik untuk setiap perubahan yang diperlukan dalam jumlah simpul. Jika autoscaler kluster menentukan bahwa perubahan diperlukan, jumlah simpul di kluster AKS Anda ditingkatkan atau dikurangi. 

Keamanan

Arsitektur ini terutama dibangun di Kubernetes, yang mencakup komponen keamanan seperti standar keamanan pod dan rahasia. Azure menyediakan fitur tambahan seperti ID Microsoft Entra, Pertahanan Microsoft untuk Kontainer, Azure Policy, Azure Key Vault, grup keamanan jaringan, dan peningkatan kluster yang diorkestrasi.

Kontributor

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

Penulis utama:

  • Marlon Johnson | Senior TPM

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

Langkah berikutnya

Hubungi legacy2azure@microsoft.com untuk informasi selengkapnya.

Berikut adalah beberapa sumber daya tambahan: