工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial Internet of Things >> クラウドコンピューティング

Pulumi解説:DevOpsのためのモダンInfrastructure as Code

インフラストラクチャをコードとして管理する概念は、DevOps環境において不可欠です。さらに、Infrastructure as Code(IaC)なしでは、効率的なDevOpsパイプラインを維持することは不可能です。PulumiのようなIaCツールは、DevOpsチームがリソースプロビジョニングスキームを大規模に自動化するのを支援します。

本記事では、Infrastructure as Codeの概念を紹介します。また、モダンなIaCツールであるPulumiが、なぜDevOpsコミュニティで人気のツールなのかを学びます。

Infrastructure as Code(IaC)の解説

Infrastructure as Code(IaC)とは、記述的なコーディング言語を使用して、リソースのプロビジョニングと管理スキームを自動化するプロセスです。

IaCが登場する前は、システム管理者はサーバーリソースを手動で構成、導入、管理しなければなりませんでした。アプリを導入する前に、ベアメタルマシンを構成する必要がありました。インフラの手動管理は多くの問題を引き起こしました。コストが高く、遅く、スケーリングが難しく、人的ミスが発生しやすかったのです。

クラウドコンピューティングの導入により、仮想化環境の導入は簡素化されましたが、管理者は依然として環境を手動で導入する必要がありました。クラウドプロバイダーのWebベースのダッシュボードにログインし、ボタンをクリックして目的のサーバー構成を導入する必要があったのです。

しかし、複数のクラウドプロバイダーとロケーションにわたって数百台のサーバーを可能な限り速く導入する必要がある場合、すべてを手作業で行うのは非現実的です。

Pulumi解説:DevOpsのためのモダンInfrastructure as Code

IaCにより、DevOpsチームはシンプルな指示で、大規模かつ複数のプロバイダーにわたってインフラストラクチャを導入・管理できるようになります。必要なのは設定ファイルを記述して実行するだけで、望む環境が自動的に導入されます。コードアルゴリズムが必要な環境タイプを定義し、自動化がそれを導入します。

Pulumiとは

Pulumiは、最も一般的なプログラミング言語を利用して、クラウドリソースのプロビジョニングと管理を簡素化するオープンソースのInfrastructure as Codeツールです。

2017年に設立されたPulumiは、DevOpsチームがInfrastructure as Codeの概念にアプローチする方法を根本的に変えました。ドメイン固有言語(DSL)に依存する代わりに、Pulumiは組織が実際のプログラミング言語を使用して、クラウドネイティブなインフラストラクチャをプロビジョニングおよび廃棄できるようにします。

Pulumi解説:DevOpsのためのモダンInfrastructure as Code

独自の言語と構文でインフラストラクチャをコードとして定義するTerraformとは異なり、Pulumiは実際の言語を使用します。Python、JavaScript、TypeScriptで設定ファイルを記述できます。つまり、インフラストラクチャを管理するためだけに新しいプログラミング言語を学ぶ必要はありません。

Pulumiが他の類似ソリューションとどう比較されるかは、「Pulumi vs Terraform」の記事をご覧ください。

クラウドネイティブプラットフォームとして、Pulumiではあらゆるタイプのクラウドインフラストラクチャ(仮想サーバー、コンテナ、アプリケーション、サーバーレス関数)を導入できます。また、AWS、Microsoft Azure、PNAPベアメタルクラウドなど、複数のクラウドプロバイダー間でリソースを導入・管理することも可能です。

PulumiのIaCへの独自のアプローチにより、DevOpsチームは、選択した言語で記述されたアプリケーションとしてインフラストラクチャを管理できます。Pulumiを使用すると、関数、ループ、条件分岐を活用して動的なクラウド環境を作成できます。Pulumiは開発者が再利用可能なコンポーネントを作成するのを支援し、数千行のコードをコピー&ペーストする手間を省きます。

Pulumiがサポートするプログラミング言語:

Pulumiの仕組み

PulumiがDevOps環境でお気に入りのIaCツールになったのは、そのマルチ言語・マルチクラウドの性質によるものです。DevOpsエンジニアに、リソース管理の馴染み深い方法を提供します。

Pulumiは、クラウドオブジェクトモデルと評価ランタイムを通じてこれを実現します。任意の言語で記述されたプログラムを取り込み、どのクラウドリソースを管理したいかを判断し、プログラムを実行します。これらすべてが可能なのは、本質的に言語中立かつクラウド中立であるためです。

