クラウドなのに定額型? CloudGarageの狙いは「本質的なスキルの習得」
――CloudGarageは定額型のパブリッククラウドとして開発者の間で話題になっていますね。「定額型」を採用した理由を教えてください。
![](http://cz-cdn.shoeisha.jp/static/images/article/10493/10493_003.jpg)
角 クラウドが出始めてから約10年を経て、「クラウドファースト」を標榜する企業が増えています。IaaSの使い方、構成管理ツール、コンテナ、Infrastructure as Codeなど、開発者はクラウドに関して次々と新しい技術を覚えていかなければなりません。ただし、ベンダーやツールに特化したノウハウはスキルではなく、覚える必要がないと考えています。インフラサービスの抽象化が進み、次々と新しい技術が出てくるなか、何を身に付けるべきか、学び、試すことのできる環境を提供したい。マイクロサービスを開発するためにREST APIなど疎結合のインターフェイスを検討し、ChefやAnsibleを活用して、インフラを使いこなすために試行錯誤する。CloudGarageを提供する背景には、インフラ事業者としてそんな開発者を応援したいという思いがあります。
従量型のクラウドではインスタンスを増やして利用すると追加料金がかかりますが、CloudGarageは、プランの範囲内でインスタンスを自由に生成・削除できます。追加料金はかかりません。コストを考えずに、新しい環境を作って試行錯誤できる。そんなクラウドを提供したいというのが定額型採用の理由の一つです。
![CloudGarageは定額で複数インスタンスが利用でき、無料でロードバランサーも利用できるので、コストを気にせずにHA(高可用性)構成を組むことができる(出典:Rancher Meetup #02 in Fukuokaでの発表資料)](http://cz-cdn.shoeisha.jp/static/images/article/10493/10493_p1_s.gif)
――CloudGarageでRancherを使うことで、開発者にとってどんなメリットがありますか?
新藤 RancherはOSSであり、CloudGarageのインスタンス上で仕様が許す限り大量のコンテナを自由に生成できます。もちろん、料金はかかりません。ベンダーに特有の操作に悩まず、開発や運用に専念できるように、シンプルで誰にでもわかりやすく使いやすいものを提供しようという考え方は、CloudGarageもRancherも同じです。
CloudGarageでは簡単な操作ですぐにインスタンスの生成や設定を行えます。同様に、RancherもKubernetes環境を簡単に構築可能です。わかりやすいGUIに加え、CLIも提供しているため、初心者からベテランまでどのようなレベルの開発者でも利用できます。CloudGarageと一緒に利用することで、インフラに関する悩みを限りなくゼロに抑えられます。
角 CloudGarageにはテンプレートを使ってRancherを設定できる機能があり、クリック数回でRancherをすぐに起動できます。Rancherの管理側のインスタンスとDockerのゲスト側のインスタンスを分け、連携して利用するといったことも簡単に実行可能です。Rancherの良さを最短時間で経験できる環境と言えます。
インフラを利用する開発者には、マニュアルを読むことに時間や手間をかけるのではなく、インフラの構成やアーキテクチャの学びを深めてほしいと考えています。Dockerなどのコンテナ技術が今後大きく変わっていくとしても、マイクロサービスの設計や拡張性の考え方などの学びは、開発者にとって大きな力になるでしょう。最近は複雑な製品が多く、製品について学ぶだけで力尽きてしまうことも多い。シンプルで直感的に利用でき、良さがすぐにわかるというのが、CloudGarage、Rancherに共通する設計思想です。
![CloudGarageからはRancherが簡単に利用できる(出典:Rancher Meetup #02 in Fukuokaでの発表資料、CloudGarageからのRancherの利用方法もこちらの資料に詳しい記載がある)](http://cz-cdn.shoeisha.jp/static/images/article/10493/10493_p2_s.gif)
――CloudGarage上で定額で3インスタンス(プランによって5、7、10インスタンス)を使用するメリットは何でしょうか?
角 以前は1台のサーバにOSやミドルウェアなどをすべて詰め込む、モノリシックなアーキテクチャが主流でした。技術の進化により、1台のサーバ上で複数のインスタンス、さらに複数のコンテナを自由に生成・稼働できるようになったことで、機能を複数に分散するマイクロサービスアーキテクチャへとパラダイムシフトが起こっています。機能を複数に分割し、抽象化すると、システムの保守性、拡張性、透明性が向上します。複数のインスタンスを利用することで、マイクロサービス開発が可能になります。
また、開発環境を複数構築したり、運用時に冗長構成をとったりすることが可能です。インスタンスが3つあれば、開発環境、ステージング環境、本番環境を準備できます。Webとデータベースをそれぞれ別のインスタンス上稼働し、どちらかでボトルネックが発生したら残りの1つを使ってスケールするといった運用もできるでしょう。開発や運用において拡張性を持たせるために、スタートラインとして「3つ」が適切と考えました。