連載 :
  インタビュー

新興不動産業のGAテクノロジーズ、AWS上でNew RelicとCircleCIを使いこなす

2019年12月4日(水)
松下 康之 - Yasuyuki Matsushita
不動産業をデジタルで改革するGA technologiesにパブリッククラウドとSaaSを使いこなした割り切ったIT投資について訊いてみた。

GA technologiesは、2013年創業の新興企業であり、不動産仲介を中心としたビジネスを展開している。アナログ的な手法が多かった不動産業界において、テクノロジーを使ってイノベーションを起こすことをモットーに、クラウドをフル活用してさまざまなサービスを展開している。今回は、AWSの上でCircleCI、New Relicなどを使ったユースケースとしてGA technologiesを紹介したい。同社のインフラストラクチャー担当のエンジニア2名に、会社の概要と前述のツールを選択した背景についてインタビューを実施した。

インタビューに応じてくれたのは、インフラ部分を担当するSRE Teamのリーダー中村郷史氏と、同じくSRE Developerの永冶拓巳氏である。

中村氏(左)と永冶氏(右)

中村氏(左)と永冶氏(右)

簡単に自己紹介をお願いします。

中村:GA technologiesでSREチームのリーダーとして仕事をしています。まだ入社半年という経歴ですが、入社した時にSRE(Site Reliability Engineering、Googleが作った用語で、インフラストラクチャーを担当するエンジニアリングチーム及び運用業務を指す)チームが立ち上がりました。現在は3名でGA technologiesが使っているAWSの運用や監視、CI/CDなどの部分を担当しています。

永冶:私は入社3年目ですが、同じく中村さんと同時期にSREとして仕事をしています。その前はアプリケーションデベロッパーとして、GA technologiesの業務アプリケーション開発を担当していました。そのため、運用と開発の両方を理解できる立場にいると思います。

そもそもSREチームが立ち上がった背景を教えて下さい。

中村:SREは全体最適化を目指して作られたというように聞いています。具体的に言うと、例えば5つのアプリケーションチームがあって、各チームがCI/CDやシステム設定などを個別にやろうとすると、おそらく5つのまったく異なるものができあがると思います。そうするとどうしても属人化が起きますし、部分最適にしかなりません。この属人化を排除するという意味でもありますね。

GA technologies全体では何人ぐらいエンジニアがいるのですか?

中村:全体では60名程度だと思います。大半がアプリケーションエンジニアですね。GA technologiesとしての特徴は、エンジニアとしては中途採用もいますが、なるべく新人を多く採用することを進めています。今年で言えば、エンジニアは新卒15名くらいがデベロッパーとして採用されました。みんな、プログラミングに関する経験はないのですが、社内には研修制度がちゃんと存在していますから、約半年はずっと研修をみっちりやって現場に配属するということになっています。

またデータサイエンティストにも、エンジニアとしての研修を受けてもらっています。Ruby on Railsのチュートリアルから始まってコードの規約、データベースの扱い方、Dockerで開発環境を作るといったことを一通りやってから、現場で仕事を始めることになります。現場でも先輩とペアになってOJTをやる感じになっています。GA technologiesの代表が「会社の10年後を知りたければ、新卒を見ればわかる」と言っていたこともありますので、新卒を積極的に採用しているようです。

次にインフラストラクチャーとしての概要を教えて下さい。

中村:基本はAWS上で開発言語はRuby、データベースはMySQLということになっています。ただデータサイエンティストなどはPythonの方が使いやすい場合もありますので、その辺は対応するようにしています。

AWSというクラウドインフラストラクチャーを使っているわけですが、開発のスタイルもクラウドっぽい感じですか?

永冶:実際のところ、過去のGA technologiesの開発はだいぶモノリシックなものが多かったと思いますが、今は少しずつ、マイクロサービス的なクラウドに適合したものになってきているように思います。ビジネスサイドからは毎日リクエストが来ていますので、それに対応するためにもマイクロサービス的なものに移行していき、素早く改善を施して本番環境に適用するといった流れはできていますね。そのため、開発の手法もおのずとアジャイルなものになってきています。

今はどのくらいで本番にリリースしているんですか?

永冶:アプリケーションのグループにもよりますが、週に1回はリリースの予定が組まれている感じです。

クラウドっぽいアプリケーションというのはどんなものですか?

