Home Z software Z developer tools Open Enterprise SDK for Go IBM Open Enterprise SDK for Go

Build fast and scalable applications on IBM z/OS

Download now

IBM Open Enterprise SDK for Go is an industry-standard Go compiler optimized for the z/OS® platform. The Go compiler leverages the latest z/Architecture® instructions to provide an exceptional implementation on the z/OS platform.

The rich Go ecosystem of packages enables clients to develop and run new applications, especially those that enable the cloud on z/OS. Because of the ecosystem of Go modules and the small size of the language's syntax, application developers typically can deliver Go applications in a shorter time and with fewer new lines of code, resulting in lower costs.

What's new

Summary of features and enhancements for Open Enterprise SDK for Go

Benefits Bring Open Enterprise SDK for Go to z/OS

Use Go, one of the most popular programming languages, to enable Z clients to develop applications with Go on z/OS.

Support cloud native development

 Streamline automation operations for multicloud, hybrid IT and DevOps environment.

Leverage the speed of a compiled language

Convert your Go source code for applications into machine-level code that can be executed directly by z/OS, rather than through an interpreter.

Handle scalability, concurrency and parallelism

Support scalability, with goroutines and channels to raise concurrency to true parallel programming.

Learn the language quickly

Learn the language quickly as Go combines the best features of other programming language into one easy-to-understand language.

Perform garbage collection

Perform garbage collection, or automatic memory management, with extensive control over memory allocation.

Features
Use Open Enterprise SDK for Go on z/OS

Use native Go compiler to enable new and existing applications written in Go to run on z/OS.

Bring a powerful framework for building fast and scalable applications to z/OS and write applications in support of cloud infrastructures. Increase throughput and reduce response time by colocating data and existing applications. You can control which data will be exposed externally, while keeping all of your proprietary data secure inside the IBM Z platform.


Go standard runtime library

Use the extensive set of standard libraries and additional third-party packages. It includes highly used programming tasks in areas like string operations, cryptology, archiving, mail operations, Unicode encoding and decoding, math routines, networking, error manipulation, operating system interfaces and other popular functions. These packages encourage code reuse.


Additional packages using Go modules

Get the growing collection of freely available packages from the Go community. These modules are accessible from the Golang community website, and developers can make reuse of them to fulfill common programming tasks, shorten development times and reduce costs. The continued contribution of modules from the community ensures a steady stream of new libraries and tools.

Visit the Go development community

Open source language

Leverage this open-source language that is continually being improved by the open-source community. Go boasts an ever increasing and passionate community of coders and enthusiasts who have driven its development and support. Its ongoing refinement helps ensure that Go solutions are as mature as possible. This community also contributes numerous additional modules to the Go collection of packages.


Value unit-based pricing

Take advantage of the value unit-based pricing. It is available under eligible IBM Z International Program License Agreement programs to enable a lower cost of incremental growth and enterprise aggregation, with resulting price benefits for you.


Access to Virtual Storage Access Method (VSAM) data sets

The support for the Go recordio module provides capability of direct access to VSAM data sets so that you can access their existing VSAM record data more easily. Operations are implemented through the z/OS Language Environment interfaces without any requirement to call C from Go. Inputs and outputs from these operations are uniform byte slices, which eliminates the need for error-prone size specifications.

Accessing VSAM databases directly from Go

Crypto acceleration

Open Enterprise SDK for Go provides extensive support for a wide variety of cryptographic algorithms, which are crucial for modern applications to secure data and communications.

Killer Crypto in Open Enterprise SDK for Go: Crypto Acceleration
Compare editions

The PAX download format is popular in UNIX environments, including z/OS UNIX System Services, and offers a DIY installation experience. SMP/E installable images and their fix packs can be managed in the convenient SMP/E tracking tool. The SMP/E Bill of Materials include an Entitlement memo to access Go container image available to download on IBM Cloud Container Registry.

Upgrade to world-class IBM support to open service requests, which are addressed in documented turnaround times.

Which option is right for you? PAX edition

PAX archive installable format for a DIY installation. Use your existing IBMid for access or create one upon registration.

Download now
SMP/E edition

SMP/E (CBPDO, ServerPac) installable format can easily manage updates. Recommended for production deployments. Available through Shopz.

