Puppet Enterprise vs GitLab

GitLab compared to other tools

Puppet は大規模なインフラストラクチャのデプロイメントと状態の維持を可能にする構成管理ツールおよび言語です。Puppet は物理サーバーや VM のようなレガシーなインフラストラクチャの管理に優れています。Puppet はコンテナが普及する前に設計されたもので Kubernetes をネイティブに実装していません。GitLab は構成管理だけでなく、プロジェクト管理、ソースコード管理、CI/CD、モニタリングの機能も含む、DevOps ライフサイクル全体に対する単一のアプリケーションです。GitLab は Kubernetes やクラウドネイティブアプリケーション向けに設計されています。Puppet と共に GitLab を使用して VM およびベアメタルの構成管理を有効にすることができます。Kubernetes 上で実行されるクラウドネイティブアプリケーションの場合、GitLab には必要な機能がすべて組み込まれているので Puppet は不要です。

FEATURES

統合されたCI/CD

GitLabにはCI/CD機能が統合されているので、CI/CDのために他のツールをインストールする必要はありません。GitLabのCI/CDを使用して、ウェブサイト(GitLab Pages)やウェブアプリケーションをビルド・テスト・デプロイできます。ジョブの結果はマージリクエストに表示され、簡単にアクセスできます。

CI/CDの詳細

AD/LDAP連携

他グループとの同期、SSHキーの管理、許可や認証の管理などが可能です。GitLabインスタンスのすべてをAD/LDAP連携によって管理できます

AD/LDAP連携の詳細

詳細なユーザーの役割と柔軟な権限

5つのユーザーの役割と外部ユーザーの設定により、プロジェクトへのアクセスと権限を管理できます。ユーザーに設定した役割に従って、リポジトリへの読み取り・書き込みの権限を制御することができます。ソースコードへのアクセスが不要なユーザーには、課題管理システムへのアクセスのみを許可することができます。

ユーザーロールの詳細

クラウドネイティブ

GitLabとGitLab CI/CDはクラウドネイティブな設計で開発されています。GitLab は Kubernetes 上に簡単にデプロイできます。また、Gitlab を使用してアプリケーションをそのまま Kubernetes に対しデプロイできます。

Kubernetes 連携

Auto DevOps

Auto DevOps機能を使用すると、ソフトウェア開発ライフサイクルの自動設定が適用されます。 これにより、DevOpsのベストプラクティスに従って、プロジェクトを推進することができます。

Auto DevOpsの詳細なドキュメントを確認

デプロイボード

GitLab Enterprise Edition Premiumには、 Kubernetes上で動作しているそれぞれの環境の稼働状況をまとめて表示する、 デプロイボード機能があります。Kubernetesにアクセスすることなく、 最新デプロイのそれぞれのpodの稼働状況をGitLab内でシームレスに表示できます。

デプロイボードの詳細

カナリアデプロイメント

GitLab Enterprise Edition Premiumでは、Kubernetesにアプリケーションをデプロイしている場合は、 カナリアデプロイメントを監視できます。

カナリアデプロイメントの設定の詳細

ドメイン固有言語

インフラストラクチャ構成を定義するためのドメイン固有言語 (DSL) を使用すると、ファイルやコマンドではなくリソースを考慮して、手続き型コードではなく宣言型コードを記述できます。

自動プロビジョニング

ベアメタルや VM サーバーを検索、検出、管理します。定義済みポリシーを使用したプロビジョニングでは、環境内で検出された情報に基づいて、正しい OS またはハイパーバイザが自動的にインストールされます。

インフラストラクチャオーケストレーション

複雑なインフラストラクチャと Infrastructure as Code を使用したアプリケーションまたはアプリケーションスタックを構成する分散サービスとシステム間の依存関係をモデル化します。インフラストラクチャオーケストレータはこのモデルを使用してデプロイメントを管理し、適切なサービスが適切なタイミングで適切な情報とともに利用できるようにします。