2021年06月18日 05時00分 公開
特集/連載

プログラミング言語「Go」の魅力とは? 「Goで“脱COBOL”」の成功者が語る「Go」を生かしたネットワーク運用管理【前編】

企業がプログラミング言語「Go」を利用するメリットは何か。メインフレームの「COBOL」プログラムからGoプログラムへの移行を成功させた専門家が、自身の経験を基に解説する。

[Jennifer EnglishTechTarget]

関連キーワード

ログ管理 | 運用管理 | プログラミング


 ネットワークエンジニアがプログラミング言語の習得を検討するときは、「Perl」や「Python」が検討対象になりやすい。Perlには実績が、Pythonには勢いがあるからだ。これらに並ぶ魅力的な選択肢に「Go」がある。

 企業は、クラウドインフラやサーバレスシステムでのソフトウェア運用に取り組んでいる。ネットワーク運用チームは膨大なデータを抱えることになった半面、それらを適切に分析できれば、ネットワーク運用に関する有益な知見が得られる。

 「そこでGoが強みを発揮する」と、Barracuda Networksでシニアソフトウェアエンジニアを務めるアダム・ウッドベック氏は語る。Goは、大規模なネットワークソフトウェア開発で直面した問題を解決するために、Googleが生み出したプログラミング言語だ。大量のデータをフィルタリングし、有益な情報を抽出するのに適している。

 Goの特徴は「複数の演算処理を一度に実行できること」だとウッドベック氏は説明する。演算を同時に実行できる並行性により、エンジニアはシステムのパワーをフルに活用できる。Goは、比較的学習しやすい言語でもあると、同氏は付け加える。チームはGoの習得によって変更を迅速に実装できるようになるという。

 ウッドベック氏は著書『Network Programming with Go』の中で、ネットワークやソフトウェア分野のエンジニアがGoをどのように活用できるのかを例示している。同氏が示すGoの用途は、ロギング(ログの記録と分析)やメトリクス(指標)管理、ルーティング、アプリケーション開発などだ。以下に、Goの活用に関する同氏の話をまとめた。

―― Goのお気に入りの使い方はどのようなものですか。

ウッドベック氏 私はGoの並行性が気に入っている。複数のことを一度に実行できる点だ。ただし、これはGoの厄介な側面になりがちでもある。並行性を生かそうとすると、プロセスの競合やデッドロック(複数のプロセスが互いの処理終了を待って処理が進まなくなる状態)に陥りやすいからだ。Goが提供するツールを使えば、こうした問題を回避し、高いパフォーマンスを得ることができる。

メインフレームの「COBOL」を「Go」に変換

ITmedia マーケティング新着記事

news046.png

B2Bマーケティング支援のFLUED、国内のEC/D2C企業20万社のデータベース「StoreLeads」を提供開始
B2Bマーケティング・営業DXを支援するFLUEDは、カナダのLochside Softwareが提供するECサ...

news054.jpg

サブスク動画配信サービスの市場規模が5000億円超え 最もシェアを伸ばしたサービスは?――GEM Partners調査
定額制動画配信サービスの市場規模は2020年以降、堅調に拡大しています。ただし、成長率...

news044.jpg

ビルコム、PR効果測定ツール「PR Analyzer」に海外ニュースのクリッピング機能を追加
ビルコムは、クラウド型PR効果測定ツール「PR Analyzer」に新機能「海外メディアクリッピ...