コアPulumiシステムを構成する3つのコンポーネント:

Pulumiでは、Webアプリまたはコマンドラインインターフェース(CLI)を通じてインフラストラクチャを管理できます。

Pulumiを使用開始するには、まず登録してアカウントを作成する必要があります。登録後、プログラミング言語とクラウドサービスプロバイダーを指定します。

CLIを使用する場合は、ローカルマシンにインストールし、アカウントで認証し、クラウドプロバイダーから取得した秘密認証情報を提供する必要があります。

Pulumiの仕組みについて詳しくは、こちらのクイックチュートリアルをご覧ください。

Pulumiの8つの機能と利点

1. オープンソース: Pulumiは個人利用であれば無制限に無料です。ただし、チーム内で使用する場合は、少額の年間費用が必要です。

2. マルチ言語: お気に入りのプログラミング言語でインフラストラクチャ設定ファイルを記述できます。言語中立のIaCプラットフォームとして、Pulumiは新しいプログラミング言語の習得を強制せず、ドメイン固有言語も使用しません。PulumiではYAMLコードを1行も書く必要がありません。

3. マルチクラウド: 多数のクラウドサービスプロバイダー間でインフラストラクチャとリソースをプロビジョニング、スケーリング、廃棄できます。その中には、PhoenixNAPのベアメタルクラウドプラットフォーム、Google Cloud、AWS、Microsoft Azureが含まれます。

4. 機能豊富なCLI: Pulumiを多用途にする原動力は、シンプルでありながら強力なコマンドラインインターフェース(CLI)です。CLIを通じて、クラウドインフラストラクチャとサーバーの導入と廃棄は、ターミナルで発行される一連のコマンドで実行されます。PulumiはLinux、Windows、OS Xで使用できます。

5. クラウドオブジェクトモデル: 基盤となるクラウドオブジェクトモデルは、プログラムがどのように構築されているかの詳細な概要を提供します。どこでも、あらゆるクラウドプロバイダーでクラウドソフトウェアを管理できる統合プログラミングモデルを提供します。

6. スタック: スタックは、他のプログラムとは異なる、クラウドプログラムの分離されたインスタンスです。Pulumiでは、さまざまな目的で多数のスタックを導入できます。例えば、ステージングスタック、テストスタック、本番スタックを導入・廃棄できます。

7. 再利用可能なコンポーネント: 数千行のコードをコピー&ペーストする必要はありません。Pulumiは、異なるプロジェクト間で既存コードを再利用できるようにすることで、ベストコーディングプラクティスの遵守を支援します。コードは単一インスタンスだけでなく、アーキテクチャ全体を定義します。

8. 統合アーキテクチャ: DevOps組織は、コンポーネントを使用および再利用してインフラストラクチャを管理し、独自のアーキテクチャとテストポリシーを構築できます。この自由度により、チームは内部プラットフォームを構築できます。

結論

Pulumiの一般的なプログラミング言語サポートは、DevOpsがインフラストラクチャ管理に時間を浪費することなく生産性を維持するのに役立ちます。Pulumiは独自言語を強制しない唯一のIaCツールではないかもしれませんが、クラウドに依存しない(クラウドアグノスティック)ため、間違いなく最も柔軟です。

アプリの実行にすでに使用している言語で設定ファイルを記述することで、複数のクラウドプロバイダー間でPulumiの力を活用できます。

クラウドコンピューティング

  1. 産業用ポンプの理解:種類、作動原理、主要特徴
  2. ACモーター技術の基礎と進歩
  3. ポストプロセッサー編集の極意:精密加工のためのプロフェッショナルガイド
  4. CNC Gコード解説:CNCプログラマー必須の基礎知識
  5. トークランプ完全解説:特徴、メリット、選び方のポイント
  6. 酸素(O2)センサーを理解する:役割、配置、故障の兆候
  7. 油圧ポンプのHSコード分類と貿易実務
  8. コーディングとは?言語、ワークフロー、一般的な課題の実践ガイド
  9. Infrastructure as Code(IaC):メリット、課題、ベストプラクティス
  10. A2工具鋼:産業・木工用途に最適な汎用・高コスパ冷間工具鋼
  11. Verilog基礎:最初のANDゲートを設計する