中村:基本は12ファクターアプリケーションですね。そのままだとどうしてもモノリシックなアプリケーションになってしまうので、そこは意識してクラウド的なアプリケーション開発を行うようにしています。後はアプリケーション側から「こんな感じのシステムにしたいんだけど」という相談を受けることはありますね。そこで、全体のアーキテクチャーを作る際にSREが参加してコミュニケーションをするようにしています。

最近はサービスメッシュが話題になっていますが、それについては?

中村:基本はアプリケーションデベロッパーがやりたいというものでなければいけないと思っていますので、サービスメッシュもデベロッパー側から要望があればという感じですね。APIがベースになっているのがサービスメッシュという認識ですので、バックエンドよりもWeb側というかフロント側で疎結合であれば良いので、実装はサービスメッシュでも良いですし、サーバーレスでも良いと思います。実際にAWSのサーバーレスであるLambdaを使って開発されているものもあります。

マイクロサービスやサーバーレスになった時のインフラストラクチャーチームの課題は?

中村:すでに経験していることなのですが、サーバーレスがちゃんと動いている時は良いのですが、ファンクションが別のファンクションを呼んでそれがまた別のファンクションを…… というようにつながっていると、どこでエラーが起こったのかを追いづらいというのはありますね。トラブルが発生した時の対応が難しいです。それはデベロッパー側にもちゃんと認識していて欲しいなと思います。

そうするとNew RelicのようなAPMの機能が役に立つということですね。

中村:そうですね。New Relicは開発する側にとってみると、何もプロセスを変える必要がないというのが良いですね。そして入れた時からすぐに効果が実感できますし。あと地味に良い点として、無償の体験期間を始める際にクレジットカードが必要ないことが挙げられます。これは、まず使って評価しようという時に効いてきます。

New Relicを使い始める際には、特に他のAPM製品との比較検討はしていませんでしたが、今は満足しています。ログについてはFluentdも使っていますし、AWSのCloudWatchも使っていますね。ただビジネスの性格上と言えるかもしれませんが、アクセスログよりメトリクスデータや性能データの方が重要かなとは思っています。

CI/CDについてはCircleCIを使っているということですが。

中村:実際にはCircleCIの前にはAWSのCodePipelineを使っていましたね、あとはJenkinsを少しだけ使っている部門もありました。Jenkinsは自前で色々設定しなければいけないので、それがめんどうという意識がありますね。GA technologiesとしては「SaaSで提供されるものはなるべくSaaSを利用する」という方針です。余計な管理運用コストを避けたいというのがその理由です。

CircleCIの良さは?

中村:AWSの環境を作る時にはTerraformも使っていますが、それをキックするのがCircleCIなので、すべてのCI/CDをCircleCIに寄せている感じです。SaaSであるというのが大きいんですが、開発の時にDockerのイメージをビルドする際に、CircleCIのDockerレイヤーキャッシングがすごく良いですね。これはベースのイメージをCircleCIの側でキャッシュとして保持していてくれる機能です。同等の処理をJenkinsで実現しようとすると、イメージのキャッシュをどこかに置いて、そのハッシュ値をとってどこかに保存しておいて、ビルドの時にそれを比較して、同じだったらそれを使う、違ったらDockerHubから取ってくる、といった処理をすべて自前で書くことになり、結構ツライです。これらの機能が基本機能として付いてくるのは大きいです。

なるべくSaaSを使うということでしたが、パブリッククラウドを使い始めたユーザーが抱く不満として意外とコストがかかるというのがありますが、それに関しては?

中村:それは仕方ないとして割り切っています。ただAWSのログをDatadogのLogサービスであるDatadog Logsに入れて分析しようとしたことがあったのですが、やり始めてみたらコストがとても高くなって慌てて止めた、というようなことはありました。

六本木の不動産業らしくオシャレなワークスペースを持つGA technologies

六本木の不動産業らしくオシャレなワークスペースを持つGA technologies

情報システムのすべてがAWS上に集約されているというGA technologiesのユースケースは、運用の人的コストをパブリッククラウドとSaaSで乗り切るという割り切ったスタイルだ。この手法は、基幹業務ではない新規ビジネスなどのスモールスタートには最適だろう。また流行っているからと言ってKubernetesを使わずに、マネージドコンテナサービスを使うというところで留めているのも、教育コストを無駄に上げないという点では評価できる。今後のシステムの発展に期待したい。

余談だが、Meetupなどで利用されるGA technologiesのイベントスペースからは、羽田空港の発着のようすがよく見える。航空機マニアは、望遠鏡片手にお邪魔することをお勧めしたい。

著者
松下 康之 - Yasuyuki Matsushita
フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています