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

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

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

[Jennifer English,TechTarget]

関連キーワード

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


 ネットワークエンジニアがプログラミング言語の習得を検討するときは、「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 マーケティング新着記事

news101.jpg

「日本企業的DX」の神髄(無料eBook)
「ITmedia マーケティング」では、気になるマーケティングトレンドをeBookにまとめて不定...

news024.jpg

CEOと従業員の給与差「299倍」をどう考える?
今回は、米国の労働事情における想像を超える格差について取り上げます。

news153.jpg

日立ソリューションズが仮想イベントプラットフォームを提供開始
セミナーやショールームなどを仮想空間上に構築。