社内PaaSを構築しましょう。
ミニ Heroku を構築すると想像してみてください。
興奮した?
私も!
Platform as a Service (PaaS) は、サービス プロバイダーがアプリケーションの開発と展開のためのプラットフォームを提供するクラウド コンピューティング製品です。多くの場合、開発者は PaaS の機能を活用するため、アプリケーションの作成と実行のためのプラットフォームの作成に時間を無駄にすることなく、アプリケーションの構築に集中できます。
明らかに、AWS、Azure、Google Cloud などの大手企業は、素晴らしい PaaS ソリューションを持っています。しかし、常に一緒にいる必要はありません。小規模ビジネスの場合、多くのミニ PaaS ソリューションは、単一または少数のサーバーで小規模なアプリケーションを簡単に実行できます。これにより、作業が完了し、コストが大幅に節約されます。さらに重要なのは、時間、つまりお金が節約できることです。
ここでは、小規模なアプリケーションを実行するための独自のプラットフォームを作成するための最も人気のある PaaS ソフトウェアのリストを示します。
ドック
Herokuみたいな感じでしょうか?
了解しました!
Dokku は 、オープンソースの軽量ソフトウェアです。 1 GB のメモリが必要で、CentOS、Ubuntu、Debian で動作します。
Dokku は Docker を利用したミニ Heroku で、bash で書かれています。 Git を使用してアプリケーションをプッシュできます。 Dokku はそれを構築し、分離されたコンテナーでアプリケーションを実行します。
ドックの特徴:
- Gitを使用した簡単なデプロイメント
- 複数の言語で利用可能なプラグイン
- Dokku を強化して、必要な機能を追加およびカスタマイズします。
- アプリケーション管理、ユーザー管理、ログ記録などのための使いやすいコマンド
- ゼロダウンタイム展開を処理するためのユーザー定義チェックのオプション
Dokku をサーバーにインストールすることも、 Kamatera 、DigitalOcean、または Azure でワンクリックで開始することもできます。
ヴィルトゥオッツォ
Virtuozzo は、開発の迅速化、IT インフラストラクチャ コストの削減、稼働時間の向上、セキュリティの強化を実現するマルチクラウド DevOps PaaS ソリューションを提供するプラットフォームです。ビジネス エディションやエンタープライズ エディションと同様の機能の大部分を備えたライト エディションが提供されますが、いくつかの制限があります。ただし、小規模なアプリケーションでは非常に効果的であり、コストを大幅に節約できます。
Virtuozzo は、電子商取引 Web サイト、ゲーム プロジェクト、金融、教育、物流プロバイダーなどに最適です。
Virtuozzo の機能:
- アプリケーション展開オプションを備えた開発者向けダッシュボード
- コンテナとKubernetesのサポート
- 自動垂直および水平スケーリング
- データベースのクラスタリング
- エンドユーザー向けのファイアウォールと 2 要素認証
- 組み込みの監視およびトラブルシューティング ツール
- コンテナ管理のための API、CLI、および SSH アクセス
Virtuozzo は 100 を超える PaaS プロバイダーから信頼されています。
フリン
Flynn は、 Linux 上で実行できるものであれば何でも実行できるように開発されたサービスとしてのオープンソース プラットフォームです。開発チームと運用チームがソフトウェアを簡単に開発、展開、管理するためのプラットフォームを提供します。いくつかのコマンドを実行するだけで、Flynn をローカルに簡単にセットアップしたり、専用のハードウェアまたはクラウド プロバイダーにインストールしたりできます。
フリンの特徴:
- 高可用性を備えた組み込みの MySQL、MongoDB、PostgreSQL データベース
- すべてのマイクロサービスを接続するための組み込みのサービス検出
- 必要に応じてのみ拡張し、クラウド料金のコストを節約します。
- お客様に代わって Flynn クラスターを実行する、経験豊富な専任チーム
Hephy ワークフロー
Hephy ワークフローを使用すると、 Kubernetes クラスターでのアプリケーションのデプロイと管理が簡単になります。これは、2017 年に開始された Deis Workflow のフォークです。2018 年に、Deis ワークフロー チームは作業を停止し、Microsoft Azure プロジェクトに移行しました。
Hephy ワークフローには小規模で独立したサービスがあり、それらを組み合わせて分散 PaaS を作成します。これらのコンポーネントは、Kubernetes クラスター上のサービスとしてデプロイされます。ワークフローには、 通常のユーザー と 管理者 という 2 つのユーザー クラスがあります。
一般ユーザーには、アプリケーションを開発およびデプロイするための機能があります。管理者は、通常のユーザーができることすべてを行うことができ、さらにアプリケーションへの所有者アクセス権を持ちます。
Hephy ワークフローの特徴:
- dockerfile と buildpack からコードをコンパイルするためのイメージ ビルダー
- アプリケーションの HTTP/HTTPS エッジ ルーティング
- アプリケーションのリリースとロールバック
- CLI および統合用の REST API
- アプリケーションを保護するための認証と認可
キャップローバー
CapRover は、 学習が非常に簡単で、完全に自動化されたアプリケーション プラットフォームです。 Heroku に精通している場合は、CapRover を超強力なオープンソースの Heroku として考えることができます。
CapRover は、Node.js、PHP、Java、WordPress、MongoDB、MySQL、Nginx などのホスティングなど、さまざまな目的に使用できます。
DigitalOcean の CapRover を使用して、1 クリックのアプリ設定で開始できます。
CapRover の特徴:
- スクリプト作成と自動化のためのコマンドライン インターフェイス
- ユーザーがアプリケーションで起こっているすべてを視覚化するための Web GUI
- Nginx を利用した負荷分散
- Let’s Encrypt を使用した無料の SSL 証明書
- Docker Swarm を使用したコンテナ化とクラスタリング
鶴
Tsuru は、軽量で使いやすい、サービスとしてのオープンソース プラットフォームです。 MongoDB サーバー インスタンスも必要とする Python アプリケーションがあるとします。 Tsuru は Python アプリとデータベースの両方をまとめて同時に実行します。 Docker コンテナ内でアプリケーションを実行します。
Tsuru にはプラットフォームとして複数のオプションがあります。利用可能な既存のプラットフォームに満足できない場合は、Tsuru で独自のプラットフォームを作成することもできます。
鶴の特徴:
- アプリケーションを動的に簡単にスケーリングします
- 分散アーキテクチャでアプリケーションを実行してリソースを利用します
- あらゆる言語で書かれたアプリケーションを実行できます。それは 12 ファクター アプリ を超えています。
- 単純な git Push だけでアプリケーションを迅速にデプロイできます。
- AWS EC2、Apache Cloudstack などの IaaS との簡単な統合
ピク
Piku は 、サービスとしての最小の Heroku/CloudFoundry のようなプラットフォームです。 Piku は Dokku からインスピレーションを受けており、git Push を使用してアプリケーションを独自のサーバーにデプロイします。 Linux、Linux 用 Windows サブシステム、FreeBSD、Cygwin などの POSIX 環境で動作します。
ピクの特徴:
- Heroku のようなワークフローをサポート
- ユーザーエクスペリエンスを簡素化する機能的なコーディングスタイル
- Go、Python、Closure (Java)、Node.js で書かれたアプリをサポート
- 可能な限り下位互換性
- 12-factor アプリをサポート
結論
何を待っていますか?先に進んで、上記のソフトウェアを試して PaaS を構築してください。それらのほとんどはオープンソースであるため、クラウド サーバーを入手して試してみて、何が自分にとってより効果的かを見つけることができます。
次に、Docker について学習します。