企業は現在、さまざまな IT リソースを活用してビジネスを強化しています。コストが最大の考慮事項である場合、無料で使用でき、変更可能なオープンソース ツールは、企業のコスト削減に役立ちます。同時に、クラウド プロバイダーは、企業がクラウド サービスからより大きな価値を得られるよう支援する多くの新しいツールも提供しています。これらのツールにより、企業は予算と人員をより戦略的なビジネス プロジェクトに振り向けることができます。オープンソースのクラウド ツールを活用して、オンプレミスとクラウドベースのコンポーネントを連携させます。今日は、優れたオープンソースのクラウドツールをいくつか紹介します。
グラファナ 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の主な構成要素は以下の通りです。
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 つのヒント
【概要】クラウドファンディングというレッテルを剥がす時期は過ぎ去り、本来のエクイティ型クラウドファン...
絶えず変化するビジネスの世界では、不確実性が当たり前になっています。企業が熾烈な市場競争の中で確固た...
[51CTO.com からのオリジナル記事] 本日の re:Invent カンファレンスで、AWS ...
現在、ますます多くのタオバオCストアのオーナーが、事業内容を変えたり、タオバオTmallに多額の投資...
パブリック クラウドに多額の投資をする企業が増えており、AWS パブリック クラウドとの差を縮めるた...
タイトル:実践丨銀行全体の集中的な運用保守を推進し、業務のデジタル変革を可能にする――中国中信銀行の...
多くのウェブマスターの友人は、ウェブサイトを構築したらすぐに検索エンジンに登録されることを望んでいる...
ウェブサイトのトラフィックは、ウェブサイトが存続するための基礎です。トラフィックがなければ、ウェブサ...
昨年11月に卒業後、ウェブサイト構築会社にインターンとして入社しました。当初はウェブサイトの最適化に...
前回、「SEOの忘れられた基礎」の中で、外部リンクの役割について触れました。今日は、ウェブサイトの最...
ソーシャル メディア マーケティング評価の主なパラメーターには、ネットワーク トラフィック、オンライ...
9月17日、2020年雲啓大会で、アリババの政府事務ミドルプラットフォーム2.0「1+4PaaS+N...
今日のデータセンター管理は、明らかにかつてないほど困難になっています。人工知能、ビッグデータ、モノの...
最近、Baidu プロモーションでどれだけのお金が無駄になっているかという不満をよく耳にします。もち...
[51CTO.com からのオリジナル記事] 先週、ガールフレンドが突然ペットを飼いたいと言いました...