Obtain from Shopz

No license charge

Run your own applications

Full functionality

Includes Go on z/OS container image

IBM Software Subscription and Support (S&S)

No

Optional

Use cases Establish an employee database

 Discover how Go recordio module is used to establish an employee database with a command line interface using key-sequenced data set (KSDS).

Watch the demo (8:37)
Port applications to z/OS

Discover how to run popular Go applications on IBM Z hardware by porting applications to z/OS for greater reliability and resiliency.

Porting applications to z/OS
Call a COBOL function

Use the cgo functionality to execute a COBOL function. Explore how this can be achieved for a simple COBOL procedure, which is almost identical to PL/I.

Calling a COBOL function from Go
Integrate with middleware

Co-locate Go applications with critical assets on z/OS, for reduced response times and increased throughput.

Integrating Go with middleware on z/OS
Access VSAM with Go recordio

Get direct access to VSAM database with Go recordio module on z/OS without using cgo.

Watch the demo (19:47)
Connect compiled binary programs

Use Go to call an outside script or binary program to achieve program interoperability.

Watch the demo (7:30)
Create a RESTful server

Use Go packages to create a RESTful server and localize your package with no access to the internet.

Watch the demo (10:50)
Serialize structure data

Use Protocol Buffers to serialize data and run a client-server application with gRPC in Go.

Watch the demo (14:04)
Discover alternative API designs

Experience measurable performance improvements, when compared with a REST counterpart, with a GraphQL implementation.

GraphQL APIs with Go on z/OS
Technical details

Hardware requirements

  • IBM Z server that supports z/OS 2.5 (5650-ZOS) or 3.1
  • Required hard disk space of a minimum of 850 MB


Software requirements

  • z/OS 2.5 or 3.1
  • IBM z/OS UNIX System Services must be enabled on systems on which IBM Open Enterprise SDK for Go is run
Installation and configuration instructions

Open Enterprise SDK for Go is available in three installation formats, SMP/E, PAX, and the container image. Select the installation format that applies to you:

PAX edition SMP/E edition Go container image
Resources Solution brief

Get an overview of the features and benefits of the Go programming language on the z/OS platform.

Terminal Talk - Do Not Pass Up Go!

Check out the latest Terminal Talk Podcast featuring the popular Go language and its powerful framework on z/OS.

Go on z/OS

Learn the difference between the two editions that Open Enterprise SDK for Go offers: PAX and SMP/E. Also, find out about the IBM Z Xplore bonus that provides a free opportunity to explore and learn more about Open Enterprise SDK for Go.

The Go programming language

Explore the organization behind Go (or Golang), which supports and facilitates the growth of a diverse and international Go community.

z/OS Open Tools

Several tools written in Go have been upstreamed to zOpen Tools. Some of the top tools include Github CLI, Github runner and more.

Frequently asked questions

It is available with no license charge. Optional Subscription and Support (S&S) is available.

Go applications are not IBM z Integrated Information Processor (zIIP)-eligible. Clients may be eligible for Tailored Fit Pricing under New Application Solution pricing model for new production workloads to isolate Go on z/OS workloads without impacting overall costs of existing workloads. Talk to your IBM account representative.

Related products IBM Open Enterprise Python for z/OS

One of the fastest growing programming languages natively on the platform and take advantage of Python’s rich ecosystem of modules to develop new applications.

IBM Open Enterprise SDK for Node.js

At no charge, provides a security-rich, module-driven and highly scalable approach to accelerate digital transformation on IBM Z.

IBM Wazi as a Service

A solution that enables cloud-native development and testing for z/OS on IBM Cloud as your own protected space with the security of a private cloud and the agility of a publish cloud.

IBM z/OS Container Platform

Industry-standard cloud technology that enable you to build your z/OS UNIX applications in container images.

Explore the family of IBM Compilers
Next steps

Discover IBM Open Enterprise SDK for Go. Schedule a no-cost 30-minute meeting with an IBM Z representative.

Download now
More ways to explore Documentation Support Software product lifecycle Software ideas portal IBM Redbooks® Support and services Global financing Flexible pricing Education and training Community Developer community Partners Resources