ハイブリッドクラウド向けの優れたオープンソースツール

ハイブリッドクラウド向けの優れたオープンソースツール

企業は現在、さまざまな IT リソースを活用してビジネスを強化しています。コストが最大の考慮事項である場合、無料で使用でき、変更可能なオープンソース ツールは、企業のコスト削減に役立ちます。同時に、クラウド プロバイダーは、企業がクラウド サービスからより大きな価値を得られるよう支援する多くの新しいツールも提供しています。これらのツールにより、企業は予算と人員をより戦略的なビジネス プロジェクトに振り向けることができます。オープンソースのクラウド ツールを活用して、オンプレミスとクラウドベースのコンポーネントを連携させます。今日は、優れたオープンソースのクラウドツールをいくつか紹介します。

[[317310]]

グラファナ

Grafana を使用すると、データがどこに保存されているかに関係なく、メトリックをクエリ、視覚化、および理解できます。ダッシュボードを作成、探索、チームと共有し、データ主導の文化を促進できます。産業用センサー、天気、プロセス制御などの時系列データに最適です。 Grafana は Go と Node.js で書かれています。 sqlite3 と呼ばれる組み込みデータベースが付属しています。 MySQL、PostgreSQL、Graphite、Influx DB、Prometheus、Elasticsearch などの他のデータ ストアを使用してデータを保存することもできます。追加のプラグインを使用することで、他のデータ ストアもサポートします。

Grafana は、Linux、Windows、Docker、Mac にインストールできます。ダッシュボードへのアクセスを制御するために、LDAP、Google Auth、GitHub などの組み込みのユーザー コントロールと認証メカニズムが付属しています。上記の認証に加えて、Grafana は AD 認証もサポートしています。 Grafana には、ダッシュボードの保存、ユーザーの作成、データ ソースの更新に使用できる API があります。

Grafanaダッシュボード

動的で再利用可能なダッシュボードを簡単に作成できるほか、再利用のためにテンプレートを作成することもできます。保存されたタグ フィルターを使用してログを参照および検索すると、ダッシュボードの作成が簡単になります。アドホック クエリを使用して特定のデータを参照し、ソースまでドリルダウンすることもできます。 Grafana にはアラート システムが組み込まれており、これを使用して、指定したメトリックのアラート ルールを定義できます。継続的に評価し、電子メールまたは Slack などのツールを通じてシステムに通知を送信します。

Grafana と Kibana を比較すると、前者は特定のメトリック (CPU/ディスク/IO 使用量など) に基づく時系列データに適しています。しかし、Kibana は Elasticsearch 機能を使用する分析ダッシュボードに適しています。したがって、データの検索や探索に Grafana を使用することはできません。

テラフォーム

Terraform は、HashiCorp が提供するクラウド インフラストラクチャ ツールです。インフラストラクチャを効率的に構築、変更、バージョン管理するために使用されます。つまり、Terraform は Infrastructure as Code (IAAC) を提供するのに役立ちます。オンプレミス インフラストラクチャだけでなく、ほとんどのパブリック クラウド サービス プロバイダーのインフラストラクチャもサポートします。

Terraform はプラットフォームに依存せず、自動テスト、ソースコード管理などのコーディング原則の導入に役立ちます。コミュニティから大きな支持を得ており、多くの企業がインフラストラクチャの管理に Terraform を使い始めています。

Terraform のドライ ランを実行すると、実際の変更をコミットせずにシミュレートすることができ、これは開発者にとって非常に便利な機能です。 Terraform リソース グラフは、各リソース間の依存関係を含むすべてのリソースのビューを作成します。 Terraform はそれぞれのクラウド プロバイダーの API を活用してインフラストラクチャを管理するため、追加のリソースの必要性が減ります。

Terraform は、リソースのターゲット レベルを記述するための記述言語です。一般的なクラウド プロバイダーには、それぞれのクラウド リソースを管理するためのプラグインが用意されています。さらに、さまざまな言語で独自のプラグインを作成することも可能です。 Terraform は主に Go 言語をサポートしています。

git シークレット

コード内で使用されるパスワード/資格情報を暗号化し、安全な場所に保管することは、開発者の間では一般的な方法です。この目的のためのツールは複数あり、Vault もその 1 つです。 git-secret は、Git リポジトリにシークレットを保存するためのシンプルなツールです。 git-secret は暗号化と復号化に gpg を使用します。

使用例は次のとおりです。

  • 暗号化と復号化のキーを一元的に管理する
  • より良い管理のためのバージョン管理の暗号化
  • アクセス制御と誰が暗号化・復号化できるかの調査
  • パスワードはプレーンテキストで保存しないでください

git-secrets を使用して、Oauth キー、DB パスワード、アプリケーション キー、およびプレーン テキストで保存されているその他のシークレットを保存できます。

git-secret は、Git リポジトリにプライベートデータを保存するためのツールです。パスワードを gpg で暗号化し、信頼できるすべてのユーザーの公開鍵を使用してファイルを追跡します。したがって、ユーザーはそれぞれの個人キーを使用してのみファイルを復号化でき、ここではパスワードは変更されません。誰かが会社を辞めたり、交代したりした場合は、公開鍵を削除してファイルを再暗号化するだけで、ファイルを復号化できなくなります。

ツチブタとレポキッド

Aardvark と Repokid を使用すると、大規模で動的なクラウド展開において、キャラクターが必要な権限のみを保持するようにすることができます。これらは、急速なイノベーションと分散スケーリングに対応するために Netflix が提供するオープンソースのクラウド セキュリティ ツールです。パフォーマンスを損なうことなく、最小権限アクセスの原則を実装するのに役立ちます。

すべてのパブリック クラウド プロバイダーには、ユーザーに対するきめ細かなポリシーの作成に役立つ ID およびアクセス管理 (IAM) サービスがあります。ただし、詳細なカスタムポリシーによって複雑さが増し、開発者が製品を作成するのが難しくなる可能性があります。必要な権限が不足するとアプリケーションが失敗する可能性があり、権限が多すぎるとセキュリティの脆弱性やコンプライアンスの問題が発生する可能性があります。

Aardvark は Phantoms を使用してクラウド プロバイダーのコンソールにログインし、アカウント内のすべての IAM ロールの Access Advisor データを取得します。最新の Access Advisor データを DynamoDB データベースに保存し、RESTful API を公開します。

Aardvark はスレッドをサポートしており、複数のアカウントのデータを同時に取得し、20 分以内にデータを更新します。

DynamoDB テーブルには、図に示すように、ポリシー、権限数 (合計と未使用)、ロールがリポジトリの対象かフィルター済みか、各ロールの未使用の権限が最後に削除された日時 (リポジトリ機能) に関するデータが含まれています。 Repokid は、ロールが使用していないサービスで DynamoDB に保存されているデータを使用し、未使用の権限を削除します。

ツチブタの学習プロセス

ロールが完全にプロファイリングされると、Repokid の repose 機能は、そのロールに添付されたインライン ポリシーを変更して、未使用の権限を除外します。 Repokid は、キャラクターを以前の状態に復元する必要がある場合に備えて、以前のポリシー バージョンのキャッシュも保持します。買い戻し機能は単一のロールに適用できますが、通常はアカウント内のすべての対象ロールを対象にするために使用されます。

オープンシフト

OpenShift は、オンプレミスとクラウド プラットフォームの両方に対応したコンテナ サービスです。これは、Red Hat Enterprise Linux 上で Kubernetes によってオーケストレーションおよび管理される Docker コンテナ上に構築されています。最新バージョンの V3 には多くの新機能があります。 OpenShift プロジェクトは、Kubernetes、Docker、CoreOS、Framework、Crio、Prometheus などによってサポートされています。

OpenShift コンテナ プラットフォーム アーキテクチャ

コンテナをグループ化すると、OpenShift に導入できるアプリケーションの数が大幅に増加します。これにより、単一の IP アドレスと共有ファイル システムの利点が得られます。 OpenShift コンテナーは本質的に不変であるため、アプリケーション コード、依存ライブラリ、およびシークレットを実行時にコンテナーにアタッチできます。これにより、管理者とインテグレーターはコードとパッチを構成とデータから分離できるようになります。 OpenShift コンテナ フレームワークを図に示します。

OpenShift と Kubernetes は、共通の REST API を介して連携してシステムに変更を加えるマイクロサービスのセットとして構築されています。これらの API はシステム インテグレーターが利用可能であり、同じコア コンポーネントを無効にして代替実装を許可することもできます。 OpenShift は REST API に対してきめ細かなアクセス制御を公開し、サービス インテグレーターの作業を容易にします。

ボッシュ

BOSH は、複雑な分散システムのリリース、展開、ライフサイクル管理のための、クラウドに依存しないオープンソース ツールです。ほとんどのディストリビューションと管理された Cloud Foundry 環境では、BOSH を使用して環境を完全に管理するため、コーディングとビジネス価値の提供に集中できます。 BOSH の柔軟性とパワーにより、Google と Pivotal は BOSH を Project Kubo (Kubernetes 向け Web スケール リリース エンジニアリング) の中核にしました。

BOSH は、異なる仮想マシン上で実行される個々のソフトウェア コンポーネントのコレクションが、より大きなシステムとして連携して動作する分散システムのように動作します。

BOSHの展開

BOSHの主な構成要素は以下の通りです。

  • 幹細胞: これは仮想マシンを作成するために使用される OS のイメージに似ています。基本オペレーティング システムを、展開にバンドルされている他のソフトウェア パッケージから分離します。
  • リリース: これは Stem セルの上位レイヤーであり、展開するソフトウェアとその構成方法を記述します。構成プロパティとテンプレート、起動スクリプト、ソース コード、バイナリ成果物などが含まれています。
  • デプロイメント マニフェスト: BOSH はこの YAML マニフェスト ファイルを使用して、ターゲット インフラストラクチャにデプロイし、VM またはコンテナの状態を監視し、必要に応じて修復を実行します。
  • クラウド プロバイダー インターフェイス: CPI は、BOSH がインフラストラクチャと対話して Stem セル、VM、ディスクを作成および管理するために使用する API です。

BOSH は、さまざまなソフトウェアをパッケージ化して管理するために他の環境でも使用されます。 BOSH の利点は、ソフトウェアの構成と新しいバージョンへのアップグレード、システム全体をあるバージョンから別のバージョンにアップグレードする際のテスト、ホストのサイズ変更、セキュリティ更新の処理など、初日と 2 日目の運用タスクの両方を管理できることです。

スピネーカー

Spinnaker は、ソフトウェアの変更を高速でリリースするためのオープンソースのマルチクラウド継続的デリバリー プラットフォームです。強力で柔軟なパイプライン管理システムと、AWS EC2、Kubernetes、Google Compute Engine、Google Kubernetes Engine、Google App Engine、Microsoft Azure、OpenStack、Cloud Foundry、Oracle Cloud Infrastructure などの主要なクラウド プロバイダー サービスの統合を組み合わせています。

統合テストとシステム テストの実行、サーバー グループの上下移動、デプロイメントの監視が可能なデプロイメント パイプラインを作成することで、リリースを自動化します。 Git イベント、Jenkins、Travis CI、Docker、CRON、またはその他の Spinnaker パイプラインを介してパイプラインをトリガーします。

Spinnaker デプロイメント パイプライン

Spinnaker は不変のイメージを作成してデプロイし、デプロイの高速化、ロールバックの簡易化、デバッグが難しい構成ドリフトの問題の排除を実現します。レッド/ブラックやカナリアデプロイメントなどの組み込みのデプロイメント戦略を使用して、クラウド内の不変のインフラストラクチャを活用します。

Spinnaker のアプリケーション管理機能は、クラウド リソースの管理に役立ちます。 Spinnaker は、アプリケーションまたはマイクロサービスと呼ばれることもあるサービスのコレクションとして実行されます。アプリケーション、クラスター、サーバー グループは、Spinnaker がサービスを記述するために使用する主要な概念です。ロード バランサとファイアウォールは、サービスがユーザーにどのように公開されるかを説明します。

