「Go」を生かしたネットワーク運用管理【中編】
プログラミング言語「Go」は熱心な開発者ほど学習しにくい? その理由とは
エンジニアがプログラミング言語「Go」を学ぶ上での難しさとは何か。Goを用いたログ取得、分析の課題とは。専門家に聞いた。
前編「プログラミング言語『Go』の魅力とは? 『Goで“脱COBOL”』の成功者が語る」は、Barracuda Networksでシニアソフトウェアエンジニアを務めるアダム・ウッドベック氏が考える、プログラミング言語「Go」のメリットを説明した。中編はGoを習得する上でのハードルと、ログ収集の課題および解決策をウッドベック氏に聞く。
「Go」の習得を難しくする“あのハードル”
併せて読みたいお薦め記事
さまざまなプログラミング言語
- いまさら聞けない「コンパイル言語」の基礎 メリットとデメリットは?
- “Visual COBOL”に期待か? “死んだ言語”「COBOL」復活の条件
- Java使いでも「R」「Python」を学びたくなる“納得の理由”
Goについて知る
―― Goを学ぶ上で一番難しいことは何ですか。
ウッドベック氏 Goの書き方のスタイルに従わなければならないことだ。「Perl」「Python」「PHP」「Java」など、他のプログラミング言語を経験してからGoを学び始めるエンジニアは、GoでPerlやJavaなどの書き方に従おうとする。Goのスタイルに少し逆らい、なじみのあるプログラミング言語のスタイルを踏襲しようとするわけだ。
こつをつかんで頭を切り替えられれば、Goのパワーを活用できるようになる。私もそうした切り替えを経験した。同じ経験を持った、数え切れないほど多くの人と話したこともある。これは通過儀礼のようなものだろう。
「ログの洪水」に悩まされないためには
―― Goを使ってどのようにロギング(ログの記録と分析)やメトリクス(指標)管理をしていますか。
ウッドベック氏 システム開発を始めたころは、必要だと思ったことを全て記録していた。だが、すぐにそれは良いやり方ではないと分かった。必要な針が埋もれているが、見つけられそうもない干し草の山を作っていたようなものだからだ。
私のアプローチはそこから進化した。今も多くのログを蓄積しているが、必要なもののみを収集するようにしている。例えばデバッグのログのように、問題にぶつかった場合に必要になることが分かっているデータをログに記録するといった具合だ。システムの本番運用でログに煩わされるのは、対処すべき事項がある場合だけにした方がよい。
注意を払うべきログであっても、過剰に生まれる場合がある。Goが標準で備えるロガー(ログを取得するプログラム)の一部は、サンプリングの考え方を取り入れている。プログラムで「このイベントが5回発生するごとに通知を送信する」といった定義が可能なので、大量のクライアントが一度に生成するログの“洪水”に見舞われずに済む。
メトリクスについては、全て網羅的に測定している。「Prometheus」といった監視ツールをGoプログラムのメトリクス測定に使用する場合、他の書き込み処理を妨害せずに数値を計測する「アトミックカウンタ」を用いることで、メトリクス測定処理の負荷を軽くできる。バックグラウンドでメトリクスを測定し、Prometheusがメトリクスを監視する。メトリクスに加え、現在何が起こっているのかを可視化するダッシュボードもアプリケーションの状態の把握に役立っている。
TechTarget発 先取りITトレンド
米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
TechTarget発 先取りITトレンド
米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
この記事の著者
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Excel至上主義」の終わらせ方 丸2日の手作業地獄から情シスと現場を救うには
-
2
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
3
「Microsoft 365のセキュリティ運用」に関するアンケート
-
4
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
5
221人調査で分かった「情シス最大のストレス」は?
-
6
「Salesforceのテスト自動化ツール」に関するアンケート
-
7
IT製品の導入に関するアンケート「サーバ&ストレージ」編
-
8
「データストレージの活用方法」に関するアンケート
-
9
「AI時代の統合基盤・エンタープライズAI管理」に関するアンケート
-
10
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー