概要
Goはエンタープライズによる自動化とスケーリングを支援します
開発運用(DevOps)チームは、エンジニアリング組織がタスクを自動化し、継続的インテグレーションと継続的デリバリーおよびデプロイメント(CI/CD)プロセスを改善するのを支援します。DevOpsは開発のサイロを打破し、ツールと自動化を実装して、ソフトウェアの開発、デプロイメント、およびサポートを強化できます。
サイト信頼性エンジニアリング(SRE)は、Googleで生まれ、同社の「大規模なサイトをより信頼性が高く、効率的で、スケーラブルにする」ために考案されました。シルビア・フレッサード氏(独立系DevOpsコンサルタント)が書いています。「そして、彼らが開発したプラクティスはGoogleのニーズに非常にうまく対応したため、AmazonやNetflixなどの他の大手テクノロジー企業も採用しました。」SREには開発と運用スキルが混在しており、「ソフトウェア開発者をエンパワーメントし、本番環境でのアプリケーションの継続的な日常運用を所有できるようにします。」
Goは、高速なビルド時間と簡潔な構文からセキュリティと信頼性のサポートまで、DevOpsとSREの両方を支援します。Goの並行処理とネットワーク機能は、クラウドデプロイメントを管理するツールにも理想的であり、開発インフラストラクチャが時間の経過とともに成長するにつれて、自動化を容易にサポートしながら、速度とコードの保守性を向上させることができます。
DevOps/SREチームは、小さなスクリプトからコマンドラインインターフェース(CLI)、複雑な自動化とサービスまで、さまざまなソフトウェアを記述しており、Goの機能セットはあらゆる状況でメリットがあります。
主な利点
Goの堅牢な標準ライブラリと静的型付けにより、小さなスクリプトを簡単に作成できます
Goの高速なビルド時間と起動時間。Goの広範な標準ライブラリ(HTTP、ファイルI/O、時間、正規表現、exec、JSON/CSV形式などの一般的なニーズのパッケージを含む)により、DevOps/SREはビジネスロジックにすぐに取り組むことができます。さらに、Goの静的型システムと明示的なエラー処理により、小さなスクリプトでも堅牢性が向上します。
Goの高速なビルド時間により、CLIを迅速にデプロイできます
すべてのサイト信頼性エンジニアは、「一度限りの使用」スクリプトを作成し、それが毎日数十人の他のエンジニアによって使用されるCLIになりました。そして、小さなデプロイメント自動化スクリプトは、ロールアウト管理サービスになります。Goを使用すると、ソフトウェアの範囲が必然的に広がった場合でも、DevOps/SREは成功するのに最適な立場にあります。Goから始めることで、そのような状況でも成功するのに最適な立場に立つことができます。
Goの少ないメモリフットプリントとドキュメントジェネレーターを使用して、より大規模なアプリケーションをスケーリングおよび維持できます
Goのガベージコレクターにより、DevOps/SREチームはメモリ管理を心配する必要がありません。また、Goの自動ドキュメントジェネレーター(godoc)により、コードは自己文書化され、メンテナンスのオーバーヘッドが削減され、最初からベストプラクティスが確立されます。
注目のユーザー
顧客 | 簡単な紹介 | Goを使用するプロジェクト |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
開始
DevOpsとSREに関するGo書籍
監視とトレース
-
open-telemetry/opentelemetry-go
監視と分散トレースのためのベンダーニュートラルなAPIとインストルメンテーション
-
jaegertracing/jaeger-client-go
Uberが開発したオープンソースの分散トレーシングシステム形式
-
grafana/grafana
監視と可観測性のためのオープンソースプラットフォーム
-
istio/istio
オープンソースのサービスメッシュおよび統合可能なプラットフォーム
CLIライブラリ
-
spf13/cobra
強力な最新のCLIアプリケーションを作成するためのライブラリ、およびGoでアプリケーションとCLIアプリケーションを生成するためのプログラム
-
spf13/viper
Goアプリケーションのための完全な構成ソリューション。アプリケーション内で動作し、構成のニーズと形式を処理するように設計されています。
-
urfave/cli
コマンドラインGoアプリケーションの作成と整理のための最小限のフレームワーク