Melakukan refaktor aplikasi mainframe dengan Tingkat Lanjut

File
Load Balancer
SQL Database
Penyimpanan
Komputer Virtual

Ada banyak alasan untuk mencari alternatif aplikasi mainframe berbasis COBOL yang masih umum:

  • Pengembang COBOL akan pensiun dan tidak ada yang dilatih untuk menggantikan mereka, sehingga kumpulan bakat terus berkurang. Seiring bertambahnya kekurangan bakat, biaya dan risiko mengandalkan COBOL akan meningkat.
  • Aplikasi tidak dirancang untuk TI modern, yang mengakibatkan integrasi yang sulit dan fleksibilitas yang terbatas.
  • Perangkat keras dan perangkat lunak mainframe IBM mahal, dan biaya lisensi dan pemeliharaan untuk aplikasi dan database mainframe tambahan meningkat.

Solusi Automated COBOL Refactoring Tingkat Lanjut memfaktorkan ulang aplikasi COBOL untuk menghadirkan aplikasi dan database berkemampuan cloud yang secara fungsional setara dengan rekanan lamanya. Hal ini mengurangi biaya, memungkinkan integrasi yang lebih dalam, dan memungkinkan penyesuaian untuk memenuhi kebutuhan bisnis. Selain itu, solusi ini membuka dunia kualitas dan skalabilitas yang baru, mulai dari pengujian otomatis hingga jaminan kualitas, dan kemampuan untuk memanfaatkan penyebaran dan orkestrasi dalam kontainer dengan Docker dan Kubernetes.

Aplikasi yang di-refaktor:

  • Secara fungsional setara dengan aslinya.
  • Mudah dirawat—aplikasi ini mencapai peringkat SonarQube A, dan mengikuti konsep dan paradigma berorientasi objek.
  • Berperforma sebaik, atau lebih baik dari, versi aslinya.
  • Siap cloud dan dikirimkan dengan menggunakan toolchain DevOps standar dan praktik terbaik.

Proses refaktor meliputi normalisasi alur, restrukturisasi kode, ekstraksi lapisan data, pemodelan ulang data, dan pengemasan untuk rekonstruksi. Proses mengidentifikasi kode kloning dan membuat objek pengganti bersama, menyederhanakan pemeliharaan dan pengelolaan. Data kompleks dan analisis ketergantungan kontrol menemukan dan menghapus kode yang nonaktif.

Setelah solusi Tingkat Lanjut memfaktorkan ulang aplikasi COBOL dan database terkait, pengembang Java dan C# dapat menggunakan alat DevOps standar dan konsep CI/CD untuk memperluas fungsionalitas aplikasi. Proses refaktor mempertahankan logika bisnis dan mengoptimalkan performa. Manfaat tambahan termasuk elastisitas, definisi layanan terperinci, dan integrasi yang mudah dengan layanan native cloud.

Automated COBOL Refactoring tersedia untuk sebagian besar dialek dan platform COBOL, termasuk z/OS, OpenVMS, dan VME.

Kemungkinan kasus penggunaan

Refaktor tingkat lanjut memberikan manfaat untuk banyak skenario, termasuk:

  • Bisnis yang ingin:
    • Memodernisasi infrastruktur dan lepas dari biaya, keterbatasan, dan fleksibilitas terlalu tinggi yang terkait dengan mainframe.
    • Menghindari risiko yang terkait dengan kekurangan keterampilan seputar sistem dan aplikasi lama menggunakan native cloud dan DevOps.
    • Mengurangi biaya operasional dan belanja modal.
  • Organisasi yang ingin memigrasikan beban kerja mainframe ke cloud tanpa regenerasi manual yang mahal dan rawan kesalahan.
  • Organisasi yang perlu memigrasikan aplikasi penting bisnis sambil mempertahankan keberlanjutan dengan aplikasi lokal lainnya.
  • Tim mencari skalabilitas horizontal dan vertikal yang ditawarkan Azure.
  • Bisnis yang memilih solusi yang memiliki opsi pemulihan bencana.

Berikut adalah contoh sistem tempat pemfaktoran otomatis dapat digunakan:

System architecture on the mainframe

J. Pengguna memberikan masukan melalui TCP/IP, menggunakan protokol seperti TN3270, HTTP, dan HTTPS.

B. Input diterima menggunakan protokol mainframe standar.

C. Aplikasi batch dan online memproses input.

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

E. File dan database menyediakan penyimpanan data. Jenis database termasuk hierarki, jaringan, dan relasional.

F. Layanan melakukan tugas untuk aplikasi. Layanan yang biasanya diaktifkan meliputi eksekusi program, operasi I/O, deteksi kesalahan, dan perlindungan.

G. Middleware dan layanan utilitas mengelola tugas seperti penyimpanan tape, antrean, output, dan dukungan web.

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

i. Partisi menjalankan beban kerja terpisah, atau memisahkan jenis pekerjaan dalam lingkungan.

Arsitektur

Ini adalah arsitektur sistem contoh yang ditunjukkan di atas saat di-refaktor untuk Azure. Perhatikan bahwa boks keterangan huruf dalam diagram mengungkapkan tempat solusi yang di-refaktor menangani fungsionalitas mainframe yang sesuai.

The system architecture on Azure after refactoring

Unduh file Visio arsitektur ini.

Alur kerja

  1. Input biasanya datang melalui Azure ExpressRoute dari klien jarak jauh, atau dari aplikasi Azure lainnya. Dalam kedua kasus, koneksi TCP/IP adalah sarana utama untuk menghubungkan ke sistem. Akses pengguna ke aplikasi web melalui TLS port 443. Anda dapat menjaga UI aplikasi web tetap sama untuk meminimalkan pelatihan ulang pengguna akhir, atau Anda dapat memperbaruinya dengan menggunakan kerangka kerja UX modern. Azure Bastion menyediakan akses admin ke mesin virtual (VM), sehingga memaksimalkan keamanan dengan meminimalkan port terbuka.

  2. Setelah di Azure, akses ke kluster komputasi aplikasi melalui load balancer Azure. Pendekatan ini memungkinkan sumber daya komputasi yang diperluas untuk memproses pekerjaan input. Bergantung pada input, Anda dapat menyeimbangkan beban di tingkat aplikasi atau tingkat protokol jaringan.

  3. Tingkat Lanjut mendukung penyebaran dalam kontainer, VM, atau Virtual Machine Scale Sets. Kontainer dan Virtual Machine Scale Sets, tidak seperti VM, dapat memperbesar dan masuk dengan cepat. Menggeser unit penskalaan ke kontainer akan mengoptimalkan pemanfaatan infrastruktur.

  4. Server aplikasi menerima input di kluster komputasi, dan berbagi status aplikasi dan data menggunakan Azure Cache for Redis atau Remote Direct Memory Access (RDMA).

  5. Layanan data dalam kluster aplikasi memungkinkan beberapa koneksi ke sumber data persisten. Kemungkinan Sumber data mencakup:

    • Azure SQL Database.
    • Azure Cosmos DB.
    • Database pada VM, seperti Oracle dan Db2.
    • Repositori big data seperti Azure Databricks dan Azure Data Lake.
    • Layanan data streaming seperti Kafka dan Azure Stream Analytics.
  6. Server aplikasi menghosting berbagai program aplikasi berdasarkan kemampuan bahasa, seperti kelas Java atau program COBOL.

  7. Layanan data menggunakan kombinasi dari:

    1. Penyimpanan berperforma tinggi: Azure Premium SSD dan Azure Ultra Disk Storage.

    2. Penyimpanan file: Azure NetApp Files dan Azure Files.

    3. Penyimpanan standar: Azure Blob Storage, arsip, dan cadangan. Cadangan dapat berupa:

      1. Penyimpanan Redundan Secara Lokal (LRS)
      2. Penyimpanan zona redundan (ZRS).
      3. Penyimpanan geo-redundan (GRS).
      4. Penyimpanan geo-zona-redundan (GZRS).

      Untuk informasi selengkapnya tentang redundansi, lihat redundansi Azure Storage.

  8. Platform as a service (PaaS) Azure menyediakan penyimpanan data yang skalabel dan sangat tersedia untuk dibagikan di beberapa sumber daya komputasi dalam sebuah kluster. Platform ini juga bisa bersifat geo-redundan.

  9. Azure Data Factory dapat menyerap data dan menyinkronkan dengan beberapa sumber data baik di dalam Azure maupun dari sumber eksternal. Penyimpanan Azure Blob adalah zona arahan umum untuk sumber data eksternal.

  10. Azure Site Recovery menyediakan pemulihan bencana dari VM dan komponen kluster kontainer.

  11. Aplikasi terhubung ke titik akhir privat dari berbagai layanan PaaS.

Komponen

Contoh ini menampilkan komponen Azure berikut ini. Beberapa komponen dan alur kerja ini dapat dipertukarkan atau opsional tergantung pada skenario Anda.

  • Azure ExpressRoute memperluas jaringan lokal Anda ke Azure melalui koneksi fiber khusus privat dari penyedia konektivitas. ExpressRoute membuat koneksi ke layanan cloud Microsoft seperti Azure dan Microsoft 365.
  • Azure Bastion menyediakan konektivitas Remote Desktop Protocol (RDP) atau secure shell (SSH) tanpa kendala ke VM jaringan virtual dari portal Microsoft Azure melalui Keamanan Lapisan Transportasi (TLS). Azure Bastion memaksimalkan keamanan akses admin dengan meminimalkan port terbuka.
  • Azure Load Balancer mendistribusikan lalu lintas masuk ke kluster sumber daya komputasi. Anda dapat menentukan aturan dan kriteria lain untuk mendistribusikan lalu lintas.
  • Azure Kubernetes Service (AKS) adalah layanan Kubernetes yang dikelola penuh untuk menyebarkan dan mengelola aplikasi dalam kontainer. AKS menawarkan Kubernetes tanpa server, pengalaman integrasi berkelanjutan dan pengiriman berkelanjutan (CI/CD), serta keamanan dan pemerintahan tingkat perusahaan.
  • Azure Virtual Machines menawarkan berbagai ukuran dan jenis sumber daya komputasi yang dapat diskalakan sesuai permintaan. Dengan Azure VM, Anda mendapatkan fleksibilitas virtualisasi tanpa harus membeli dan memelihara perangkat keras fisik.
  • Azure Virtual Network adalah blok bangunan dasar untuk jaringan privat di Azure. VM dalam jaringan virtual dapat berkomunikasi dengan aman satu sama lain, internet, dan jaringan lokal. Jaringan virtual seperti jaringan lokal tradisional, tetapi dengan manfaat infrastruktur Azure seperti skalabilitas, ketersediaan tinggi, dan isolasi.
  • Azure Private Link menyediakan konektivitas privat dari jaringan virtual ke layanan Azure. Private Link menghilangkan eksposur terhadap internet publik untuk menyederhanakan arsitektur jaringan dan mengamankan koneksi antara titik akhir Azure.
  • Azure Cache for Redis menambahkan lapisan cache cepat ke arsitektur aplikasi untuk menangani volume besar dengan kecepatan tinggi. Azure Cache for Redis menskalakan performa secara sederhana dan hemat biaya, dengan manfaat layanan yang terkelola sepenuhnya.
  • Azure Storage adalah penyimpanan cloud yang dapat diskalakan dan aman untuk semua data, aplikasi, dan beban kerja Anda.
    • Azure Disk Storage adalah penyimpanan blok berperforma tinggi dan tahan lama untuk aplikasi penting bisnis. Disk terkelola Azure adalah volume penyimpanan tingkat blok yang dikelola oleh Azure di Azure VM. Jenis penyimpanan disk yang tersedia adalah Ultra Disk Storage, Premium SSD, Standard SSD, dan Standard HDD. Arsitektur ini menggunakan Premium SSD atau Ultra Disk Storage.
    • Azure Files menawarkan pembagian file yang dikelola penuh di cloud, yang dapat diakses melalui protokol Server Message Block (SMB) berstandar industri. Penyebaran cloud dan Windows, Linux, dan macOS lokal dapat memasang pembagian file secara bersamaan.
    • Azure NetApp Files menyediakan pembagian file Azure tingkat perusahaan yang didukung oleh NetApp. NetApp Files memudahkan perusahaan untuk bermigrasi dan menjalankan aplikasi berbasis file yang kompleks tanpa perubahan kode.
    • Azure Blob Storage adalah penyimpanan objek yang dapat diskalakan dan aman untuk arsip, data lake, komputasi performa tinggi, pembelajaran mesin, dan beban kerja cloud-native.
  • Database Azure menawarkan pilihan database NoSQL dan relasional yang dikelola penuh agar sesuai dengan kebutuhan aplikasi modern. Manajemen infrastruktur otomatis menyediakan skalabilitas, ketersediaan, dan keamanan.
    • Azure SQL Database adalah mesin database PaaS yang terkelola sepenuhnya. SQL Database selalu berjalan pada SQL Server versi stabil terbaru dan OS yang di-patch dengan ketersediaan tinggi. Kemampuan manajemen database PaaS bawaan mencakup peningkatan, patching, pencadangan, dan pemantauan. Anda dapat berfokus pada administrasi dan pengoptimalan database khusus domain yang penting bagi bisnis.
    • Azure Database for PostgreSQL adalah database yang dikelola sepenuhnya berdasarkan mesin database hubungan PostgreSQL sumber terbuka. Opsi penyebaran Hyperscale (Citus) menskalakan kueri di beberapa mesin dengan menggunakan sharding, untuk aplikasi yang membutuhkan skala dan performa yang lebih besar.
    • Azure Cosmos DB adalah database NoSQL yang cepat dan terkelola sepenuhnya dengan API terbuka untuk skala apa pun.
  • Azure Site Recovery mencerminkan Azure VM ke wilayah Azure sekunder untuk failover cepat dan pemulihan data jika pusat data Azure gagal.
  • Azure Data Factory adalah layanan ekstraksi, transformasi, dan pemuatan (ETL) untuk peningkatan skala, integrasi data tanpa server, dan transformasi data. Ini menawarkan UI bebas kode untuk penulisan intuitif serta pemantauan dan manajemen panel tunggal.

Pertimbangan

Gabungkan pilar-pilar Microsoft Azure Well-Architected Framework berikut untuk sistem dengan ketersediaan tinggi dan aman:

Ketersediaan

Operasional

Pemfaktoran ulang tidak hanya mendukung adopsi cloud yang lebih cepat, tetapi juga mendorong adopsi prinsip kerja DevOps dan Agile. Anda memiliki fleksibilitas penuh dalam opsi pengembangan dan penyebaran produksi.

Keamanan

Solusi ini menggunakan kelompok keamanan jaringan Azure untuk mengelola lalu lintas antarsumber daya Azure. Untuk informasi selengkapnya, lihat Kelompok keamanan jaringan.

Private Link untuk Azure SQL Database menyediakan koneksi langsung yang privat dan terisolasi ke backbone jaringan Azure dari Azure VM ke Azure SQL Database.

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.

Resiliency

Ketahanan dibangun ke dalam solusi ini oleh load balancer. Jika satu presentasi atau server transaksi gagal, server lain di belakang load balancer dapat menjalankan beban kerja sesuai dengan aturan dan pemeriksaan kesehatan. Kumpulan ketersediaan dan penyimpanan geo-redundan sangat direkomendasikan.

Harga

Azure menghindari biaya yang tidak perlu dengan mengidentifikasi jumlah jenis sumber daya yang benar, menganalisis pengeluaran dari waktu ke waktu, dan menskalakan untuk memenuhi kebutuhan bisnis tanpa pengeluaran yang berlebihan.

  • Azure menyediakan pengoptimalan biaya dengan menjalankan VM. Anda dapat menonaktifkan VM saat tidak digunakan, dan membuat skrip jadwal untuk pola penggunaan yang diketahui. Lihat Azure Well-Architected Framework untuk informasi selengkapnya tentang pengoptimalan biaya untuk instans VM.
  • Arsitektur ini menggunakan Premium SSD atau Ultra Disk Storage. Untuk informasi selengkapnya tentang opsi dan harga disk, lihat Harga Disk Terkelola.
  • SQL Database mengoptimalkan biaya dengan komputasi tanpa server dan sumber daya penyimpanan Hyperscale yang diskalakan secara otomatis. Untuk informasi selengkapnya tentang opsi dan harga SQL Database, lihat Harga Azure SQL Database.
  • Gunakan Kalkulator harga untuk memperkirakan biaya untuk penerapan solusi ini.

Langkah berikutnya