Spinnaker パイプラインは、一連のアクションで構成される主要なデプロイメント管理構造です。図に示すように、パイプラインに沿ってステージ間でパラメータを渡すことが可能です。パイプラインは手動で開始することも、ジョブの完了、レジストリへの新しいイメージの表示、CRON スケジュール、別のパイプラインのアクションなどのイベントによって自動的にトリガーすることもできます。パイプラインは、パイプライン実行中のさまざまな時点で電子メール、Slack、または SMS 経由で通知するように構成できます。

Spinnaker はクラウドネイティブのデプロイメント戦略を念頭に置いて構築されており、ヘルスチェックの検証、古いサーバー グループの無効化、新しいサーバーの有効化などの基本的なオーケストレーションを処理します。これは、赤/黒 (別名青/緑) 戦略をサポートし、図に示すように、アクティブな開発ではローリング赤/黒およびカナリア戦略を採用しています。

Spinnaker の導入戦略

<<:  政府のクラウドは伝染病の予防と制御に役立ち、クラウドベースの監視と信頼のメカニズムがより重要になる

>>:  クラウド コンピューティングのコストを管理するための 7 つのヒント

推薦する

クラウドファンディングを解読する: 初期段階のウェブサイトは変革に忙しく、収益モデルはまだ模索中

【概要】クラウドファンディングというレッテルを剥がす時期は過ぎ去り、本来のエクイティ型クラウドファン...

エクスペリエンスレプリケーションは、企業の IT レジリエンスを向上させる方法です。

絶えず変化するビジネスの世界では、不確実性が当たり前になっています。企業が熾烈な市場競争の中で確固た...

AWS が新しい Amazon EC2 インスタンスを発表

[51CTO.com からのオリジナル記事] 本日の re:Invent カンファレンスで、AWS ...

タオバオCストアは群衆に従うことはできず、革新する際に評判の基本を忘れてはならない。

現在、ますます多くのタオバオCストアのオーナーが、事業内容を変えたり、タオバオTmallに多額の投資...

調査結果:マルチクラウドが標準になりつつある

パブリック クラウドに多額の投資をする企業が増えており、AWS パブリック クラウドとの差を縮めるた...

中国CITIC銀行のネットワークセキュリティ戦略のためのビジュアル管理プラットフォームの構築実践

タイトル:実践丨銀行全体の集中的な運用保守を推進し、業務のデジタル変革を可能にする――中国中信銀行の...

Baiduがすぐに組み入れられるようにウェブサイトのアイデアと実践を準備する

多くのウェブマスターの友人は、ウェブサイトを構築したらすぐに検索エンジンに登録されることを望んでいる...

ウェブサイトへのトラフィックを導入する現在の主流の2つの方法について議論する

ウェブサイトのトラフィックは、ウェブサイトが存続するための基礎です。トラフィックがなければ、ウェブサ...

過去3か月間のウェブサイト最適化の学習経験についてお話しします

昨年11月に卒業後、ウェブサイト構築会社にインターンとして入社しました。当初はウェブサイトの最適化に...

オリジナルウェブサイトのSEO: ウェブサイトの外部リンクについて

前回、「SEOの忘れられた基礎」の中で、外部リンクの役割について触れました。今日は、ウェブサイトの最...

ソーシャルメディアマーケティング評価のための100の参考指標

ソーシャル メディア マーケティング評価の主なパラメーターには、ネットワーク トラフィック、オンライ...

政府のデジタル変革を支援するアリババ政府関係プラットフォーム2.0がリリース

9月17日、2020年雲啓大会で、アリババの政府事務ミドルプラットフォーム2.0「1+4PaaS+N...

エッジコンピューティングとデータセンター管理のトレンド

今日のデータセンター管理は、明らかにかつてないほど困難になっています。人工知能、ビッグデータ、モノの...

キーワードを適切に設定することで、Baiduプロモーションにかかるコストを削減できます。

最近、Baidu プロモーションでどれだけのお金が無駄になっているかという不満をよく耳にします。もち...

この記事を読んだ後でも、あなたのお母さんはあなたが Docker を使い始められないのではないかと心配し続けるでしょうか?

[51CTO.com からのオリジナル記事] 先週、ガールフレンドが突然ペットを飼いたいと言いました...