マイクロサービス

マイクロサービス

今日はちょっと趣向を買えて、かなり濃ゆめな話をします。

自分の業務に関わる話なんですが、システムを開発する方法として、ここ4,5年くらい前から盛り上がっているのがマイクロサービスという概念。
いままでは、ひとつのシステムにたくさんの機能をもりもりにするのが主流でしたが、これからは、ひとつひとつの機能を、できるだけ小さい単位でサービスをつくって、それぞれのサービスを個別にも提供できるし、複数を組み合わせてひとつの大きなシステムにもできるようにするという手法が一部で盛り上がりをみせてます。

オライリー・ジャパンにマイクロサービスアーキテクチャとまとめられるほどに、概念としては固まった言葉です。

マイクロサービスについて、実際の中身については、上記の書籍を読むのが一番いいと思うので、興味のある人は気合を入れて読むといいです。
オライリー本なので、中身は詰まってますが、その分エネルギーを使うので、気合は大事です。

アーキテクチャの中身については、本で得られるので、今日は、なぜ、マイクロサービスが出てきたのか?今後マイクロサービスがどうなっていくのか?についての予想を書きたいと思います。

なぜ、マイクロサービスが出てきたのか?

ある程度まとまった機能を持ったものを作って個別にサービスとして提供できるし、複数をつなげて大きな一つのサービスにもできる。
こう書くと、すごく便利そうで、最初からそんなふうに作ればよかったのに、と思ってしまいます。

でもいままで、そうならなかったわけです。

これはなぜか。

いろいろ理由はあると思いますが、個人的には、いままでは、かなり複雑なシステムが必要だったからでしょう。
IT系の技術が生まれて、IT系の技術が国のインフラを支える機関システムを担うようになったのはすごく最近です。ここ2,30年の話でしょう。

国のインフラとして、銀行系や、税処理、法律関係、電気、ガス、水道など、絶対に止まったら行けないものを作らないといけなかったわけです。
しかもそれらは、それぞれが独自の企画をもっているので、独自にチューンナップしないといけないわけです。
携帯がガラパゴス化するような日本ですよ?それぞれが職人として、自分の技術で、0からものを作って決めていきたいという人種が日本人なわけです。
独自規格、独自の手法のオンパレード。しかし、複雑なシステムに対応するには、それはある意味仕方ないし、そうせざるを得なかった部分もあるでしょう。

ただ、2、30年もすれば、絶対に作らないといけないシステムというのはほとんど作りきって、あとはなくてもいいけどあると便利なものをつくるか、既存にあるシステムをもっと簡単に管理できるように、修正するという方向に進むわけです。

なので、より、簡単につくれて、より汎用性のあるシステムづくりの需要が、高まってきてるわけです。

マイクロサービスはどうなっていくのか?

ただ、マイクロサービスが出てきて、いきなりバーっとマイクロサービスが広まったかというとそんなでもないわけです。
マイクロサービスというのは、一見思想だけみると、すごく便利そうで、簡単そうですが、実はそんなことはなく、実装上はすごく設計の難易度が高いんです。
うまく設計をつくれると、いままでの作り方よりも高い効果を発揮できる可能性はありますが、逆にただの足枷にしかならないということも多い。

マイクロサービス化することで、よけい面倒になることのほうが多いでしょう。どのようなパターンのときにマイクロサービス化すると効果的だというデータは、これから出揃ってくるとおもいます。それらが出揃ってきて、いろんな人達が、マイクロサービスの価値を正確に把握し始めたときに、マイクロサービスは、また、隆盛するとおもいます。マイクロサービス自体は、使いこなせれば、高い効果を発揮すると思いますが、正直、難易度が高いので、まず、普通にサービスを作れるようになってから挑戦すべきでしょう。普通にサービスを作って売れない能力の状態で挑む難易度ではない気がします。

クラウドとか、マイクロサービスとか、バズワード気味のものに、なんだか、すごそうだから乗り遅れないようにしないと焦って飛びつくのは危険です。なにごとも焦って行った結果は失敗する可能性が高いので、冷静に、良し悪しを判断できるように自力をつけて一歩一歩。コレがやっぱり最強だとおもいます!