Edit

Share via


Migrate IBM System i to Azure by using Infinite i

Azure Virtual Machines
Azure SQL Database

This article describes how to migrate IBM System i workloads to Azure by using Infinite i. Infinite i converts Report Program Generator (RPG) and common business-oriented language (COBOL) source code to object code that runs natively on x86 virtual machines (VMs). Application screens and interactions work as before, minimizing the need for user retraining. After migration, you can maintain and update programs by modifying the original source code as usual.

Architecture

Diagram of an architecture that uses Infinite i to migrate System i workloads to Azure.

Download a Visio file of this architecture.

Workflow

The following workflow corresponds to the previous diagram:

  1. TN5250 web terminal emulation provides user access to Azure over a Secure Sockets Layer/Transport Layer Security encrypted connection.

  2. Azure ExpressRoute provides a dedicated high-speed connection between on-premises and Azure resources.

  3. Azure Load Balancer distributes incoming TN5250 traffic across two Infinite i app servers (active and standby) in the virtual network. Azure-based clients connect via a peered virtual network. The following table describes the supported configurations:

    Model Support Details
    Active/Passive Yes We recommend this model. It uses replication and failover across availability zones.
    Active/Active (Load Balancer) No This model isn't supported because of database and session state constraints.
    Multiple VMs (Azure Virtual Machine Scale Sets) Limited Use this model for infrastructure deployment only. Don't use it for workload scaling.
    Clustered database back end No This model isn't compatible with Infinite i's current architecture.
  4. The Infinite i compilers translate the System i source code (RPG and COBOL) into 64-bit object code to run on Azure x86 VMs. The runtime interprets CL, CMD, and SQL.

  5. Infinite i includes an internal database that emulates DB2/400 features such as physical files, logical files, multiple-member files, joins, triggers, referential integrity, commitment control, and journaling. When an application runs on Azure, it accesses data as it did in the AS/400 environment with no code changes required. Infinite i provides internal database connectors like Open Database Connectivity (ODBC) and Java Database Connectivity (JDBC) to connect to physical and logical files in the internal database.

  6. Azure Files provides file shares to implement Infinite i files. Mounting a file share on the Azure VM gives programs direct access to the files. The file share also holds load modules and log files.

  7. Instead of the internal database that step 5 describes, you can migrate the DB2/400 database to a standard SQL database. The database options are SQL Server, Azure SQL, Oracle, and MySQL. These options support the same features as the internal database. When Infinite i migrates the database, it creates a database schema that maps physical files to tables and logical files to views.

  8. Azure Site Recovery provides disaster recovery.

Components

  • Azure Virtual Machines VMs are on-demand, scalable computing resources that eliminate the maintenance demands of physical hardware. In this architecture, they run the migrated workloads and provide flexibility and scalability. The operating system choices include Windows and Linux.

  • Virtual Machine Scale Sets automates and load-balances VM scaling. These actions simplify application management and increase availability to ensure high availability and performance for the applications.

  • Azure Virtual Network is a secure private network in the cloud. It connects VMs to each other, to the internet, and to on-premises networks. It provides the necessary connectivity for the migrated workloads.

  • Azure Private Link carries private connections to Azure services. It helps ensure secure communication between components.

  • Azure load balancing services scale VMs for high availability and high performance. This architecture uses Load Balancer, which provides low-latency balancing of traffic among VMs and across multitiered hybrid apps.

  • Azure Disk Storage provides highly durable and high-performance block storage for Azure VMs. It supports various disk storage options to meet performance and durability needs. There are four disk storage options for the cloud: Azure Ultra Disk Storage, Azure Premium SSD, Azure Standard SSD, and Azure Standard HDD.

  • Azure Files provides simple, secure, and serverless enterprise-grade file shares in the cloud. The shares support access by the industry-standard Server Message Block (SMB) and Network File System (NFS) protocols. Cloud and on-premises deployments of Windows, Linux, and macOS can mount file shares concurrently.

  • ExpressRoute carries private connections between on-premises infrastructure and Azure datacenters. It helps ensure high-speed and secure connectivity.

  • Azure SQL is a family of SQL cloud databases that provide a unified experience for your entire SQL portfolio and a wide range of deployment options from the edge to the cloud. It provides fully managed database services for migrated workloads.

  • Azure SQL Database, which is part of the Azure SQL family, is a fully managed platform as a service (PaaS) database engine. It handles most database management functions, such as upgrading, patching, backups, and monitoring, without your involvement. SQL Database always runs on the latest stable version of the SQL Server database engine and patched OS, with 99.99% availability to help ensure high availability and performance.

Scenario details

Infinite i lets you migrate your System i and AS/400 workloads to Azure. The migrated workloads in Azure maintain or improve performance and availability, reduce costs, and create opportunities for modernization.

After deployment on Infinite i in Azure, the applications run as they did on the System i platform. The Infinite i runtime environment supports job processing and control language commands in a Linux environment.

You use the Infinite i suite to compile your applications. The suite includes compilers and translators for these technologies: RPG, RPG/ILE, RPG/Free, COBOL, Control Language Programs (CLP), and Data Description Specifications (DDS).

The Infinite i environment provides the following benefits:

  • Easy migration of System i workloads to Azure.

  • Conversion of tape archives for backup and regulatory compliance.

  • Application screens that work as before. You have the option of updating the screens to web-based user interfaces.

  • An Infinite internal database that holds your data and emulates DB2/400. You have the option of migrating to a standard SQL database instead, with minor code changes or none at all.

  • Savings on licensing and maintenance that significantly reduces your total cost of ownership.

  • Faster and lower-cost options for disaster recovery on Azure compared to System i.

Potential use cases

  • Easily migrate IBM System i and AS/400 workloads to Azure.

  • Modernize System i and AS/400 workloads and reduce costs.

Considerations

These considerations implement the pillars of the Azure Well-Architected Framework, which is a set of guiding tenets that you can use to improve the quality of a workload. For more information, see Well-Architected Framework.

Reliability

Reliability helps ensure that your application can meet the commitments that you make to your customers. For more information, see Design review checklist for Reliability.

This architecture accommodates redundancy and disaster recovery for high availability:

  • Use Site Recovery for disaster recovery on Azure VMs. It helps protect VMs against major outages by minimizing downtime and data loss. The service is dependable, cost-effective, and easy to deploy.

To improve availability, take the following steps:

  • Use Azure availability zones to protect against infrastructure disruptions by eliminating all single points of failure. The service-level agreement (SLA) for VMs is for 99.99% uptime.

  • Use Virtual Machine Scale Sets to set up a group of load-balanced VMs that make up an Azure virtual machine scale set. This approach increases availability.

  • For more information, see Availability options for Virtual Machines.

Security

Security provides assurances against deliberate attacks and the misuse of your valuable data and systems. For more information, see Design review checklist for Security.

  • Infinite i migrates the System i user-based access roles to Azure.

  • The Infinite i runtime environment provides the same level of security on Azure that the System i environment provided.

Cost Optimization

Cost Optimization focuses on ways to reduce unnecessary expenses and improve operational efficiencies. For more information, see Design review checklist for Cost Optimization.

The Infinite i solution keeps costs at a minimum to lower your total cost of ownership:

  • The migration to Azure eliminates IBM licensing and maintenance costs.

  • Linux has lower implementation costs than IBM platforms.

  • The autoscale feature of PaaS services scales on demand to minimize costs.

To estimate the cost of implementing this solution, use the Azure pricing calculator.

Here are pricing considerations for specific components:

  • Windows VM pricing and Linux VM pricing depend on your compute capacity.

  • For ExpressRoute, you pay a monthly port fee and outbound data transfer fees.

  • Azure Blob Storage costs depend on data redundancy options and volume.

  • Azure Files pricing depends on several factors, including data volume, data redundancy, transaction volume, and the number of file sync servers that you use.

  • For Premium SSD or Ultra Disk Storage pricing, see Managed Disks pricing.

  • There are no upfront costs for SQL Database. You pay for resources as you use them.

  • For Site Recovery, you pay for each protected instance.

  • The following services are free with your Azure subscription, but you pay for usage and traffic:

Operational Excellence

Operational Excellence covers the operations processes that deploy an application and keep it running in production. For more information, see Design review checklist for Operational Excellence.

  • The Infinite i deployment methodology recommends that you convert and test workloads on the original platform before you migrate the code and data to the Azure platform.

  • When you move workloads to Azure, use availability zones, scale sets, and Site Recovery to reduce management overhead for scaling and reliability.

  • Consider using Azure Resource Manager templates for scripted deployment and for monitoring and alerting capabilities.

Performance Efficiency

Performance Efficiency refers to your workload's ability to scale to meet user demands efficiently. For more information, see Design review checklist for Performance Efficiency.

  • The Infinite i migration design process considers the performance characteristics of the workloads running on System i and selects the right configuration of Azure services for the desired performance on Azure.

  • Infinite i can take advantage of Azure scale sets to add capacity as needed.

  • The architecture is designed to accommodate parallel processing by running multiple sets of VMs to the same database. Independent transactions don't rely on each other being serial.

  • For this architecture, use Premium SSD or Ultra Disk Storage for improved performance.

Contributors

Microsoft maintains this article. The following contributors wrote this article.

Principal author:

  • Philip Brooks | Senior Program Manager

To see nonpublic LinkedIn profiles, sign in to LinkedIn.

Next steps