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

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

2021年06月18日 05時00分 公開
[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 マーケティング新着記事

news029.png

「サイト内検索」&「ライブチャット」売れ筋TOP5(2024年6月)
今週は、サイト内検索ツールとライブチャットの国内売れ筋TOP5をそれぞれ紹介します。

news154.jpg

D2CとD2C Rが「docomo connecting path(コネパス)」計測タグを無料配布
D2CとD2C Rは、Cookieレス環境でもリターゲティング広告やオーディエンス分析が可能な新...

news074.jpg

ニップンと刀が協業 マーケティングノウハウで成熟市場を拡大へ
ニップンと刀は「ニップン × 刀 協業発表会」を開催し、協業を通じた両社の取り組みとそ...