クラウドサービスを活用しwebサービス開発・運用を進めるGyro-nチームの取り組み

2014/05/19
  • 開発者コラム

クラウドの発展によるwebサービス運用環境の変化

近年様々なクラウドサービスがリリースされ、物理サーバやデータセンターを自分たちで購入したり管理したりしなくてもWebサービスを運用できる環境が整ってきました。
また、近年「DevOps」や「Infrastructure as Code」という言葉が出てきたように、開発担当と運用担当がより密に連携したり、開発担当も運用を積極的に行っていくような概念や、プログラミングによってインフラ自体を管理していこうという概念が生まれ、それに伴うツール群も今では様々なものが存在しています。

※1 DevOps

DevOpsとは開発(Development)と運用(Operations)の二つの単語を組み合わせた、開発担当者と運用担当者が連携・協力する開発手法を指す用語です。
小さい変更を頻繁にリリースするアジャイル開発手法ではこの両者の連携を密にする必要があるため、「アジャイルソフトウェア開発」や「継続的インテグレーション」の普及とともに浸透してきています。

※2 Infrastructure as Code

従来手動で行ってきたインフラ校正管理をスクリプトや外部ファイルで自動的に行う仕組みです。手作業によるミスの排除、ソースコードがバージョン管理されることによりインフラの構成の変更や以前のバージョンへの復旧が容易に行えるメリットがあります。

さらに、これらのクラウドの利用や開発/運用の効率化/プログラミング化に伴い、「Immutable Infrastructure」というような、アプリケーションをデプロイする毎に既存のサーバにデプロイするのではなく、「新しくサーバを構築しなおす、いらなくなったら捨てる。」という事を行っていこうとも言われるようになりました。

この様に、Webアプリケーションのインフラ周辺の状況が近年ものすごい勢いで変わってきています。
Amazon Web Service(AWS)では1時間に1000回のデプロイが行われているようで、上記の様なインフラの仕組みを生かしている最も有名な例の一つです。

Gyro-n開発チームでの運用の取り組み

Gyro-nでも主にこのAWSを利用して開発/運用を行っています。

また、構成チームにはいわゆるインフラ担当という人間がおらず、開発担当が運用も行っています。
あまり多くはない人数のチームで、これらすべてを担当するのは決して楽な事ではありません。
Gyro-n開発チームでは、手探りではありますがAWSを利用し、AWSを管理するプログラムを自社で開発し、それに加えて上述のツール群も活用することで、明確なインフラ担当がいないようなチームでもそれなりの規模の環境を運用しています。

現在では、従来は手作業で行っていた作業を自動化する事もある程度行えるようになって来ています。
まだまだ足りないところや改善点など沢山あるのですが、今後もお客様により安全にサービスを提供できるよう体制を整えていきたいとGyro-n開発チームでは考えております。

次の記事
EFOを選択するときに気を付けておかなければいけない個人情報取り扱いのしくみ
前の記事
ソーシャルログインのメリット・デメリットと効果