IMB i Modernization Solution

DevOps
why adopt it and how to get started?

Wonder how to successfully move to full DevOps and extend it enterprise-wide? Learn how with the right technology layer in place, IBM i Legacy applications can be managed with the same enterprise DevOps pipeline used on distributed systems. And discover how standard tools like Git, Jenkins, Jira guarantee the future of your mission critical IBM i applications for the years to come.

1. DevOps: Features & Strategy

Why DevOps and how has it evolved?

Application deployment is the most critical phases in the software development lifecycle. A decade ago, deployment was infrequent and a mostly manual and complex endeavor, scheduled at most monthly, quarterly, or even annually. Given the scale of change involved, software upgrades created contention between development and operations teams. At that time, development teams had already adopted mainstream agile methods and were releasing smaller software increments faster and more frequently, while operations – upholding their corporate constraints around application availability and compliance – became an apparent bottleneck in the process.

DevOps has become a common practice in many organizations to respond more easily to these issues and more effectively to their business challenges. Today’s digital transformation requires the time-to-market speeds that only DevOps can deliver. Organizations that have embraced DevOps either to the full or even partially can already testify that this approach brings a significant ROI.

Today the question is no longer whether organizations should adopt DevOps, but how to implement it successfully and extend it enterprise-wide. The concept of Enterprise DevOps elevates DevOps into a business strategy, a process that adds value to the organization, not just IT.

To learn more about evolution of DevOps, you can read our articles The evolution of DevOps and Why DevOps? or even download our White Paper Enterprise DevOps.

How does DevOps work?

DevOps helps businesses respond rapidly to market changes, by delivering higher-quality software updates to users more quickly. It relies on continuous delivery and continuous test to reduce risk and obtain feedback fast and often.

DevOps is an organizational change that depends on automated, tool-based collaboration between all actors in a software project: from developers, to testers, operations and end-users.

  • Version control of all production artifacts
  • Develop and test against production-like systems

  • Continuous Build, Integration, Test and Deploy

  • Proactive monitoring of production environment

  • Continuous improvement

Schema DevSecOps

An infinite feedback loop…

How to implement DevOps in your IBM i strategy?

Digital transformation requires organizations to evolve very quickly in line with the needs of the business. The secret of DevOps is in its ability to deliver rapidly and without risk. Even today, in addition to new development, many organizations maintain legacy code on heritage platforms such as IBM i (aka iSeries, AS/400) that are still critical to their business. To future-proof these applications, it is vital to modernize both the legacy code and the development tooling used. By introducing agile methods and equipping teams with modern DevOps tools, it becomes easy to attract and retain young talent to safeguard applications into the future. Such organizations require a “DevOps transformation”.

By applying DevOps methods in your IBM i development process today, you retain the competitive advantage of your custom IBM i applications, while integrating easily with new technology and tools. You gain reactivity and reliability and the ability to onboard new development talent with no prior experience on IBM i.

Here are 5 key steps to ensure your DevOps transformation :

  • Define the target

  • Engage rapidly in “tooling”
  • Adopt a policy of “quick wins”
  • Communicate all-round
  • Make the upper management a stakeholder

Discover these 5 tips in more detail in this article 5 keys to integrating IBM i into your DevOps strategy. To learn more about this topic, you can also read our article Relevance of a DevOps strategy.

2. How to optimize DevOps on IBM i?

The emergence of new DevOps-related terms reveals the level and extent of communication needed across all departments to progress the way business changes are managed. In DevSecOps, for example, security is enhanced by making it a shared responsibility and addressing it early in the application development process. Below we’ll examine how to achieve a single, common DevSecOps pipeline spanning all technologies, including IBM i. We will see how to automate an end-to-end DevSecOps cycle on IBM i – integrated with open source and cloud.

Integration with open source tools – CI/CT/CD pipeline

DevOps is helping organizations respond quickly to market changes, delivering better software updates to users faster. But moving to full DevOps can be challenging for IBM i teams faced with project deadlines, with little time to transition to a new full CI/CD model.

ARCAD DevSecOps

ARCAD helps you take the leap from traditional tools to a paradigm shift in DevOps and Modernization.

  • Build an enterprise CI/CT/CD pipeline across all your technologies, integrating both vendor and open source tools. Open and modular, ARCAD solutions integrate with all standard DevOps tooling – GitLab, GitHub, BitBucket, Jenkins, Jira, CloudBees, Azure Pipelines and SonarQube to deliver a common DevSecOps pipeline across your entire enterprise and teams. You can also view a demonstration of a simplified CI/CD tool chain in our webinar “DevOps lite”: transition your IBM i development to CI/CD.
  • Tune your DevOps pipeline to eliminate bottlenecks in your value stream. ARCAD’s unique metadata repository – a veritable knowledge base built from your own IBM i applications – powers the major Value Stream Management leaders of today –GitLab, HCL, TaskTop, Atlassian, … delivering unique insights into the agility of your DevSecOps flow on IBM i.

Read about the journey made by the Global Head of DevOps Tooling and Engineering Services at HSBC, helping to transition an ‘AS/400 development team’ into an Agile IBM i Pod with a fully automated CI/CT/CD DevOps pipeline in our article Transforming a traditional ‘green screen’ team into an Agile Pod for IBM i.

Achieving DevOps Maturity

When it comes to IBM i and the application development lifecycle, it would be easy to stick to the old ways of working. But in today’s world, those old ways just do not cut it. Forward thinking enterprises have massively adopted the Agile and DevOps philosophy. Source control is distributed and tools from the open-source world deliver changes continuously bringing new features to users faster. With all its differences – and its advantages – IBM i belongs in this open-source DevOps world too. However, how can you avoid being stuck in the past and adopt true DevOps on IBM i? Read our article DevOps maturity on IBM i: let go of the past.

Want to understand the key steps to full DevOps maturity and how to devise a roadmap that fits right with your teams? Watch our webinar DevSecOps maturity on IBM i – why is this important? to examine the emerging trends in DevSecOps and explore different routes to maturity.

Identify your level of maturity

All IT processes mature in stages so it’s important to recognize which stage you are at now in order to understand and plan for what’s next. If you rely on a mix of physical servers, inhouse data centers, and cloud technology, then to reach DevOps maturity you will need to standardize on tools able to manage such a hybrid environment. Similarly, if your application contains monolithic code then moving to a modern Web services/microservices architecture will require transformation of the code itself. Applications must be sufficiently modular to avoid slowing DevOps progress.

DevOps maturity models are used to assess the maturity level of DevOps within a company. There are several variations of the model but each one attempts to answer the same question – how mature is DevOps within the organization? To learn more about the different stages of maturity and what the obstacles to DevOps maturity might be, you can read our White papers DevOps Transformation: Engage your IBM i teams and Driving modern DevOps on IBM i.

To achieve this DevOps maturity, you will have two different approaches to choose from:

  • The transformative route (fastest) – this route involves a complete plan which plots the fastest path to achieve and maintain mature DevOps on IBM i.
  • The progressive route (tools driven) – this route is for organizations whose management believe that the transformative route may be too disruptive.

To avoid costly, high-risk migration projects in the future it is therefore important to act now and start
taking further steps on that IBM i DevOps maturity journey. Looking for tips to optimize your own DevOps implementation and leverage the competitive advantage of your IBM i? Take a look at our guide Modern IBM i DevOps: the “Lucky Seven” tips.

3. How to automate a continuous CI/CT/CD cycle on IBM i?

Implementing a DevOps approach means deploying source code changes to production faster and more frequently. The “downside” of these frequent deliveries is the increased risk of a defect reaching production and a service disruption impacting the reliability of your organization. This is why successful DevOps implementations integrate test automation as part of the CI/CD process.

“Coding for the 21st Century” doesn’t mean just changing the way that you develop your user interface – “truly modern” development means adapting to proven coding techniques and DevOps methodology to how you work with your applications. Learn with our webinar Truly Modern CI/CT/CD Development from Code to Deployment how to break away from the being tied to 5250 and print file development by using modern RPG coding techniques.

If you are testing manually, watch our Webinar Continuous Testing (CT) in your DevOps Strategy to learn how to automate the process of Continuous Test, to catch errors as early as possible in the cycle.

Automated testing & quality control

Nowadays, It is vital that teams incorporate quality into all phases of software development and automate quality verification as far as possible to locate defects early in the process and avoid repeat effort. This is what is meant by “Continuous Quality” or CQ, which forms an essential safeguard – or quality gate – in the rapid delivery cycles in DevOps and CI/CD workflows today.

Automating the code analysis as early as the build or Continuous Integration phase means your team can find and fix systemic defects when the cost of remediation is at its lowest. How to achieve continuous quality? How important is Source Code Analysis (SCA) for DevOps? What are the limitations of functional tests? Read our article Test Automation and Source Code Analysis for IBM i: why bother enforcing a new quality gate?.

If you want to ensure code quality and security on IBM i and before choosing the right tool you can start with the following questions:

  • How protected is your legacy and new code on IBM i?
  • Do your processes safeguard code quality and security, and meet your compliance goals?
  • Do you need to remove bottlenecks in peer review and give developers more time to develop?
  • Do you need to make code checking continuous?
  • Do you need to decrease the learning curve for new developers?

Discover in our article DevSecOps – Automating Quality and Security in your IBM i source code the solutions that our ARCAD CodeChecker tool can provide you or watch our Webinar Welcome to a New Year, Allow Arcad to enhance your development journey.

Code Quality Check Solution

Automate unit & regression tests

Unit Test

On modern, distributed systems, unit testing is arguably the most effective element of your testing strategy. A battery of well-designed unit tests “forces” the quality of your application as it is being developed – and ideally even before. Unit test assets are then re-used continuously right across the lifetime of the application to catch any regressions in the system.

Yet how can unit testing benefit legacy applications on IBM i – and especially those that were not designed with “units” in mind, and where monolithic code has been the norm? Unit testing is an indispensable and often missing link in software development on IBM i. Automated unit testing can make a DevSecOps pipeline on IBM i truly seamless – with measurable benefits in quality, speed and cost:

  • Auto-discovery of inputs and outputs to automate the creation of realistic/useful tests
  • Integration of unit testing into the version control process
  • Auto-execution of tests as continuous part of the CI/CD flow
  • Re-use of unit test assets for each program change
  • Dependency-driven maintenance/update of unit tests

Want to learn more about unit testing and how it can benefit existing applications on IBM i? Read our article Unit Testing: Beating technical debt.

Regression Test

To avoid the risk of regression and detect defects before they reach production, it is recommended to automate these regression tests for IBM i by recording the functional test cases and automatically replaying them with each application release.

Watch our webinar Automated Testing: How to accelerate and protect your IBM i DevOps pipeline to learn how to safeguard your IBM i application availability, with automated regression test:

  • Record test scenarios using an easy-to-use emulator
  • Trigger the replay of test scenarios on each commit
  • Drive smart dependency-based test campaigns
  • Report on defects at their root cause

Test data

Every IT organization does some kind of testing – whether it is unit testing by developers, QA testing by QA staff or full-on automated regression testing. In each of these techniques, one area that is largely underestimated is the role of test data. Yet how effectively this data is managed has a direct impact on the time spent in testing and the quality of the results. By reading our article How to manage test data for smarter, faster testing? you will understand why test data can be hard to manage, what are the best practices based on our experience and which tangible benefits you stand to gain from a consistent set of test data.

Application deployment

Application deployment is undeniably the most critical and high-risk phase in any application development cycle – directly impacting application availability and consequently the continuity of the business.

IBM i apps and database upgrades in sync with distributed systems – on-premises, hybrid and multi-cloud – benefit from being deployed using release management tools to optimize continuous integration and delivery (CI/CD) of IBM i software and data and to manage interdependencies from a single point of control.

4. Git, GitHub & open source tools

The official release of open source tools by IBM has made the IBM i platform “open to all”. ARCAD puts all of its weight behind this movement by supplying the technology needed to achieve a DevOps approach on IBM i. In this way we break the barriers between the so-called “traditional/native” and “modern” development to unify teams and join forces in engaging IT to address the needs of the market. This approach means you can take advantage of the new open source tools for all of your software development. For example, by using Git for source code control across all of your teams, adopting an agile development cycle and one single and unique tool across all platforms, you can rapidly improve knowledge sharing and collaboration within multi-technology projects. Using common processes and tools such as Jenkins for managing the “Build” and the orchestration of deployment, you pave the way to Continuous Integration and Continuous Deployment (CI/CD), and all the benefits in faster, higher quality software delivery that this new model can bring.

Discover how the adoption of Open Source tools can ease development on IBM i by watching our webinar Continuous Integration (CI):
Building a strategy for IBM i using Git, Jenkins and JIRA
and how this has helped IBM i become more popular and more accessible to young generations of developers by reading our article Share your IBM i platform with open source tools.

Git

Git has become the most popular standard version control system in the world of open systems development and in the cloud. Git simplifies simultaneous development and brings agility to release management and delivery.

Git is an integral piece of a complete DevOps cycle, and can be used effectively on IBM i providing you associate it with a specialized technology layer able to manage the intricacies of the IBM i platform. You may like the collaboration Git provides on its own, and also want the social features GitHub brings, but how can all that be integrated on a platform which, to be frank, wasn’t built with agile in mind? Watch our webinars about Git 3-part webinar series: Git on IBM i, “Git Ahead”: from IBM i change management to Git, ‘True Git’ – are there right and wrong ways to do Git on IBM i?.

In your mission to bring Git benefits to IBM i, you will no doubt come across some technical questions that you will need to counter. You can find the responses to these questions in our articles Why “Git”?, ‘True Git’ – the right and wrong approaches to Git on IBM i, Empower your IBM i teams: the extraordinary potential of Git, Git DevOps going on IBM i or even Moving to Git (centralized) from Classic Source Control with your IBM i.

And finally on Git, if you ever felt that moving from traditional IBM i development to DevOps with Git was too big a challenge, you can watch our BWI Success Story webinar: BWI Success Story: moving to Git source control on IBM i. Simone Culp, Sr. Software Engineer and Data Analyst at BWI will present their project and the keys to successful Git adoption on IBM i.

GitHub

A number of collaborative tools are closely related to Git with GitHub being the leader in this domain. With innovative collaboration layers like the GitHub flow, GitHub has now become the foremost online hosting site for programmers collaborate on open-source projects, with over 21M users today.

Indeed, GitHub seized the opportunity, building a website over Git to encourage you to freely develop anywhere and sync back easily. So thanks to Git and a very smooth collaboration interface of their own, GitHub overtook the other giants in the market like SourceForge and Google Code, becoming the global answer to remote coding in a distributed world. The link between GitHub and Git is missing your attention? Read our article GitHub: GitHub: How Developers Got to Run the World (sic) tu understand their connection.

Do you want to use GitHub to modernize development techniques on IBM i? Shorten delivery schedules, and address the shortage of skilled resources faced by IBM i shops today? You can read our page dedicated to GitHub : ARCAD and GitHub for IBM i – faster delivery of high quality software at lower cost.

GitLab

GitLab is a complete open-source DevOps platform, delivered as a single application, fundamentally changing the way Development, Security, and Ops teams collaborate and build software. You will be able to visualize and optimize your entire DevSecOps lifecycle with platform-wide analytics – all within the same system where you do your work.

Discover how IT leaders can achieve a single, shared, enterprise DevSecOps pipeline across all development technologies and platforms – open and legacy with GitLab by reading our page ARCAD and GitLab on IBM i- Integrated, end-to-end platform for DevSecOps on IBM i.

Cloudbees & Jenkins

Jenkins is designed to be distributed, and works best with not just one, but many instances. However, this infrastructure is costly to maintain, and can take away time from not only your IT, but developer time as well. CloudBees Operations Center makes managing multiple Jenkins instances easy with one unified and user-friendly interface. It’s built on Kubernetes, which allows for scalability and elasticity far beyond what’s possible with Jenkins alone, and it’s all ready to go out-of-the-box. This makes it simple to move away from your monolithic pipeline, and into an elastic distributed model. Or, if you’re just starting out with Jenkins, you can be comfortable knowing the solution will scale up with your needs over time. Bottlenecks in your pipeline are costly and can cascade into long-lasting affects. CloudBees is designed remove that possibility.

You may be using Jenkins currently and are wondering what benefits CloudBees could offer you? Or perhaps you have considered using Jenkins, but have some business concerns? To learn more, read our article CI for RPG/COBOL with ARCAD and CloudBees.

5. ARCAD’s DevOps tools

Using ARCAD for DevOps guarantees faster delivery and eliminates DevOps complexity. The integration of enterprise tools such as Git, Jenkins and Jira with ARCAD’s IBM i technology layer also gives you the ability to automate a complete end-to-end CI/CT/CD cycle for IBM i.

ARCAD for DevOps

Deliver on your DevOps objectives with end-to-end workflow automation powered by open source.

ARCAD DevSecOps

Tools available in trial version

Adopt ARCAD modules at your own pace. Start anywhere. Take ARCAD for DevOps “Classic”, the core IBM i CI/CD modules. Add ‘Shift Defects left’ functionality with automated testing and quality check. Select with, or without, Git and open source integration. With ARCAD, you can adopt the full DevOps solution or use individual tools standalone.

Learn how to ensure code quality and security with ARCAD CodeChecker by watching the webinar Drive Code Quality & Security in your IBM i applications and Continuous Quality (CQ): Check the quality of your RPG source code, automatically.

Watch a demonstration of ARCAD iUnit in our webinar on unit testing Unit test automation: Secure application quality on IBM i.

Watch these two webinars to learn more about automated regression testing with ARCAD Verifier Automated Testing: How to accelerate and protect your IBM i DevOps pipeline and discover how ARCAD Verifier pairs nicely with Selenium for this regression testing Pairing Verifier with Selenium for all your Regression Needs.

Consult the datasheets

Datasheet ARCAD iUnit

Automate the creation and execution of unit test cases for any IBM i module, program or service program.

Download this datasheet to learn more about ARCAD iUnit and discover why our solution is unique in the level of automation it provides in creating, executing and managing unit tests on IBM i.

ARCAD Observer Datasheet

Analyze the code and data of your application, display its architecture in a graphical and navigable form.

Download this datasheet to learn more about ARCAD Observer and discover how to automate the application analysis.

ARCAD Verifier Datasheet

Detect IBM i application defects within the database, spools and UI.

Download this datasheet to learn more about ARCAD Verifier and discover the many unique features that define its position in the market.

ARCAD CodeChecker Datasheet

Automate the detection of quality flaws and security vulnerabilities in IBM i source code.

Download this datasheet to learn more about ARCAD CodeChecker and discover the benefits of automated continuous Quality & Security checking for your code source.

ARCAD Builder Datasheet

Automate 100% of the application build (recompilation) on IBM i, accelerating value delivery and reducing the risk of defects in production.

Download this datasheet to learn more about ARCAD Builder and discover how it allows developers to save time and reduces the risk of errors.

DROPS - Application Release Automation Solution Datasheet

Automate and secure application deployments on IBM i.

Download this datasheet to learn more about DROPS and discover why DROPS offers a complete and unique solution adressing DevOps challenges.

ARCAD for Devops Datasheet

ARCAD for DevOps integrates enterprise tools such as Git, Jenkins, and Jira with ARCAD’s own best-in-class IBM i technology layer to automate a complete end-to-end CI/CT/CD cycle for IBM i.

Download this datasheet to learn how ARCAD for DevOps helps IT managers to control costs and accelerate software delivery on IBM i.

Find all DevOps products in our ARCAD brochure.

6. Some use cases for ARCAD for DevOps

Mockup Sucess Story Seylan Bank

To fulfil audit requirements and retain their competitive edge, the Seylan Bank team implemented ARCAD for DevOps.

La Vaudoise Success Stories

In order to manage their digital transformation, La Vaudoise needed to implement a DevOps solution offering advanced functionality on IBM i.

Success Stories bwi companies mock-up

The IBM i team at BWI was nearing retirement age, and it became increasingly urgent to upgrade and modernize IBM i development and source control techniques.

IPECA Success Story

IPECA adopted ARCAD for DevOps to optimize their development, with Verifier for test automation.

fremtind datasheet

Fremtind Forsikring AS had expressed the need to hire young talented developers and to modernize the development methods on IBM i.

ARCAD worked with Sydved through a value stream mapping process to deliver a bespoke ARCAD solution that unlocks the value of their existing code base.

Customer Success Story - Brown Brothers ARCAD Transformer and ARCAD for DevOps

Brown Brothers Engineers embarked on an extensive modernization initiative spanning both their development processes and application source code.

dancerace

After searching the market and running an on-site proof of concept, Dancerace selected the ARCAD for DevOps solution from ARCAD Software.

Success Story SpareBank1 ARCAD for DevOps

The NICE team needed to migrate to modern DevOps tools for IBM i to maximize automation, control IT costs and meet compliance requirements.

Success stories Rhenag

With ARCAD, our team have found a vendor that best meets our requirements and with whom we can successfully realize our DevOps goals.

Need to implement a successful DevOps strategy?

Get ARCAD for DevOps!

Contact Us

Request a demo

Let’s talk about your project!

Speak with an expert

Customized Demo

Contact our experts