Technology continues to advance, and now organizations are seeking the next frontier in DevOps for the mainframe, with many recognizing git as the next phase thanks to its ability to consolidate all sources onto a single platform.
Git has already proven itself as a practical and worthwhile environment for developers in the distributed environment to create and make changes to code. Today, git is the dominant player in this space with an astounding 80% market share, meaning almost every organization will have a git offering of some kind.
What Is Git?
As a DevOps evangelist for BMC, Tony is responsible for showing customers the art of what is possible when it comes to DevOps and mainframe DevOps.
Git (short for global information tracker) is a version-control system originally created nearly 20 years ago by Linus Torvalds, the developer of Linux, who recognized the importance of version control in source code. In addition to its role in version control, git is also a source code management (SCM) system, a repository technology that allows for the co-location of source artifacts to house and track changes to application code.
These processes are vital for fostering collaboration among programmers as they develop source code together and in parallel. Many people in IT may have first become familiar with git through their knowledge of secondary providers such as GitHub, which is a repository for code, while git itself serves a pivotal role in the software delivery cycle.
Overall, the benefits of git include speed, data integrity and support for distributed, non-linear workflows. Using git means having all sources in one place, which simplifies making and securing backups. It also functions as a system of record for the source code, which itself contains a company’s valuable intellectual property. Git allows for auditing and reverting to earlier iterations of code, if needed.
Git can house more than just source code. It can also be home to documentation, test scenarios and other forms of metadata that relate to an application. It’s an open source tool designed for engineers by engineers, to help them collaborate seamlessly.
While there are other tools available in the technology space, it would be difficult to find a company that doesn’t have some flavor of git running as its primary version-control solution.
In addition, essentially all new hires entering the industry are already familiar with git, since it is used as part of the curriculum in engineering schools worldwide. This means easier onboarding with lower additional training costs. The ultimate benefit of all the features git offers is that teams can produce faster release cycles, thereby facilitating an agile workflow.
Why Git Is the Ideal System for Developer Teams
Git is the dominant SCM system in the industry and thus there are many reasons why developer teams may not only adopt it, but prefer it.
First, git gives users an optimal experience and makes everyday development much easier thanks to the built-in features that allow for comparing, merging and approving changes. The system was designed with the developer experience in mind, regardless of whether you are using native git or one of the popular remotes available. Git also supports source code languages and methodologies for working on mainframe applications such as Java, C, Node, Python, Cobol, JCL, Rexx, PL1, Assembler, etc.
Also noteworthy is that git allows users to create isolated environments for development or R&D and merge that code back into the main branch or trunk of the project. This branching allows for parallel development for both individuals and teams, which is more effective and productive during the development and R&D process.
The mainframe is often regarded as a siloed platform; however, this notion disappears if it uses the same process and tools as the rest of the organization. With git, organizations can consolidate their software-delivery life cycle (SDLC) process regardless of platforms and help modernize the mainframe.
Can Git Be Used for Mainframe Code?
Git’s handling of mainframe source code is really no different than its handling of distributed assets. From a git point of view, mainframe is like any other code base and can be operated on in the same way as Java, Node.js, C# or any other code base. Git is a reliable way to perform the basic functions of checking code, editing it and checking it back in. Since git only covers one-third of the DevOps process, an organization will still need tools for the remaining two-thirds: build management and deployment management.
A Hybrid Approach to Development
The versatility and market acceptance of git demonstrates its value as a powerful development tool and is a natural fit for mainframe development in a world where one size does not fit all. Git allows teams to decide what best fits their needs. In some cases, there might be a development team that understands git, knows what it is going to do with the application code and has an SDLC to deploy to production. For this group, git is an ideal option.
However, in many organizations, there will also be a team that looks after a batch application that is in maintenance mode. If this team has 2.5 million batch artifacts — all of the components that go into making up the daily, weekly, monthly, quarterly and annual processing of data — the people in this team will not want to check out a git repository of every component to make a single-line job control language (JCL) change to that part of the organization. Such a thing might happen, for example, in an organization that only changes its application for a sales tax update every few years. It wouldn’t make sense to have this in git.
These are two vastly different work scenarios, which a hybrid approach is designed to solve. Git provides flexibility to the customer depending on the context of the work at hand and ensures no interruption to day-to-day activities so users can work at their own pace.
The Bottom Line: Moving Mainframe DevOps to the Next Level
As organizations look to the future, they see a great deal of change and technological innovation moving at an exponential level. Yet at the same time, there are two constants: the presence of the mainframe as the basis of data management and the presence of git as the repository for version control.
Organizations need to ensure that code is maintained in a place that encourages parallel development and is immediately comprehensible, while also allowing seamless and accurate building, testing and deployment of code for commerce and industry. With a hybrid solution in place, organizations can move their mainframe DevOps to the next level and manage those mainframe workloads with the speed and efficiency of DevOps.
Feature image via Pixabay.