1時間に1000回の改変――ネットサービスやモバイルアプリに求められる俊敏さは、生半可ではない。従来のシステム開発はもはや限界を迎えていた。たどり着いた解決策が、“バラバラ”を是とするマイクロサービスだった。
「アプリケーションの複雑化に対処した結果、たどり着いた」(クックパッド 技術部 開発基盤グループ グループ長 吉川崇倫氏)。「アクセスの急増や組織の急拡大に対応したらこうなった」(Gunosy 執行役員 開発本部の松本勇気氏)。「開発効率を高めようとしたら自然に行きついた」(LINE 開発1 センターLINE開発1室 鶴原翔夢氏)――。
国内最大のレシピサービスを展開するクックパッド、キュレーションアプリで急成長を遂げたGunosy、モバイルコミュニケーションを席巻するLINE。コンシューマー向けネットサービス/モバイルアプリ分野のスター企業が今、こぞってある取り組みを進めている。「マイクロサービス」と呼ばれるアーキテクチャー(構造)に基づくアプリケーション開発である(図1)。
特徴は、“団結しない”こと。マイクロサービスでは、バラバラであることを是とする。「プログラミング言語もミドルウエアもバラバラ」(LINEの鶴原氏)。リリース時期も、他チームのことは気にせず自分たちの都合で決める。統一ルールの下に全員が歩調を合わせ、一致団結して開発を進める従来型手法の常識からは大きく外れる。
一見すると型破りなこの手法だが、今や世界的な潮流だ。元々、先進企業が独自に取り組んでいた。それが2014年3月に公開されたブログ記事で、広く知られるようになった。米国のソフトウエア企業ソートワークスのチーフサイエンティストであるマーチン・ファウラー氏らが、先進企業の取り組みに共通する特徴を整理し、その有効性を述べた。